xref: /aosp_15_r20/external/googleapis/google/cloud/gkehub/v1/service.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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