// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.cloud.vmwareengine.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/field_mask.proto"; import "google/protobuf/timestamp.proto"; option csharp_namespace = "Google.Cloud.VmwareEngine.V1"; option go_package = "google.golang.org/genproto/googleapis/cloud/vmwareengine/v1;vmwareengine"; option java_multiple_files = true; option java_outer_classname = "VmwareengineProto"; option java_package = "com.google.cloud.vmwareengine.v1"; option php_namespace = "Google\\Cloud\\VmwareEngine\\V1"; option ruby_package = "Google::Cloud::VmwareEngine::V1"; option (google.api.resource_definition) = { type: "compute.googleapis.com/Network" pattern: "projects/{project}/global/networks/{network}" }; // VMwareEngine manages VMware's private clusters in the Cloud. service VmwareEngine { option (google.api.default_host) = "vmwareengine.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; // Lists `PrivateCloud` resources in a given project and location. rpc ListPrivateClouds(ListPrivateCloudsRequest) returns (ListPrivateCloudsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/privateClouds" }; option (google.api.method_signature) = "parent"; } // Retrieves a `PrivateCloud` resource by its resource name. rpc GetPrivateCloud(GetPrivateCloudRequest) returns (PrivateCloud) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/privateClouds/*}" }; option (google.api.method_signature) = "name"; } // Creates a new `PrivateCloud` resource in a given project and location. // Private clouds can only be created in zones, regional private clouds are // not supported. // // Creating a private cloud also creates a [management // cluster](https://cloud.google.com/vmware-engine/docs/concepts-vmware-components) // for that private cloud. rpc CreatePrivateCloud(CreatePrivateCloudRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/privateClouds" body: "private_cloud" }; option (google.api.method_signature) = "parent,private_cloud,private_cloud_id"; option (google.longrunning.operation_info) = { response_type: "PrivateCloud" metadata_type: "OperationMetadata" }; } // Modifies a `PrivateCloud` resource. Only the following fields can be // updated: `description`. // Only fields specified in `updateMask` are applied. // // During operation processing, the resource is temporarily in the `ACTIVE` // state before the operation fully completes. For that period of time, you // can't update the resource. Use the operation status to determine when the // processing fully completes. rpc UpdatePrivateCloud(UpdatePrivateCloudRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v1/{private_cloud.name=projects/*/locations/*/privateClouds/*}" body: "private_cloud" }; option (google.api.method_signature) = "private_cloud,update_mask"; option (google.longrunning.operation_info) = { response_type: "PrivateCloud" metadata_type: "OperationMetadata" }; } // Schedules a `PrivateCloud` resource for deletion. // // A `PrivateCloud` resource scheduled for deletion has `PrivateCloud.state` // set to `DELETED` and `expireTime` set to the time when deletion is final // and can no longer be reversed. The delete operation is marked as done // as soon as the `PrivateCloud` is successfully scheduled for deletion // (this also applies when `delayHours` is set to zero), and the operation is // not kept in pending state until `PrivateCloud` is purged. // `PrivateCloud` can be restored using `UndeletePrivateCloud` method before // the `expireTime` elapses. When `expireTime` is reached, deletion is final // and all private cloud resources are irreversibly removed and billing stops. // During the final removal process, `PrivateCloud.state` is set to `PURGING`. // `PrivateCloud` can be polled using standard `GET` method for the whole // period of deletion and purging. It will not be returned only // when it is completely purged. rpc DeletePrivateCloud(DeletePrivateCloudRequest) returns (google.longrunning.Operation) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/privateClouds/*}" }; option (google.api.method_signature) = "name"; option (google.longrunning.operation_info) = { response_type: "PrivateCloud" metadata_type: "OperationMetadata" }; } // Restores a private cloud that was previously scheduled for deletion by // `DeletePrivateCloud`. A `PrivateCloud` resource scheduled for deletion has // `PrivateCloud.state` set to `DELETED` and `PrivateCloud.expireTime` set to // the time when deletion can no longer be reversed. rpc UndeletePrivateCloud(UndeletePrivateCloudRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{name=projects/*/locations/*/privateClouds/*}:undelete" body: "*" }; option (google.api.method_signature) = "name"; option (google.longrunning.operation_info) = { response_type: "PrivateCloud" metadata_type: "OperationMetadata" }; } // Lists `Cluster` resources in a given private cloud. rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/clusters" }; option (google.api.method_signature) = "parent"; } // Retrieves a `Cluster` resource by its resource name. rpc GetCluster(GetClusterRequest) returns (Cluster) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/privateClouds/*/clusters/*}" }; option (google.api.method_signature) = "name"; } // Creates a new cluster in a given private cloud. // Creating a new cluster provides additional nodes for // use in the parent private cloud and requires sufficient [node // quota](https://cloud.google.com/vmware-engine/quotas). rpc CreateCluster(CreateClusterRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*/privateClouds/*}/clusters" body: "cluster" }; option (google.api.method_signature) = "parent,cluster,cluster_id"; option (google.longrunning.operation_info) = { response_type: "Cluster" metadata_type: "OperationMetadata" }; } // Modifies a `Cluster` resource. Only the following fields can be updated: // `node_type_configs.*.node_count`. Only fields specified in `updateMask` are // applied. // // During operation processing, the resource is temporarily in the `ACTIVE` // state before the operation fully completes. For that period of time, you // can't update the resource. Use the operation status to determine when the // processing fully completes. rpc UpdateCluster(UpdateClusterRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v1/{cluster.name=projects/*/locations/*/privateClouds/*/clusters/*}" body: "cluster" }; option (google.api.method_signature) = "cluster,update_mask"; option (google.longrunning.operation_info) = { response_type: "Cluster" metadata_type: "OperationMetadata" }; } // Deletes a `Cluster` resource. To avoid unintended data loss, migrate or // gracefully shut down any workloads running on the cluster before deletion. // You cannot delete the management cluster of a private cloud using this // method. rpc DeleteCluster(DeleteClusterRequest) returns (google.longrunning.Operation) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/privateClouds/*/clusters/*}" }; option (google.api.method_signature) = "name"; option (google.longrunning.operation_info) = { response_type: "google.protobuf.Empty" metadata_type: "OperationMetadata" }; } // Lists subnets in a given private cloud. rpc ListSubnets(ListSubnetsRequest) returns (ListSubnetsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/subnets" }; option (google.api.method_signature) = "parent"; } // Lists node types rpc ListNodeTypes(ListNodeTypesRequest) returns (ListNodeTypesResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/nodeTypes" }; option (google.api.method_signature) = "parent"; } // Gets details of a single `NodeType`. rpc GetNodeType(GetNodeTypeRequest) returns (NodeType) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/nodeTypes/*}" }; option (google.api.method_signature) = "name"; } // Gets details of credentials for NSX appliance. rpc ShowNsxCredentials(ShowNsxCredentialsRequest) returns (Credentials) { option (google.api.http) = { get: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:showNsxCredentials" }; option (google.api.method_signature) = "private_cloud"; } // Gets details of credentials for Vcenter appliance. rpc ShowVcenterCredentials(ShowVcenterCredentialsRequest) returns (Credentials) { option (google.api.http) = { get: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:showVcenterCredentials" }; option (google.api.method_signature) = "private_cloud"; } // Resets credentials of the NSX appliance. rpc ResetNsxCredentials(ResetNsxCredentialsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:resetNsxCredentials" body: "*" }; option (google.api.method_signature) = "private_cloud"; option (google.longrunning.operation_info) = { response_type: "PrivateCloud" metadata_type: "OperationMetadata" }; } // Resets credentials of the Vcenter appliance. rpc ResetVcenterCredentials(ResetVcenterCredentialsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{private_cloud=projects/*/locations/*/privateClouds/*}:resetVcenterCredentials" body: "*" }; option (google.api.method_signature) = "private_cloud"; option (google.longrunning.operation_info) = { response_type: "PrivateCloud" metadata_type: "OperationMetadata" }; } // Creates a new HCX activation key in a given private cloud. rpc CreateHcxActivationKey(CreateHcxActivationKeyRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*/privateClouds/*}/hcxActivationKeys" body: "hcx_activation_key" }; option (google.api.method_signature) = "parent,hcx_activation_key,hcx_activation_key_id"; option (google.longrunning.operation_info) = { response_type: "HcxActivationKey" metadata_type: "OperationMetadata" }; } // Lists `HcxActivationKey` resources in a given private cloud. rpc ListHcxActivationKeys(ListHcxActivationKeysRequest) returns (ListHcxActivationKeysResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*/privateClouds/*}/hcxActivationKeys" }; option (google.api.method_signature) = "parent"; } // Retrieves a `HcxActivationKey` resource by its resource name. rpc GetHcxActivationKey(GetHcxActivationKeyRequest) returns (HcxActivationKey) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/privateClouds/*/hcxActivationKeys/*}" }; option (google.api.method_signature) = "name"; } // Retrieves a `NetworkPolicy` resource by its resource name. rpc GetNetworkPolicy(GetNetworkPolicyRequest) returns (NetworkPolicy) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/networkPolicies/*}" }; option (google.api.method_signature) = "name"; } // Lists `NetworkPolicy` resources in a specified project and location. rpc ListNetworkPolicies(ListNetworkPoliciesRequest) returns (ListNetworkPoliciesResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/networkPolicies" }; option (google.api.method_signature) = "parent"; } // Creates a new network policy in a given VMware Engine network of a // project and location (region). A new network policy cannot be created if // another network policy already exists in the same scope. rpc CreateNetworkPolicy(CreateNetworkPolicyRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/networkPolicies" body: "network_policy" }; option (google.api.method_signature) = "parent,network_policy,network_policy_id"; option (google.longrunning.operation_info) = { response_type: "NetworkPolicy" metadata_type: "OperationMetadata" }; } // Modifies a `NetworkPolicy` resource. Only the following fields can be // updated: `internet_access`, `external_ip`, `edge_services_cidr`. // Only fields specified in `updateMask` are applied. When updating a network // policy, the external IP network service can only be disabled if there are // no external IP addresses present in the scope of the policy. Also, a // `NetworkService` cannot be updated when `NetworkService.state` is set // to `RECONCILING`. // // During operation processing, the resource is temporarily in the `ACTIVE` // state before the operation fully completes. For that period of time, you // can't update the resource. Use the operation status to determine when the // processing fully completes. rpc UpdateNetworkPolicy(UpdateNetworkPolicyRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v1/{network_policy.name=projects/*/locations/*/networkPolicies/*}" body: "network_policy" }; option (google.api.method_signature) = "network_policy,update_mask"; option (google.longrunning.operation_info) = { response_type: "NetworkPolicy" metadata_type: "OperationMetadata" }; } // Deletes a `NetworkPolicy` resource. A network policy cannot be deleted // when `NetworkService.state` is set to `RECONCILING` for either its external // IP or internet access service. rpc DeleteNetworkPolicy(DeleteNetworkPolicyRequest) returns (google.longrunning.Operation) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/networkPolicies/*}" }; option (google.api.method_signature) = "name"; option (google.longrunning.operation_info) = { response_type: "google.protobuf.Empty" metadata_type: "OperationMetadata" }; } // Creates a new VMware Engine network that can be used by a private cloud. rpc CreateVmwareEngineNetwork(CreateVmwareEngineNetworkRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*/locations/*}/vmwareEngineNetworks" body: "vmware_engine_network" }; option (google.api.method_signature) = "parent,vmware_engine_network,vmware_engine_network_id"; option (google.longrunning.operation_info) = { response_type: "VmwareEngineNetwork" metadata_type: "OperationMetadata" }; } // Modifies a VMware Engine network resource. Only the following fields can be // updated: `description`. Only fields specified in `updateMask` are // applied. rpc UpdateVmwareEngineNetwork(UpdateVmwareEngineNetworkRequest) returns (google.longrunning.Operation) { option (google.api.http) = { patch: "/v1/{vmware_engine_network.name=projects/*/locations/*/vmwareEngineNetworks/*}" body: "vmware_engine_network" }; option (google.api.method_signature) = "vmware_engine_network,update_mask"; option (google.longrunning.operation_info) = { response_type: "VmwareEngineNetwork" metadata_type: "OperationMetadata" }; } // Deletes a `VmwareEngineNetwork` resource. You can only delete a VMware // Engine network after all resources that refer to it are deleted. For // example, a private cloud, a network peering, and a network policy can all // refer to the same VMware Engine network. rpc DeleteVmwareEngineNetwork(DeleteVmwareEngineNetworkRequest) returns (google.longrunning.Operation) { option (google.api.http) = { delete: "/v1/{name=projects/*/locations/*/vmwareEngineNetworks/*}" }; option (google.api.method_signature) = "name"; option (google.longrunning.operation_info) = { response_type: "google.protobuf.Empty" metadata_type: "OperationMetadata" }; } // Retrieves a `VmwareEngineNetwork` resource by its resource name. The // resource contains details of the VMware Engine network, such as its VMware // Engine network type, peered networks in a service project, and state // (for example, `CREATING`, `ACTIVE`, `DELETING`). rpc GetVmwareEngineNetwork(GetVmwareEngineNetworkRequest) returns (VmwareEngineNetwork) { option (google.api.http) = { get: "/v1/{name=projects/*/locations/*/vmwareEngineNetworks/*}" }; option (google.api.method_signature) = "name"; } // Lists `VmwareEngineNetwork` resources in a given project and location. rpc ListVmwareEngineNetworks(ListVmwareEngineNetworksRequest) returns (ListVmwareEngineNetworksResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*/locations/*}/vmwareEngineNetworks" }; option (google.api.method_signature) = "parent"; } } // Network configuration in the consumer project // with which the peering has to be done. message NetworkConfig { // Required. Management CIDR used by VMware management appliances. string management_cidr = 4 [(google.api.field_behavior) = REQUIRED]; // Optional. The relative resource name of the VMware Engine network attached // to the private cloud. Specify the name in the following form: // `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` // where `{project}` can either be a project number or a project ID. string vmware_engine_network = 5 [ (google.api.field_behavior) = OPTIONAL, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/VmwareEngineNetwork" } ]; // Output only. The canonical name of the VMware Engine network in the form: // `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` string vmware_engine_network_canonical = 6 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/VmwareEngineNetwork" } ]; // Output only. The IP address layout version of the management IP address // range. Possible versions include: // * `managementIpAddressLayoutVersion=1`: Indicates the legacy IP address // layout used by some existing private clouds. This is no longer supported // for new private clouds as it does not support all features. // * `managementIpAddressLayoutVersion=2`: Indicates the latest IP address // layout used by all newly created private clouds. This version supports all // current features. int32 management_ip_address_layout_version = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Information about the type and number of nodes associated with the cluster. message NodeTypeConfig { // Required. The number of nodes of this type in the cluster int32 node_count = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Customized number of cores available to each node of the type. // This number must always be one of `nodeType.availableCustomCoreCounts`. // If zero is provided max value from `nodeType.availableCustomCoreCounts` // will be used. int32 custom_core_count = 2 [(google.api.field_behavior) = OPTIONAL]; } // Represents a private cloud resource. Private clouds are zonal resources. message PrivateCloud { option (google.api.resource) = { type: "vmwareengine.googleapis.com/PrivateCloud" pattern: "projects/{project}/locations/{location}/privateClouds/{private_cloud}" }; // Enum State defines possible states of private clouds. enum State { // The default value. This value should never be used. STATE_UNSPECIFIED = 0; // The private cloud is ready. ACTIVE = 1; // The private cloud is being created. CREATING = 2; // The private cloud is being updated. UPDATING = 3; // The private cloud is in failed state. FAILED = 5; // The private cloud is scheduled for deletion. The deletion process can be // cancelled by using the corresponding undelete method. DELETED = 6; // The private cloud is irreversibly deleted and is being removed from the // system. PURGING = 7; } // Management cluster configuration. message ManagementCluster { // Required. The user-provided identifier of the new `Cluster`. // The identifier must meet the following requirements: // // * Only contains 1-63 alphanumeric characters and hyphens // * Begins with an alphabetical character // * Ends with a non-hyphen character // * Not formatted as a UUID // * Complies with [RFC // 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5) string cluster_id = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The map of cluster node types in this cluster, where the key is canonical // identifier of the node type (corresponds to the `NodeType`). map<string, NodeTypeConfig> node_type_configs = 7 [(google.api.field_behavior) = REQUIRED]; } // Output only. The resource name of this private cloud. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Creation time of this resource. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Last update time of this resource. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Time when the resource was scheduled for deletion. google.protobuf.Timestamp delete_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Time when the resource will be irreversibly deleted. google.protobuf.Timestamp expire_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. State of the resource. New values may be added to this enum // when appropriate. State state = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Required. Network configuration of the private cloud. NetworkConfig network_config = 9 [(google.api.field_behavior) = REQUIRED]; // Input only. The management cluster for this private cloud. // This field is required during creation of the private cloud to provide // details for the default cluster. // // The following fields can't be changed after private cloud creation: // `ManagementCluster.clusterId`, `ManagementCluster.nodeTypeId`. ManagementCluster management_cluster = 10 [(google.api.field_behavior) = INPUT_ONLY]; // User-provided description for this private cloud. string description = 11; // Output only. HCX appliance. Hcx hcx = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. NSX appliance. Nsx nsx = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Vcenter appliance. Vcenter vcenter = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. System-generated unique identifier for the resource. string uid = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for [VmwareEngine.ListPrivateClouds][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds] message ListPrivateCloudsRequest { // Required. The resource name of the private cloud to be queried for // clusters. Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "locations.googleapis.com/Location" } ]; // The maximum number of private clouds to return in one page. // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. int32 page_size = 2; // A page token, received from a previous `ListPrivateClouds` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListPrivateClouds` must // match the call that provided the page token. string page_token = 3; // A filter expression that matches resources returned in the response. // The expression must specify the field name, a comparison operator, and the // value that you want to use for filtering. The value must be a string, a // number, or a boolean. The comparison operator must be `=`, `!=`, `>`, or // `<`. // // For example, if you are filtering a list of private clouds, you can exclude // the ones named `example-pc` by specifying `name != "example-pc"`. // // You can also filter nested fields. For example, you could specify // `networkConfig.managementCidr = "192.168.0.0/24"` to include private clouds // only if they have a matching address in their network configuration. // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` // (name = "example-pc") // (createTime > "2021-04-12T08:15:10.40Z") // ``` // // By default, each expression is an `AND` expression. However, you can // include `AND` and `OR` expressions explicitly. For example: // ``` // (name = "private-cloud-1") AND // (createTime > "2021-04-12T08:15:10.40Z") OR // (name = "private-cloud-2") // ``` string filter = 4; // Sorts list results by a certain order. By default, returned results are // ordered by `name` in ascending order. You can also sort results in // descending order based on the `name` value using `orderBy="name desc"`. // Currently, only ordering by `name` is supported. string order_by = 5; } // Response message for [VmwareEngine.ListPrivateClouds][google.cloud.vmwareengine.v1.VmwareEngine.ListPrivateClouds] message ListPrivateCloudsResponse { // A list of private clouds. repeated PrivateCloud private_clouds = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; // Locations that could not be reached when making an aggregated query using // wildcards. repeated string unreachable = 3; } // Request message for [VmwareEngine.GetPrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.GetPrivateCloud] message GetPrivateCloudRequest { // Required. The resource name of the private cloud to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; } // Request message for [VmwareEngine.CreatePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.CreatePrivateCloud] message CreatePrivateCloudRequest { // Required. The resource name of the location to create the new // private cloud in. Resource names are schemeless URIs that follow the // conventions in https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "locations.googleapis.com/Location" } ]; // Required. The user-provided identifier of the private cloud to be created. // This identifier must be unique among each `PrivateCloud` within the parent // and becomes the final token in the name URI. // The identifier must meet the following requirements: // // * Only contains 1-63 alphanumeric characters and hyphens // * Begins with an alphabetical character // * Ends with a non-hyphen character // * Not formatted as a UUID // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) // (section 3.5) string private_cloud_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The initial description of the new private cloud. PrivateCloud private_cloud = 3 [(google.api.field_behavior) = REQUIRED]; // Optional. The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. True if you want the request to be validated and not executed; false // otherwise. bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.UpdatePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.UpdatePrivateCloud] message UpdatePrivateCloudRequest { // Required. Private cloud description. PrivateCloud private_cloud = 1 [(google.api.field_behavior) = REQUIRED]; // Required. Field mask is used to specify the fields to be overwritten in the // `PrivateCloud` resource by the update. The fields specified in `updateMask` // are relative to the resource, not the full request. A field will be // overwritten if it is in the mask. If the user does not provide a mask then // all fields will be overwritten. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.DeletePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.DeletePrivateCloud] message DeletePrivateCloudRequest { // Required. The resource name of the private cloud to delete. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // Optional. The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; // Optional. If set to true, cascade delete is enabled and all children of this private // cloud resource are also deleted. When this flag is set to false, the // private cloud will not be deleted if there are any children other than the // management cluster. The management cluster is always deleted. bool force = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. Time delay of the deletion specified in hours. The default value // is `3`. Specifying a non-zero value for this field changes the value of // `PrivateCloud.state` to `DELETED` and sets `expire_time` to the planned // deletion time. Deletion can be cancelled before `expire_time` elapses using // [VmwareEngine.UndeletePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud]. Specifying a value of `0` for // this field instead begins the deletion process and ceases billing // immediately. During the final deletion process, the value of // `PrivateCloud.state` becomes `PURGING`. optional int32 delay_hours = 4 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.UndeletePrivateCloud][google.cloud.vmwareengine.v1.VmwareEngine.UndeletePrivateCloud] message UndeletePrivateCloudRequest { // Required. The resource name of the private cloud scheduled for deletion. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // Optional. The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; } // A cluster in a private cloud. message Cluster { option (google.api.resource) = { type: "vmwareengine.googleapis.com/Cluster" pattern: "projects/{project}/locations/{location}/privateClouds/{private_cloud}/clusters/{cluster}" }; // Enum State defines possible states of private cloud clusters. enum State { // The default value. This value should never be used. STATE_UNSPECIFIED = 0; // The Cluster is operational and can be used by the user. ACTIVE = 1; // The Cluster is being deployed. CREATING = 2; // Adding or removing of a node to the cluster, any other cluster specific // updates. UPDATING = 3; // The Cluster is being deleted. DELETING = 4; // The Cluster is undergoing maintenance, for example: a failed node is // getting replaced. REPAIRING = 5; } // Output only. The resource name of this cluster. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/clusters/my-cluster` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Creation time of this resource. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Last update time of this resource. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. State of the resource. State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. True if the cluster is a management cluster; false otherwise. // There can only be one management cluster in a private cloud // and it has to be the first one. bool management = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. System-generated unique identifier for the resource. string uid = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; // Required. The map of cluster node types in this cluster, where the key is canonical // identifier of the node type (corresponds to the `NodeType`). map<string, NodeTypeConfig> node_type_configs = 16 [(google.api.field_behavior) = REQUIRED]; } // Request message for [VmwareEngine.ListClusters][google.cloud.vmwareengine.v1.VmwareEngine.ListClusters] message ListClustersRequest { // Required. The resource name of the private cloud to query for clusters. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // The maximum number of clusters to return in one page. // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. int32 page_size = 2; // A page token, received from a previous `ListClusters` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to `ListClusters` // must match the call that provided the page token. string page_token = 3; // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` // (name = "example-cluster") // (nodeCount = "3") // ``` // // By default, each expression is an `AND` expression. However, you can // include `AND` and `OR` expressions explicitly. For example: // ``` // (name = "example-cluster-1") AND // (createTime > "2021-04-12T08:15:10.40Z") OR // (name = "example-cluster-2") // ``` string filter = 4; // Sorts list results by a certain order. By default, returned results are // ordered by `name` in ascending order. You can also sort results in // descending order based on the `name` value using `orderBy="name desc"`. // Currently, only ordering by `name` is supported. string order_by = 5; } // Response message for [VmwareEngine.ListClusters][google.cloud.vmwareengine.v1.VmwareEngine.ListClusters] message ListClustersResponse { // A list of private cloud clusters. repeated Cluster clusters = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; // Locations that could not be reached when making an aggregated query using // wildcards. repeated string unreachable = 3; } // Request message for [VmwareEngine.GetCluster][google.cloud.vmwareengine.v1.VmwareEngine.GetCluster] message GetClusterRequest { // Required. The cluster resource name to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/clusters/my-cluster` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/Cluster" } ]; } // Request message for [VmwareEngine.CreateCluster][google.cloud.vmwareengine.v1.VmwareEngine.CreateCluster] message CreateClusterRequest { // Required. The resource name of the private cloud to create a new cluster // in. Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // Required. The user-provided identifier of the new `Cluster`. // This identifier must be unique among clusters within the parent and becomes // the final token in the name URI. // The identifier must meet the following requirements: // // * Only contains 1-63 alphanumeric characters and hyphens // * Begins with an alphabetical character // * Ends with a non-hyphen character // * Not formatted as a UUID // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) // (section 3.5) string cluster_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The initial description of the new cluster. Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED]; // Optional. The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; // Optional. True if you want the request to be validated and not executed; false // otherwise. bool validate_only = 5 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.UpdateCluster][google.cloud.vmwareengine.v1.VmwareEngine.UpdateCluster] message UpdateClusterRequest { // Required. Field mask is used to specify the fields to be overwritten in the // `Cluster` resource by the update. The fields specified in the `updateMask` // are relative to the resource, not the full request. A field will be // overwritten if it is in the mask. If the user does not provide a mask then // all fields will be overwritten. google.protobuf.FieldMask update_mask = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The description of the cluster. Cluster cluster = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. The request ID must be a valid UUID with the exception that // zero UUID is not supported (00000000-0000-0000-0000-000000000000). string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; // Optional. True if you want the request to be validated and not executed; false // otherwise. bool validate_only = 4 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.DeleteCluster][google.cloud.vmwareengine.v1.VmwareEngine.DeleteCluster] message DeleteClusterRequest { // Required. The resource name of the cluster to delete. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/clusters/my-cluster` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/Cluster" } ]; // Optional. The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; } // Subnet in a private cloud. Either `management` subnets (such as vMotion) that // are read-only, or `userDefined`, which can also be updated. message Subnet { option (google.api.resource) = { type: "vmwareengine.googleapis.com/Subnet" pattern: "projects/{project}/locations/{location}/privateClouds/{private_cloud}/subnets/{subnet}" }; // Defines possible states of subnets. enum State { // The default value. This value should never be used. STATE_UNSPECIFIED = 0; // The subnet is ready. ACTIVE = 1; // The subnet is being created. CREATING = 2; // The subnet is being updated. UPDATING = 3; // The subnet is being deleted. DELETING = 4; } // Output only. The resource name of this subnet. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud/subnets/my-subnet` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // The IP address range of the subnet in CIDR format '10.0.0.0/24'. string ip_cidr_range = 7; // The IP address of the gateway of this subnet. // Must fall within the IP prefix defined above. string gateway_ip = 8; // Output only. The type of the subnet. For example "management" or "userDefined". string type = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The state of the resource. State state = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] message ListSubnetsRequest { // Required. The resource name of the private cloud to be queried for // subnets. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // The maximum number of subnets to return in one page. // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. int32 page_size = 2; // A page token, received from a previous `ListSubnetsRequest` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to // `ListSubnetsRequest` must match the call that provided the page token. string page_token = 3; } // Response message for [VmwareEngine.ListSubnets][google.cloud.vmwareengine.v1.VmwareEngine.ListSubnets] message ListSubnetsResponse { // A list of subnets. repeated Subnet subnets = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; } // Represents the metadata of the long-running operation. message OperationMetadata { // Output only. The time the operation was created. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time the operation finished running. google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Server-defined resource path for the target of the operation. string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Name of the verb executed by the operation. string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Human-readable status of the operation, if any. string status_message = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. True if the user has requested cancellation // of the operation; false otherwise. // Operations that have successfully been cancelled // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, // corresponding to `Code.CANCELLED`. bool requested_cancellation = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. API version used to start the operation. string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Describes node type. message NodeType { option (google.api.resource) = { type: "vmwareengine.googleapis.com/NodeType" pattern: "projects/{project}/locations/{location}/nodeTypes/{node_type}" }; // Output only. The resource name of this node type. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-proj/locations/us-west1-a/nodeTypes/standard-72` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The canonical identifier of the node type // (corresponds to the `NodeType`). For example: standard-72. string node_type_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The friendly name for this node type. // For example: ve1-standard-72 string display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The total number of virtual CPUs in a single node. int32 virtual_cpu_count = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The total number of CPU cores in a single node. int32 total_core_count = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The amount of physical memory available, defined in GB. int32 memory_gb = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The amount of storage available, defined in GB. int32 disk_size_gb = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. List of possible values of custom core count. repeated int32 available_custom_core_counts = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] message ListNodeTypesRequest { // Required. The resource name of the location to be queried for node types. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "locations.googleapis.com/Location" } ]; // The maximum number of node types to return in one page. // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. int32 page_size = 2; // A page token, received from a previous `ListNodeTypes` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to // `ListNodeTypes` must match the call that provided the page token. string page_token = 3; // A filter expression that matches resources returned in the response. // The expression must specify the field name, a comparison // operator, and the value that you want to use for filtering. The value // must be a string, a number, or a boolean. The comparison operator // must be `=`, `!=`, `>`, or `<`. // // For example, if you are filtering a list of node types, you can // exclude the ones named `standard-72` by specifying // `name != "standard-72"`. // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` // (name = "standard-72") // (virtual_cpu_count > 2) // ``` // // By default, each expression is an `AND` expression. However, you // can include `AND` and `OR` expressions explicitly. // For example: // ``` // (name = "standard-96") AND // (virtual_cpu_count > 2) OR // (name = "standard-72") // ``` string filter = 4; } // Response message for [VmwareEngine.ListNodeTypes][google.cloud.vmwareengine.v1.VmwareEngine.ListNodeTypes] message ListNodeTypesResponse { // A list of Node Types. repeated NodeType node_types = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; // Locations that could not be reached when making an aggregated query using // wildcards. repeated string unreachable = 3; } // Request message for [VmwareEngine.GetNodeType][google.cloud.vmwareengine.v1.VmwareEngine.GetNodeType] message GetNodeTypeRequest { // Required. The resource name of the node type to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-proj/locations/us-west1-a/nodeTypes/standard-72` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/NodeType" } ]; } // Credentials for a private cloud. message Credentials { // Initial username. string username = 1; // Initial password. string password = 2; } // Request message for [VmwareEngine.ShowNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowNsxCredentials] message ShowNsxCredentialsRequest { // Required. The resource name of the private cloud // to be queried for credentials. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string private_cloud = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; } // Request message for [VmwareEngine.ShowVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ShowVcenterCredentials] message ShowVcenterCredentialsRequest { // Required. The resource name of the private cloud // to be queried for credentials. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string private_cloud = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; } // Request message for [VmwareEngine.ResetNsxCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetNsxCredentials] message ResetNsxCredentialsRequest { // Required. The resource name of the private cloud // to reset credentials for. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string private_cloud = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.ResetVcenterCredentials][google.cloud.vmwareengine.v1.VmwareEngine.ResetVcenterCredentials] message ResetVcenterCredentialsRequest { // Required. The resource name of the private cloud // to reset credentials for. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1-a/privateClouds/my-cloud` string private_cloud = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; } // Response message for [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] message ListHcxActivationKeysResponse { // List of HCX activation keys. repeated HcxActivationKey hcx_activation_keys = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; // Locations that could not be reached when making an aggregated query using // wildcards. repeated string unreachable = 3; } // HCX activation key. A default key is created during // private cloud provisioning, but this behavior is subject to change // and you should always verify active keys. // Use [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] to retrieve existing keys // and [VmwareEngine.CreateHcxActivationKey][google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey] to create new ones. message HcxActivationKey { option (google.api.resource) = { type: "vmwareengine.googleapis.com/HcxActivationKey" pattern: "projects/{project}/locations/{location}/privateClouds/{private_cloud}/hcxActivationKeys/{hcx_activation_key}" }; // State of HCX activation key enum State { // Unspecified state. STATE_UNSPECIFIED = 0; // State of a newly generated activation key. AVAILABLE = 1; // State of key when it has been used to activate HCX appliance. CONSUMED = 2; // State of key when it is being created. CREATING = 3; } // Output only. The resource name of this HcxActivationKey. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1/privateClouds/my-cloud/hcxActivationKeys/my-key` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Creation time of HCX activation key. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. State of HCX activation key. State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. HCX activation key. string activation_key = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. System-generated unique identifier for the resource. string uid = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Request message for [VmwareEngine.ListHcxActivationKeys][google.cloud.vmwareengine.v1.VmwareEngine.ListHcxActivationKeys] message ListHcxActivationKeysRequest { // Required. The resource name of the private cloud // to be queried for HCX activation keys. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1/privateClouds/my-cloud` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // The maximum number of HCX activation keys to return in one page. // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. int32 page_size = 2; // A page token, received from a previous `ListHcxActivationKeys` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to // `ListHcxActivationKeys` must match the call that provided the page // token. string page_token = 3; } // Request message for [VmwareEngine.GetHcxActivationKeys][] message GetHcxActivationKeyRequest { // Required. The resource name of the HCX activation key to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-west1/privateClouds/my-cloud/hcxActivationKeys/my-key` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/HcxActivationKey" } ]; } // Request message for [VmwareEngine.CreateHcxActivationKey][google.cloud.vmwareengine.v1.VmwareEngine.CreateHcxActivationKey] message CreateHcxActivationKeyRequest { // Required. The resource name of the private cloud to create the key for. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1/privateClouds/my-cloud` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/PrivateCloud" } ]; // Required. The initial description of a new HCX activation key. When // creating a new key, this field must be an empty object. HcxActivationKey hcx_activation_key = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The user-provided identifier of the `HcxActivationKey` to be // created. This identifier must be unique among `HcxActivationKey` resources // within the parent and becomes the final token in the name URI. // The identifier must meet the following requirements: // // * Only contains 1-63 alphanumeric characters and hyphens // * Begins with an alphabetical character // * Ends with a non-hyphen character // * Not formatted as a UUID // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) // (section 3.5) string hcx_activation_key_id = 3 [(google.api.field_behavior) = REQUIRED]; // A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request ID, // the server can check if original operation with the same request ID was // received, and if so, will ignore the second request. This prevents clients // from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 4; } // Details about a HCX Cloud Manager appliance. message Hcx { // State of the appliance enum State { // Unspecified appliance state. This is the default value. STATE_UNSPECIFIED = 0; // The appliance is operational and can be used. ACTIVE = 1; // The appliance is being deployed. CREATING = 2; } // Internal IP address of the appliance. string internal_ip = 2; // Version of the appliance. string version = 4; // Output only. The state of the appliance. State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Fully qualified domain name of the appliance. string fqdn = 6; } // Details about a NSX Manager appliance. message Nsx { // State of the appliance enum State { // Unspecified appliance state. This is the default value. STATE_UNSPECIFIED = 0; // The appliance is operational and can be used. ACTIVE = 1; // The appliance is being deployed. CREATING = 2; } // Internal IP address of the appliance. string internal_ip = 2; // Version of the appliance. string version = 4; // Output only. The state of the appliance. State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Fully qualified domain name of the appliance. string fqdn = 6; } // Details about a vCenter Server management appliance. message Vcenter { // State of the appliance enum State { // Unspecified appliance state. This is the default value. STATE_UNSPECIFIED = 0; // The appliance is operational and can be used. ACTIVE = 1; // The appliance is being deployed. CREATING = 2; } // Internal IP address of the appliance. string internal_ip = 2; // Version of the appliance. string version = 4; // Output only. The state of the appliance. State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Fully qualified domain name of the appliance. string fqdn = 6; } // Represents a network policy resource. Network policies are regional // resources. You can use a network policy to enable or disable internet access // and external IP access. Network policies are associated with a VMware Engine // network, which might span across regions. For a given region, a network // policy applies to all private clouds in the VMware Engine network associated // with the policy. message NetworkPolicy { option (google.api.resource) = { type: "vmwareengine.googleapis.com/NetworkPolicy" pattern: "projects/{project}/locations/{location}/networkPolicies/{network_policy}" }; // Represents a network service that is managed by a `NetworkPolicy` resource. // A network service provides a way to control an aspect of external access to // VMware workloads. For example, whether the VMware workloads in the // private clouds governed by a network policy can access or be accessed from // the internet. message NetworkService { // Enum State defines possible states of a network policy controlled // service. enum State { // Unspecified service state. This is the default value. STATE_UNSPECIFIED = 0; // Service is not provisioned. UNPROVISIONED = 1; // Service is in the process of being provisioned/deprovisioned. RECONCILING = 2; // Service is active. ACTIVE = 3; } // True if the service is enabled; false otherwise. bool enabled = 1; // Output only. State of the service. New values may be added to this enum // when appropriate. State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; } // Output only. The resource name of this network policy. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Creation time of this resource. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Last update time of this resource. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Network service that allows VMware workloads to access the internet. NetworkService internet_access = 6; // Network service that allows External IP addresses to be assigned to VMware // workloads. This service can only be enabled when `internet_access` is also // enabled. NetworkService external_ip = 7; // Required. IP address range in CIDR notation used to create internet access // and external IP access. An RFC 1918 CIDR block, with a "/26" prefix, is // required. The range cannot overlap with any prefixes either in the consumer // VPC network or in use by the private clouds attached to that VPC network. string edge_services_cidr = 9 [(google.api.field_behavior) = REQUIRED]; // Output only. System-generated unique identifier for the resource. string uid = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional. The relative resource name of the VMware Engine network. // Specify the name in the following form: // `projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` // where `{project}` can either be a project number or a project ID. string vmware_engine_network = 12 [ (google.api.field_behavior) = OPTIONAL, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/VmwareEngineNetwork" } ]; // Optional. User-provided description for this network policy. string description = 13 [(google.api.field_behavior) = OPTIONAL]; // Output only. The canonical name of the VMware Engine network in the form: // `projects/{project_number}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network_id}` string vmware_engine_network_canonical = 14 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/VmwareEngineNetwork" } ]; } // Request message for [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] message ListNetworkPoliciesRequest { // Required. The resource name of the location (region) to query for // network policies. Resource names are schemeless URIs that follow the // conventions in https://cloud.google.com/apis/design/resource_names. For // example: `projects/my-project/locations/us-central1` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "vmwareengine.googleapis.com/NetworkPolicy" } ]; // The maximum number of network policies to return in one page. // The service may return fewer than this value. // The maximum value is coerced to 1000. // The default value of this field is 500. int32 page_size = 2; // A page token, received from a previous `ListNetworkPolicies` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to // `ListNetworkPolicies` must match the call that provided the page // token. string page_token = 3; // A filter expression that matches resources returned in the response. // The expression must specify the field name, a comparison // operator, and the value that you want to use for filtering. The value // must be a string, a number, or a boolean. The comparison operator // must be `=`, `!=`, `>`, or `<`. // // For example, if you are filtering a list of network policies, you can // exclude the ones named `example-policy` by specifying // `name != "example-policy"`. // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` // (name = "example-policy") // (createTime > "2021-04-12T08:15:10.40Z") // ``` // // By default, each expression is an `AND` expression. However, you // can include `AND` and `OR` expressions explicitly. // For example: // ``` // (name = "example-policy-1") AND // (createTime > "2021-04-12T08:15:10.40Z") OR // (name = "example-policy-2") // ``` string filter = 4; // Sorts list results by a certain order. By default, returned results // are ordered by `name` in ascending order. // You can also sort results in descending order based on the `name` value // using `orderBy="name desc"`. // Currently, only ordering by `name` is supported. string order_by = 5; } // Response message for [VmwareEngine.ListNetworkPolicies][google.cloud.vmwareengine.v1.VmwareEngine.ListNetworkPolicies] message ListNetworkPoliciesResponse { // A list of network policies. repeated NetworkPolicy network_policies = 1; // A token, which can be send as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; // Locations that could not be reached when making an aggregated query using // wildcards. repeated string unreachable = 3; } // Request message for [VmwareEngine.GetNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.GetNetworkPolicy] message GetNetworkPolicyRequest { // Required. The resource name of the network policy to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/NetworkPolicy" } ]; } // Request message for [VmwareEngine.UpdateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.UpdateNetworkPolicy] message UpdateNetworkPolicyRequest { // Required. Network policy description. NetworkPolicy network_policy = 1 [(google.api.field_behavior) = REQUIRED]; // Required. Field mask is used to specify the fields to be overwritten in the // `NetworkPolicy` resource by the update. // The fields specified in the `update_mask` are relative to the resource, not // the full request. A field will be overwritten if it is in the mask. If the // user does not provide a mask then all fields will be overwritten. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.CreateNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.CreateNetworkPolicy] message CreateNetworkPolicyRequest { // Required. The resource name of the location (region) // to create the new network policy in. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "vmwareengine.googleapis.com/NetworkPolicy" } ]; // Required. The user-provided identifier of the network policy to be created. // This identifier must be unique within parent // `projects/{my-project}/locations/{us-central1}/networkPolicies` and becomes // the final token in the name URI. // The identifier must meet the following requirements: // // * Only contains 1-63 alphanumeric characters and hyphens // * Begins with an alphabetical character // * Ends with a non-hyphen character // * Not formatted as a UUID // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) // (section 3.5) string network_policy_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The network policy configuration to use in the request. NetworkPolicy network_policy = 3 [(google.api.field_behavior) = REQUIRED]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.DeleteNetworkPolicy][google.cloud.vmwareengine.v1.VmwareEngine.DeleteNetworkPolicy] message DeleteNetworkPolicyRequest { // Required. The resource name of the network policy to delete. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/us-central1/networkPolicies/my-network-policy` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/NetworkPolicy" } ]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; } // VMware Engine network resource that provides connectivity for VMware Engine // private clouds. message VmwareEngineNetwork { option (google.api.resource) = { type: "vmwareengine.googleapis.com/VmwareEngineNetwork" pattern: "projects/{project}/locations/{location}/vmwareEngineNetworks/{vmware_engine_network}" }; // Represents a VMware Engine VPC network that is managed by a // VMware Engine network resource. message VpcNetwork { // Enum Type defines possible types of a VMware Engine network controlled // service. enum Type { // The default value. This value should never be used. TYPE_UNSPECIFIED = 0; // VPC network that will be peered with a consumer VPC network or the // intranet VPC of another VMware Engine network. Access a private cloud // through Compute Engine VMs on a peered VPC network or an on-premises // resource connected to a peered consumer VPC network. INTRANET = 1; // VPC network used for internet access to and from a private cloud. INTERNET = 2; // VPC network used for access to Google Cloud services like // Cloud Storage. GOOGLE_CLOUD = 3; } // Output only. Type of VPC network (INTRANET, INTERNET, or // GOOGLE_CLOUD) Type type = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The relative resource name of the service VPC network this // VMware Engine network is attached to. For example: // `projects/123123/global/networks/my-network` string network = 2 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { type: "compute.googleapis.com/Network" } ]; } // Enum State defines possible states of VMware Engine network. enum State { // The default value. This value is used if the state is omitted. STATE_UNSPECIFIED = 0; // The VMware Engine network is being created. CREATING = 1; // The VMware Engine network is ready. ACTIVE = 2; // The VMware Engine network is being updated. UPDATING = 3; // The VMware Engine network is being deleted. DELETING = 4; } // Enum Type defines possible types of VMware Engine network. enum Type { // The default value. This value should never be used. TYPE_UNSPECIFIED = 0; // Network type used by private clouds created in projects without a network // of type `STANDARD`. This network type is no longer used for new VMware // Engine private cloud deployments. LEGACY = 1; } // Output only. The resource name of the VMware Engine network. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Creation time of this resource. google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Last update time of this resource. google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // User-provided description for this VMware Engine network. string description = 5; // Output only. VMware Engine service VPC networks that provide connectivity // from a private cloud to customer projects, the internet, and other Google // Cloud services. repeated VpcNetwork vpc_networks = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. State of the VMware Engine network. State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Required. VMware Engine network type. Type type = 8 [(google.api.field_behavior) = REQUIRED]; // Output only. System-generated unique identifier for the resource. string uid = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; // Checksum that may be sent on update and delete requests to ensure that the // user-provided value is up to date before the server processes a request. // The server computes checksums based on the value of other fields in the // request. string etag = 10; } // Request message for [VmwareEngine.CreateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.CreateVmwareEngineNetwork] message CreateVmwareEngineNetworkRequest { // Required. The resource name of the location to create the new VMware Engine // network in. A VMware Engine network of type // `LEGACY` is a regional resource, and a VMware // Engine network of type `STANDARD` is a global resource. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. For example: // `projects/my-project/locations/global` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "vmwareengine.googleapis.com/VmwareEngineNetwork" } ]; // Required. The user-provided identifier of the new VMware Engine network. // This identifier must be unique among VMware Engine network resources // within the parent and becomes the final token in the name URI. The // identifier must meet the following requirements: // // * For networks of type LEGACY, adheres to the format: // `{region-id}-default`. Replace `{region-id}` with the region where you want // to create the VMware Engine network. For example, "us-west1-default". // * Only contains 1-63 alphanumeric characters and hyphens // * Begins with an alphabetical character // * Ends with a non-hyphen character // * Not formatted as a UUID // * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) // (section 3.5) string vmware_engine_network_id = 2 [(google.api.field_behavior) = REQUIRED]; // Required. The initial description of the new VMware Engine network. VmwareEngineNetwork vmware_engine_network = 3 [(google.api.field_behavior) = REQUIRED]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.UpdateVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.UpdateVmwareEngineNetwork] message UpdateVmwareEngineNetworkRequest { // Required. VMware Engine network description. VmwareEngineNetwork vmware_engine_network = 1 [(google.api.field_behavior) = REQUIRED]; // Required. Field mask is used to specify the fields to be overwritten in the // VMware Engine network resource by the update. // The fields specified in the `update_mask` are relative to the resource, not // the full request. A field will be overwritten if it is in the mask. If the // user does not provide a mask then all fields will be overwritten. Only the // following fields can be updated: `description`. google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.DeleteVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.DeleteVmwareEngineNetwork] message DeleteVmwareEngineNetworkRequest { // Required. The resource name of the VMware Engine network to be deleted. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/VmwareEngineNetwork" } ]; // Optional. A request ID to identify requests. Specify a unique request ID // so that if you must retry your request, the server will know to ignore // the request if it has already been completed. The server guarantees that a // request doesn't result in creation of duplicate commitments for at least 60 // minutes. // // For example, consider a situation where you make an initial request and the // request times out. If you make the request again with the same request // ID, the server can check if original operation with the same request ID // was received, and if so, will ignore the second request. This prevents // clients from accidentally creating duplicate commitments. // // The request ID must be a valid UUID with the exception that zero UUID is // not supported (00000000-0000-0000-0000-000000000000). string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; // Optional. Checksum used to ensure that the user-provided value is up to date before // the server processes the request. The server compares provided checksum // with the current checksum of the resource. If the user-provided value is // out of date, this request returns an `ABORTED` error. string etag = 3 [(google.api.field_behavior) = OPTIONAL]; } // Request message for [VmwareEngine.GetVmwareEngineNetwork][google.cloud.vmwareengine.v1.VmwareEngine.GetVmwareEngineNetwork] message GetVmwareEngineNetworkRequest { // Required. The resource name of the VMware Engine network to retrieve. // Resource names are schemeless URIs that follow the conventions in // https://cloud.google.com/apis/design/resource_names. // For example: // `projects/my-project/locations/global/vmwareEngineNetworks/my-network` string name = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "vmwareengine.googleapis.com/VmwareEngineNetwork" } ]; } // Request message for [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] message ListVmwareEngineNetworksRequest { // Required. The resource name of the location to query for // VMware Engine networks. Resource names are schemeless URIs that follow the // conventions in https://cloud.google.com/apis/design/resource_names. For // example: `projects/my-project/locations/global` string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { type: "locations.googleapis.com/Location" } ]; // The maximum number of results to return in one page. // The maximum value is coerced to 1000. // The default value of this field is 500. int32 page_size = 2; // A page token, received from a previous `ListVmwareEngineNetworks` call. // Provide this to retrieve the subsequent page. // // When paginating, all other parameters provided to // `ListVmwareEngineNetworks` must match the call that provided the page // token. string page_token = 3; // A filter expression that matches resources returned in the response. // The expression must specify the field name, a comparison // operator, and the value that you want to use for filtering. The value // must be a string, a number, or a boolean. The comparison operator // must be `=`, `!=`, `>`, or `<`. // // For example, if you are filtering a list of network peerings, you can // exclude the ones named `example-network` by specifying // `name != "example-network"`. // // To filter on multiple expressions, provide each separate expression within // parentheses. For example: // ``` // (name = "example-network") // (createTime > "2021-04-12T08:15:10.40Z") // ``` // // By default, each expression is an `AND` expression. However, you // can include `AND` and `OR` expressions explicitly. // For example: // ``` // (name = "example-network-1") AND // (createTime > "2021-04-12T08:15:10.40Z") OR // (name = "example-network-2") // ``` string filter = 4; // Sorts list results by a certain order. By default, returned results // are ordered by `name` in ascending order. // You can also sort results in descending order based on the `name` value // using `orderBy="name desc"`. // Currently, only ordering by `name` is supported. string order_by = 5; } // Response message for [VmwareEngine.ListVmwareEngineNetworks][google.cloud.vmwareengine.v1.VmwareEngine.ListVmwareEngineNetworks] message ListVmwareEngineNetworksResponse { // A list of VMware Engine networks. repeated VmwareEngineNetwork vmware_engine_networks = 1; // A token, which can be sent as `page_token` to retrieve the next page. // If this field is omitted, there are no subsequent pages. string next_page_token = 2; // Unreachable resources. repeated string unreachable = 3; }