1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.gkehub.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/gkehub/v1/feature.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/gkehub/v1/membership.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 29*d5c09012SAndroid Build Coastguard Worker 30*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.GkeHub.V1"; 31*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/gkehub/apiv1/gkehubpb;gkehubpb"; 32*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 33*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ServiceProto"; 34*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.gkehub.v1"; 35*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\GkeHub\\V1"; 36*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::GkeHub::V1"; 37*d5c09012SAndroid Build Coastguard Worker 38*d5c09012SAndroid Build Coastguard Worker// The GKE Hub service handles the registration of many Kubernetes clusters to 39*d5c09012SAndroid Build Coastguard Worker// Google Cloud, and the management of multi-cluster features over those 40*d5c09012SAndroid Build Coastguard Worker// clusters. 41*d5c09012SAndroid Build Coastguard Worker// 42*d5c09012SAndroid Build Coastguard Worker// The GKE Hub service operates on the following resources: 43*d5c09012SAndroid Build Coastguard Worker// 44*d5c09012SAndroid Build Coastguard Worker// * [Membership][google.cloud.gkehub.v1.Membership] 45*d5c09012SAndroid Build Coastguard Worker// * [Feature][google.cloud.gkehub.v1.Feature] 46*d5c09012SAndroid Build Coastguard Worker// 47*d5c09012SAndroid Build Coastguard Worker// GKE Hub is currently available in the global region and all regions in 48*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/compute/docs/regions-zones. Feature is only 49*d5c09012SAndroid Build Coastguard Worker// available in global region while membership is global region and all the 50*d5c09012SAndroid Build Coastguard Worker// regions. 51*d5c09012SAndroid Build Coastguard Worker// 52*d5c09012SAndroid Build Coastguard Worker// **Membership management may be non-trivial:** it is recommended to use one 53*d5c09012SAndroid Build Coastguard Worker// of the Google-provided client libraries or tools where possible when working 54*d5c09012SAndroid Build Coastguard Worker// with Membership resources. 55*d5c09012SAndroid Build Coastguard Workerservice GkeHub { 56*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "gkehub.googleapis.com"; 57*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 58*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 59*d5c09012SAndroid Build Coastguard Worker 60*d5c09012SAndroid Build Coastguard Worker // Lists Memberships in a given project and location. 61*d5c09012SAndroid Build Coastguard Worker rpc ListMemberships(ListMembershipsRequest) 62*d5c09012SAndroid Build Coastguard Worker returns (ListMembershipsResponse) { 63*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 64*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*}/memberships" 65*d5c09012SAndroid Build Coastguard Worker }; 66*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 67*d5c09012SAndroid Build Coastguard Worker } 68*d5c09012SAndroid Build Coastguard Worker 69*d5c09012SAndroid Build Coastguard Worker // Lists Features in a given project and location. 70*d5c09012SAndroid Build Coastguard Worker rpc ListFeatures(ListFeaturesRequest) returns (ListFeaturesResponse) { 71*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 72*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*/locations/*}/features" 73*d5c09012SAndroid Build Coastguard Worker }; 74*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 75*d5c09012SAndroid Build Coastguard Worker } 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker // Gets the details of a Membership. 78*d5c09012SAndroid Build Coastguard Worker rpc GetMembership(GetMembershipRequest) returns (Membership) { 79*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 80*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/memberships/*}" 81*d5c09012SAndroid Build Coastguard Worker }; 82*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 83*d5c09012SAndroid Build Coastguard Worker } 84*d5c09012SAndroid Build Coastguard Worker 85*d5c09012SAndroid Build Coastguard Worker // Gets details of a single Feature. 86*d5c09012SAndroid Build Coastguard Worker rpc GetFeature(GetFeatureRequest) returns (Feature) { 87*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 88*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/features/*}" 89*d5c09012SAndroid Build Coastguard Worker }; 90*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 91*d5c09012SAndroid Build Coastguard Worker } 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // Creates a new Membership. 94*d5c09012SAndroid Build Coastguard Worker // 95*d5c09012SAndroid Build Coastguard Worker // **This is currently only supported for GKE clusters on Google Cloud**. 96*d5c09012SAndroid Build Coastguard Worker // To register other clusters, follow the instructions at 97*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/anthos/multicluster-management/connect/registering-a-cluster. 98*d5c09012SAndroid Build Coastguard Worker rpc CreateMembership(CreateMembershipRequest) 99*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 100*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 101*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*}/memberships" 102*d5c09012SAndroid Build Coastguard Worker body: "resource" 103*d5c09012SAndroid Build Coastguard Worker }; 104*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,resource,membership_id"; 105*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 106*d5c09012SAndroid Build Coastguard Worker response_type: "Membership" 107*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 108*d5c09012SAndroid Build Coastguard Worker }; 109*d5c09012SAndroid Build Coastguard Worker } 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // Adds a new Feature. 112*d5c09012SAndroid Build Coastguard Worker rpc CreateFeature(CreateFeatureRequest) 113*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 114*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 115*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*/locations/*}/features" 116*d5c09012SAndroid Build Coastguard Worker body: "resource" 117*d5c09012SAndroid Build Coastguard Worker }; 118*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,resource,feature_id"; 119*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 120*d5c09012SAndroid Build Coastguard Worker response_type: "Feature" 121*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 122*d5c09012SAndroid Build Coastguard Worker }; 123*d5c09012SAndroid Build Coastguard Worker } 124*d5c09012SAndroid Build Coastguard Worker 125*d5c09012SAndroid Build Coastguard Worker // Removes a Membership. 126*d5c09012SAndroid Build Coastguard Worker // 127*d5c09012SAndroid Build Coastguard Worker // **This is currently only supported for GKE clusters on Google Cloud**. 128*d5c09012SAndroid Build Coastguard Worker // To unregister other clusters, follow the instructions at 129*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/anthos/multicluster-management/connect/unregistering-a-cluster. 130*d5c09012SAndroid Build Coastguard Worker rpc DeleteMembership(DeleteMembershipRequest) 131*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 132*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 133*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/memberships/*}" 134*d5c09012SAndroid Build Coastguard Worker }; 135*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 136*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 137*d5c09012SAndroid Build Coastguard Worker response_type: "google.protobuf.Empty" 138*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 139*d5c09012SAndroid Build Coastguard Worker }; 140*d5c09012SAndroid Build Coastguard Worker } 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker // Removes a Feature. 143*d5c09012SAndroid Build Coastguard Worker rpc DeleteFeature(DeleteFeatureRequest) 144*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 145*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 146*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/locations/*/features/*}" 147*d5c09012SAndroid Build Coastguard Worker }; 148*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 149*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 150*d5c09012SAndroid Build Coastguard Worker response_type: "google.protobuf.Empty" 151*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 152*d5c09012SAndroid Build Coastguard Worker }; 153*d5c09012SAndroid Build Coastguard Worker } 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker // Updates an existing Membership. 156*d5c09012SAndroid Build Coastguard Worker rpc UpdateMembership(UpdateMembershipRequest) 157*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 158*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 159*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{name=projects/*/locations/*/memberships/*}" 160*d5c09012SAndroid Build Coastguard Worker body: "resource" 161*d5c09012SAndroid Build Coastguard Worker }; 162*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,resource,update_mask"; 163*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 164*d5c09012SAndroid Build Coastguard Worker response_type: "Membership" 165*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 166*d5c09012SAndroid Build Coastguard Worker }; 167*d5c09012SAndroid Build Coastguard Worker } 168*d5c09012SAndroid Build Coastguard Worker 169*d5c09012SAndroid Build Coastguard Worker // Updates an existing Feature. 170*d5c09012SAndroid Build Coastguard Worker rpc UpdateFeature(UpdateFeatureRequest) 171*d5c09012SAndroid Build Coastguard Worker returns (google.longrunning.Operation) { 172*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 173*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{name=projects/*/locations/*/features/*}" 174*d5c09012SAndroid Build Coastguard Worker body: "resource" 175*d5c09012SAndroid Build Coastguard Worker }; 176*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name,resource,update_mask"; 177*d5c09012SAndroid Build Coastguard Worker option (google.longrunning.operation_info) = { 178*d5c09012SAndroid Build Coastguard Worker response_type: "Feature" 179*d5c09012SAndroid Build Coastguard Worker metadata_type: "OperationMetadata" 180*d5c09012SAndroid Build Coastguard Worker }; 181*d5c09012SAndroid Build Coastguard Worker } 182*d5c09012SAndroid Build Coastguard Worker 183*d5c09012SAndroid Build Coastguard Worker // Generates the manifest for deployment of the GKE connect agent. 184*d5c09012SAndroid Build Coastguard Worker // 185*d5c09012SAndroid Build Coastguard Worker // **This method is used internally by Google-provided libraries.** 186*d5c09012SAndroid Build Coastguard Worker // Most clients should not need to call this method directly. 187*d5c09012SAndroid Build Coastguard Worker rpc GenerateConnectManifest(GenerateConnectManifestRequest) 188*d5c09012SAndroid Build Coastguard Worker returns (GenerateConnectManifestResponse) { 189*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 190*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/locations/*/memberships/*}:generateConnectManifest" 191*d5c09012SAndroid Build Coastguard Worker }; 192*d5c09012SAndroid Build Coastguard Worker } 193*d5c09012SAndroid Build Coastguard Worker} 194*d5c09012SAndroid Build Coastguard Worker 195*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.ListMemberships` method. 196*d5c09012SAndroid Build Coastguard Workermessage ListMembershipsRequest { 197*d5c09012SAndroid Build Coastguard Worker // Required. The parent (project and location) where the Memberships will be 198*d5c09012SAndroid Build Coastguard Worker // listed. Specified in the format `projects/*/locations/*`. 199*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/-` list memberships in all the regions. 200*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 201*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 202*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 203*d5c09012SAndroid Build Coastguard Worker child_type: "gkehub.googleapis.com/Membership" 204*d5c09012SAndroid Build Coastguard Worker } 205*d5c09012SAndroid Build Coastguard Worker ]; 206*d5c09012SAndroid Build Coastguard Worker 207*d5c09012SAndroid Build Coastguard Worker // Optional. When requesting a 'page' of resources, `page_size` specifies 208*d5c09012SAndroid Build Coastguard Worker // number of resources to return. If unspecified or set to 0, all resources 209*d5c09012SAndroid Build Coastguard Worker // will be returned. 210*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 211*d5c09012SAndroid Build Coastguard Worker 212*d5c09012SAndroid Build Coastguard Worker // Optional. Token returned by previous call to `ListMemberships` which 213*d5c09012SAndroid Build Coastguard Worker // specifies the position in the list from where to continue listing the 214*d5c09012SAndroid Build Coastguard Worker // resources. 215*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 216*d5c09012SAndroid Build Coastguard Worker 217*d5c09012SAndroid Build Coastguard Worker // Optional. Lists Memberships that match the filter expression, following the 218*d5c09012SAndroid Build Coastguard Worker // syntax outlined in https://google.aip.dev/160. 219*d5c09012SAndroid Build Coastguard Worker // 220*d5c09012SAndroid Build Coastguard Worker // Examples: 221*d5c09012SAndroid Build Coastguard Worker // 222*d5c09012SAndroid Build Coastguard Worker // - Name is `bar` in project `foo-proj` and location `global`: 223*d5c09012SAndroid Build Coastguard Worker // 224*d5c09012SAndroid Build Coastguard Worker // name = "projects/foo-proj/locations/global/membership/bar" 225*d5c09012SAndroid Build Coastguard Worker // 226*d5c09012SAndroid Build Coastguard Worker // - Memberships that have a label called `foo`: 227*d5c09012SAndroid Build Coastguard Worker // 228*d5c09012SAndroid Build Coastguard Worker // labels.foo:* 229*d5c09012SAndroid Build Coastguard Worker // 230*d5c09012SAndroid Build Coastguard Worker // - Memberships that have a label called `foo` whose value is `bar`: 231*d5c09012SAndroid Build Coastguard Worker // 232*d5c09012SAndroid Build Coastguard Worker // labels.foo = bar 233*d5c09012SAndroid Build Coastguard Worker // 234*d5c09012SAndroid Build Coastguard Worker // - Memberships in the CREATING state: 235*d5c09012SAndroid Build Coastguard Worker // 236*d5c09012SAndroid Build Coastguard Worker // state = CREATING 237*d5c09012SAndroid Build Coastguard Worker string filter = 4 [(google.api.field_behavior) = OPTIONAL]; 238*d5c09012SAndroid Build Coastguard Worker 239*d5c09012SAndroid Build Coastguard Worker // Optional. One or more fields to compare and use to sort the output. 240*d5c09012SAndroid Build Coastguard Worker // See https://google.aip.dev/132#ordering. 241*d5c09012SAndroid Build Coastguard Worker string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; 242*d5c09012SAndroid Build Coastguard Worker} 243*d5c09012SAndroid Build Coastguard Worker 244*d5c09012SAndroid Build Coastguard Worker// Response message for the `GkeHub.ListMemberships` method. 245*d5c09012SAndroid Build Coastguard Workermessage ListMembershipsResponse { 246*d5c09012SAndroid Build Coastguard Worker // The list of matching Memberships. 247*d5c09012SAndroid Build Coastguard Worker repeated Membership resources = 1; 248*d5c09012SAndroid Build Coastguard Worker 249*d5c09012SAndroid Build Coastguard Worker // A token to request the next page of resources from the 250*d5c09012SAndroid Build Coastguard Worker // `ListMemberships` method. The value of an empty string means that 251*d5c09012SAndroid Build Coastguard Worker // there are no more resources to return. 252*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 253*d5c09012SAndroid Build Coastguard Worker 254*d5c09012SAndroid Build Coastguard Worker // List of locations that could not be reached while fetching this list. 255*d5c09012SAndroid Build Coastguard Worker repeated string unreachable = 3; 256*d5c09012SAndroid Build Coastguard Worker} 257*d5c09012SAndroid Build Coastguard Worker 258*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.GetMembership` method. 259*d5c09012SAndroid Build Coastguard Workermessage GetMembershipRequest { 260*d5c09012SAndroid Build Coastguard Worker // Required. The Membership resource name in the format 261*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/*/memberships/*`. 262*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 263*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 264*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 265*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Membership" 266*d5c09012SAndroid Build Coastguard Worker } 267*d5c09012SAndroid Build Coastguard Worker ]; 268*d5c09012SAndroid Build Coastguard Worker} 269*d5c09012SAndroid Build Coastguard Worker 270*d5c09012SAndroid Build Coastguard Worker// Request message for the `GkeHub.CreateMembership` method. 271*d5c09012SAndroid Build Coastguard Workermessage CreateMembershipRequest { 272*d5c09012SAndroid Build Coastguard Worker // Required. The parent (project and location) where the Memberships will be 273*d5c09012SAndroid Build Coastguard Worker // created. Specified in the format `projects/*/locations/*`. 274*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 275*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 276*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 277*d5c09012SAndroid Build Coastguard Worker child_type: "gkehub.googleapis.com/Membership" 278*d5c09012SAndroid Build Coastguard Worker } 279*d5c09012SAndroid Build Coastguard Worker ]; 280*d5c09012SAndroid Build Coastguard Worker 281*d5c09012SAndroid Build Coastguard Worker // Required. Client chosen ID for the membership. `membership_id` must be a 282*d5c09012SAndroid Build Coastguard Worker // valid RFC 1123 compliant DNS label: 283*d5c09012SAndroid Build Coastguard Worker // 284*d5c09012SAndroid Build Coastguard Worker // 1. At most 63 characters in length 285*d5c09012SAndroid Build Coastguard Worker // 2. It must consist of lower case alphanumeric characters or `-` 286*d5c09012SAndroid Build Coastguard Worker // 3. It must start and end with an alphanumeric character 287*d5c09012SAndroid Build Coastguard Worker // 288*d5c09012SAndroid Build Coastguard Worker // Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`, 289*d5c09012SAndroid Build Coastguard Worker // with a maximum length of 63 characters. 290*d5c09012SAndroid Build Coastguard Worker string membership_id = 2 [(google.api.field_behavior) = REQUIRED]; 291*d5c09012SAndroid Build Coastguard Worker 292*d5c09012SAndroid Build Coastguard Worker // Required. The membership to create. 293*d5c09012SAndroid Build Coastguard Worker Membership resource = 3 [(google.api.field_behavior) = REQUIRED]; 294*d5c09012SAndroid Build Coastguard Worker 295*d5c09012SAndroid Build Coastguard Worker // Optional. A request ID to identify requests. Specify a unique request ID 296*d5c09012SAndroid Build Coastguard Worker // so that if you must retry your request, the server will know to ignore 297*d5c09012SAndroid Build Coastguard Worker // the request if it has already been completed. The server will guarantee 298*d5c09012SAndroid Build Coastguard Worker // that for at least 60 minutes after the first request. 299*d5c09012SAndroid Build Coastguard Worker // 300*d5c09012SAndroid Build Coastguard Worker // For example, consider a situation where you make an initial request and 301*d5c09012SAndroid Build Coastguard Worker // the request times out. If you make the request again with the same request 302*d5c09012SAndroid Build Coastguard Worker // ID, the server can check if original operation with the same request ID 303*d5c09012SAndroid Build Coastguard Worker // was received, and if so, will ignore the second request. This prevents 304*d5c09012SAndroid Build Coastguard Worker // clients from accidentally creating duplicate commitments. 305*d5c09012SAndroid Build Coastguard Worker // 306*d5c09012SAndroid Build Coastguard Worker // The request ID must be a valid UUID with the exception that zero UUID is 307*d5c09012SAndroid Build Coastguard Worker // not supported (00000000-0000-0000-0000-000000000000). 308*d5c09012SAndroid Build Coastguard Worker string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 309*d5c09012SAndroid Build Coastguard Worker} 310*d5c09012SAndroid Build Coastguard Worker 311*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.DeleteMembership` method. 312*d5c09012SAndroid Build Coastguard Workermessage DeleteMembershipRequest { 313*d5c09012SAndroid Build Coastguard Worker // Required. The Membership resource name in the format 314*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/*/memberships/*`. 315*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 316*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 317*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 318*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Membership" 319*d5c09012SAndroid Build Coastguard Worker } 320*d5c09012SAndroid Build Coastguard Worker ]; 321*d5c09012SAndroid Build Coastguard Worker 322*d5c09012SAndroid Build Coastguard Worker // Optional. A request ID to identify requests. Specify a unique request ID 323*d5c09012SAndroid Build Coastguard Worker // so that if you must retry your request, the server will know to ignore 324*d5c09012SAndroid Build Coastguard Worker // the request if it has already been completed. The server will guarantee 325*d5c09012SAndroid Build Coastguard Worker // that for at least 60 minutes after the first request. 326*d5c09012SAndroid Build Coastguard Worker // 327*d5c09012SAndroid Build Coastguard Worker // For example, consider a situation where you make an initial request and 328*d5c09012SAndroid Build Coastguard Worker // the request times out. If you make the request again with the same request 329*d5c09012SAndroid Build Coastguard Worker // ID, the server can check if original operation with the same request ID 330*d5c09012SAndroid Build Coastguard Worker // was received, and if so, will ignore the second request. This prevents 331*d5c09012SAndroid Build Coastguard Worker // clients from accidentally creating duplicate commitments. 332*d5c09012SAndroid Build Coastguard Worker // 333*d5c09012SAndroid Build Coastguard Worker // The request ID must be a valid UUID with the exception that zero UUID is 334*d5c09012SAndroid Build Coastguard Worker // not supported (00000000-0000-0000-0000-000000000000). 335*d5c09012SAndroid Build Coastguard Worker string request_id = 2 [(google.api.field_behavior) = OPTIONAL]; 336*d5c09012SAndroid Build Coastguard Worker 337*d5c09012SAndroid Build Coastguard Worker // Optional. If set to true, any subresource from this Membership will also be 338*d5c09012SAndroid Build Coastguard Worker // deleted. Otherwise, the request will only work if the Membership has no 339*d5c09012SAndroid Build Coastguard Worker // subresource. 340*d5c09012SAndroid Build Coastguard Worker bool force = 3 [(google.api.field_behavior) = OPTIONAL]; 341*d5c09012SAndroid Build Coastguard Worker} 342*d5c09012SAndroid Build Coastguard Worker 343*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.UpdateMembership` method. 344*d5c09012SAndroid Build Coastguard Workermessage UpdateMembershipRequest { 345*d5c09012SAndroid Build Coastguard Worker // Required. The Membership resource name in the format 346*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/*/memberships/*`. 347*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 348*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 349*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 350*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Membership" 351*d5c09012SAndroid Build Coastguard Worker } 352*d5c09012SAndroid Build Coastguard Worker ]; 353*d5c09012SAndroid Build Coastguard Worker 354*d5c09012SAndroid Build Coastguard Worker // Required. Mask of fields to update. 355*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2 356*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 357*d5c09012SAndroid Build Coastguard Worker 358*d5c09012SAndroid Build Coastguard Worker // Required. Only fields specified in update_mask are updated. 359*d5c09012SAndroid Build Coastguard Worker // If you specify a field in the update_mask but don't specify its value here 360*d5c09012SAndroid Build Coastguard Worker // that field will be deleted. 361*d5c09012SAndroid Build Coastguard Worker // If you are updating a map field, set the value of a key to null or empty 362*d5c09012SAndroid Build Coastguard Worker // string to delete the key from the map. It's not possible to update a key's 363*d5c09012SAndroid Build Coastguard Worker // value to the empty string. 364*d5c09012SAndroid Build Coastguard Worker // If you specify the update_mask to be a special path "*", fully replaces all 365*d5c09012SAndroid Build Coastguard Worker // user-modifiable fields to match `resource`. 366*d5c09012SAndroid Build Coastguard Worker Membership resource = 3 [(google.api.field_behavior) = REQUIRED]; 367*d5c09012SAndroid Build Coastguard Worker 368*d5c09012SAndroid Build Coastguard Worker // Optional. A request ID to identify requests. Specify a unique request ID 369*d5c09012SAndroid Build Coastguard Worker // so that if you must retry your request, the server will know to ignore 370*d5c09012SAndroid Build Coastguard Worker // the request if it has already been completed. The server will guarantee 371*d5c09012SAndroid Build Coastguard Worker // that for at least 60 minutes after the first request. 372*d5c09012SAndroid Build Coastguard Worker // 373*d5c09012SAndroid Build Coastguard Worker // For example, consider a situation where you make an initial request and 374*d5c09012SAndroid Build Coastguard Worker // the request times out. If you make the request again with the same request 375*d5c09012SAndroid Build Coastguard Worker // ID, the server can check if original operation with the same request ID 376*d5c09012SAndroid Build Coastguard Worker // was received, and if so, will ignore the second request. This prevents 377*d5c09012SAndroid Build Coastguard Worker // clients from accidentally creating duplicate commitments. 378*d5c09012SAndroid Build Coastguard Worker // 379*d5c09012SAndroid Build Coastguard Worker // The request ID must be a valid UUID with the exception that zero UUID is 380*d5c09012SAndroid Build Coastguard Worker // not supported (00000000-0000-0000-0000-000000000000). 381*d5c09012SAndroid Build Coastguard Worker string request_id = 4 [(google.api.field_behavior) = OPTIONAL]; 382*d5c09012SAndroid Build Coastguard Worker} 383*d5c09012SAndroid Build Coastguard Worker 384*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.GenerateConnectManifest` 385*d5c09012SAndroid Build Coastguard Worker// method. 386*d5c09012SAndroid Build Coastguard Worker// . 387*d5c09012SAndroid Build Coastguard Workermessage GenerateConnectManifestRequest { 388*d5c09012SAndroid Build Coastguard Worker // Required. The Membership resource name the Agent will associate with, in 389*d5c09012SAndroid Build Coastguard Worker // the format `projects/*/locations/*/memberships/*`. 390*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 391*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 392*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 393*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Membership" 394*d5c09012SAndroid Build Coastguard Worker } 395*d5c09012SAndroid Build Coastguard Worker ]; 396*d5c09012SAndroid Build Coastguard Worker 397*d5c09012SAndroid Build Coastguard Worker // Optional. Namespace for GKE Connect agent resources. Defaults to 398*d5c09012SAndroid Build Coastguard Worker // `gke-connect`. 399*d5c09012SAndroid Build Coastguard Worker // 400*d5c09012SAndroid Build Coastguard Worker // The Connect Agent is authorized automatically when run in the default 401*d5c09012SAndroid Build Coastguard Worker // namespace. Otherwise, explicit authorization must be granted with an 402*d5c09012SAndroid Build Coastguard Worker // additional IAM binding. 403*d5c09012SAndroid Build Coastguard Worker string namespace = 2 [(google.api.field_behavior) = OPTIONAL]; 404*d5c09012SAndroid Build Coastguard Worker 405*d5c09012SAndroid Build Coastguard Worker // Optional. URI of a proxy if connectivity from the agent to 406*d5c09012SAndroid Build Coastguard Worker // gkeconnect.googleapis.com requires the use of a proxy. Format must be in 407*d5c09012SAndroid Build Coastguard Worker // the form `http(s)://{proxy_address}`, depending on the HTTP/HTTPS protocol 408*d5c09012SAndroid Build Coastguard Worker // supported by the proxy. This will direct the connect agent's outbound 409*d5c09012SAndroid Build Coastguard Worker // traffic through a HTTP(S) proxy. 410*d5c09012SAndroid Build Coastguard Worker bytes proxy = 3 [(google.api.field_behavior) = OPTIONAL]; 411*d5c09012SAndroid Build Coastguard Worker 412*d5c09012SAndroid Build Coastguard Worker // Optional. The Connect agent version to use. Defaults to the most current 413*d5c09012SAndroid Build Coastguard Worker // version. 414*d5c09012SAndroid Build Coastguard Worker string version = 4 [(google.api.field_behavior) = OPTIONAL]; 415*d5c09012SAndroid Build Coastguard Worker 416*d5c09012SAndroid Build Coastguard Worker // Optional. If true, generate the resources for upgrade only. Some resources 417*d5c09012SAndroid Build Coastguard Worker // generated only for installation (e.g. secrets) will be excluded. 418*d5c09012SAndroid Build Coastguard Worker bool is_upgrade = 5 [(google.api.field_behavior) = OPTIONAL]; 419*d5c09012SAndroid Build Coastguard Worker 420*d5c09012SAndroid Build Coastguard Worker // Optional. The registry to fetch the connect agent image from. Defaults to 421*d5c09012SAndroid Build Coastguard Worker // gcr.io/gkeconnect. 422*d5c09012SAndroid Build Coastguard Worker string registry = 6 [(google.api.field_behavior) = OPTIONAL]; 423*d5c09012SAndroid Build Coastguard Worker 424*d5c09012SAndroid Build Coastguard Worker // Optional. The image pull secret content for the registry, if not public. 425*d5c09012SAndroid Build Coastguard Worker bytes image_pull_secret_content = 7 [(google.api.field_behavior) = OPTIONAL]; 426*d5c09012SAndroid Build Coastguard Worker} 427*d5c09012SAndroid Build Coastguard Worker 428*d5c09012SAndroid Build Coastguard Worker// GenerateConnectManifestResponse contains manifest information for 429*d5c09012SAndroid Build Coastguard Worker// installing/upgrading a Connect agent. 430*d5c09012SAndroid Build Coastguard Workermessage GenerateConnectManifestResponse { 431*d5c09012SAndroid Build Coastguard Worker // The ordered list of Kubernetes resources that need to be applied to the 432*d5c09012SAndroid Build Coastguard Worker // cluster for GKE Connect agent installation/upgrade. 433*d5c09012SAndroid Build Coastguard Worker repeated ConnectAgentResource manifest = 1; 434*d5c09012SAndroid Build Coastguard Worker} 435*d5c09012SAndroid Build Coastguard Worker 436*d5c09012SAndroid Build Coastguard Worker// ConnectAgentResource represents a Kubernetes resource manifest for Connect 437*d5c09012SAndroid Build Coastguard Worker// Agent deployment. 438*d5c09012SAndroid Build Coastguard Workermessage ConnectAgentResource { 439*d5c09012SAndroid Build Coastguard Worker // Kubernetes type of the resource. 440*d5c09012SAndroid Build Coastguard Worker TypeMeta type = 1; 441*d5c09012SAndroid Build Coastguard Worker 442*d5c09012SAndroid Build Coastguard Worker // YAML manifest of the resource. 443*d5c09012SAndroid Build Coastguard Worker string manifest = 2; 444*d5c09012SAndroid Build Coastguard Worker} 445*d5c09012SAndroid Build Coastguard Worker 446*d5c09012SAndroid Build Coastguard Worker// TypeMeta is the type information needed for content unmarshalling of 447*d5c09012SAndroid Build Coastguard Worker// Kubernetes resources in the manifest. 448*d5c09012SAndroid Build Coastguard Workermessage TypeMeta { 449*d5c09012SAndroid Build Coastguard Worker // Kind of the resource (e.g. Deployment). 450*d5c09012SAndroid Build Coastguard Worker string kind = 1; 451*d5c09012SAndroid Build Coastguard Worker 452*d5c09012SAndroid Build Coastguard Worker // APIVersion of the resource (e.g. v1). 453*d5c09012SAndroid Build Coastguard Worker string api_version = 2; 454*d5c09012SAndroid Build Coastguard Worker} 455*d5c09012SAndroid Build Coastguard Worker 456*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.ListFeatures` method. 457*d5c09012SAndroid Build Coastguard Workermessage ListFeaturesRequest { 458*d5c09012SAndroid Build Coastguard Worker // Required. The parent (project and location) where the Features will be listed. 459*d5c09012SAndroid Build Coastguard Worker // Specified in the format `projects/*/locations/*`. 460*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 461*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 462*d5c09012SAndroid Build Coastguard Worker child_type: "gkehub.googleapis.com/Feature" 463*d5c09012SAndroid Build Coastguard Worker } 464*d5c09012SAndroid Build Coastguard Worker ]; 465*d5c09012SAndroid Build Coastguard Worker 466*d5c09012SAndroid Build Coastguard Worker // When requesting a 'page' of resources, `page_size` specifies number of 467*d5c09012SAndroid Build Coastguard Worker // resources to return. If unspecified or set to 0, all resources will 468*d5c09012SAndroid Build Coastguard Worker // be returned. 469*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 470*d5c09012SAndroid Build Coastguard Worker 471*d5c09012SAndroid Build Coastguard Worker // Token returned by previous call to `ListFeatures` which 472*d5c09012SAndroid Build Coastguard Worker // specifies the position in the list from where to continue listing the 473*d5c09012SAndroid Build Coastguard Worker // resources. 474*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 475*d5c09012SAndroid Build Coastguard Worker 476*d5c09012SAndroid Build Coastguard Worker // Lists Features that match the filter expression, following the syntax 477*d5c09012SAndroid Build Coastguard Worker // outlined in https://google.aip.dev/160. 478*d5c09012SAndroid Build Coastguard Worker // 479*d5c09012SAndroid Build Coastguard Worker // Examples: 480*d5c09012SAndroid Build Coastguard Worker // 481*d5c09012SAndroid Build Coastguard Worker // - Feature with the name "servicemesh" in project "foo-proj": 482*d5c09012SAndroid Build Coastguard Worker // 483*d5c09012SAndroid Build Coastguard Worker // name = "projects/foo-proj/locations/global/features/servicemesh" 484*d5c09012SAndroid Build Coastguard Worker // 485*d5c09012SAndroid Build Coastguard Worker // - Features that have a label called `foo`: 486*d5c09012SAndroid Build Coastguard Worker // 487*d5c09012SAndroid Build Coastguard Worker // labels.foo:* 488*d5c09012SAndroid Build Coastguard Worker // 489*d5c09012SAndroid Build Coastguard Worker // - Features that have a label called `foo` whose value is `bar`: 490*d5c09012SAndroid Build Coastguard Worker // 491*d5c09012SAndroid Build Coastguard Worker // labels.foo = bar 492*d5c09012SAndroid Build Coastguard Worker string filter = 4; 493*d5c09012SAndroid Build Coastguard Worker 494*d5c09012SAndroid Build Coastguard Worker // One or more fields to compare and use to sort the output. 495*d5c09012SAndroid Build Coastguard Worker // See https://google.aip.dev/132#ordering. 496*d5c09012SAndroid Build Coastguard Worker string order_by = 5; 497*d5c09012SAndroid Build Coastguard Worker} 498*d5c09012SAndroid Build Coastguard Worker 499*d5c09012SAndroid Build Coastguard Worker// Response message for the `GkeHub.ListFeatures` method. 500*d5c09012SAndroid Build Coastguard Workermessage ListFeaturesResponse { 501*d5c09012SAndroid Build Coastguard Worker // The list of matching Features 502*d5c09012SAndroid Build Coastguard Worker repeated Feature resources = 1; 503*d5c09012SAndroid Build Coastguard Worker 504*d5c09012SAndroid Build Coastguard Worker // A token to request the next page of resources from the 505*d5c09012SAndroid Build Coastguard Worker // `ListFeatures` method. The value of an empty string means 506*d5c09012SAndroid Build Coastguard Worker // that there are no more resources to return. 507*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 508*d5c09012SAndroid Build Coastguard Worker} 509*d5c09012SAndroid Build Coastguard Worker 510*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.GetFeature` method. 511*d5c09012SAndroid Build Coastguard Workermessage GetFeatureRequest { 512*d5c09012SAndroid Build Coastguard Worker // Required. The Feature resource name in the format 513*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/*/features/*` 514*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 515*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 516*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Feature" 517*d5c09012SAndroid Build Coastguard Worker } 518*d5c09012SAndroid Build Coastguard Worker ]; 519*d5c09012SAndroid Build Coastguard Worker} 520*d5c09012SAndroid Build Coastguard Worker 521*d5c09012SAndroid Build Coastguard Worker// Request message for the `GkeHub.CreateFeature` method. 522*d5c09012SAndroid Build Coastguard Workermessage CreateFeatureRequest { 523*d5c09012SAndroid Build Coastguard Worker // Required. The parent (project and location) where the Feature will be created. 524*d5c09012SAndroid Build Coastguard Worker // Specified in the format `projects/*/locations/*`. 525*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 526*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 527*d5c09012SAndroid Build Coastguard Worker child_type: "gkehub.googleapis.com/Feature" 528*d5c09012SAndroid Build Coastguard Worker } 529*d5c09012SAndroid Build Coastguard Worker ]; 530*d5c09012SAndroid Build Coastguard Worker 531*d5c09012SAndroid Build Coastguard Worker // The ID of the feature to create. 532*d5c09012SAndroid Build Coastguard Worker string feature_id = 2; 533*d5c09012SAndroid Build Coastguard Worker 534*d5c09012SAndroid Build Coastguard Worker // The Feature resource to create. 535*d5c09012SAndroid Build Coastguard Worker Feature resource = 3; 536*d5c09012SAndroid Build Coastguard Worker 537*d5c09012SAndroid Build Coastguard Worker // Optional. A request ID to identify requests. Specify a unique request ID 538*d5c09012SAndroid Build Coastguard Worker // so that if you must retry your request, the server will know to ignore 539*d5c09012SAndroid Build Coastguard Worker // the request if it has already been completed. The server will guarantee 540*d5c09012SAndroid Build Coastguard Worker // that for at least 60 minutes after the first request. 541*d5c09012SAndroid Build Coastguard Worker // 542*d5c09012SAndroid Build Coastguard Worker // For example, consider a situation where you make an initial request and 543*d5c09012SAndroid Build Coastguard Worker // the request times out. If you make the request again with the same request 544*d5c09012SAndroid Build Coastguard Worker // ID, the server can check if original operation with the same request ID 545*d5c09012SAndroid Build Coastguard Worker // was received, and if so, will ignore the second request. This prevents 546*d5c09012SAndroid Build Coastguard Worker // clients from accidentally creating duplicate commitments. 547*d5c09012SAndroid Build Coastguard Worker // 548*d5c09012SAndroid Build Coastguard Worker // The request ID must be a valid UUID with the exception that zero UUID is 549*d5c09012SAndroid Build Coastguard Worker // not supported (00000000-0000-0000-0000-000000000000). 550*d5c09012SAndroid Build Coastguard Worker string request_id = 4; 551*d5c09012SAndroid Build Coastguard Worker} 552*d5c09012SAndroid Build Coastguard Worker 553*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.DeleteFeature` method. 554*d5c09012SAndroid Build Coastguard Workermessage DeleteFeatureRequest { 555*d5c09012SAndroid Build Coastguard Worker // Required. The Feature resource name in the format 556*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/*/features/*`. 557*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 558*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 559*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Feature" 560*d5c09012SAndroid Build Coastguard Worker } 561*d5c09012SAndroid Build Coastguard Worker ]; 562*d5c09012SAndroid Build Coastguard Worker 563*d5c09012SAndroid Build Coastguard Worker // If set to true, the delete will ignore any outstanding resources for 564*d5c09012SAndroid Build Coastguard Worker // this Feature (that is, `FeatureState.has_resources` is set to true). These 565*d5c09012SAndroid Build Coastguard Worker // resources will NOT be cleaned up or modified in any way. 566*d5c09012SAndroid Build Coastguard Worker bool force = 2; 567*d5c09012SAndroid Build Coastguard Worker 568*d5c09012SAndroid Build Coastguard Worker // Optional. A request ID to identify requests. Specify a unique request ID 569*d5c09012SAndroid Build Coastguard Worker // so that if you must retry your request, the server will know to ignore 570*d5c09012SAndroid Build Coastguard Worker // the request if it has already been completed. The server will guarantee 571*d5c09012SAndroid Build Coastguard Worker // that for at least 60 minutes after the first request. 572*d5c09012SAndroid Build Coastguard Worker // 573*d5c09012SAndroid Build Coastguard Worker // For example, consider a situation where you make an initial request and 574*d5c09012SAndroid Build Coastguard Worker // the request times out. If you make the request again with the same request 575*d5c09012SAndroid Build Coastguard Worker // ID, the server can check if original operation with the same request ID 576*d5c09012SAndroid Build Coastguard Worker // was received, and if so, will ignore the second request. This prevents 577*d5c09012SAndroid Build Coastguard Worker // clients from accidentally creating duplicate commitments. 578*d5c09012SAndroid Build Coastguard Worker // 579*d5c09012SAndroid Build Coastguard Worker // The request ID must be a valid UUID with the exception that zero UUID is 580*d5c09012SAndroid Build Coastguard Worker // not supported (00000000-0000-0000-0000-000000000000). 581*d5c09012SAndroid Build Coastguard Worker string request_id = 3 [(google.api.field_behavior) = OPTIONAL]; 582*d5c09012SAndroid Build Coastguard Worker} 583*d5c09012SAndroid Build Coastguard Worker 584*d5c09012SAndroid Build Coastguard Worker// Request message for `GkeHub.UpdateFeature` method. 585*d5c09012SAndroid Build Coastguard Workermessage UpdateFeatureRequest { 586*d5c09012SAndroid Build Coastguard Worker // Required. The Feature resource name in the format 587*d5c09012SAndroid Build Coastguard Worker // `projects/*/locations/*/features/*`. 588*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 589*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 590*d5c09012SAndroid Build Coastguard Worker type: "gkehub.googleapis.com/Feature" 591*d5c09012SAndroid Build Coastguard Worker } 592*d5c09012SAndroid Build Coastguard Worker ]; 593*d5c09012SAndroid Build Coastguard Worker 594*d5c09012SAndroid Build Coastguard Worker // Mask of fields to update. 595*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2; 596*d5c09012SAndroid Build Coastguard Worker 597*d5c09012SAndroid Build Coastguard Worker // Only fields specified in update_mask are updated. 598*d5c09012SAndroid Build Coastguard Worker // If you specify a field in the update_mask but don't specify its value here 599*d5c09012SAndroid Build Coastguard Worker // that field will be deleted. 600*d5c09012SAndroid Build Coastguard Worker // If you are updating a map field, set the value of a key to null or empty 601*d5c09012SAndroid Build Coastguard Worker // string to delete the key from the map. It's not possible to update a key's 602*d5c09012SAndroid Build Coastguard Worker // value to the empty string. 603*d5c09012SAndroid Build Coastguard Worker // If you specify the update_mask to be a special path "*", fully replaces all 604*d5c09012SAndroid Build Coastguard Worker // user-modifiable fields to match `resource`. 605*d5c09012SAndroid Build Coastguard Worker Feature resource = 3; 606*d5c09012SAndroid Build Coastguard Worker 607*d5c09012SAndroid Build Coastguard Worker // Optional. A request ID to identify requests. Specify a unique request ID 608*d5c09012SAndroid Build Coastguard Worker // so that if you must retry your request, the server will know to ignore 609*d5c09012SAndroid Build Coastguard Worker // the request if it has already been completed. The server will guarantee 610*d5c09012SAndroid Build Coastguard Worker // that for at least 60 minutes after the first request. 611*d5c09012SAndroid Build Coastguard Worker // 612*d5c09012SAndroid Build Coastguard Worker // For example, consider a situation where you make an initial request and 613*d5c09012SAndroid Build Coastguard Worker // the request times out. If you make the request again with the same request 614*d5c09012SAndroid Build Coastguard Worker // ID, the server can check if original operation with the same request ID 615*d5c09012SAndroid Build Coastguard Worker // was received, and if so, will ignore the second request. This prevents 616*d5c09012SAndroid Build Coastguard Worker // clients from accidentally creating duplicate commitments. 617*d5c09012SAndroid Build Coastguard Worker // 618*d5c09012SAndroid Build Coastguard Worker // The request ID must be a valid UUID with the exception that zero UUID is 619*d5c09012SAndroid Build Coastguard Worker // not supported (00000000-0000-0000-0000-000000000000). 620*d5c09012SAndroid Build Coastguard Worker string request_id = 4; 621*d5c09012SAndroid Build Coastguard Worker} 622*d5c09012SAndroid Build Coastguard Worker 623*d5c09012SAndroid Build Coastguard Worker// Represents the metadata of the long-running operation. 624*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata { 625*d5c09012SAndroid Build Coastguard Worker // Output only. The time the operation was created. 626*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 627*d5c09012SAndroid Build Coastguard Worker 628*d5c09012SAndroid Build Coastguard Worker // Output only. The time the operation finished running. 629*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 630*d5c09012SAndroid Build Coastguard Worker 631*d5c09012SAndroid Build Coastguard Worker // Output only. Server-defined resource path for the target of the operation. 632*d5c09012SAndroid Build Coastguard Worker string target = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 633*d5c09012SAndroid Build Coastguard Worker 634*d5c09012SAndroid Build Coastguard Worker // Output only. Name of the verb executed by the operation. 635*d5c09012SAndroid Build Coastguard Worker string verb = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 636*d5c09012SAndroid Build Coastguard Worker 637*d5c09012SAndroid Build Coastguard Worker // Output only. Human-readable status of the operation, if any. 638*d5c09012SAndroid Build Coastguard Worker string status_detail = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 639*d5c09012SAndroid Build Coastguard Worker 640*d5c09012SAndroid Build Coastguard Worker // Output only. Identifies whether the user has requested cancellation 641*d5c09012SAndroid Build Coastguard Worker // of the operation. Operations that have successfully been cancelled 642*d5c09012SAndroid Build Coastguard Worker // have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1, 643*d5c09012SAndroid Build Coastguard Worker // corresponding to `Code.CANCELLED`. 644*d5c09012SAndroid Build Coastguard Worker bool cancel_requested = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 645*d5c09012SAndroid Build Coastguard Worker 646*d5c09012SAndroid Build Coastguard Worker // Output only. API version used to start the operation. 647*d5c09012SAndroid Build Coastguard Worker string api_version = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; 648*d5c09012SAndroid Build Coastguard Worker} 649