1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194 |
- // 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;
- }
|