xref: /aosp_15_r20/external/googleapis/google/container/v1beta1/cluster_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.container.v1beta1;
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/protobuf/duration.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/wrappers.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/code.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto";
29*d5c09012SAndroid Build Coastguard Workerimport "google/type/date.proto";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Container.V1Beta1";
32*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/container/apiv1beta1/containerpb;containerpb";
33*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
34*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ClusterServiceProto";
35*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.container.v1beta1";
36*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Container\\V1beta1";
37*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Container::V1beta1";
38*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
39*d5c09012SAndroid Build Coastguard Worker  type: "pubsub.googleapis.com/Topic"
40*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/topics/{topic}"
41*d5c09012SAndroid Build Coastguard Worker};
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker// Google Kubernetes Engine Cluster Manager v1beta1
44*d5c09012SAndroid Build Coastguard Workerservice ClusterManager {
45*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "container.googleapis.com";
46*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
47*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker  // Lists all clusters owned by a project in either the specified zone or all
50*d5c09012SAndroid Build Coastguard Worker  // zones.
51*d5c09012SAndroid Build Coastguard Worker  rpc ListClusters(ListClustersRequest) returns (ListClustersResponse) {
52*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
53*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*}/clusters"
54*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
55*d5c09012SAndroid Build Coastguard Worker        get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters"
56*d5c09012SAndroid Build Coastguard Worker      }
57*d5c09012SAndroid Build Coastguard Worker    };
58*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone";
59*d5c09012SAndroid Build Coastguard Worker  }
60*d5c09012SAndroid Build Coastguard Worker
61*d5c09012SAndroid Build Coastguard Worker  // Gets the details for a specific cluster.
62*d5c09012SAndroid Build Coastguard Worker  rpc GetCluster(GetClusterRequest) returns (Cluster) {
63*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
64*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/locations/*/clusters/*}"
65*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
66*d5c09012SAndroid Build Coastguard Worker        get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}"
67*d5c09012SAndroid Build Coastguard Worker      }
68*d5c09012SAndroid Build Coastguard Worker    };
69*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster_id";
70*d5c09012SAndroid Build Coastguard Worker  }
71*d5c09012SAndroid Build Coastguard Worker
72*d5c09012SAndroid Build Coastguard Worker  // Creates a cluster, consisting of the specified number and type of Google
73*d5c09012SAndroid Build Coastguard Worker  // Compute Engine instances.
74*d5c09012SAndroid Build Coastguard Worker  //
75*d5c09012SAndroid Build Coastguard Worker  // By default, the cluster is created in the project's
76*d5c09012SAndroid Build Coastguard Worker  // [default
77*d5c09012SAndroid Build Coastguard Worker  // network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks).
78*d5c09012SAndroid Build Coastguard Worker  //
79*d5c09012SAndroid Build Coastguard Worker  // One firewall is added for the cluster. After cluster creation,
80*d5c09012SAndroid Build Coastguard Worker  // the Kubelet creates routes for each node to allow the containers
81*d5c09012SAndroid Build Coastguard Worker  // on that node to communicate with all other instances in the
82*d5c09012SAndroid Build Coastguard Worker  // cluster.
83*d5c09012SAndroid Build Coastguard Worker  //
84*d5c09012SAndroid Build Coastguard Worker  // Finally, an entry is added to the project's global metadata indicating
85*d5c09012SAndroid Build Coastguard Worker  // which CIDR range the cluster is using.
86*d5c09012SAndroid Build Coastguard Worker  rpc CreateCluster(CreateClusterRequest) returns (Operation) {
87*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
88*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*/locations/*}/clusters"
89*d5c09012SAndroid Build Coastguard Worker      body: "*"
90*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
91*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters"
92*d5c09012SAndroid Build Coastguard Worker        body: "*"
93*d5c09012SAndroid Build Coastguard Worker      }
94*d5c09012SAndroid Build Coastguard Worker    };
95*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster";
96*d5c09012SAndroid Build Coastguard Worker  }
97*d5c09012SAndroid Build Coastguard Worker
98*d5c09012SAndroid Build Coastguard Worker  // Updates the settings for a specific cluster.
99*d5c09012SAndroid Build Coastguard Worker  rpc UpdateCluster(UpdateClusterRequest) returns (Operation) {
100*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
101*d5c09012SAndroid Build Coastguard Worker      put: "/v1beta1/{name=projects/*/locations/*/clusters/*}"
102*d5c09012SAndroid Build Coastguard Worker      body: "*"
103*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
104*d5c09012SAndroid Build Coastguard Worker        put: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}"
105*d5c09012SAndroid Build Coastguard Worker        body: "*"
106*d5c09012SAndroid Build Coastguard Worker      }
107*d5c09012SAndroid Build Coastguard Worker    };
108*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster_id,update";
109*d5c09012SAndroid Build Coastguard Worker  }
110*d5c09012SAndroid Build Coastguard Worker
111*d5c09012SAndroid Build Coastguard Worker  // Updates the version and/or image type of a specific node pool.
112*d5c09012SAndroid Build Coastguard Worker  rpc UpdateNodePool(UpdateNodePoolRequest) returns (Operation) {
113*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
114*d5c09012SAndroid Build Coastguard Worker      put: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}"
115*d5c09012SAndroid Build Coastguard Worker      body: "*"
116*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
117*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/update"
118*d5c09012SAndroid Build Coastguard Worker        body: "*"
119*d5c09012SAndroid Build Coastguard Worker      }
120*d5c09012SAndroid Build Coastguard Worker    };
121*d5c09012SAndroid Build Coastguard Worker  }
122*d5c09012SAndroid Build Coastguard Worker
123*d5c09012SAndroid Build Coastguard Worker  // Sets the autoscaling settings of a specific node pool.
124*d5c09012SAndroid Build Coastguard Worker  rpc SetNodePoolAutoscaling(SetNodePoolAutoscalingRequest)
125*d5c09012SAndroid Build Coastguard Worker      returns (Operation) {
126*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
127*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setAutoscaling"
128*d5c09012SAndroid Build Coastguard Worker      body: "*"
129*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
130*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/autoscaling"
131*d5c09012SAndroid Build Coastguard Worker        body: "*"
132*d5c09012SAndroid Build Coastguard Worker      }
133*d5c09012SAndroid Build Coastguard Worker    };
134*d5c09012SAndroid Build Coastguard Worker  }
135*d5c09012SAndroid Build Coastguard Worker
136*d5c09012SAndroid Build Coastguard Worker  // Sets the logging service for a specific cluster.
137*d5c09012SAndroid Build Coastguard Worker  rpc SetLoggingService(SetLoggingServiceRequest) returns (Operation) {
138*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
139*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setLogging"
140*d5c09012SAndroid Build Coastguard Worker      body: "*"
141*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
142*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/logging"
143*d5c09012SAndroid Build Coastguard Worker        body: "*"
144*d5c09012SAndroid Build Coastguard Worker      }
145*d5c09012SAndroid Build Coastguard Worker    };
146*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
147*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,logging_service";
148*d5c09012SAndroid Build Coastguard Worker  }
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker  // Sets the monitoring service for a specific cluster.
151*d5c09012SAndroid Build Coastguard Worker  rpc SetMonitoringService(SetMonitoringServiceRequest) returns (Operation) {
152*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
153*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setMonitoring"
154*d5c09012SAndroid Build Coastguard Worker      body: "*"
155*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
156*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/monitoring"
157*d5c09012SAndroid Build Coastguard Worker        body: "*"
158*d5c09012SAndroid Build Coastguard Worker      }
159*d5c09012SAndroid Build Coastguard Worker    };
160*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
161*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,monitoring_service";
162*d5c09012SAndroid Build Coastguard Worker  }
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker  // Sets the addons for a specific cluster.
165*d5c09012SAndroid Build Coastguard Worker  rpc SetAddonsConfig(SetAddonsConfigRequest) returns (Operation) {
166*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
167*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setAddons"
168*d5c09012SAndroid Build Coastguard Worker      body: "*"
169*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
170*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/addons"
171*d5c09012SAndroid Build Coastguard Worker        body: "*"
172*d5c09012SAndroid Build Coastguard Worker      }
173*d5c09012SAndroid Build Coastguard Worker    };
174*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
175*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,addons_config";
176*d5c09012SAndroid Build Coastguard Worker  }
177*d5c09012SAndroid Build Coastguard Worker
178*d5c09012SAndroid Build Coastguard Worker  // Sets the locations for a specific cluster.
179*d5c09012SAndroid Build Coastguard Worker  // Deprecated. Use
180*d5c09012SAndroid Build Coastguard Worker  // [projects.locations.clusters.update](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters/update)
181*d5c09012SAndroid Build Coastguard Worker  // instead.
182*d5c09012SAndroid Build Coastguard Worker  rpc SetLocations(SetLocationsRequest) returns (Operation) {
183*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
184*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
185*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setLocations"
186*d5c09012SAndroid Build Coastguard Worker      body: "*"
187*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
188*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/locations"
189*d5c09012SAndroid Build Coastguard Worker        body: "*"
190*d5c09012SAndroid Build Coastguard Worker      }
191*d5c09012SAndroid Build Coastguard Worker    };
192*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
193*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,locations";
194*d5c09012SAndroid Build Coastguard Worker  }
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker  // Updates the master for a specific cluster.
197*d5c09012SAndroid Build Coastguard Worker  rpc UpdateMaster(UpdateMasterRequest) returns (Operation) {
198*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
199*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:updateMaster"
200*d5c09012SAndroid Build Coastguard Worker      body: "*"
201*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
202*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/master"
203*d5c09012SAndroid Build Coastguard Worker        body: "*"
204*d5c09012SAndroid Build Coastguard Worker      }
205*d5c09012SAndroid Build Coastguard Worker    };
206*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
207*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,master_version";
208*d5c09012SAndroid Build Coastguard Worker  }
209*d5c09012SAndroid Build Coastguard Worker
210*d5c09012SAndroid Build Coastguard Worker  // Sets master auth materials. Currently supports changing the admin password
211*d5c09012SAndroid Build Coastguard Worker  // or a specific cluster, either via password generation or explicitly setting
212*d5c09012SAndroid Build Coastguard Worker  // the password.
213*d5c09012SAndroid Build Coastguard Worker  rpc SetMasterAuth(SetMasterAuthRequest) returns (Operation) {
214*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
215*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setMasterAuth"
216*d5c09012SAndroid Build Coastguard Worker      body: "*"
217*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
218*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMasterAuth"
219*d5c09012SAndroid Build Coastguard Worker        body: "*"
220*d5c09012SAndroid Build Coastguard Worker      }
221*d5c09012SAndroid Build Coastguard Worker    };
222*d5c09012SAndroid Build Coastguard Worker  }
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // Deletes the cluster, including the Kubernetes endpoint and all worker
225*d5c09012SAndroid Build Coastguard Worker  // nodes.
226*d5c09012SAndroid Build Coastguard Worker  //
227*d5c09012SAndroid Build Coastguard Worker  // Firewalls and routes that were configured during cluster creation
228*d5c09012SAndroid Build Coastguard Worker  // are also deleted.
229*d5c09012SAndroid Build Coastguard Worker  //
230*d5c09012SAndroid Build Coastguard Worker  // Other Google Compute Engine resources that might be in use by the cluster,
231*d5c09012SAndroid Build Coastguard Worker  // such as load balancer resources, are not deleted if they weren't present
232*d5c09012SAndroid Build Coastguard Worker  // when the cluster was initially created.
233*d5c09012SAndroid Build Coastguard Worker  rpc DeleteCluster(DeleteClusterRequest) returns (Operation) {
234*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
235*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=projects/*/locations/*/clusters/*}"
236*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
237*d5c09012SAndroid Build Coastguard Worker        delete: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}"
238*d5c09012SAndroid Build Coastguard Worker      }
239*d5c09012SAndroid Build Coastguard Worker    };
240*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster_id";
241*d5c09012SAndroid Build Coastguard Worker  }
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker  // Lists all operations in a project in the specified zone or all zones.
244*d5c09012SAndroid Build Coastguard Worker  rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse) {
245*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
246*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*}/operations"
247*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
248*d5c09012SAndroid Build Coastguard Worker        get: "/v1beta1/projects/{project_id}/zones/{zone}/operations"
249*d5c09012SAndroid Build Coastguard Worker      }
250*d5c09012SAndroid Build Coastguard Worker    };
251*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone";
252*d5c09012SAndroid Build Coastguard Worker  }
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker  // Gets the specified operation.
255*d5c09012SAndroid Build Coastguard Worker  rpc GetOperation(GetOperationRequest) returns (Operation) {
256*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
257*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/locations/*/operations/*}"
258*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
259*d5c09012SAndroid Build Coastguard Worker        get: "/v1beta1/projects/{project_id}/zones/{zone}/operations/{operation_id}"
260*d5c09012SAndroid Build Coastguard Worker      }
261*d5c09012SAndroid Build Coastguard Worker    };
262*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,operation_id";
263*d5c09012SAndroid Build Coastguard Worker  }
264*d5c09012SAndroid Build Coastguard Worker
265*d5c09012SAndroid Build Coastguard Worker  // Cancels the specified operation.
266*d5c09012SAndroid Build Coastguard Worker  rpc CancelOperation(CancelOperationRequest) returns (google.protobuf.Empty) {
267*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
268*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/operations/*}:cancel"
269*d5c09012SAndroid Build Coastguard Worker      body: "*"
270*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
271*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/operations/{operation_id}:cancel"
272*d5c09012SAndroid Build Coastguard Worker        body: "*"
273*d5c09012SAndroid Build Coastguard Worker      }
274*d5c09012SAndroid Build Coastguard Worker    };
275*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,operation_id";
276*d5c09012SAndroid Build Coastguard Worker  }
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker  // Returns configuration info about the Google Kubernetes Engine service.
279*d5c09012SAndroid Build Coastguard Worker  rpc GetServerConfig(GetServerConfigRequest) returns (ServerConfig) {
280*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
281*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/locations/*}/serverConfig"
282*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
283*d5c09012SAndroid Build Coastguard Worker        get: "/v1beta1/projects/{project_id}/zones/{zone}/serverconfig"
284*d5c09012SAndroid Build Coastguard Worker      }
285*d5c09012SAndroid Build Coastguard Worker    };
286*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone";
287*d5c09012SAndroid Build Coastguard Worker  }
288*d5c09012SAndroid Build Coastguard Worker
289*d5c09012SAndroid Build Coastguard Worker  // Gets the public component of the cluster signing keys in
290*d5c09012SAndroid Build Coastguard Worker  // JSON Web Key format.
291*d5c09012SAndroid Build Coastguard Worker  rpc GetJSONWebKeys(GetJSONWebKeysRequest) returns (GetJSONWebKeysResponse) {
292*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
293*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*/clusters/*}/jwks"
294*d5c09012SAndroid Build Coastguard Worker    };
295*d5c09012SAndroid Build Coastguard Worker  }
296*d5c09012SAndroid Build Coastguard Worker
297*d5c09012SAndroid Build Coastguard Worker  // Lists the node pools for a cluster.
298*d5c09012SAndroid Build Coastguard Worker  rpc ListNodePools(ListNodePoolsRequest) returns (ListNodePoolsResponse) {
299*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
300*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*/locations/*/clusters/*}/nodePools"
301*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
302*d5c09012SAndroid Build Coastguard Worker        get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools"
303*d5c09012SAndroid Build Coastguard Worker      }
304*d5c09012SAndroid Build Coastguard Worker    };
305*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster_id";
306*d5c09012SAndroid Build Coastguard Worker  }
307*d5c09012SAndroid Build Coastguard Worker
308*d5c09012SAndroid Build Coastguard Worker  // Retrieves the requested node pool.
309*d5c09012SAndroid Build Coastguard Worker  rpc GetNodePool(GetNodePoolRequest) returns (NodePool) {
310*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
311*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}"
312*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
313*d5c09012SAndroid Build Coastguard Worker        get: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}"
314*d5c09012SAndroid Build Coastguard Worker      }
315*d5c09012SAndroid Build Coastguard Worker    };
316*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
317*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,node_pool_id";
318*d5c09012SAndroid Build Coastguard Worker  }
319*d5c09012SAndroid Build Coastguard Worker
320*d5c09012SAndroid Build Coastguard Worker  // Creates a node pool for a cluster.
321*d5c09012SAndroid Build Coastguard Worker  rpc CreateNodePool(CreateNodePoolRequest) returns (Operation) {
322*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
323*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{parent=projects/*/locations/*/clusters/*}/nodePools"
324*d5c09012SAndroid Build Coastguard Worker      body: "*"
325*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
326*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools"
327*d5c09012SAndroid Build Coastguard Worker        body: "*"
328*d5c09012SAndroid Build Coastguard Worker      }
329*d5c09012SAndroid Build Coastguard Worker    };
330*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
331*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,node_pool";
332*d5c09012SAndroid Build Coastguard Worker  }
333*d5c09012SAndroid Build Coastguard Worker
334*d5c09012SAndroid Build Coastguard Worker  // Deletes a node pool from a cluster.
335*d5c09012SAndroid Build Coastguard Worker  rpc DeleteNodePool(DeleteNodePoolRequest) returns (Operation) {
336*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
337*d5c09012SAndroid Build Coastguard Worker      delete: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}"
338*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
339*d5c09012SAndroid Build Coastguard Worker        delete: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}"
340*d5c09012SAndroid Build Coastguard Worker      }
341*d5c09012SAndroid Build Coastguard Worker    };
342*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
343*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,node_pool_id";
344*d5c09012SAndroid Build Coastguard Worker  }
345*d5c09012SAndroid Build Coastguard Worker
346*d5c09012SAndroid Build Coastguard Worker  // CompleteNodePoolUpgrade will signal an on-going node pool upgrade to
347*d5c09012SAndroid Build Coastguard Worker  // complete.
348*d5c09012SAndroid Build Coastguard Worker  rpc CompleteNodePoolUpgrade(CompleteNodePoolUpgradeRequest)
349*d5c09012SAndroid Build Coastguard Worker      returns (google.protobuf.Empty) {
350*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
351*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}:completeUpgrade"
352*d5c09012SAndroid Build Coastguard Worker      body: "*"
353*d5c09012SAndroid Build Coastguard Worker    };
354*d5c09012SAndroid Build Coastguard Worker  }
355*d5c09012SAndroid Build Coastguard Worker
356*d5c09012SAndroid Build Coastguard Worker  // Rolls back a previously Aborted or Failed NodePool upgrade.
357*d5c09012SAndroid Build Coastguard Worker  // This makes no changes if the last upgrade successfully completed.
358*d5c09012SAndroid Build Coastguard Worker  rpc RollbackNodePoolUpgrade(RollbackNodePoolUpgradeRequest)
359*d5c09012SAndroid Build Coastguard Worker      returns (Operation) {
360*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
361*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}:rollback"
362*d5c09012SAndroid Build Coastguard Worker      body: "*"
363*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
364*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}:rollback"
365*d5c09012SAndroid Build Coastguard Worker        body: "*"
366*d5c09012SAndroid Build Coastguard Worker      }
367*d5c09012SAndroid Build Coastguard Worker    };
368*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
369*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,node_pool_id";
370*d5c09012SAndroid Build Coastguard Worker  }
371*d5c09012SAndroid Build Coastguard Worker
372*d5c09012SAndroid Build Coastguard Worker  // Sets the NodeManagement options for a node pool.
373*d5c09012SAndroid Build Coastguard Worker  rpc SetNodePoolManagement(SetNodePoolManagementRequest) returns (Operation) {
374*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
375*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setManagement"
376*d5c09012SAndroid Build Coastguard Worker      body: "*"
377*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
378*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setManagement"
379*d5c09012SAndroid Build Coastguard Worker        body: "*"
380*d5c09012SAndroid Build Coastguard Worker      }
381*d5c09012SAndroid Build Coastguard Worker    };
382*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
383*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,node_pool_id,management";
384*d5c09012SAndroid Build Coastguard Worker  }
385*d5c09012SAndroid Build Coastguard Worker
386*d5c09012SAndroid Build Coastguard Worker  // Sets labels on a cluster.
387*d5c09012SAndroid Build Coastguard Worker  rpc SetLabels(SetLabelsRequest) returns (Operation) {
388*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
389*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setResourceLabels"
390*d5c09012SAndroid Build Coastguard Worker      body: "*"
391*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
392*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/resourceLabels"
393*d5c09012SAndroid Build Coastguard Worker        body: "*"
394*d5c09012SAndroid Build Coastguard Worker      }
395*d5c09012SAndroid Build Coastguard Worker    };
396*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
397*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,resource_labels,label_fingerprint";
398*d5c09012SAndroid Build Coastguard Worker  }
399*d5c09012SAndroid Build Coastguard Worker
400*d5c09012SAndroid Build Coastguard Worker  // Enables or disables the ABAC authorization mechanism on a cluster.
401*d5c09012SAndroid Build Coastguard Worker  rpc SetLegacyAbac(SetLegacyAbacRequest) returns (Operation) {
402*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
403*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setLegacyAbac"
404*d5c09012SAndroid Build Coastguard Worker      body: "*"
405*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
406*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/legacyAbac"
407*d5c09012SAndroid Build Coastguard Worker        body: "*"
408*d5c09012SAndroid Build Coastguard Worker      }
409*d5c09012SAndroid Build Coastguard Worker    };
410*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster_id,enabled";
411*d5c09012SAndroid Build Coastguard Worker  }
412*d5c09012SAndroid Build Coastguard Worker
413*d5c09012SAndroid Build Coastguard Worker  // Starts master IP rotation.
414*d5c09012SAndroid Build Coastguard Worker  rpc StartIPRotation(StartIPRotationRequest) returns (Operation) {
415*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
416*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:startIpRotation"
417*d5c09012SAndroid Build Coastguard Worker      body: "*"
418*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
419*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:startIpRotation"
420*d5c09012SAndroid Build Coastguard Worker        body: "*"
421*d5c09012SAndroid Build Coastguard Worker      }
422*d5c09012SAndroid Build Coastguard Worker    };
423*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster_id";
424*d5c09012SAndroid Build Coastguard Worker  }
425*d5c09012SAndroid Build Coastguard Worker
426*d5c09012SAndroid Build Coastguard Worker  // Completes master IP rotation.
427*d5c09012SAndroid Build Coastguard Worker  rpc CompleteIPRotation(CompleteIPRotationRequest) returns (Operation) {
428*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
429*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:completeIpRotation"
430*d5c09012SAndroid Build Coastguard Worker      body: "*"
431*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
432*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:completeIpRotation"
433*d5c09012SAndroid Build Coastguard Worker        body: "*"
434*d5c09012SAndroid Build Coastguard Worker      }
435*d5c09012SAndroid Build Coastguard Worker    };
436*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id,zone,cluster_id";
437*d5c09012SAndroid Build Coastguard Worker  }
438*d5c09012SAndroid Build Coastguard Worker
439*d5c09012SAndroid Build Coastguard Worker  // SetNodePoolSizeRequest sets the size of a node pool. The new size will be
440*d5c09012SAndroid Build Coastguard Worker  // used for all replicas, including future replicas created by modifying
441*d5c09012SAndroid Build Coastguard Worker  // [NodePool.locations][google.container.v1beta1.NodePool.locations].
442*d5c09012SAndroid Build Coastguard Worker  rpc SetNodePoolSize(SetNodePoolSizeRequest) returns (Operation) {
443*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
444*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*/nodePools/*}:setSize"
445*d5c09012SAndroid Build Coastguard Worker      body: "*"
446*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
447*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}/nodePools/{node_pool_id}/setSize"
448*d5c09012SAndroid Build Coastguard Worker        body: "*"
449*d5c09012SAndroid Build Coastguard Worker      }
450*d5c09012SAndroid Build Coastguard Worker    };
451*d5c09012SAndroid Build Coastguard Worker  }
452*d5c09012SAndroid Build Coastguard Worker
453*d5c09012SAndroid Build Coastguard Worker  // Enables or disables Network Policy for a cluster.
454*d5c09012SAndroid Build Coastguard Worker  rpc SetNetworkPolicy(SetNetworkPolicyRequest) returns (Operation) {
455*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
456*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setNetworkPolicy"
457*d5c09012SAndroid Build Coastguard Worker      body: "*"
458*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
459*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setNetworkPolicy"
460*d5c09012SAndroid Build Coastguard Worker        body: "*"
461*d5c09012SAndroid Build Coastguard Worker      }
462*d5c09012SAndroid Build Coastguard Worker    };
463*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
464*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,network_policy";
465*d5c09012SAndroid Build Coastguard Worker  }
466*d5c09012SAndroid Build Coastguard Worker
467*d5c09012SAndroid Build Coastguard Worker  // Sets the maintenance policy for a cluster.
468*d5c09012SAndroid Build Coastguard Worker  rpc SetMaintenancePolicy(SetMaintenancePolicyRequest) returns (Operation) {
469*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
470*d5c09012SAndroid Build Coastguard Worker      post: "/v1beta1/{name=projects/*/locations/*/clusters/*}:setMaintenancePolicy"
471*d5c09012SAndroid Build Coastguard Worker      body: "*"
472*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
473*d5c09012SAndroid Build Coastguard Worker        post: "/v1beta1/projects/{project_id}/zones/{zone}/clusters/{cluster_id}:setMaintenancePolicy"
474*d5c09012SAndroid Build Coastguard Worker        body: "*"
475*d5c09012SAndroid Build Coastguard Worker      }
476*d5c09012SAndroid Build Coastguard Worker    };
477*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
478*d5c09012SAndroid Build Coastguard Worker        "project_id,zone,cluster_id,maintenance_policy";
479*d5c09012SAndroid Build Coastguard Worker  }
480*d5c09012SAndroid Build Coastguard Worker
481*d5c09012SAndroid Build Coastguard Worker  // Lists subnetworks that can be used for creating clusters in a project.
482*d5c09012SAndroid Build Coastguard Worker  rpc ListUsableSubnetworks(ListUsableSubnetworksRequest)
483*d5c09012SAndroid Build Coastguard Worker      returns (ListUsableSubnetworksResponse) {
484*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
485*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*}/aggregated/usableSubnetworks"
486*d5c09012SAndroid Build Coastguard Worker    };
487*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
488*d5c09012SAndroid Build Coastguard Worker  }
489*d5c09012SAndroid Build Coastguard Worker
490*d5c09012SAndroid Build Coastguard Worker  // Checks the cluster compatibility with Autopilot mode, and returns a list of
491*d5c09012SAndroid Build Coastguard Worker  // compatibility issues.
492*d5c09012SAndroid Build Coastguard Worker  rpc CheckAutopilotCompatibility(CheckAutopilotCompatibilityRequest)
493*d5c09012SAndroid Build Coastguard Worker      returns (CheckAutopilotCompatibilityResponse) {
494*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
495*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{name=projects/*/locations/*/clusters/*}:checkAutopilotCompatibility"
496*d5c09012SAndroid Build Coastguard Worker    };
497*d5c09012SAndroid Build Coastguard Worker  }
498*d5c09012SAndroid Build Coastguard Worker
499*d5c09012SAndroid Build Coastguard Worker  // Fetches locations that offer Google Kubernetes Engine.
500*d5c09012SAndroid Build Coastguard Worker  rpc ListLocations(ListLocationsRequest) returns (ListLocationsResponse) {
501*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
502*d5c09012SAndroid Build Coastguard Worker      get: "/v1beta1/{parent=projects/*}/locations"
503*d5c09012SAndroid Build Coastguard Worker    };
504*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
505*d5c09012SAndroid Build Coastguard Worker  }
506*d5c09012SAndroid Build Coastguard Worker}
507*d5c09012SAndroid Build Coastguard Worker
508*d5c09012SAndroid Build Coastguard Worker// Parameters that can be configured on Linux nodes.
509*d5c09012SAndroid Build Coastguard Workermessage LinuxNodeConfig {
510*d5c09012SAndroid Build Coastguard Worker  // Possible cgroup modes that can be used.
511*d5c09012SAndroid Build Coastguard Worker  enum CgroupMode {
512*d5c09012SAndroid Build Coastguard Worker    // CGROUP_MODE_UNSPECIFIED is when unspecified cgroup configuration is used.
513*d5c09012SAndroid Build Coastguard Worker    // The default for the GKE node OS image will be used.
514*d5c09012SAndroid Build Coastguard Worker    CGROUP_MODE_UNSPECIFIED = 0;
515*d5c09012SAndroid Build Coastguard Worker
516*d5c09012SAndroid Build Coastguard Worker    // CGROUP_MODE_V1 specifies to use cgroupv1 for the cgroup configuration on
517*d5c09012SAndroid Build Coastguard Worker    // the node image.
518*d5c09012SAndroid Build Coastguard Worker    CGROUP_MODE_V1 = 1;
519*d5c09012SAndroid Build Coastguard Worker
520*d5c09012SAndroid Build Coastguard Worker    // CGROUP_MODE_V2 specifies to use cgroupv2 for the cgroup configuration on
521*d5c09012SAndroid Build Coastguard Worker    // the node image.
522*d5c09012SAndroid Build Coastguard Worker    CGROUP_MODE_V2 = 2;
523*d5c09012SAndroid Build Coastguard Worker  }
524*d5c09012SAndroid Build Coastguard Worker
525*d5c09012SAndroid Build Coastguard Worker  // The Linux kernel parameters to be applied to the nodes and all pods running
526*d5c09012SAndroid Build Coastguard Worker  // on the nodes.
527*d5c09012SAndroid Build Coastguard Worker  //
528*d5c09012SAndroid Build Coastguard Worker  // The following parameters are supported.
529*d5c09012SAndroid Build Coastguard Worker  //
530*d5c09012SAndroid Build Coastguard Worker  // net.core.busy_poll
531*d5c09012SAndroid Build Coastguard Worker  // net.core.busy_read
532*d5c09012SAndroid Build Coastguard Worker  // net.core.netdev_max_backlog
533*d5c09012SAndroid Build Coastguard Worker  // net.core.rmem_max
534*d5c09012SAndroid Build Coastguard Worker  // net.core.wmem_default
535*d5c09012SAndroid Build Coastguard Worker  // net.core.wmem_max
536*d5c09012SAndroid Build Coastguard Worker  // net.core.optmem_max
537*d5c09012SAndroid Build Coastguard Worker  // net.core.somaxconn
538*d5c09012SAndroid Build Coastguard Worker  // net.ipv4.tcp_rmem
539*d5c09012SAndroid Build Coastguard Worker  // net.ipv4.tcp_wmem
540*d5c09012SAndroid Build Coastguard Worker  // net.ipv4.tcp_tw_reuse
541*d5c09012SAndroid Build Coastguard Worker  map<string, string> sysctls = 1;
542*d5c09012SAndroid Build Coastguard Worker
543*d5c09012SAndroid Build Coastguard Worker  // cgroup_mode specifies the cgroup mode to be used on the node.
544*d5c09012SAndroid Build Coastguard Worker  CgroupMode cgroup_mode = 2;
545*d5c09012SAndroid Build Coastguard Worker}
546*d5c09012SAndroid Build Coastguard Worker
547*d5c09012SAndroid Build Coastguard Worker// Parameters that can be configured on Windows nodes.
548*d5c09012SAndroid Build Coastguard Worker// Windows Node Config that define the parameters that will be used to
549*d5c09012SAndroid Build Coastguard Worker// configure the Windows node pool settings
550*d5c09012SAndroid Build Coastguard Workermessage WindowsNodeConfig {
551*d5c09012SAndroid Build Coastguard Worker  // Possible OS version that can be used.
552*d5c09012SAndroid Build Coastguard Worker  enum OSVersion {
553*d5c09012SAndroid Build Coastguard Worker    // When OSVersion is not specified
554*d5c09012SAndroid Build Coastguard Worker    OS_VERSION_UNSPECIFIED = 0;
555*d5c09012SAndroid Build Coastguard Worker
556*d5c09012SAndroid Build Coastguard Worker    // LTSC2019 specifies to use LTSC2019 as the Windows Servercore Base Image
557*d5c09012SAndroid Build Coastguard Worker    OS_VERSION_LTSC2019 = 1;
558*d5c09012SAndroid Build Coastguard Worker
559*d5c09012SAndroid Build Coastguard Worker    // LTSC2022 specifies to use LTSC2022 as the Windows Servercore Base Image
560*d5c09012SAndroid Build Coastguard Worker    OS_VERSION_LTSC2022 = 2;
561*d5c09012SAndroid Build Coastguard Worker  }
562*d5c09012SAndroid Build Coastguard Worker
563*d5c09012SAndroid Build Coastguard Worker  // OSVersion specifies the Windows node config to be used on the node
564*d5c09012SAndroid Build Coastguard Worker  OSVersion os_version = 1;
565*d5c09012SAndroid Build Coastguard Worker}
566*d5c09012SAndroid Build Coastguard Worker
567*d5c09012SAndroid Build Coastguard Worker// Node kubelet configs.
568*d5c09012SAndroid Build Coastguard Workermessage NodeKubeletConfig {
569*d5c09012SAndroid Build Coastguard Worker  // Control the CPU management policy on the node.
570*d5c09012SAndroid Build Coastguard Worker  // See
571*d5c09012SAndroid Build Coastguard Worker  // https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/
572*d5c09012SAndroid Build Coastguard Worker  //
573*d5c09012SAndroid Build Coastguard Worker  // The following values are allowed.
574*d5c09012SAndroid Build Coastguard Worker  // * "none": the default, which represents the existing scheduling behavior.
575*d5c09012SAndroid Build Coastguard Worker  // * "static": allows pods with certain resource characteristics to be granted
576*d5c09012SAndroid Build Coastguard Worker  // increased CPU affinity and exclusivity on the node.
577*d5c09012SAndroid Build Coastguard Worker  // The default value is 'none' if unspecified.
578*d5c09012SAndroid Build Coastguard Worker  string cpu_manager_policy = 1;
579*d5c09012SAndroid Build Coastguard Worker
580*d5c09012SAndroid Build Coastguard Worker  // Enable CPU CFS quota enforcement for containers that specify CPU limits.
581*d5c09012SAndroid Build Coastguard Worker  //
582*d5c09012SAndroid Build Coastguard Worker  // This option is enabled by default which makes kubelet use CFS quota
583*d5c09012SAndroid Build Coastguard Worker  // (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to
584*d5c09012SAndroid Build Coastguard Worker  // enforce container CPU limits. Otherwise, CPU limits will not be enforced at
585*d5c09012SAndroid Build Coastguard Worker  // all.
586*d5c09012SAndroid Build Coastguard Worker  //
587*d5c09012SAndroid Build Coastguard Worker  // Disable this option to mitigate CPU throttling problems while still having
588*d5c09012SAndroid Build Coastguard Worker  // your pods to be in Guaranteed QoS class by specifying the CPU limits.
589*d5c09012SAndroid Build Coastguard Worker  //
590*d5c09012SAndroid Build Coastguard Worker  // The default value is 'true' if unspecified.
591*d5c09012SAndroid Build Coastguard Worker  google.protobuf.BoolValue cpu_cfs_quota = 2;
592*d5c09012SAndroid Build Coastguard Worker
593*d5c09012SAndroid Build Coastguard Worker  // Set the CPU CFS quota period value 'cpu.cfs_period_us'.
594*d5c09012SAndroid Build Coastguard Worker  //
595*d5c09012SAndroid Build Coastguard Worker  // The string must be a sequence of decimal numbers, each with optional
596*d5c09012SAndroid Build Coastguard Worker  // fraction and a unit suffix, such as "300ms".
597*d5c09012SAndroid Build Coastguard Worker  // Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
598*d5c09012SAndroid Build Coastguard Worker  // The value must be a positive duration.
599*d5c09012SAndroid Build Coastguard Worker  string cpu_cfs_quota_period = 3;
600*d5c09012SAndroid Build Coastguard Worker
601*d5c09012SAndroid Build Coastguard Worker  // Set the Pod PID limits. See
602*d5c09012SAndroid Build Coastguard Worker  // https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits
603*d5c09012SAndroid Build Coastguard Worker  //
604*d5c09012SAndroid Build Coastguard Worker  // Controls the maximum number of processes allowed to run in a pod. The value
605*d5c09012SAndroid Build Coastguard Worker  // must be greater than or equal to 1024 and less than 4194304.
606*d5c09012SAndroid Build Coastguard Worker  int64 pod_pids_limit = 4;
607*d5c09012SAndroid Build Coastguard Worker
608*d5c09012SAndroid Build Coastguard Worker  // Enable or disable Kubelet read only port.
609*d5c09012SAndroid Build Coastguard Worker  optional bool insecure_kubelet_readonly_port_enabled = 7;
610*d5c09012SAndroid Build Coastguard Worker}
611*d5c09012SAndroid Build Coastguard Worker
612*d5c09012SAndroid Build Coastguard Worker// Parameters that describe the nodes in a cluster.
613*d5c09012SAndroid Build Coastguard Worker//
614*d5c09012SAndroid Build Coastguard Worker// GKE Autopilot clusters do not
615*d5c09012SAndroid Build Coastguard Worker// recognize parameters in `NodeConfig`. Use
616*d5c09012SAndroid Build Coastguard Worker// [AutoprovisioningNodePoolDefaults][google.container.v1beta1.AutoprovisioningNodePoolDefaults]
617*d5c09012SAndroid Build Coastguard Worker// instead.
618*d5c09012SAndroid Build Coastguard Workermessage NodeConfig {
619*d5c09012SAndroid Build Coastguard Worker  // The name of a Google Compute Engine [machine
620*d5c09012SAndroid Build Coastguard Worker  // type](https://cloud.google.com/compute/docs/machine-types).
621*d5c09012SAndroid Build Coastguard Worker  //
622*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the default machine type is
623*d5c09012SAndroid Build Coastguard Worker  // `e2-medium`.
624*d5c09012SAndroid Build Coastguard Worker  string machine_type = 1;
625*d5c09012SAndroid Build Coastguard Worker
626*d5c09012SAndroid Build Coastguard Worker  // Size of the disk attached to each node, specified in GB.
627*d5c09012SAndroid Build Coastguard Worker  // The smallest allowed disk size is 10GB.
628*d5c09012SAndroid Build Coastguard Worker  //
629*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the default disk size is 100GB.
630*d5c09012SAndroid Build Coastguard Worker  int32 disk_size_gb = 2;
631*d5c09012SAndroid Build Coastguard Worker
632*d5c09012SAndroid Build Coastguard Worker  // The set of Google API scopes to be made available on all of the
633*d5c09012SAndroid Build Coastguard Worker  // node VMs under the "default" service account.
634*d5c09012SAndroid Build Coastguard Worker  //
635*d5c09012SAndroid Build Coastguard Worker  // The following scopes are recommended, but not required, and by default are
636*d5c09012SAndroid Build Coastguard Worker  // not included:
637*d5c09012SAndroid Build Coastguard Worker  //
638*d5c09012SAndroid Build Coastguard Worker  // * `https://www.googleapis.com/auth/compute` is required for mounting
639*d5c09012SAndroid Build Coastguard Worker  // persistent storage on your nodes.
640*d5c09012SAndroid Build Coastguard Worker  // * `https://www.googleapis.com/auth/devstorage.read_only` is required for
641*d5c09012SAndroid Build Coastguard Worker  // communicating with **gcr.io**
642*d5c09012SAndroid Build Coastguard Worker  // (the [Google Container
643*d5c09012SAndroid Build Coastguard Worker  // Registry](https://cloud.google.com/container-registry/)).
644*d5c09012SAndroid Build Coastguard Worker  //
645*d5c09012SAndroid Build Coastguard Worker  // If unspecified, no scopes are added, unless Cloud Logging or Cloud
646*d5c09012SAndroid Build Coastguard Worker  // Monitoring are enabled, in which case their required scopes will be added.
647*d5c09012SAndroid Build Coastguard Worker  repeated string oauth_scopes = 3;
648*d5c09012SAndroid Build Coastguard Worker
649*d5c09012SAndroid Build Coastguard Worker  // The Google Cloud Platform Service Account to be used by the node VMs.
650*d5c09012SAndroid Build Coastguard Worker  // Specify the email address of the Service Account; otherwise, if no Service
651*d5c09012SAndroid Build Coastguard Worker  // Account is specified, the "default" service account is used.
652*d5c09012SAndroid Build Coastguard Worker  string service_account = 9;
653*d5c09012SAndroid Build Coastguard Worker
654*d5c09012SAndroid Build Coastguard Worker  // The metadata key/value pairs assigned to instances in the cluster.
655*d5c09012SAndroid Build Coastguard Worker  //
656*d5c09012SAndroid Build Coastguard Worker  // Keys must conform to the regexp `[a-zA-Z0-9-_]+` and be less than 128 bytes
657*d5c09012SAndroid Build Coastguard Worker  // in length. These are reflected as part of a URL in the metadata server.
658*d5c09012SAndroid Build Coastguard Worker  // Additionally, to avoid ambiguity, keys must not conflict with any other
659*d5c09012SAndroid Build Coastguard Worker  // metadata keys for the project or be one of the reserved keys:
660*d5c09012SAndroid Build Coastguard Worker  //
661*d5c09012SAndroid Build Coastguard Worker  //  - "cluster-location"
662*d5c09012SAndroid Build Coastguard Worker  //  - "cluster-name"
663*d5c09012SAndroid Build Coastguard Worker  //  - "cluster-uid"
664*d5c09012SAndroid Build Coastguard Worker  //  - "configure-sh"
665*d5c09012SAndroid Build Coastguard Worker  //  - "containerd-configure-sh"
666*d5c09012SAndroid Build Coastguard Worker  //  - "enable-oslogin"
667*d5c09012SAndroid Build Coastguard Worker  //  - "gci-ensure-gke-docker"
668*d5c09012SAndroid Build Coastguard Worker  //  - "gci-metrics-enabled"
669*d5c09012SAndroid Build Coastguard Worker  //  - "gci-update-strategy"
670*d5c09012SAndroid Build Coastguard Worker  //  - "instance-template"
671*d5c09012SAndroid Build Coastguard Worker  //  - "kube-env"
672*d5c09012SAndroid Build Coastguard Worker  //  - "startup-script"
673*d5c09012SAndroid Build Coastguard Worker  //  - "user-data"
674*d5c09012SAndroid Build Coastguard Worker  //  - "disable-address-manager"
675*d5c09012SAndroid Build Coastguard Worker  //  - "windows-startup-script-ps1"
676*d5c09012SAndroid Build Coastguard Worker  //  - "common-psm1"
677*d5c09012SAndroid Build Coastguard Worker  //  - "k8s-node-setup-psm1"
678*d5c09012SAndroid Build Coastguard Worker  //  - "install-ssh-psm1"
679*d5c09012SAndroid Build Coastguard Worker  //  - "user-profile-psm1"
680*d5c09012SAndroid Build Coastguard Worker  //
681*d5c09012SAndroid Build Coastguard Worker  // Values are free-form strings, and only have meaning as interpreted by
682*d5c09012SAndroid Build Coastguard Worker  // the image running in the instance. The only restriction placed on them is
683*d5c09012SAndroid Build Coastguard Worker  // that each value's size must be less than or equal to 32 KB.
684*d5c09012SAndroid Build Coastguard Worker  //
685*d5c09012SAndroid Build Coastguard Worker  // The total size of all keys and values must be less than 512 KB.
686*d5c09012SAndroid Build Coastguard Worker  map<string, string> metadata = 4;
687*d5c09012SAndroid Build Coastguard Worker
688*d5c09012SAndroid Build Coastguard Worker  // The image type to use for this node. Note that for a given image type,
689*d5c09012SAndroid Build Coastguard Worker  // the latest version of it will be used. Please see
690*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
691*d5c09012SAndroid Build Coastguard Worker  // available image types.
692*d5c09012SAndroid Build Coastguard Worker  string image_type = 5;
693*d5c09012SAndroid Build Coastguard Worker
694*d5c09012SAndroid Build Coastguard Worker  // The map of Kubernetes labels (key/value pairs) to be applied to each node.
695*d5c09012SAndroid Build Coastguard Worker  // These will added in addition to any default label(s) that
696*d5c09012SAndroid Build Coastguard Worker  // Kubernetes may apply to the node.
697*d5c09012SAndroid Build Coastguard Worker  // In case of conflict in label keys, the applied set may differ depending on
698*d5c09012SAndroid Build Coastguard Worker  // the Kubernetes version -- it's best to assume the behavior is undefined
699*d5c09012SAndroid Build Coastguard Worker  // and conflicts should be avoided.
700*d5c09012SAndroid Build Coastguard Worker  // For more information, including usage and the valid values, see:
701*d5c09012SAndroid Build Coastguard Worker  // https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
702*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 6;
703*d5c09012SAndroid Build Coastguard Worker
704*d5c09012SAndroid Build Coastguard Worker  // The number of local SSD disks to be attached to the node.
705*d5c09012SAndroid Build Coastguard Worker  //
706*d5c09012SAndroid Build Coastguard Worker  // The limit for this value is dependent upon the maximum number of
707*d5c09012SAndroid Build Coastguard Worker  // disks available on a machine per zone. See:
708*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/local-ssd
709*d5c09012SAndroid Build Coastguard Worker  // for more information.
710*d5c09012SAndroid Build Coastguard Worker  int32 local_ssd_count = 7;
711*d5c09012SAndroid Build Coastguard Worker
712*d5c09012SAndroid Build Coastguard Worker  // The list of instance tags applied to all nodes. Tags are used to identify
713*d5c09012SAndroid Build Coastguard Worker  // valid sources or targets for network firewalls and are specified by
714*d5c09012SAndroid Build Coastguard Worker  // the client during cluster or node pool creation. Each tag within the list
715*d5c09012SAndroid Build Coastguard Worker  // must comply with RFC1035.
716*d5c09012SAndroid Build Coastguard Worker  repeated string tags = 8;
717*d5c09012SAndroid Build Coastguard Worker
718*d5c09012SAndroid Build Coastguard Worker  // Whether the nodes are created as preemptible VM instances. See:
719*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/instances/preemptible for more
720*d5c09012SAndroid Build Coastguard Worker  // information about preemptible VM instances.
721*d5c09012SAndroid Build Coastguard Worker  bool preemptible = 10;
722*d5c09012SAndroid Build Coastguard Worker
723*d5c09012SAndroid Build Coastguard Worker  // A list of hardware accelerators to be attached to each node.
724*d5c09012SAndroid Build Coastguard Worker  // See https://cloud.google.com/compute/docs/gpus for more information about
725*d5c09012SAndroid Build Coastguard Worker  // support for GPUs.
726*d5c09012SAndroid Build Coastguard Worker  repeated AcceleratorConfig accelerators = 11;
727*d5c09012SAndroid Build Coastguard Worker
728*d5c09012SAndroid Build Coastguard Worker  // Sandbox configuration for this node.
729*d5c09012SAndroid Build Coastguard Worker  SandboxConfig sandbox_config = 17;
730*d5c09012SAndroid Build Coastguard Worker
731*d5c09012SAndroid Build Coastguard Worker  // Setting this field will assign instances of this
732*d5c09012SAndroid Build Coastguard Worker  // pool to run on the specified node group. This is useful for running
733*d5c09012SAndroid Build Coastguard Worker  // workloads on [sole tenant
734*d5c09012SAndroid Build Coastguard Worker  // nodes](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes).
735*d5c09012SAndroid Build Coastguard Worker  string node_group = 18;
736*d5c09012SAndroid Build Coastguard Worker
737*d5c09012SAndroid Build Coastguard Worker  // The optional reservation affinity. Setting this field will apply
738*d5c09012SAndroid Build Coastguard Worker  // the specified [Zonal Compute
739*d5c09012SAndroid Build Coastguard Worker  // Reservation](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
740*d5c09012SAndroid Build Coastguard Worker  // to this node pool.
741*d5c09012SAndroid Build Coastguard Worker  ReservationAffinity reservation_affinity = 19;
742*d5c09012SAndroid Build Coastguard Worker
743*d5c09012SAndroid Build Coastguard Worker  // Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or
744*d5c09012SAndroid Build Coastguard Worker  // 'pd-balanced')
745*d5c09012SAndroid Build Coastguard Worker  //
746*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the default disk type is 'pd-standard'
747*d5c09012SAndroid Build Coastguard Worker  string disk_type = 12;
748*d5c09012SAndroid Build Coastguard Worker
749*d5c09012SAndroid Build Coastguard Worker  // Minimum CPU platform to be used by this instance. The instance may be
750*d5c09012SAndroid Build Coastguard Worker  // scheduled on the specified or newer CPU platform. Applicable values are the
751*d5c09012SAndroid Build Coastguard Worker  // friendly names of CPU platforms, such as
752*d5c09012SAndroid Build Coastguard Worker  // `minCpuPlatform: "Intel Haswell"` or
753*d5c09012SAndroid Build Coastguard Worker  // `minCpuPlatform: "Intel Sandy Bridge"`. For more
754*d5c09012SAndroid Build Coastguard Worker  // information, read [how to specify min CPU
755*d5c09012SAndroid Build Coastguard Worker  // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
756*d5c09012SAndroid Build Coastguard Worker  string min_cpu_platform = 13;
757*d5c09012SAndroid Build Coastguard Worker
758*d5c09012SAndroid Build Coastguard Worker  // The workload metadata configuration for this node.
759*d5c09012SAndroid Build Coastguard Worker  WorkloadMetadataConfig workload_metadata_config = 14;
760*d5c09012SAndroid Build Coastguard Worker
761*d5c09012SAndroid Build Coastguard Worker  // List of kubernetes taints to be applied to each node.
762*d5c09012SAndroid Build Coastguard Worker  //
763*d5c09012SAndroid Build Coastguard Worker  // For more information, including usage and the valid values, see:
764*d5c09012SAndroid Build Coastguard Worker  // https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
765*d5c09012SAndroid Build Coastguard Worker  repeated NodeTaint taints = 15;
766*d5c09012SAndroid Build Coastguard Worker
767*d5c09012SAndroid Build Coastguard Worker  //
768*d5c09012SAndroid Build Coastguard Worker  // The Customer Managed Encryption Key used to encrypt the boot disk attached
769*d5c09012SAndroid Build Coastguard Worker  // to each node in the node pool. This should be of the form
770*d5c09012SAndroid Build Coastguard Worker  // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
771*d5c09012SAndroid Build Coastguard Worker  // For more information about protecting resources with Cloud KMS Keys please
772*d5c09012SAndroid Build Coastguard Worker  // see:
773*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/customer-managed-encryption
774*d5c09012SAndroid Build Coastguard Worker  string boot_disk_kms_key = 23;
775*d5c09012SAndroid Build Coastguard Worker
776*d5c09012SAndroid Build Coastguard Worker  // Shielded Instance options.
777*d5c09012SAndroid Build Coastguard Worker  ShieldedInstanceConfig shielded_instance_config = 20;
778*d5c09012SAndroid Build Coastguard Worker
779*d5c09012SAndroid Build Coastguard Worker  // Parameters that can be configured on Linux nodes.
780*d5c09012SAndroid Build Coastguard Worker  LinuxNodeConfig linux_node_config = 21;
781*d5c09012SAndroid Build Coastguard Worker
782*d5c09012SAndroid Build Coastguard Worker  // Node kubelet configs.
783*d5c09012SAndroid Build Coastguard Worker  NodeKubeletConfig kubelet_config = 22;
784*d5c09012SAndroid Build Coastguard Worker
785*d5c09012SAndroid Build Coastguard Worker  // Parameters for the ephemeral storage filesystem.
786*d5c09012SAndroid Build Coastguard Worker  // If unspecified, ephemeral storage is backed by the boot disk.
787*d5c09012SAndroid Build Coastguard Worker  EphemeralStorageConfig ephemeral_storage_config = 24;
788*d5c09012SAndroid Build Coastguard Worker
789*d5c09012SAndroid Build Coastguard Worker  // GCFS (Google Container File System) configs.
790*d5c09012SAndroid Build Coastguard Worker  GcfsConfig gcfs_config = 25;
791*d5c09012SAndroid Build Coastguard Worker
792*d5c09012SAndroid Build Coastguard Worker  // Advanced features for the Compute Engine VM.
793*d5c09012SAndroid Build Coastguard Worker  AdvancedMachineFeatures advanced_machine_features = 26;
794*d5c09012SAndroid Build Coastguard Worker
795*d5c09012SAndroid Build Coastguard Worker  // Enable or disable gvnic on the node pool.
796*d5c09012SAndroid Build Coastguard Worker  VirtualNIC gvnic = 29;
797*d5c09012SAndroid Build Coastguard Worker
798*d5c09012SAndroid Build Coastguard Worker  // Spot flag for enabling Spot VM, which is a rebrand of
799*d5c09012SAndroid Build Coastguard Worker  // the existing preemptible flag.
800*d5c09012SAndroid Build Coastguard Worker  bool spot = 32;
801*d5c09012SAndroid Build Coastguard Worker
802*d5c09012SAndroid Build Coastguard Worker  // Confidential nodes config.
803*d5c09012SAndroid Build Coastguard Worker  // All the nodes in the node pool will be Confidential VM once enabled.
804*d5c09012SAndroid Build Coastguard Worker  ConfidentialNodes confidential_nodes = 35;
805*d5c09012SAndroid Build Coastguard Worker
806*d5c09012SAndroid Build Coastguard Worker  // Enable or disable NCCL fast socket for the node pool.
807*d5c09012SAndroid Build Coastguard Worker  optional FastSocket fast_socket = 36;
808*d5c09012SAndroid Build Coastguard Worker
809*d5c09012SAndroid Build Coastguard Worker  // The resource labels for the node pool to use to annotate any related
810*d5c09012SAndroid Build Coastguard Worker  // Google Compute Engine resources.
811*d5c09012SAndroid Build Coastguard Worker  map<string, string> resource_labels = 37;
812*d5c09012SAndroid Build Coastguard Worker
813*d5c09012SAndroid Build Coastguard Worker  // Logging configuration.
814*d5c09012SAndroid Build Coastguard Worker  NodePoolLoggingConfig logging_config = 38;
815*d5c09012SAndroid Build Coastguard Worker
816*d5c09012SAndroid Build Coastguard Worker  // Parameters that can be configured on Windows nodes.
817*d5c09012SAndroid Build Coastguard Worker  WindowsNodeConfig windows_node_config = 39;
818*d5c09012SAndroid Build Coastguard Worker
819*d5c09012SAndroid Build Coastguard Worker  // Parameters for using raw-block Local NVMe SSDs.
820*d5c09012SAndroid Build Coastguard Worker  LocalNvmeSsdBlockConfig local_nvme_ssd_block_config = 40;
821*d5c09012SAndroid Build Coastguard Worker
822*d5c09012SAndroid Build Coastguard Worker  // Parameters for the node ephemeral storage using Local SSDs.
823*d5c09012SAndroid Build Coastguard Worker  // If unspecified, ephemeral storage is backed by the boot disk.
824*d5c09012SAndroid Build Coastguard Worker  // This field is functionally equivalent to the ephemeral_storage_config
825*d5c09012SAndroid Build Coastguard Worker  EphemeralStorageLocalSsdConfig ephemeral_storage_local_ssd_config = 41;
826*d5c09012SAndroid Build Coastguard Worker
827*d5c09012SAndroid Build Coastguard Worker  // Parameters for node pools to be backed by shared sole tenant node groups.
828*d5c09012SAndroid Build Coastguard Worker  SoleTenantConfig sole_tenant_config = 42;
829*d5c09012SAndroid Build Coastguard Worker
830*d5c09012SAndroid Build Coastguard Worker  // HostMaintenancePolicy contains the desired maintenance policy for the
831*d5c09012SAndroid Build Coastguard Worker  // Google Compute Engine hosts.
832*d5c09012SAndroid Build Coastguard Worker  HostMaintenancePolicy host_maintenance_policy = 44;
833*d5c09012SAndroid Build Coastguard Worker
834*d5c09012SAndroid Build Coastguard Worker  // A map of resource manager tag keys and values to be attached to the nodes.
835*d5c09012SAndroid Build Coastguard Worker  ResourceManagerTags resource_manager_tags = 45;
836*d5c09012SAndroid Build Coastguard Worker
837*d5c09012SAndroid Build Coastguard Worker  // Optional. Reserved for future use.
838*d5c09012SAndroid Build Coastguard Worker  bool enable_confidential_storage = 46
839*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
840*d5c09012SAndroid Build Coastguard Worker
841*d5c09012SAndroid Build Coastguard Worker  // List of secondary boot disks attached to the nodes.
842*d5c09012SAndroid Build Coastguard Worker  repeated SecondaryBootDisk secondary_boot_disks = 48;
843*d5c09012SAndroid Build Coastguard Worker
844*d5c09012SAndroid Build Coastguard Worker  // Secondary boot disk update strategy.
845*d5c09012SAndroid Build Coastguard Worker  optional SecondaryBootDiskUpdateStrategy secondary_boot_disk_update_strategy =
846*d5c09012SAndroid Build Coastguard Worker      50;
847*d5c09012SAndroid Build Coastguard Worker}
848*d5c09012SAndroid Build Coastguard Worker
849*d5c09012SAndroid Build Coastguard Worker// Specifies options for controlling advanced machine features.
850*d5c09012SAndroid Build Coastguard Workermessage AdvancedMachineFeatures {
851*d5c09012SAndroid Build Coastguard Worker  // The number of threads per physical core. To disable simultaneous
852*d5c09012SAndroid Build Coastguard Worker  // multithreading (SMT) set this to 1. If unset, the maximum number of threads
853*d5c09012SAndroid Build Coastguard Worker  // supported per core by the underlying processor is assumed.
854*d5c09012SAndroid Build Coastguard Worker  optional int64 threads_per_core = 1;
855*d5c09012SAndroid Build Coastguard Worker}
856*d5c09012SAndroid Build Coastguard Worker
857*d5c09012SAndroid Build Coastguard Worker// Parameters for node pool-level network config.
858*d5c09012SAndroid Build Coastguard Workermessage NodeNetworkConfig {
859*d5c09012SAndroid Build Coastguard Worker  // Configuration of all network bandwidth tiers
860*d5c09012SAndroid Build Coastguard Worker  message NetworkPerformanceConfig {
861*d5c09012SAndroid Build Coastguard Worker    // Node network tier
862*d5c09012SAndroid Build Coastguard Worker    enum Tier {
863*d5c09012SAndroid Build Coastguard Worker      // Default value
864*d5c09012SAndroid Build Coastguard Worker      TIER_UNSPECIFIED = 0;
865*d5c09012SAndroid Build Coastguard Worker
866*d5c09012SAndroid Build Coastguard Worker      // Higher bandwidth, actual values based on VM size.
867*d5c09012SAndroid Build Coastguard Worker      TIER_1 = 1;
868*d5c09012SAndroid Build Coastguard Worker    }
869*d5c09012SAndroid Build Coastguard Worker
870*d5c09012SAndroid Build Coastguard Worker    // Specifies the total network bandwidth tier for the NodePool.
871*d5c09012SAndroid Build Coastguard Worker    optional Tier total_egress_bandwidth_tier = 1;
872*d5c09012SAndroid Build Coastguard Worker
873*d5c09012SAndroid Build Coastguard Worker    // Specifies the network bandwidth tier for the NodePool for traffic to
874*d5c09012SAndroid Build Coastguard Worker    // external/public IP addresses.
875*d5c09012SAndroid Build Coastguard Worker    optional Tier external_ip_egress_bandwidth_tier = 2;
876*d5c09012SAndroid Build Coastguard Worker  }
877*d5c09012SAndroid Build Coastguard Worker
878*d5c09012SAndroid Build Coastguard Worker  // Input only. Whether to create a new range for pod IPs in this node pool.
879*d5c09012SAndroid Build Coastguard Worker  // Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they
880*d5c09012SAndroid Build Coastguard Worker  // are not specified.
881*d5c09012SAndroid Build Coastguard Worker  //
882*d5c09012SAndroid Build Coastguard Worker  // If neither `create_pod_range` or `pod_range` are specified, the
883*d5c09012SAndroid Build Coastguard Worker  // cluster-level default (`ip_allocation_policy.cluster_ipv4_cidr_block`) is
884*d5c09012SAndroid Build Coastguard Worker  // used.
885*d5c09012SAndroid Build Coastguard Worker  //
886*d5c09012SAndroid Build Coastguard Worker  // Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
887*d5c09012SAndroid Build Coastguard Worker  //
888*d5c09012SAndroid Build Coastguard Worker  // This field cannot be changed after the node pool has been created.
889*d5c09012SAndroid Build Coastguard Worker  bool create_pod_range = 4 [(google.api.field_behavior) = INPUT_ONLY];
890*d5c09012SAndroid Build Coastguard Worker
891*d5c09012SAndroid Build Coastguard Worker  // The ID of the secondary range for pod IPs.
892*d5c09012SAndroid Build Coastguard Worker  // If `create_pod_range` is true, this ID is used for the new range.
893*d5c09012SAndroid Build Coastguard Worker  // If `create_pod_range` is false, uses an existing secondary range with this
894*d5c09012SAndroid Build Coastguard Worker  // ID.
895*d5c09012SAndroid Build Coastguard Worker  //
896*d5c09012SAndroid Build Coastguard Worker  // Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
897*d5c09012SAndroid Build Coastguard Worker  //
898*d5c09012SAndroid Build Coastguard Worker  // This field cannot be changed after the node pool has been created.
899*d5c09012SAndroid Build Coastguard Worker  string pod_range = 5;
900*d5c09012SAndroid Build Coastguard Worker
901*d5c09012SAndroid Build Coastguard Worker  // The IP address range for pod IPs in this node pool.
902*d5c09012SAndroid Build Coastguard Worker  //
903*d5c09012SAndroid Build Coastguard Worker  // Only applicable if `create_pod_range` is true.
904*d5c09012SAndroid Build Coastguard Worker  //
905*d5c09012SAndroid Build Coastguard Worker  // Set to blank to have a range chosen with the default size.
906*d5c09012SAndroid Build Coastguard Worker  //
907*d5c09012SAndroid Build Coastguard Worker  // Set to /netmask (e.g. `/14`) to have a range chosen with a specific
908*d5c09012SAndroid Build Coastguard Worker  // netmask.
909*d5c09012SAndroid Build Coastguard Worker  //
910*d5c09012SAndroid Build Coastguard Worker  // Set to a
911*d5c09012SAndroid Build Coastguard Worker  // [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
912*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `10.96.0.0/14`) to pick a specific range to use.
913*d5c09012SAndroid Build Coastguard Worker  //
914*d5c09012SAndroid Build Coastguard Worker  // Only applicable if `ip_allocation_policy.use_ip_aliases` is true.
915*d5c09012SAndroid Build Coastguard Worker  //
916*d5c09012SAndroid Build Coastguard Worker  // This field cannot be changed after the node pool has been created.
917*d5c09012SAndroid Build Coastguard Worker  string pod_ipv4_cidr_block = 6;
918*d5c09012SAndroid Build Coastguard Worker
919*d5c09012SAndroid Build Coastguard Worker  // Whether nodes have internal IP addresses only.
920*d5c09012SAndroid Build Coastguard Worker  // If enable_private_nodes is not specified, then the value is derived from
921*d5c09012SAndroid Build Coastguard Worker  // [cluster.privateClusterConfig.enablePrivateNodes][google.container.v1beta1.PrivateClusterConfig.enablePrivateNodes]
922*d5c09012SAndroid Build Coastguard Worker  optional bool enable_private_nodes = 9;
923*d5c09012SAndroid Build Coastguard Worker
924*d5c09012SAndroid Build Coastguard Worker  // Network bandwidth tier configuration.
925*d5c09012SAndroid Build Coastguard Worker  optional NetworkPerformanceConfig network_performance_config = 11;
926*d5c09012SAndroid Build Coastguard Worker
927*d5c09012SAndroid Build Coastguard Worker  // [PRIVATE FIELD]
928*d5c09012SAndroid Build Coastguard Worker  // Pod CIDR size overprovisioning config for the nodepool.
929*d5c09012SAndroid Build Coastguard Worker  //
930*d5c09012SAndroid Build Coastguard Worker  // Pod CIDR size per node depends on max_pods_per_node. By default, the value
931*d5c09012SAndroid Build Coastguard Worker  // of max_pods_per_node is rounded off to next power of 2 and we then double
932*d5c09012SAndroid Build Coastguard Worker  // that to get the size of pod CIDR block per node.
933*d5c09012SAndroid Build Coastguard Worker  // Example: max_pods_per_node of 30 would result in 64 IPs (/26).
934*d5c09012SAndroid Build Coastguard Worker  //
935*d5c09012SAndroid Build Coastguard Worker  // This config can disable the doubling of IPs (we still round off to next
936*d5c09012SAndroid Build Coastguard Worker  // power of 2)
937*d5c09012SAndroid Build Coastguard Worker  // Example: max_pods_per_node of 30 will result in 32 IPs (/27) when
938*d5c09012SAndroid Build Coastguard Worker  // overprovisioning is disabled.
939*d5c09012SAndroid Build Coastguard Worker  PodCIDROverprovisionConfig pod_cidr_overprovision_config = 13;
940*d5c09012SAndroid Build Coastguard Worker
941*d5c09012SAndroid Build Coastguard Worker  // We specify the additional node networks for this node pool using this list.
942*d5c09012SAndroid Build Coastguard Worker  // Each node network corresponds to an additional interface
943*d5c09012SAndroid Build Coastguard Worker  repeated AdditionalNodeNetworkConfig additional_node_network_configs = 14;
944*d5c09012SAndroid Build Coastguard Worker
945*d5c09012SAndroid Build Coastguard Worker  // We specify the additional pod networks for this node pool using this list.
946*d5c09012SAndroid Build Coastguard Worker  // Each pod network corresponds to an additional alias IP range for the node
947*d5c09012SAndroid Build Coastguard Worker  repeated AdditionalPodNetworkConfig additional_pod_network_configs = 15;
948*d5c09012SAndroid Build Coastguard Worker
949*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] The utilization of the IPv4 range for the pod.
950*d5c09012SAndroid Build Coastguard Worker  // The ratio is Usage/[Total number of IPs in the secondary range],
951*d5c09012SAndroid Build Coastguard Worker  // Usage=numNodes*numZones*podIPsPerNode.
952*d5c09012SAndroid Build Coastguard Worker  double pod_ipv4_range_utilization = 16
953*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
954*d5c09012SAndroid Build Coastguard Worker}
955*d5c09012SAndroid Build Coastguard Worker
956*d5c09012SAndroid Build Coastguard Worker// AdditionalNodeNetworkConfig is the configuration for additional node networks
957*d5c09012SAndroid Build Coastguard Worker// within the NodeNetworkConfig message
958*d5c09012SAndroid Build Coastguard Workermessage AdditionalNodeNetworkConfig {
959*d5c09012SAndroid Build Coastguard Worker  // Name of the VPC where the additional interface belongs
960*d5c09012SAndroid Build Coastguard Worker  string network = 1;
961*d5c09012SAndroid Build Coastguard Worker
962*d5c09012SAndroid Build Coastguard Worker  // Name of the subnetwork where the additional interface belongs
963*d5c09012SAndroid Build Coastguard Worker  string subnetwork = 2;
964*d5c09012SAndroid Build Coastguard Worker}
965*d5c09012SAndroid Build Coastguard Worker
966*d5c09012SAndroid Build Coastguard Worker// AdditionalPodNetworkConfig is the configuration for additional pod networks
967*d5c09012SAndroid Build Coastguard Worker// within the NodeNetworkConfig message
968*d5c09012SAndroid Build Coastguard Workermessage AdditionalPodNetworkConfig {
969*d5c09012SAndroid Build Coastguard Worker  // Name of the subnetwork where the additional pod network belongs
970*d5c09012SAndroid Build Coastguard Worker  string subnetwork = 1;
971*d5c09012SAndroid Build Coastguard Worker
972*d5c09012SAndroid Build Coastguard Worker  // The name of the secondary range on the subnet which provides IP address for
973*d5c09012SAndroid Build Coastguard Worker  // this pod range
974*d5c09012SAndroid Build Coastguard Worker  string secondary_pod_range = 2;
975*d5c09012SAndroid Build Coastguard Worker
976*d5c09012SAndroid Build Coastguard Worker  // The maximum number of pods per node which use this pod network
977*d5c09012SAndroid Build Coastguard Worker  optional MaxPodsConstraint max_pods_per_node = 3;
978*d5c09012SAndroid Build Coastguard Worker}
979*d5c09012SAndroid Build Coastguard Worker
980*d5c09012SAndroid Build Coastguard Worker// A set of Shielded Instance options.
981*d5c09012SAndroid Build Coastguard Workermessage ShieldedInstanceConfig {
982*d5c09012SAndroid Build Coastguard Worker  // Defines whether the instance has Secure Boot enabled.
983*d5c09012SAndroid Build Coastguard Worker  //
984*d5c09012SAndroid Build Coastguard Worker  // Secure Boot helps ensure that the system only runs authentic software by
985*d5c09012SAndroid Build Coastguard Worker  // verifying the digital signature of all boot components, and halting the
986*d5c09012SAndroid Build Coastguard Worker  // boot process if signature verification fails.
987*d5c09012SAndroid Build Coastguard Worker  bool enable_secure_boot = 1;
988*d5c09012SAndroid Build Coastguard Worker
989*d5c09012SAndroid Build Coastguard Worker  // Defines whether the instance has integrity monitoring enabled.
990*d5c09012SAndroid Build Coastguard Worker  //
991*d5c09012SAndroid Build Coastguard Worker  // Enables monitoring and attestation of the boot integrity of the instance.
992*d5c09012SAndroid Build Coastguard Worker  // The attestation is performed against the integrity policy baseline. This
993*d5c09012SAndroid Build Coastguard Worker  // baseline is initially derived from the implicitly trusted boot image when
994*d5c09012SAndroid Build Coastguard Worker  // the instance is created.
995*d5c09012SAndroid Build Coastguard Worker  bool enable_integrity_monitoring = 2;
996*d5c09012SAndroid Build Coastguard Worker}
997*d5c09012SAndroid Build Coastguard Worker
998*d5c09012SAndroid Build Coastguard Worker// SandboxConfig contains configurations of the sandbox to use for the node.
999*d5c09012SAndroid Build Coastguard Workermessage SandboxConfig {
1000*d5c09012SAndroid Build Coastguard Worker  // Possible types of sandboxes.
1001*d5c09012SAndroid Build Coastguard Worker  enum Type {
1002*d5c09012SAndroid Build Coastguard Worker    // Default value. This should not be used.
1003*d5c09012SAndroid Build Coastguard Worker    UNSPECIFIED = 0;
1004*d5c09012SAndroid Build Coastguard Worker
1005*d5c09012SAndroid Build Coastguard Worker    // Run sandbox using gvisor.
1006*d5c09012SAndroid Build Coastguard Worker    GVISOR = 1;
1007*d5c09012SAndroid Build Coastguard Worker  }
1008*d5c09012SAndroid Build Coastguard Worker
1009*d5c09012SAndroid Build Coastguard Worker  // Type of the sandbox to use for the node (e.g. 'gvisor')
1010*d5c09012SAndroid Build Coastguard Worker  string sandbox_type = 1 [deprecated = true];
1011*d5c09012SAndroid Build Coastguard Worker
1012*d5c09012SAndroid Build Coastguard Worker  // Type of the sandbox to use for the node.
1013*d5c09012SAndroid Build Coastguard Worker  Type type = 2;
1014*d5c09012SAndroid Build Coastguard Worker}
1015*d5c09012SAndroid Build Coastguard Worker
1016*d5c09012SAndroid Build Coastguard Worker// EphemeralStorageConfig contains configuration for the ephemeral storage
1017*d5c09012SAndroid Build Coastguard Worker// filesystem.
1018*d5c09012SAndroid Build Coastguard Workermessage EphemeralStorageConfig {
1019*d5c09012SAndroid Build Coastguard Worker  // Number of local SSDs to use to back ephemeral storage. Uses NVMe
1020*d5c09012SAndroid Build Coastguard Worker  // interfaces. The limit for this value is dependent upon the maximum number
1021*d5c09012SAndroid Build Coastguard Worker  // of disk available on a machine per zone. See:
1022*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/local-ssd
1023*d5c09012SAndroid Build Coastguard Worker  // for more information.
1024*d5c09012SAndroid Build Coastguard Worker  //
1025*d5c09012SAndroid Build Coastguard Worker  // A zero (or unset) value has different meanings depending on machine type
1026*d5c09012SAndroid Build Coastguard Worker  // being used:
1027*d5c09012SAndroid Build Coastguard Worker  // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1028*d5c09012SAndroid Build Coastguard Worker  // zero (or unset) means to disable using local SSDs as ephemeral storage.
1029*d5c09012SAndroid Build Coastguard Worker  // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1030*d5c09012SAndroid Build Coastguard Worker  // (or unset) means to use the default number of local ssds that goes with
1031*d5c09012SAndroid Build Coastguard Worker  // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1032*d5c09012SAndroid Build Coastguard Worker  // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1033*d5c09012SAndroid Build Coastguard Worker  // ssds), 0 will be provisioned. See
1034*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1035*d5c09012SAndroid Build Coastguard Worker  // for more info.
1036*d5c09012SAndroid Build Coastguard Worker  int32 local_ssd_count = 1;
1037*d5c09012SAndroid Build Coastguard Worker}
1038*d5c09012SAndroid Build Coastguard Worker
1039*d5c09012SAndroid Build Coastguard Worker// LocalNvmeSsdBlockConfig contains configuration for using raw-block local
1040*d5c09012SAndroid Build Coastguard Worker// NVMe SSDs
1041*d5c09012SAndroid Build Coastguard Workermessage LocalNvmeSsdBlockConfig {
1042*d5c09012SAndroid Build Coastguard Worker  // Number of local NVMe SSDs to use.  The limit for this value is dependent
1043*d5c09012SAndroid Build Coastguard Worker  // upon the maximum number of disk available on a machine per zone. See:
1044*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/local-ssd
1045*d5c09012SAndroid Build Coastguard Worker  // for more information.
1046*d5c09012SAndroid Build Coastguard Worker  //
1047*d5c09012SAndroid Build Coastguard Worker  // A zero (or unset) value has different meanings depending on machine type
1048*d5c09012SAndroid Build Coastguard Worker  // being used:
1049*d5c09012SAndroid Build Coastguard Worker  // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1050*d5c09012SAndroid Build Coastguard Worker  // zero (or unset) means to disable using local SSDs as ephemeral storage.
1051*d5c09012SAndroid Build Coastguard Worker  // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1052*d5c09012SAndroid Build Coastguard Worker  // (or unset) means to use the default number of local ssds that goes with
1053*d5c09012SAndroid Build Coastguard Worker  // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1054*d5c09012SAndroid Build Coastguard Worker  // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1055*d5c09012SAndroid Build Coastguard Worker  // ssds), 0 will be provisioned. See
1056*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1057*d5c09012SAndroid Build Coastguard Worker  // for more info.
1058*d5c09012SAndroid Build Coastguard Worker  int32 local_ssd_count = 1;
1059*d5c09012SAndroid Build Coastguard Worker}
1060*d5c09012SAndroid Build Coastguard Worker
1061*d5c09012SAndroid Build Coastguard Worker// EphemeralStorageLocalSsdConfig contains configuration for the node ephemeral
1062*d5c09012SAndroid Build Coastguard Worker// storage using Local SSDs.
1063*d5c09012SAndroid Build Coastguard Workermessage EphemeralStorageLocalSsdConfig {
1064*d5c09012SAndroid Build Coastguard Worker  // Number of local SSDs to use to back ephemeral storage. Uses NVMe
1065*d5c09012SAndroid Build Coastguard Worker  // interfaces.
1066*d5c09012SAndroid Build Coastguard Worker  //
1067*d5c09012SAndroid Build Coastguard Worker  // A zero (or unset) value has different meanings depending on machine type
1068*d5c09012SAndroid Build Coastguard Worker  // being used:
1069*d5c09012SAndroid Build Coastguard Worker  // 1. For pre-Gen3 machines, which support flexible numbers of local ssds,
1070*d5c09012SAndroid Build Coastguard Worker  // zero (or unset) means to disable using local SSDs as ephemeral storage. The
1071*d5c09012SAndroid Build Coastguard Worker  // limit for this value is dependent upon the maximum number of disk
1072*d5c09012SAndroid Build Coastguard Worker  // available on a machine per zone. See:
1073*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/local-ssd
1074*d5c09012SAndroid Build Coastguard Worker  // for more information.
1075*d5c09012SAndroid Build Coastguard Worker  // 2. For Gen3 machines which dictate a specific number of local ssds, zero
1076*d5c09012SAndroid Build Coastguard Worker  // (or unset) means to use the default number of local ssds that goes with
1077*d5c09012SAndroid Build Coastguard Worker  // that machine type. For example, for a c3-standard-8-lssd machine, 2 local
1078*d5c09012SAndroid Build Coastguard Worker  // ssds would be provisioned. For c3-standard-8 (which doesn't support local
1079*d5c09012SAndroid Build Coastguard Worker  // ssds), 0 will be provisioned. See
1080*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds
1081*d5c09012SAndroid Build Coastguard Worker  // for more info.
1082*d5c09012SAndroid Build Coastguard Worker  int32 local_ssd_count = 1;
1083*d5c09012SAndroid Build Coastguard Worker}
1084*d5c09012SAndroid Build Coastguard Worker
1085*d5c09012SAndroid Build Coastguard Worker// GcfsConfig contains configurations of Google Container File System.
1086*d5c09012SAndroid Build Coastguard Workermessage GcfsConfig {
1087*d5c09012SAndroid Build Coastguard Worker  // Whether to use GCFS.
1088*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1089*d5c09012SAndroid Build Coastguard Worker}
1090*d5c09012SAndroid Build Coastguard Worker
1091*d5c09012SAndroid Build Coastguard Worker// [ReservationAffinity](https://cloud.google.com/compute/docs/instances/reserving-zonal-resources)
1092*d5c09012SAndroid Build Coastguard Worker// is the configuration of desired reservation which instances could take
1093*d5c09012SAndroid Build Coastguard Worker// capacity from.
1094*d5c09012SAndroid Build Coastguard Workermessage ReservationAffinity {
1095*d5c09012SAndroid Build Coastguard Worker  // Indicates whether to consume capacity from a reservation or not.
1096*d5c09012SAndroid Build Coastguard Worker  enum Type {
1097*d5c09012SAndroid Build Coastguard Worker    // Default value. This should not be used.
1098*d5c09012SAndroid Build Coastguard Worker    UNSPECIFIED = 0;
1099*d5c09012SAndroid Build Coastguard Worker
1100*d5c09012SAndroid Build Coastguard Worker    // Do not consume from any reserved capacity.
1101*d5c09012SAndroid Build Coastguard Worker    NO_RESERVATION = 1;
1102*d5c09012SAndroid Build Coastguard Worker
1103*d5c09012SAndroid Build Coastguard Worker    // Consume any reservation available.
1104*d5c09012SAndroid Build Coastguard Worker    ANY_RESERVATION = 2;
1105*d5c09012SAndroid Build Coastguard Worker
1106*d5c09012SAndroid Build Coastguard Worker    // Must consume from a specific reservation. Must specify key value fields
1107*d5c09012SAndroid Build Coastguard Worker    // for specifying the reservations.
1108*d5c09012SAndroid Build Coastguard Worker    SPECIFIC_RESERVATION = 3;
1109*d5c09012SAndroid Build Coastguard Worker  }
1110*d5c09012SAndroid Build Coastguard Worker
1111*d5c09012SAndroid Build Coastguard Worker  // Corresponds to the type of reservation consumption.
1112*d5c09012SAndroid Build Coastguard Worker  Type consume_reservation_type = 1;
1113*d5c09012SAndroid Build Coastguard Worker
1114*d5c09012SAndroid Build Coastguard Worker  // Corresponds to the label key of a reservation resource. To target a
1115*d5c09012SAndroid Build Coastguard Worker  // SPECIFIC_RESERVATION by name, specify
1116*d5c09012SAndroid Build Coastguard Worker  // "compute.googleapis.com/reservation-name" as the key and specify the name
1117*d5c09012SAndroid Build Coastguard Worker  // of your reservation as its value.
1118*d5c09012SAndroid Build Coastguard Worker  string key = 2;
1119*d5c09012SAndroid Build Coastguard Worker
1120*d5c09012SAndroid Build Coastguard Worker  // Corresponds to the label value(s) of reservation resource(s).
1121*d5c09012SAndroid Build Coastguard Worker  repeated string values = 3;
1122*d5c09012SAndroid Build Coastguard Worker}
1123*d5c09012SAndroid Build Coastguard Worker
1124*d5c09012SAndroid Build Coastguard Worker// SoleTenantConfig contains the NodeAffinities to specify what shared sole
1125*d5c09012SAndroid Build Coastguard Worker// tenant node groups should back the node pool.
1126*d5c09012SAndroid Build Coastguard Workermessage SoleTenantConfig {
1127*d5c09012SAndroid Build Coastguard Worker  // Specifies the NodeAffinity key, values, and affinity operator according to
1128*d5c09012SAndroid Build Coastguard Worker  // [shared sole tenant node group
1129*d5c09012SAndroid Build Coastguard Worker  // affinities](https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity).
1130*d5c09012SAndroid Build Coastguard Worker  message NodeAffinity {
1131*d5c09012SAndroid Build Coastguard Worker    // Operator allows user to specify affinity or anti-affinity for the
1132*d5c09012SAndroid Build Coastguard Worker    // given key values.
1133*d5c09012SAndroid Build Coastguard Worker    enum Operator {
1134*d5c09012SAndroid Build Coastguard Worker      // Invalid or unspecified affinity operator.
1135*d5c09012SAndroid Build Coastguard Worker      OPERATOR_UNSPECIFIED = 0;
1136*d5c09012SAndroid Build Coastguard Worker
1137*d5c09012SAndroid Build Coastguard Worker      // Affinity operator.
1138*d5c09012SAndroid Build Coastguard Worker      IN = 1;
1139*d5c09012SAndroid Build Coastguard Worker
1140*d5c09012SAndroid Build Coastguard Worker      // Anti-affinity operator.
1141*d5c09012SAndroid Build Coastguard Worker      NOT_IN = 2;
1142*d5c09012SAndroid Build Coastguard Worker    }
1143*d5c09012SAndroid Build Coastguard Worker
1144*d5c09012SAndroid Build Coastguard Worker    // Key for NodeAffinity.
1145*d5c09012SAndroid Build Coastguard Worker    string key = 1;
1146*d5c09012SAndroid Build Coastguard Worker
1147*d5c09012SAndroid Build Coastguard Worker    // Operator for NodeAffinity.
1148*d5c09012SAndroid Build Coastguard Worker    Operator operator = 2;
1149*d5c09012SAndroid Build Coastguard Worker
1150*d5c09012SAndroid Build Coastguard Worker    // Values for NodeAffinity.
1151*d5c09012SAndroid Build Coastguard Worker    repeated string values = 3;
1152*d5c09012SAndroid Build Coastguard Worker  }
1153*d5c09012SAndroid Build Coastguard Worker
1154*d5c09012SAndroid Build Coastguard Worker  // NodeAffinities used to match to a shared sole tenant node group.
1155*d5c09012SAndroid Build Coastguard Worker  repeated NodeAffinity node_affinities = 1;
1156*d5c09012SAndroid Build Coastguard Worker}
1157*d5c09012SAndroid Build Coastguard Worker
1158*d5c09012SAndroid Build Coastguard Worker// HostMaintenancePolicy contains the maintenance policy for the hosts on which
1159*d5c09012SAndroid Build Coastguard Worker// the GKE VMs run on.
1160*d5c09012SAndroid Build Coastguard Workermessage HostMaintenancePolicy {
1161*d5c09012SAndroid Build Coastguard Worker  // Allows selecting how infrastructure upgrades should be applied to the
1162*d5c09012SAndroid Build Coastguard Worker  // cluster or node pool.
1163*d5c09012SAndroid Build Coastguard Worker  enum MaintenanceInterval {
1164*d5c09012SAndroid Build Coastguard Worker    // The maintenance interval is not explicitly specified.
1165*d5c09012SAndroid Build Coastguard Worker    MAINTENANCE_INTERVAL_UNSPECIFIED = 0;
1166*d5c09012SAndroid Build Coastguard Worker
1167*d5c09012SAndroid Build Coastguard Worker    // Nodes are eligible to receive infrastructure and hypervisor updates as
1168*d5c09012SAndroid Build Coastguard Worker    // they become available.  This may result in more maintenance operations
1169*d5c09012SAndroid Build Coastguard Worker    // (live migrations or terminations) for the node than the PERIODIC option.
1170*d5c09012SAndroid Build Coastguard Worker    AS_NEEDED = 1;
1171*d5c09012SAndroid Build Coastguard Worker
1172*d5c09012SAndroid Build Coastguard Worker    // Nodes receive infrastructure and hypervisor updates on a periodic basis,
1173*d5c09012SAndroid Build Coastguard Worker    // minimizing the number of maintenance operations (live migrations or
1174*d5c09012SAndroid Build Coastguard Worker    // terminations) on an individual VM.  This may mean underlying VMs will
1175*d5c09012SAndroid Build Coastguard Worker    // take longer to receive an update than if it was configured for
1176*d5c09012SAndroid Build Coastguard Worker    // AS_NEEDED.  Security updates will still be applied as soon
1177*d5c09012SAndroid Build Coastguard Worker    // as they are available.
1178*d5c09012SAndroid Build Coastguard Worker    PERIODIC = 2;
1179*d5c09012SAndroid Build Coastguard Worker  }
1180*d5c09012SAndroid Build Coastguard Worker
1181*d5c09012SAndroid Build Coastguard Worker  // Strategy that will trigger maintenance on behalf of the customer.
1182*d5c09012SAndroid Build Coastguard Worker  message OpportunisticMaintenanceStrategy {
1183*d5c09012SAndroid Build Coastguard Worker    // The amount of time that a node can remain idle (no customer owned
1184*d5c09012SAndroid Build Coastguard Worker    // workloads running), before triggering maintenance.
1185*d5c09012SAndroid Build Coastguard Worker    optional google.protobuf.Duration node_idle_time_window = 1;
1186*d5c09012SAndroid Build Coastguard Worker
1187*d5c09012SAndroid Build Coastguard Worker    // The window of time that opportunistic maintenance can run. Example: A
1188*d5c09012SAndroid Build Coastguard Worker    // setting of 14 days implies that opportunistic maintenance can only be ran
1189*d5c09012SAndroid Build Coastguard Worker    // in the 2 weeks leading up to the scheduled maintenance date. Setting 28
1190*d5c09012SAndroid Build Coastguard Worker    // days allows opportunistic maintenance to run at any time in the scheduled
1191*d5c09012SAndroid Build Coastguard Worker    // maintenance window (all `PERIODIC` maintenance is set 28 days in
1192*d5c09012SAndroid Build Coastguard Worker    // advance).
1193*d5c09012SAndroid Build Coastguard Worker    optional google.protobuf.Duration maintenance_availability_window = 2;
1194*d5c09012SAndroid Build Coastguard Worker
1195*d5c09012SAndroid Build Coastguard Worker    // The minimum nodes required to be available in a pool. Blocks maintenance
1196*d5c09012SAndroid Build Coastguard Worker    // if it would cause the number of running nodes to dip below this value.
1197*d5c09012SAndroid Build Coastguard Worker    optional int64 min_nodes_per_pool = 3;
1198*d5c09012SAndroid Build Coastguard Worker  }
1199*d5c09012SAndroid Build Coastguard Worker
1200*d5c09012SAndroid Build Coastguard Worker  // Specifies the frequency of planned maintenance events.
1201*d5c09012SAndroid Build Coastguard Worker  optional MaintenanceInterval maintenance_interval = 1;
1202*d5c09012SAndroid Build Coastguard Worker
1203*d5c09012SAndroid Build Coastguard Worker  // Set of host maintenance strategies available to the customer, all require
1204*d5c09012SAndroid Build Coastguard Worker  // the maintenance_interval to be PERIODIC. If no strategy is set, and the
1205*d5c09012SAndroid Build Coastguard Worker  // interval is periodic, customer will be expected to trigger maintenance
1206*d5c09012SAndroid Build Coastguard Worker  // manually or let maintenance trigger at its initial scheduled time.
1207*d5c09012SAndroid Build Coastguard Worker  oneof maintenance_strategy {
1208*d5c09012SAndroid Build Coastguard Worker    // Strategy that will trigger maintenance on behalf of the customer.
1209*d5c09012SAndroid Build Coastguard Worker    OpportunisticMaintenanceStrategy opportunistic_maintenance_strategy = 2;
1210*d5c09012SAndroid Build Coastguard Worker  }
1211*d5c09012SAndroid Build Coastguard Worker}
1212*d5c09012SAndroid Build Coastguard Worker
1213*d5c09012SAndroid Build Coastguard Worker// Kubernetes taint is composed of three fields: key, value, and effect. Effect
1214*d5c09012SAndroid Build Coastguard Worker// can only be one of three types:  NoSchedule, PreferNoSchedule or NoExecute.
1215*d5c09012SAndroid Build Coastguard Worker//
1216*d5c09012SAndroid Build Coastguard Worker// See
1217*d5c09012SAndroid Build Coastguard Worker// [here](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration)
1218*d5c09012SAndroid Build Coastguard Worker// for more information, including usage and the valid values.
1219*d5c09012SAndroid Build Coastguard Workermessage NodeTaint {
1220*d5c09012SAndroid Build Coastguard Worker  // Possible values for Effect in taint.
1221*d5c09012SAndroid Build Coastguard Worker  enum Effect {
1222*d5c09012SAndroid Build Coastguard Worker    // Not set
1223*d5c09012SAndroid Build Coastguard Worker    EFFECT_UNSPECIFIED = 0;
1224*d5c09012SAndroid Build Coastguard Worker
1225*d5c09012SAndroid Build Coastguard Worker    // NoSchedule
1226*d5c09012SAndroid Build Coastguard Worker    NO_SCHEDULE = 1;
1227*d5c09012SAndroid Build Coastguard Worker
1228*d5c09012SAndroid Build Coastguard Worker    // PreferNoSchedule
1229*d5c09012SAndroid Build Coastguard Worker    PREFER_NO_SCHEDULE = 2;
1230*d5c09012SAndroid Build Coastguard Worker
1231*d5c09012SAndroid Build Coastguard Worker    // NoExecute
1232*d5c09012SAndroid Build Coastguard Worker    NO_EXECUTE = 3;
1233*d5c09012SAndroid Build Coastguard Worker  }
1234*d5c09012SAndroid Build Coastguard Worker
1235*d5c09012SAndroid Build Coastguard Worker  // Key for taint.
1236*d5c09012SAndroid Build Coastguard Worker  string key = 1;
1237*d5c09012SAndroid Build Coastguard Worker
1238*d5c09012SAndroid Build Coastguard Worker  // Value for taint.
1239*d5c09012SAndroid Build Coastguard Worker  string value = 2;
1240*d5c09012SAndroid Build Coastguard Worker
1241*d5c09012SAndroid Build Coastguard Worker  // Effect for taint.
1242*d5c09012SAndroid Build Coastguard Worker  Effect effect = 3;
1243*d5c09012SAndroid Build Coastguard Worker}
1244*d5c09012SAndroid Build Coastguard Worker
1245*d5c09012SAndroid Build Coastguard Worker// Collection of Kubernetes [node
1246*d5c09012SAndroid Build Coastguard Worker// taints](https://kubernetes.io/docs/concepts/configuration/taint-and-toleration).
1247*d5c09012SAndroid Build Coastguard Workermessage NodeTaints {
1248*d5c09012SAndroid Build Coastguard Worker  // List of node taints.
1249*d5c09012SAndroid Build Coastguard Worker  repeated NodeTaint taints = 1;
1250*d5c09012SAndroid Build Coastguard Worker}
1251*d5c09012SAndroid Build Coastguard Worker
1252*d5c09012SAndroid Build Coastguard Worker// Collection of node-level [Kubernetes
1253*d5c09012SAndroid Build Coastguard Worker// labels](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels).
1254*d5c09012SAndroid Build Coastguard Workermessage NodeLabels {
1255*d5c09012SAndroid Build Coastguard Worker  // Map of node label keys and node label values.
1256*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 1;
1257*d5c09012SAndroid Build Coastguard Worker}
1258*d5c09012SAndroid Build Coastguard Worker
1259*d5c09012SAndroid Build Coastguard Worker// Collection of [GCP
1260*d5c09012SAndroid Build Coastguard Worker// labels](https://cloud.google.com/resource-manager/docs/creating-managing-labels).
1261*d5c09012SAndroid Build Coastguard Workermessage ResourceLabels {
1262*d5c09012SAndroid Build Coastguard Worker  // Map of node label keys and node label values.
1263*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 1;
1264*d5c09012SAndroid Build Coastguard Worker}
1265*d5c09012SAndroid Build Coastguard Worker
1266*d5c09012SAndroid Build Coastguard Worker// Collection of Compute Engine network tags that can be applied to a node's
1267*d5c09012SAndroid Build Coastguard Worker// underlying VM instance. (See `tags` field in
1268*d5c09012SAndroid Build Coastguard Worker// [`NodeConfig`](/kubernetes-engine/docs/reference/rest/v1/NodeConfig)).
1269*d5c09012SAndroid Build Coastguard Workermessage NetworkTags {
1270*d5c09012SAndroid Build Coastguard Worker  // List of network tags.
1271*d5c09012SAndroid Build Coastguard Worker  repeated string tags = 1;
1272*d5c09012SAndroid Build Coastguard Worker}
1273*d5c09012SAndroid Build Coastguard Worker
1274*d5c09012SAndroid Build Coastguard Worker// The authentication information for accessing the master endpoint.
1275*d5c09012SAndroid Build Coastguard Worker// Authentication can be done using HTTP basic auth or using client
1276*d5c09012SAndroid Build Coastguard Worker// certificates.
1277*d5c09012SAndroid Build Coastguard Workermessage MasterAuth {
1278*d5c09012SAndroid Build Coastguard Worker  // The username to use for HTTP basic authentication to the master endpoint.
1279*d5c09012SAndroid Build Coastguard Worker  // For clusters v1.6.0 and later, basic authentication can be disabled by
1280*d5c09012SAndroid Build Coastguard Worker  // leaving username unspecified (or setting it to the empty string).
1281*d5c09012SAndroid Build Coastguard Worker  //
1282*d5c09012SAndroid Build Coastguard Worker  // Warning: basic authentication is deprecated, and will be removed in GKE
1283*d5c09012SAndroid Build Coastguard Worker  // control plane versions 1.19 and newer. For a list of recommended
1284*d5c09012SAndroid Build Coastguard Worker  // authentication methods, see:
1285*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication
1286*d5c09012SAndroid Build Coastguard Worker  string username = 1 [deprecated = true];
1287*d5c09012SAndroid Build Coastguard Worker
1288*d5c09012SAndroid Build Coastguard Worker  // The password to use for HTTP basic authentication to the master endpoint.
1289*d5c09012SAndroid Build Coastguard Worker  // Because the master endpoint is open to the Internet, you should create a
1290*d5c09012SAndroid Build Coastguard Worker  // strong password.  If a password is provided for cluster creation, username
1291*d5c09012SAndroid Build Coastguard Worker  // must be non-empty.
1292*d5c09012SAndroid Build Coastguard Worker  //
1293*d5c09012SAndroid Build Coastguard Worker  // Warning: basic authentication is deprecated, and will be removed in GKE
1294*d5c09012SAndroid Build Coastguard Worker  // control plane versions 1.19 and newer. For a list of recommended
1295*d5c09012SAndroid Build Coastguard Worker  // authentication methods, see:
1296*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication
1297*d5c09012SAndroid Build Coastguard Worker  string password = 2 [deprecated = true];
1298*d5c09012SAndroid Build Coastguard Worker
1299*d5c09012SAndroid Build Coastguard Worker  // Configuration for client certificate authentication on the cluster. For
1300*d5c09012SAndroid Build Coastguard Worker  // clusters before v1.12, if no configuration is specified, a client
1301*d5c09012SAndroid Build Coastguard Worker  // certificate is issued.
1302*d5c09012SAndroid Build Coastguard Worker  ClientCertificateConfig client_certificate_config = 3;
1303*d5c09012SAndroid Build Coastguard Worker
1304*d5c09012SAndroid Build Coastguard Worker  string cluster_ca_certificate = 100;
1305*d5c09012SAndroid Build Coastguard Worker
1306*d5c09012SAndroid Build Coastguard Worker  // [Output only] Base64-encoded public certificate used by clients to
1307*d5c09012SAndroid Build Coastguard Worker  // authenticate to the cluster endpoint.
1308*d5c09012SAndroid Build Coastguard Worker  string client_certificate = 101;
1309*d5c09012SAndroid Build Coastguard Worker
1310*d5c09012SAndroid Build Coastguard Worker  // [Output only] Base64-encoded private key used by clients to authenticate
1311*d5c09012SAndroid Build Coastguard Worker  // to the cluster endpoint.
1312*d5c09012SAndroid Build Coastguard Worker  string client_key = 102;
1313*d5c09012SAndroid Build Coastguard Worker}
1314*d5c09012SAndroid Build Coastguard Worker
1315*d5c09012SAndroid Build Coastguard Worker// Configuration for client certificates on the cluster.
1316*d5c09012SAndroid Build Coastguard Workermessage ClientCertificateConfig {
1317*d5c09012SAndroid Build Coastguard Worker  // Issue a client certificate.
1318*d5c09012SAndroid Build Coastguard Worker  bool issue_client_certificate = 1;
1319*d5c09012SAndroid Build Coastguard Worker}
1320*d5c09012SAndroid Build Coastguard Worker
1321*d5c09012SAndroid Build Coastguard Worker// Configuration for the addons that can be automatically spun up in the
1322*d5c09012SAndroid Build Coastguard Worker// cluster, enabling additional functionality.
1323*d5c09012SAndroid Build Coastguard Workermessage AddonsConfig {
1324*d5c09012SAndroid Build Coastguard Worker  // Configuration for the HTTP (L7) load balancing controller addon, which
1325*d5c09012SAndroid Build Coastguard Worker  // makes it easy to set up HTTP load balancers for services in a cluster.
1326*d5c09012SAndroid Build Coastguard Worker  HttpLoadBalancing http_load_balancing = 1;
1327*d5c09012SAndroid Build Coastguard Worker
1328*d5c09012SAndroid Build Coastguard Worker  // Configuration for the horizontal pod autoscaling feature, which
1329*d5c09012SAndroid Build Coastguard Worker  // increases or decreases the number of replica pods a replication controller
1330*d5c09012SAndroid Build Coastguard Worker  // has based on the resource usage of the existing pods.
1331*d5c09012SAndroid Build Coastguard Worker  HorizontalPodAutoscaling horizontal_pod_autoscaling = 2;
1332*d5c09012SAndroid Build Coastguard Worker
1333*d5c09012SAndroid Build Coastguard Worker  // Configuration for the Kubernetes Dashboard.
1334*d5c09012SAndroid Build Coastguard Worker  // This addon is deprecated, and will be disabled in 1.15. It is recommended
1335*d5c09012SAndroid Build Coastguard Worker  // to use the Cloud Console to manage and monitor your Kubernetes clusters,
1336*d5c09012SAndroid Build Coastguard Worker  // workloads and applications. For more information, see:
1337*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/kubernetes-engine/docs/concepts/dashboards
1338*d5c09012SAndroid Build Coastguard Worker  KubernetesDashboard kubernetes_dashboard = 3 [deprecated = true];
1339*d5c09012SAndroid Build Coastguard Worker
1340*d5c09012SAndroid Build Coastguard Worker  // Configuration for NetworkPolicy. This only tracks whether the addon
1341*d5c09012SAndroid Build Coastguard Worker  // is enabled or not on the Master, it does not track whether network policy
1342*d5c09012SAndroid Build Coastguard Worker  // is enabled for the nodes.
1343*d5c09012SAndroid Build Coastguard Worker  NetworkPolicyConfig network_policy_config = 4;
1344*d5c09012SAndroid Build Coastguard Worker
1345*d5c09012SAndroid Build Coastguard Worker  // Configuration for Istio, an open platform to connect, manage, and secure
1346*d5c09012SAndroid Build Coastguard Worker  // microservices.
1347*d5c09012SAndroid Build Coastguard Worker  IstioConfig istio_config = 5 [deprecated = true];
1348*d5c09012SAndroid Build Coastguard Worker
1349*d5c09012SAndroid Build Coastguard Worker  // Configuration for the Cloud Run addon. The `IstioConfig` addon must be
1350*d5c09012SAndroid Build Coastguard Worker  // enabled in order to enable Cloud Run addon. This option can only be enabled
1351*d5c09012SAndroid Build Coastguard Worker  // at cluster creation time.
1352*d5c09012SAndroid Build Coastguard Worker  CloudRunConfig cloud_run_config = 7;
1353*d5c09012SAndroid Build Coastguard Worker
1354*d5c09012SAndroid Build Coastguard Worker  // Configuration for NodeLocalDNS, a dns cache running on cluster nodes
1355*d5c09012SAndroid Build Coastguard Worker  DnsCacheConfig dns_cache_config = 8;
1356*d5c09012SAndroid Build Coastguard Worker
1357*d5c09012SAndroid Build Coastguard Worker  // Configuration for the ConfigConnector add-on, a Kubernetes
1358*d5c09012SAndroid Build Coastguard Worker  // extension to manage hosted GCP services through the Kubernetes API
1359*d5c09012SAndroid Build Coastguard Worker  ConfigConnectorConfig config_connector_config = 10;
1360*d5c09012SAndroid Build Coastguard Worker
1361*d5c09012SAndroid Build Coastguard Worker  // Configuration for the Compute Engine Persistent Disk CSI driver.
1362*d5c09012SAndroid Build Coastguard Worker  GcePersistentDiskCsiDriverConfig gce_persistent_disk_csi_driver_config = 11;
1363*d5c09012SAndroid Build Coastguard Worker
1364*d5c09012SAndroid Build Coastguard Worker  // Configuration for the KALM addon, which manages the lifecycle of k8s
1365*d5c09012SAndroid Build Coastguard Worker  // applications.
1366*d5c09012SAndroid Build Coastguard Worker  KalmConfig kalm_config = 12 [deprecated = true];
1367*d5c09012SAndroid Build Coastguard Worker
1368*d5c09012SAndroid Build Coastguard Worker  // Configuration for the GCP Filestore CSI driver.
1369*d5c09012SAndroid Build Coastguard Worker  GcpFilestoreCsiDriverConfig gcp_filestore_csi_driver_config = 14;
1370*d5c09012SAndroid Build Coastguard Worker
1371*d5c09012SAndroid Build Coastguard Worker  // Configuration for the Backup for GKE agent addon.
1372*d5c09012SAndroid Build Coastguard Worker  GkeBackupAgentConfig gke_backup_agent_config = 16;
1373*d5c09012SAndroid Build Coastguard Worker
1374*d5c09012SAndroid Build Coastguard Worker  // Configuration for the Cloud Storage Fuse CSI driver.
1375*d5c09012SAndroid Build Coastguard Worker  GcsFuseCsiDriverConfig gcs_fuse_csi_driver_config = 17;
1376*d5c09012SAndroid Build Coastguard Worker
1377*d5c09012SAndroid Build Coastguard Worker  // Optional. Configuration for the StatefulHA add-on.
1378*d5c09012SAndroid Build Coastguard Worker  StatefulHAConfig stateful_ha_config = 18
1379*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
1380*d5c09012SAndroid Build Coastguard Worker}
1381*d5c09012SAndroid Build Coastguard Worker
1382*d5c09012SAndroid Build Coastguard Worker// Configuration options for the HTTP (L7) load balancing controller addon,
1383*d5c09012SAndroid Build Coastguard Worker// which makes it easy to set up HTTP load balancers for services in a cluster.
1384*d5c09012SAndroid Build Coastguard Workermessage HttpLoadBalancing {
1385*d5c09012SAndroid Build Coastguard Worker  // Whether the HTTP Load Balancing controller is enabled in the cluster.
1386*d5c09012SAndroid Build Coastguard Worker  // When enabled, it runs a small pod in the cluster that manages the load
1387*d5c09012SAndroid Build Coastguard Worker  // balancers.
1388*d5c09012SAndroid Build Coastguard Worker  bool disabled = 1;
1389*d5c09012SAndroid Build Coastguard Worker}
1390*d5c09012SAndroid Build Coastguard Worker
1391*d5c09012SAndroid Build Coastguard Worker// Configuration options for the horizontal pod autoscaling feature, which
1392*d5c09012SAndroid Build Coastguard Worker// increases or decreases the number of replica pods a replication controller
1393*d5c09012SAndroid Build Coastguard Worker// has based on the resource usage of the existing pods.
1394*d5c09012SAndroid Build Coastguard Workermessage HorizontalPodAutoscaling {
1395*d5c09012SAndroid Build Coastguard Worker  // Whether the Horizontal Pod Autoscaling feature is enabled in the cluster.
1396*d5c09012SAndroid Build Coastguard Worker  // When enabled, it ensures that metrics are collected into Stackdriver
1397*d5c09012SAndroid Build Coastguard Worker  // Monitoring.
1398*d5c09012SAndroid Build Coastguard Worker  bool disabled = 1;
1399*d5c09012SAndroid Build Coastguard Worker}
1400*d5c09012SAndroid Build Coastguard Worker
1401*d5c09012SAndroid Build Coastguard Worker// Configuration for the Kubernetes Dashboard.
1402*d5c09012SAndroid Build Coastguard Workermessage KubernetesDashboard {
1403*d5c09012SAndroid Build Coastguard Worker  // Whether the Kubernetes Dashboard is enabled for this cluster.
1404*d5c09012SAndroid Build Coastguard Worker  bool disabled = 1;
1405*d5c09012SAndroid Build Coastguard Worker}
1406*d5c09012SAndroid Build Coastguard Worker
1407*d5c09012SAndroid Build Coastguard Worker// Configuration for NetworkPolicy. This only tracks whether the addon
1408*d5c09012SAndroid Build Coastguard Worker// is enabled or not on the Master, it does not track whether network policy
1409*d5c09012SAndroid Build Coastguard Worker// is enabled for the nodes.
1410*d5c09012SAndroid Build Coastguard Workermessage NetworkPolicyConfig {
1411*d5c09012SAndroid Build Coastguard Worker  // Whether NetworkPolicy is enabled for this cluster.
1412*d5c09012SAndroid Build Coastguard Worker  bool disabled = 1;
1413*d5c09012SAndroid Build Coastguard Worker}
1414*d5c09012SAndroid Build Coastguard Worker
1415*d5c09012SAndroid Build Coastguard Worker// Configuration for NodeLocal DNSCache
1416*d5c09012SAndroid Build Coastguard Workermessage DnsCacheConfig {
1417*d5c09012SAndroid Build Coastguard Worker  // Whether NodeLocal DNSCache is enabled for this cluster.
1418*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1419*d5c09012SAndroid Build Coastguard Worker}
1420*d5c09012SAndroid Build Coastguard Worker
1421*d5c09012SAndroid Build Coastguard Worker// Configuration options for the KALM addon.
1422*d5c09012SAndroid Build Coastguard Workermessage KalmConfig {
1423*d5c09012SAndroid Build Coastguard Worker  // Whether KALM is enabled for this cluster.
1424*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1 [deprecated = true];
1425*d5c09012SAndroid Build Coastguard Worker}
1426*d5c09012SAndroid Build Coastguard Worker
1427*d5c09012SAndroid Build Coastguard Worker// Configuration for the Backup for GKE Agent.
1428*d5c09012SAndroid Build Coastguard Workermessage GkeBackupAgentConfig {
1429*d5c09012SAndroid Build Coastguard Worker  // Whether the Backup for GKE agent is enabled for this cluster.
1430*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1431*d5c09012SAndroid Build Coastguard Worker}
1432*d5c09012SAndroid Build Coastguard Worker
1433*d5c09012SAndroid Build Coastguard Worker// Configuration for the Stateful HA add-on.
1434*d5c09012SAndroid Build Coastguard Workermessage StatefulHAConfig {
1435*d5c09012SAndroid Build Coastguard Worker  // Whether the Stateful HA add-on is enabled for this cluster.
1436*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1437*d5c09012SAndroid Build Coastguard Worker}
1438*d5c09012SAndroid Build Coastguard Worker
1439*d5c09012SAndroid Build Coastguard Worker// Configuration options for the Config Connector add-on.
1440*d5c09012SAndroid Build Coastguard Workermessage ConfigConnectorConfig {
1441*d5c09012SAndroid Build Coastguard Worker  // Whether Cloud Connector is enabled for this cluster.
1442*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1443*d5c09012SAndroid Build Coastguard Worker}
1444*d5c09012SAndroid Build Coastguard Worker
1445*d5c09012SAndroid Build Coastguard Worker// Configuration for the Compute Engine PD CSI driver.
1446*d5c09012SAndroid Build Coastguard Workermessage GcePersistentDiskCsiDriverConfig {
1447*d5c09012SAndroid Build Coastguard Worker  // Whether the Compute Engine PD CSI driver is enabled for this cluster.
1448*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1449*d5c09012SAndroid Build Coastguard Worker}
1450*d5c09012SAndroid Build Coastguard Worker
1451*d5c09012SAndroid Build Coastguard Worker// Configuration for the GCP Filestore CSI driver.
1452*d5c09012SAndroid Build Coastguard Workermessage GcpFilestoreCsiDriverConfig {
1453*d5c09012SAndroid Build Coastguard Worker  // Whether the GCP Filestore CSI driver is enabled for this cluster.
1454*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1455*d5c09012SAndroid Build Coastguard Worker}
1456*d5c09012SAndroid Build Coastguard Worker
1457*d5c09012SAndroid Build Coastguard Worker// Configuration for the Cloud Storage Fuse CSI driver.
1458*d5c09012SAndroid Build Coastguard Workermessage GcsFuseCsiDriverConfig {
1459*d5c09012SAndroid Build Coastguard Worker  // Whether the Cloud Storage Fuse CSI driver is enabled for this cluster.
1460*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1461*d5c09012SAndroid Build Coastguard Worker}
1462*d5c09012SAndroid Build Coastguard Worker
1463*d5c09012SAndroid Build Coastguard Worker// Configuration for controlling master global access settings.
1464*d5c09012SAndroid Build Coastguard Workermessage PrivateClusterMasterGlobalAccessConfig {
1465*d5c09012SAndroid Build Coastguard Worker  // Whenever master is accessible globally or not.
1466*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1467*d5c09012SAndroid Build Coastguard Worker}
1468*d5c09012SAndroid Build Coastguard Worker
1469*d5c09012SAndroid Build Coastguard Worker// Configuration options for private clusters.
1470*d5c09012SAndroid Build Coastguard Workermessage PrivateClusterConfig {
1471*d5c09012SAndroid Build Coastguard Worker  // Whether nodes have internal IP addresses only. If enabled, all nodes are
1472*d5c09012SAndroid Build Coastguard Worker  // given only RFC 1918 private addresses and communicate with the master via
1473*d5c09012SAndroid Build Coastguard Worker  // private networking.
1474*d5c09012SAndroid Build Coastguard Worker  bool enable_private_nodes = 1;
1475*d5c09012SAndroid Build Coastguard Worker
1476*d5c09012SAndroid Build Coastguard Worker  // Whether the master's internal IP address is used as the cluster endpoint.
1477*d5c09012SAndroid Build Coastguard Worker  bool enable_private_endpoint = 2;
1478*d5c09012SAndroid Build Coastguard Worker
1479*d5c09012SAndroid Build Coastguard Worker  // The IP range in CIDR notation to use for the hosted master network. This
1480*d5c09012SAndroid Build Coastguard Worker  // range will be used for assigning internal IP addresses to the master or
1481*d5c09012SAndroid Build Coastguard Worker  // set of masters, as well as the ILB VIP. This range must not overlap with
1482*d5c09012SAndroid Build Coastguard Worker  // any other ranges in use within the cluster's network.
1483*d5c09012SAndroid Build Coastguard Worker  string master_ipv4_cidr_block = 3;
1484*d5c09012SAndroid Build Coastguard Worker
1485*d5c09012SAndroid Build Coastguard Worker  // Output only. The internal IP address of this cluster's master endpoint.
1486*d5c09012SAndroid Build Coastguard Worker  string private_endpoint = 4;
1487*d5c09012SAndroid Build Coastguard Worker
1488*d5c09012SAndroid Build Coastguard Worker  // Output only. The external IP address of this cluster's master endpoint.
1489*d5c09012SAndroid Build Coastguard Worker  string public_endpoint = 5;
1490*d5c09012SAndroid Build Coastguard Worker
1491*d5c09012SAndroid Build Coastguard Worker  // Output only. The peering name in the customer VPC used by this cluster.
1492*d5c09012SAndroid Build Coastguard Worker  string peering_name = 7;
1493*d5c09012SAndroid Build Coastguard Worker
1494*d5c09012SAndroid Build Coastguard Worker  // Controls master global access settings.
1495*d5c09012SAndroid Build Coastguard Worker  PrivateClusterMasterGlobalAccessConfig master_global_access_config = 8;
1496*d5c09012SAndroid Build Coastguard Worker
1497*d5c09012SAndroid Build Coastguard Worker  // Subnet to provision the master's private endpoint during cluster creation.
1498*d5c09012SAndroid Build Coastguard Worker  // Specified in projects/*/regions/*/subnetworks/* format.
1499*d5c09012SAndroid Build Coastguard Worker  string private_endpoint_subnetwork = 10;
1500*d5c09012SAndroid Build Coastguard Worker}
1501*d5c09012SAndroid Build Coastguard Worker
1502*d5c09012SAndroid Build Coastguard Worker// Configuration options for Istio addon.
1503*d5c09012SAndroid Build Coastguard Workermessage IstioConfig {
1504*d5c09012SAndroid Build Coastguard Worker  // Istio auth mode, https://istio.io/docs/concepts/security/mutual-tls.html
1505*d5c09012SAndroid Build Coastguard Worker  enum IstioAuthMode {
1506*d5c09012SAndroid Build Coastguard Worker    // auth not enabled
1507*d5c09012SAndroid Build Coastguard Worker    AUTH_NONE = 0;
1508*d5c09012SAndroid Build Coastguard Worker
1509*d5c09012SAndroid Build Coastguard Worker    // auth mutual TLS enabled
1510*d5c09012SAndroid Build Coastguard Worker    AUTH_MUTUAL_TLS = 1;
1511*d5c09012SAndroid Build Coastguard Worker  }
1512*d5c09012SAndroid Build Coastguard Worker
1513*d5c09012SAndroid Build Coastguard Worker  // Whether Istio is enabled for this cluster.
1514*d5c09012SAndroid Build Coastguard Worker  bool disabled = 1 [deprecated = true];
1515*d5c09012SAndroid Build Coastguard Worker
1516*d5c09012SAndroid Build Coastguard Worker  // The specified Istio auth mode, either none, or mutual TLS.
1517*d5c09012SAndroid Build Coastguard Worker  IstioAuthMode auth = 2 [deprecated = true];
1518*d5c09012SAndroid Build Coastguard Worker}
1519*d5c09012SAndroid Build Coastguard Worker
1520*d5c09012SAndroid Build Coastguard Worker// Configuration options for the Cloud Run feature.
1521*d5c09012SAndroid Build Coastguard Workermessage CloudRunConfig {
1522*d5c09012SAndroid Build Coastguard Worker  // Load balancer type of ingress service of Cloud Run.
1523*d5c09012SAndroid Build Coastguard Worker  enum LoadBalancerType {
1524*d5c09012SAndroid Build Coastguard Worker    // Load balancer type for Cloud Run is unspecified.
1525*d5c09012SAndroid Build Coastguard Worker    LOAD_BALANCER_TYPE_UNSPECIFIED = 0;
1526*d5c09012SAndroid Build Coastguard Worker
1527*d5c09012SAndroid Build Coastguard Worker    // Install external load balancer for Cloud Run.
1528*d5c09012SAndroid Build Coastguard Worker    LOAD_BALANCER_TYPE_EXTERNAL = 1;
1529*d5c09012SAndroid Build Coastguard Worker
1530*d5c09012SAndroid Build Coastguard Worker    // Install internal load balancer for Cloud Run.
1531*d5c09012SAndroid Build Coastguard Worker    LOAD_BALANCER_TYPE_INTERNAL = 2;
1532*d5c09012SAndroid Build Coastguard Worker  }
1533*d5c09012SAndroid Build Coastguard Worker
1534*d5c09012SAndroid Build Coastguard Worker  // Whether Cloud Run addon is enabled for this cluster.
1535*d5c09012SAndroid Build Coastguard Worker  bool disabled = 1;
1536*d5c09012SAndroid Build Coastguard Worker
1537*d5c09012SAndroid Build Coastguard Worker  // Which load balancer type is installed for Cloud Run.
1538*d5c09012SAndroid Build Coastguard Worker  LoadBalancerType load_balancer_type = 3;
1539*d5c09012SAndroid Build Coastguard Worker}
1540*d5c09012SAndroid Build Coastguard Worker
1541*d5c09012SAndroid Build Coastguard Worker// Configuration options for the master authorized networks feature. Enabled
1542*d5c09012SAndroid Build Coastguard Worker// master authorized networks will disallow all external traffic to access
1543*d5c09012SAndroid Build Coastguard Worker// Kubernetes master through HTTPS except traffic from the given CIDR blocks,
1544*d5c09012SAndroid Build Coastguard Worker// Google Compute Engine Public IPs and Google Prod IPs.
1545*d5c09012SAndroid Build Coastguard Workermessage MasterAuthorizedNetworksConfig {
1546*d5c09012SAndroid Build Coastguard Worker  // CidrBlock contains an optional name and one CIDR block.
1547*d5c09012SAndroid Build Coastguard Worker  message CidrBlock {
1548*d5c09012SAndroid Build Coastguard Worker    // display_name is an optional field for users to identify CIDR blocks.
1549*d5c09012SAndroid Build Coastguard Worker    string display_name = 1;
1550*d5c09012SAndroid Build Coastguard Worker
1551*d5c09012SAndroid Build Coastguard Worker    // cidr_block must be specified in CIDR notation.
1552*d5c09012SAndroid Build Coastguard Worker    string cidr_block = 2;
1553*d5c09012SAndroid Build Coastguard Worker  }
1554*d5c09012SAndroid Build Coastguard Worker
1555*d5c09012SAndroid Build Coastguard Worker  // Whether or not master authorized networks is enabled.
1556*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1557*d5c09012SAndroid Build Coastguard Worker
1558*d5c09012SAndroid Build Coastguard Worker  // cidr_blocks define up to 10 external networks that could access
1559*d5c09012SAndroid Build Coastguard Worker  // Kubernetes master through HTTPS.
1560*d5c09012SAndroid Build Coastguard Worker  repeated CidrBlock cidr_blocks = 2;
1561*d5c09012SAndroid Build Coastguard Worker
1562*d5c09012SAndroid Build Coastguard Worker  // Whether master is accessbile via Google Compute Engine Public IP addresses.
1563*d5c09012SAndroid Build Coastguard Worker  optional bool gcp_public_cidrs_access_enabled = 3;
1564*d5c09012SAndroid Build Coastguard Worker}
1565*d5c09012SAndroid Build Coastguard Worker
1566*d5c09012SAndroid Build Coastguard Worker// Configuration for the legacy Attribute Based Access Control authorization
1567*d5c09012SAndroid Build Coastguard Worker// mode.
1568*d5c09012SAndroid Build Coastguard Workermessage LegacyAbac {
1569*d5c09012SAndroid Build Coastguard Worker  // Whether the ABAC authorizer is enabled for this cluster. When enabled,
1570*d5c09012SAndroid Build Coastguard Worker  // identities in the system, including service accounts, nodes, and
1571*d5c09012SAndroid Build Coastguard Worker  // controllers, will have statically granted permissions beyond those
1572*d5c09012SAndroid Build Coastguard Worker  // provided by the RBAC configuration or IAM.
1573*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1574*d5c09012SAndroid Build Coastguard Worker}
1575*d5c09012SAndroid Build Coastguard Worker
1576*d5c09012SAndroid Build Coastguard Worker// Configuration options for the NetworkPolicy feature.
1577*d5c09012SAndroid Build Coastguard Worker// https://kubernetes.io/docs/concepts/services-networking/networkpolicies/
1578*d5c09012SAndroid Build Coastguard Workermessage NetworkPolicy {
1579*d5c09012SAndroid Build Coastguard Worker  // Allowed Network Policy providers.
1580*d5c09012SAndroid Build Coastguard Worker  enum Provider {
1581*d5c09012SAndroid Build Coastguard Worker    // Not set
1582*d5c09012SAndroid Build Coastguard Worker    PROVIDER_UNSPECIFIED = 0;
1583*d5c09012SAndroid Build Coastguard Worker
1584*d5c09012SAndroid Build Coastguard Worker    // Tigera (Calico Felix).
1585*d5c09012SAndroid Build Coastguard Worker    CALICO = 1;
1586*d5c09012SAndroid Build Coastguard Worker  }
1587*d5c09012SAndroid Build Coastguard Worker
1588*d5c09012SAndroid Build Coastguard Worker  // The selected network policy provider.
1589*d5c09012SAndroid Build Coastguard Worker  Provider provider = 1;
1590*d5c09012SAndroid Build Coastguard Worker
1591*d5c09012SAndroid Build Coastguard Worker  // Whether network policy is enabled on the cluster.
1592*d5c09012SAndroid Build Coastguard Worker  bool enabled = 2;
1593*d5c09012SAndroid Build Coastguard Worker}
1594*d5c09012SAndroid Build Coastguard Worker
1595*d5c09012SAndroid Build Coastguard Worker// [PRIVATE FIELD]
1596*d5c09012SAndroid Build Coastguard Worker// Config for pod CIDR size overprovisioning.
1597*d5c09012SAndroid Build Coastguard Workermessage PodCIDROverprovisionConfig {
1598*d5c09012SAndroid Build Coastguard Worker  // Whether Pod CIDR overprovisioning is disabled.
1599*d5c09012SAndroid Build Coastguard Worker  // Note: Pod CIDR overprovisioning is enabled by default.
1600*d5c09012SAndroid Build Coastguard Worker  bool disable = 1;
1601*d5c09012SAndroid Build Coastguard Worker}
1602*d5c09012SAndroid Build Coastguard Worker
1603*d5c09012SAndroid Build Coastguard Worker// Configuration for controlling how IPs are allocated in the cluster.
1604*d5c09012SAndroid Build Coastguard Workermessage IPAllocationPolicy {
1605*d5c09012SAndroid Build Coastguard Worker  // Possible values for IP stack type
1606*d5c09012SAndroid Build Coastguard Worker  enum StackType {
1607*d5c09012SAndroid Build Coastguard Worker    // By default, the clusters will be IPV4 only
1608*d5c09012SAndroid Build Coastguard Worker    STACK_TYPE_UNSPECIFIED = 0;
1609*d5c09012SAndroid Build Coastguard Worker
1610*d5c09012SAndroid Build Coastguard Worker    // The value used if the cluster is a IPV4 only
1611*d5c09012SAndroid Build Coastguard Worker    IPV4 = 1;
1612*d5c09012SAndroid Build Coastguard Worker
1613*d5c09012SAndroid Build Coastguard Worker    // The value used if the cluster is a dual stack cluster
1614*d5c09012SAndroid Build Coastguard Worker    IPV4_IPV6 = 2;
1615*d5c09012SAndroid Build Coastguard Worker  }
1616*d5c09012SAndroid Build Coastguard Worker
1617*d5c09012SAndroid Build Coastguard Worker  // IPv6 access type
1618*d5c09012SAndroid Build Coastguard Worker  enum IPv6AccessType {
1619*d5c09012SAndroid Build Coastguard Worker    // Default value, will be defaulted as type external.
1620*d5c09012SAndroid Build Coastguard Worker    IPV6_ACCESS_TYPE_UNSPECIFIED = 0;
1621*d5c09012SAndroid Build Coastguard Worker
1622*d5c09012SAndroid Build Coastguard Worker    // Access type internal (all v6 addresses are internal IPs)
1623*d5c09012SAndroid Build Coastguard Worker    INTERNAL = 1;
1624*d5c09012SAndroid Build Coastguard Worker
1625*d5c09012SAndroid Build Coastguard Worker    // Access type external (all v6 addresses are external IPs)
1626*d5c09012SAndroid Build Coastguard Worker    EXTERNAL = 2;
1627*d5c09012SAndroid Build Coastguard Worker  }
1628*d5c09012SAndroid Build Coastguard Worker
1629*d5c09012SAndroid Build Coastguard Worker  // Whether alias IPs will be used for pod IPs in the cluster.
1630*d5c09012SAndroid Build Coastguard Worker  // This is used in conjunction with use_routes. It cannot
1631*d5c09012SAndroid Build Coastguard Worker  // be true if use_routes is true. If both use_ip_aliases and use_routes are
1632*d5c09012SAndroid Build Coastguard Worker  // false, then the server picks the default IP allocation mode
1633*d5c09012SAndroid Build Coastguard Worker  bool use_ip_aliases = 1;
1634*d5c09012SAndroid Build Coastguard Worker
1635*d5c09012SAndroid Build Coastguard Worker  // Whether a new subnetwork will be created automatically for the cluster.
1636*d5c09012SAndroid Build Coastguard Worker  //
1637*d5c09012SAndroid Build Coastguard Worker  // This field is only applicable when `use_ip_aliases` is true.
1638*d5c09012SAndroid Build Coastguard Worker  bool create_subnetwork = 2;
1639*d5c09012SAndroid Build Coastguard Worker
1640*d5c09012SAndroid Build Coastguard Worker  // A custom subnetwork name to be used if `create_subnetwork` is true.  If
1641*d5c09012SAndroid Build Coastguard Worker  // this field is empty, then an automatic name will be chosen for the new
1642*d5c09012SAndroid Build Coastguard Worker  // subnetwork.
1643*d5c09012SAndroid Build Coastguard Worker  string subnetwork_name = 3;
1644*d5c09012SAndroid Build Coastguard Worker
1645*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use cluster_ipv4_cidr_block.
1646*d5c09012SAndroid Build Coastguard Worker  string cluster_ipv4_cidr = 4 [deprecated = true];
1647*d5c09012SAndroid Build Coastguard Worker
1648*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use node_ipv4_cidr_block.
1649*d5c09012SAndroid Build Coastguard Worker  string node_ipv4_cidr = 5 [deprecated = true];
1650*d5c09012SAndroid Build Coastguard Worker
1651*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use services_ipv4_cidr_block.
1652*d5c09012SAndroid Build Coastguard Worker  string services_ipv4_cidr = 6 [deprecated = true];
1653*d5c09012SAndroid Build Coastguard Worker
1654*d5c09012SAndroid Build Coastguard Worker  // The name of the secondary range to be used for the cluster CIDR
1655*d5c09012SAndroid Build Coastguard Worker  // block.  The secondary range will be used for pod IP
1656*d5c09012SAndroid Build Coastguard Worker  // addresses. This must be an existing secondary range associated
1657*d5c09012SAndroid Build Coastguard Worker  // with the cluster subnetwork.
1658*d5c09012SAndroid Build Coastguard Worker  //
1659*d5c09012SAndroid Build Coastguard Worker  // This field is only applicable with use_ip_aliases and
1660*d5c09012SAndroid Build Coastguard Worker  // create_subnetwork is false.
1661*d5c09012SAndroid Build Coastguard Worker  string cluster_secondary_range_name = 7;
1662*d5c09012SAndroid Build Coastguard Worker
1663*d5c09012SAndroid Build Coastguard Worker  // The name of the secondary range to be used as for the services
1664*d5c09012SAndroid Build Coastguard Worker  // CIDR block.  The secondary range will be used for service
1665*d5c09012SAndroid Build Coastguard Worker  // ClusterIPs. This must be an existing secondary range associated
1666*d5c09012SAndroid Build Coastguard Worker  // with the cluster subnetwork.
1667*d5c09012SAndroid Build Coastguard Worker  //
1668*d5c09012SAndroid Build Coastguard Worker  // This field is only applicable with use_ip_aliases and
1669*d5c09012SAndroid Build Coastguard Worker  // create_subnetwork is false.
1670*d5c09012SAndroid Build Coastguard Worker  string services_secondary_range_name = 8;
1671*d5c09012SAndroid Build Coastguard Worker
1672*d5c09012SAndroid Build Coastguard Worker  // The IP address range for the cluster pod IPs. If this field is set, then
1673*d5c09012SAndroid Build Coastguard Worker  // `cluster.cluster_ipv4_cidr` must be left blank.
1674*d5c09012SAndroid Build Coastguard Worker  //
1675*d5c09012SAndroid Build Coastguard Worker  // This field is only applicable when `use_ip_aliases` is true.
1676*d5c09012SAndroid Build Coastguard Worker  //
1677*d5c09012SAndroid Build Coastguard Worker  // Set to blank to have a range chosen with the default size.
1678*d5c09012SAndroid Build Coastguard Worker  //
1679*d5c09012SAndroid Build Coastguard Worker  // Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1680*d5c09012SAndroid Build Coastguard Worker  // netmask.
1681*d5c09012SAndroid Build Coastguard Worker  //
1682*d5c09012SAndroid Build Coastguard Worker  // Set to a
1683*d5c09012SAndroid Build Coastguard Worker  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1684*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1685*d5c09012SAndroid Build Coastguard Worker  // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1686*d5c09012SAndroid Build Coastguard Worker  // to use.
1687*d5c09012SAndroid Build Coastguard Worker  string cluster_ipv4_cidr_block = 9;
1688*d5c09012SAndroid Build Coastguard Worker
1689*d5c09012SAndroid Build Coastguard Worker  // The IP address range of the instance IPs in this cluster.
1690*d5c09012SAndroid Build Coastguard Worker  //
1691*d5c09012SAndroid Build Coastguard Worker  // This is applicable only if `create_subnetwork` is true.
1692*d5c09012SAndroid Build Coastguard Worker  //
1693*d5c09012SAndroid Build Coastguard Worker  // Set to blank to have a range chosen with the default size.
1694*d5c09012SAndroid Build Coastguard Worker  //
1695*d5c09012SAndroid Build Coastguard Worker  // Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1696*d5c09012SAndroid Build Coastguard Worker  // netmask.
1697*d5c09012SAndroid Build Coastguard Worker  //
1698*d5c09012SAndroid Build Coastguard Worker  // Set to a
1699*d5c09012SAndroid Build Coastguard Worker  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1700*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1701*d5c09012SAndroid Build Coastguard Worker  // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1702*d5c09012SAndroid Build Coastguard Worker  // to use.
1703*d5c09012SAndroid Build Coastguard Worker  string node_ipv4_cidr_block = 10;
1704*d5c09012SAndroid Build Coastguard Worker
1705*d5c09012SAndroid Build Coastguard Worker  // The IP address range of the services IPs in this cluster. If blank, a range
1706*d5c09012SAndroid Build Coastguard Worker  // will be automatically chosen with the default size.
1707*d5c09012SAndroid Build Coastguard Worker  //
1708*d5c09012SAndroid Build Coastguard Worker  // This field is only applicable when `use_ip_aliases` is true.
1709*d5c09012SAndroid Build Coastguard Worker  //
1710*d5c09012SAndroid Build Coastguard Worker  // Set to blank to have a range chosen with the default size.
1711*d5c09012SAndroid Build Coastguard Worker  //
1712*d5c09012SAndroid Build Coastguard Worker  // Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1713*d5c09012SAndroid Build Coastguard Worker  // netmask.
1714*d5c09012SAndroid Build Coastguard Worker  //
1715*d5c09012SAndroid Build Coastguard Worker  // Set to a
1716*d5c09012SAndroid Build Coastguard Worker  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1717*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1718*d5c09012SAndroid Build Coastguard Worker  // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1719*d5c09012SAndroid Build Coastguard Worker  // to use.
1720*d5c09012SAndroid Build Coastguard Worker  string services_ipv4_cidr_block = 11;
1721*d5c09012SAndroid Build Coastguard Worker
1722*d5c09012SAndroid Build Coastguard Worker  // If true, allow allocation of cluster CIDR ranges that overlap with certain
1723*d5c09012SAndroid Build Coastguard Worker  // kinds of network routes. By default we do not allow cluster CIDR ranges to
1724*d5c09012SAndroid Build Coastguard Worker  // intersect with any user declared routes. With allow_route_overlap == true,
1725*d5c09012SAndroid Build Coastguard Worker  // we allow overlapping with CIDR ranges that are larger than the cluster CIDR
1726*d5c09012SAndroid Build Coastguard Worker  // range.
1727*d5c09012SAndroid Build Coastguard Worker  //
1728*d5c09012SAndroid Build Coastguard Worker  // If this field is set to true, then cluster and services CIDRs must be
1729*d5c09012SAndroid Build Coastguard Worker  // fully-specified (e.g. `10.96.0.0/14`, but not `/14`), which means:
1730*d5c09012SAndroid Build Coastguard Worker  // 1) When `use_ip_aliases` is true, `cluster_ipv4_cidr_block` and
1731*d5c09012SAndroid Build Coastguard Worker  //    `services_ipv4_cidr_block` must be fully-specified.
1732*d5c09012SAndroid Build Coastguard Worker  // 2) When `use_ip_aliases` is false, `cluster.cluster_ipv4_cidr` muse be
1733*d5c09012SAndroid Build Coastguard Worker  //    fully-specified.
1734*d5c09012SAndroid Build Coastguard Worker  bool allow_route_overlap = 12;
1735*d5c09012SAndroid Build Coastguard Worker
1736*d5c09012SAndroid Build Coastguard Worker  // The IP address range of the Cloud TPUs in this cluster. If unspecified, a
1737*d5c09012SAndroid Build Coastguard Worker  // range will be automatically chosen with the default size.
1738*d5c09012SAndroid Build Coastguard Worker  //
1739*d5c09012SAndroid Build Coastguard Worker  // This field is only applicable when `use_ip_aliases` is true.
1740*d5c09012SAndroid Build Coastguard Worker  //
1741*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the range will use the default size.
1742*d5c09012SAndroid Build Coastguard Worker  //
1743*d5c09012SAndroid Build Coastguard Worker  // Set to /netmask (e.g. `/14`) to have a range chosen with a specific
1744*d5c09012SAndroid Build Coastguard Worker  // netmask.
1745*d5c09012SAndroid Build Coastguard Worker  //
1746*d5c09012SAndroid Build Coastguard Worker  // Set to a
1747*d5c09012SAndroid Build Coastguard Worker  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1748*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `10.96.0.0/14`) from the RFC-1918 private networks (e.g.
1749*d5c09012SAndroid Build Coastguard Worker  // `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`) to pick a specific range
1750*d5c09012SAndroid Build Coastguard Worker  // to use.
1751*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use cluster.tpu_config.ipv4_cidr_block instead.
1752*d5c09012SAndroid Build Coastguard Worker  string tpu_ipv4_cidr_block = 13;
1753*d5c09012SAndroid Build Coastguard Worker
1754*d5c09012SAndroid Build Coastguard Worker  // Whether routes will be used for pod IPs in the cluster.
1755*d5c09012SAndroid Build Coastguard Worker  // This is used in conjunction with use_ip_aliases. It cannot be true if
1756*d5c09012SAndroid Build Coastguard Worker  // use_ip_aliases is true. If both use_ip_aliases and use_routes are false,
1757*d5c09012SAndroid Build Coastguard Worker  // then the server picks the default IP allocation mode
1758*d5c09012SAndroid Build Coastguard Worker  bool use_routes = 15;
1759*d5c09012SAndroid Build Coastguard Worker
1760*d5c09012SAndroid Build Coastguard Worker  // IP stack type
1761*d5c09012SAndroid Build Coastguard Worker  StackType stack_type = 16;
1762*d5c09012SAndroid Build Coastguard Worker
1763*d5c09012SAndroid Build Coastguard Worker  // The ipv6 access type (internal or external) when create_subnetwork is true
1764*d5c09012SAndroid Build Coastguard Worker  IPv6AccessType ipv6_access_type = 17;
1765*d5c09012SAndroid Build Coastguard Worker
1766*d5c09012SAndroid Build Coastguard Worker  // [PRIVATE FIELD]
1767*d5c09012SAndroid Build Coastguard Worker  // Pod CIDR size overprovisioning config for the cluster.
1768*d5c09012SAndroid Build Coastguard Worker  //
1769*d5c09012SAndroid Build Coastguard Worker  // Pod CIDR size per node depends on max_pods_per_node. By default, the value
1770*d5c09012SAndroid Build Coastguard Worker  // of max_pods_per_node is doubled and then rounded off to next power of 2 to
1771*d5c09012SAndroid Build Coastguard Worker  // get the size of pod CIDR block per node.
1772*d5c09012SAndroid Build Coastguard Worker  // Example: max_pods_per_node of 30 would result in 64 IPs (/26).
1773*d5c09012SAndroid Build Coastguard Worker  //
1774*d5c09012SAndroid Build Coastguard Worker  // This config can disable the doubling of IPs (we still round off to next
1775*d5c09012SAndroid Build Coastguard Worker  // power of 2)
1776*d5c09012SAndroid Build Coastguard Worker  // Example: max_pods_per_node of 30 will result in 32 IPs (/27) when
1777*d5c09012SAndroid Build Coastguard Worker  // overprovisioning is disabled.
1778*d5c09012SAndroid Build Coastguard Worker  PodCIDROverprovisionConfig pod_cidr_overprovision_config = 21;
1779*d5c09012SAndroid Build Coastguard Worker
1780*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] The subnet's IPv6 CIDR block used by nodes and
1781*d5c09012SAndroid Build Coastguard Worker  // pods.
1782*d5c09012SAndroid Build Coastguard Worker  string subnet_ipv6_cidr_block = 22
1783*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1784*d5c09012SAndroid Build Coastguard Worker
1785*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] The services IPv6 CIDR block for the cluster.
1786*d5c09012SAndroid Build Coastguard Worker  string services_ipv6_cidr_block = 23
1787*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1788*d5c09012SAndroid Build Coastguard Worker
1789*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] The additional pod ranges that are added to the
1790*d5c09012SAndroid Build Coastguard Worker  // cluster. These pod ranges can be used by new node pools to allocate pod IPs
1791*d5c09012SAndroid Build Coastguard Worker  // automatically. Once the range is removed it will not show up in
1792*d5c09012SAndroid Build Coastguard Worker  // IPAllocationPolicy.
1793*d5c09012SAndroid Build Coastguard Worker  AdditionalPodRangesConfig additional_pod_ranges_config = 24
1794*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1795*d5c09012SAndroid Build Coastguard Worker
1796*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] The utilization of the cluster default IPv4
1797*d5c09012SAndroid Build Coastguard Worker  // range for the pod. The ratio is Usage/[Total number of IPs in the secondary
1798*d5c09012SAndroid Build Coastguard Worker  // range], Usage=numNodes*numZones*podIPsPerNode.
1799*d5c09012SAndroid Build Coastguard Worker  double default_pod_ipv4_range_utilization = 25
1800*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
1801*d5c09012SAndroid Build Coastguard Worker}
1802*d5c09012SAndroid Build Coastguard Worker
1803*d5c09012SAndroid Build Coastguard Worker// Configuration for Binary Authorization.
1804*d5c09012SAndroid Build Coastguard Workermessage BinaryAuthorization {
1805*d5c09012SAndroid Build Coastguard Worker  // Binary Authorization mode of operation.
1806*d5c09012SAndroid Build Coastguard Worker  enum EvaluationMode {
1807*d5c09012SAndroid Build Coastguard Worker    // Default value
1808*d5c09012SAndroid Build Coastguard Worker    EVALUATION_MODE_UNSPECIFIED = 0;
1809*d5c09012SAndroid Build Coastguard Worker
1810*d5c09012SAndroid Build Coastguard Worker    // Disable BinaryAuthorization
1811*d5c09012SAndroid Build Coastguard Worker    DISABLED = 1;
1812*d5c09012SAndroid Build Coastguard Worker
1813*d5c09012SAndroid Build Coastguard Worker    // Enforce Kubernetes admission requests with BinaryAuthorization using the
1814*d5c09012SAndroid Build Coastguard Worker    // project's singleton policy. This is equivalent to setting the
1815*d5c09012SAndroid Build Coastguard Worker    // enabled boolean to true.
1816*d5c09012SAndroid Build Coastguard Worker    PROJECT_SINGLETON_POLICY_ENFORCE = 2;
1817*d5c09012SAndroid Build Coastguard Worker
1818*d5c09012SAndroid Build Coastguard Worker    // Use Binary Authorization Continuous Validation with the policies
1819*d5c09012SAndroid Build Coastguard Worker    // specified in policy_bindings.
1820*d5c09012SAndroid Build Coastguard Worker    POLICY_BINDINGS = 5;
1821*d5c09012SAndroid Build Coastguard Worker
1822*d5c09012SAndroid Build Coastguard Worker    // Use Binary Authorization Continuous Validation with the policies
1823*d5c09012SAndroid Build Coastguard Worker    // specified in policy_bindings and enforce Kubernetes admission requests
1824*d5c09012SAndroid Build Coastguard Worker    // with Binary Authorization using the project's singleton policy.
1825*d5c09012SAndroid Build Coastguard Worker    POLICY_BINDINGS_AND_PROJECT_SINGLETON_POLICY_ENFORCE = 6;
1826*d5c09012SAndroid Build Coastguard Worker  }
1827*d5c09012SAndroid Build Coastguard Worker
1828*d5c09012SAndroid Build Coastguard Worker  // Binauthz policy that applies to this cluster.
1829*d5c09012SAndroid Build Coastguard Worker  message PolicyBinding {
1830*d5c09012SAndroid Build Coastguard Worker    // The relative resource name of the binauthz platform policy to audit. GKE
1831*d5c09012SAndroid Build Coastguard Worker    // platform policies have the following format:
1832*d5c09012SAndroid Build Coastguard Worker    // `projects/{project_number}/platforms/gke/policies/{policy_id}`.
1833*d5c09012SAndroid Build Coastguard Worker    optional string name = 1;
1834*d5c09012SAndroid Build Coastguard Worker  }
1835*d5c09012SAndroid Build Coastguard Worker
1836*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated. Leave this unset and instead configure
1837*d5c09012SAndroid Build Coastguard Worker  // BinaryAuthorization using evaluation_mode. If evaluation_mode is set to
1838*d5c09012SAndroid Build Coastguard Worker  // anything other than EVALUATION_MODE_UNSPECIFIED, this field is ignored.
1839*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1 [deprecated = true];
1840*d5c09012SAndroid Build Coastguard Worker
1841*d5c09012SAndroid Build Coastguard Worker  // Mode of operation for binauthz policy evaluation. If unspecified, defaults
1842*d5c09012SAndroid Build Coastguard Worker  // to DISABLED.
1843*d5c09012SAndroid Build Coastguard Worker  EvaluationMode evaluation_mode = 2;
1844*d5c09012SAndroid Build Coastguard Worker
1845*d5c09012SAndroid Build Coastguard Worker  // Optional. Binauthz policies that apply to this cluster.
1846*d5c09012SAndroid Build Coastguard Worker  repeated PolicyBinding policy_bindings = 5
1847*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
1848*d5c09012SAndroid Build Coastguard Worker}
1849*d5c09012SAndroid Build Coastguard Worker
1850*d5c09012SAndroid Build Coastguard Worker// Configuration for the PodSecurityPolicy feature.
1851*d5c09012SAndroid Build Coastguard Workermessage PodSecurityPolicyConfig {
1852*d5c09012SAndroid Build Coastguard Worker  // Enable the PodSecurityPolicy controller for this cluster. If enabled, pods
1853*d5c09012SAndroid Build Coastguard Worker  // must be valid under a PodSecurityPolicy to be created.
1854*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1855*d5c09012SAndroid Build Coastguard Worker}
1856*d5c09012SAndroid Build Coastguard Worker
1857*d5c09012SAndroid Build Coastguard Worker// Configuration for returning group information from authenticators.
1858*d5c09012SAndroid Build Coastguard Workermessage AuthenticatorGroupsConfig {
1859*d5c09012SAndroid Build Coastguard Worker  // Whether this cluster should return group membership lookups
1860*d5c09012SAndroid Build Coastguard Worker  // during authentication using a group of security groups.
1861*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
1862*d5c09012SAndroid Build Coastguard Worker
1863*d5c09012SAndroid Build Coastguard Worker  // The name of the security group-of-groups to be used. Only relevant
1864*d5c09012SAndroid Build Coastguard Worker  // if enabled = true.
1865*d5c09012SAndroid Build Coastguard Worker  string security_group = 2;
1866*d5c09012SAndroid Build Coastguard Worker}
1867*d5c09012SAndroid Build Coastguard Worker
1868*d5c09012SAndroid Build Coastguard Worker// Telemetry integration for the cluster.
1869*d5c09012SAndroid Build Coastguard Workermessage ClusterTelemetry {
1870*d5c09012SAndroid Build Coastguard Worker  // Type of the integration.
1871*d5c09012SAndroid Build Coastguard Worker  enum Type {
1872*d5c09012SAndroid Build Coastguard Worker    // Not set.
1873*d5c09012SAndroid Build Coastguard Worker    UNSPECIFIED = 0;
1874*d5c09012SAndroid Build Coastguard Worker
1875*d5c09012SAndroid Build Coastguard Worker    // Monitoring integration is disabled.
1876*d5c09012SAndroid Build Coastguard Worker    DISABLED = 1;
1877*d5c09012SAndroid Build Coastguard Worker
1878*d5c09012SAndroid Build Coastguard Worker    // Monitoring integration is enabled.
1879*d5c09012SAndroid Build Coastguard Worker    ENABLED = 2;
1880*d5c09012SAndroid Build Coastguard Worker
1881*d5c09012SAndroid Build Coastguard Worker    // Only system components are monitored and logged.
1882*d5c09012SAndroid Build Coastguard Worker    SYSTEM_ONLY = 3;
1883*d5c09012SAndroid Build Coastguard Worker  }
1884*d5c09012SAndroid Build Coastguard Worker
1885*d5c09012SAndroid Build Coastguard Worker  // Type of the integration.
1886*d5c09012SAndroid Build Coastguard Worker  Type type = 1;
1887*d5c09012SAndroid Build Coastguard Worker}
1888*d5c09012SAndroid Build Coastguard Worker
1889*d5c09012SAndroid Build Coastguard Worker// A Google Kubernetes Engine cluster.
1890*d5c09012SAndroid Build Coastguard Workermessage Cluster {
1891*d5c09012SAndroid Build Coastguard Worker  // The current status of the cluster.
1892*d5c09012SAndroid Build Coastguard Worker  enum Status {
1893*d5c09012SAndroid Build Coastguard Worker    // Not set.
1894*d5c09012SAndroid Build Coastguard Worker    STATUS_UNSPECIFIED = 0;
1895*d5c09012SAndroid Build Coastguard Worker
1896*d5c09012SAndroid Build Coastguard Worker    // The PROVISIONING state indicates the cluster is being created.
1897*d5c09012SAndroid Build Coastguard Worker    PROVISIONING = 1;
1898*d5c09012SAndroid Build Coastguard Worker
1899*d5c09012SAndroid Build Coastguard Worker    // The RUNNING state indicates the cluster has been created and is fully
1900*d5c09012SAndroid Build Coastguard Worker    // usable.
1901*d5c09012SAndroid Build Coastguard Worker    RUNNING = 2;
1902*d5c09012SAndroid Build Coastguard Worker
1903*d5c09012SAndroid Build Coastguard Worker    // The RECONCILING state indicates that some work is actively being done on
1904*d5c09012SAndroid Build Coastguard Worker    // the cluster, such as upgrading the master or node software. Details can
1905*d5c09012SAndroid Build Coastguard Worker    // be found in the `statusMessage` field.
1906*d5c09012SAndroid Build Coastguard Worker    RECONCILING = 3;
1907*d5c09012SAndroid Build Coastguard Worker
1908*d5c09012SAndroid Build Coastguard Worker    // The STOPPING state indicates the cluster is being deleted.
1909*d5c09012SAndroid Build Coastguard Worker    STOPPING = 4;
1910*d5c09012SAndroid Build Coastguard Worker
1911*d5c09012SAndroid Build Coastguard Worker    // The ERROR state indicates the cluster may be unusable. Details
1912*d5c09012SAndroid Build Coastguard Worker    // can be found in the `statusMessage` field.
1913*d5c09012SAndroid Build Coastguard Worker    ERROR = 5;
1914*d5c09012SAndroid Build Coastguard Worker
1915*d5c09012SAndroid Build Coastguard Worker    // The DEGRADED state indicates the cluster requires user action to restore
1916*d5c09012SAndroid Build Coastguard Worker    // full functionality. Details can be found in the `statusMessage` field.
1917*d5c09012SAndroid Build Coastguard Worker    DEGRADED = 6;
1918*d5c09012SAndroid Build Coastguard Worker  }
1919*d5c09012SAndroid Build Coastguard Worker
1920*d5c09012SAndroid Build Coastguard Worker  // The name of this cluster. The name must be unique within this project
1921*d5c09012SAndroid Build Coastguard Worker  // and location (e.g. zone or region), and can be up to 40 characters with
1922*d5c09012SAndroid Build Coastguard Worker  // the following restrictions:
1923*d5c09012SAndroid Build Coastguard Worker  //
1924*d5c09012SAndroid Build Coastguard Worker  // * Lowercase letters, numbers, and hyphens only.
1925*d5c09012SAndroid Build Coastguard Worker  // * Must start with a letter.
1926*d5c09012SAndroid Build Coastguard Worker  // * Must end with a number or a letter.
1927*d5c09012SAndroid Build Coastguard Worker  string name = 1;
1928*d5c09012SAndroid Build Coastguard Worker
1929*d5c09012SAndroid Build Coastguard Worker  // An optional description of this cluster.
1930*d5c09012SAndroid Build Coastguard Worker  string description = 2;
1931*d5c09012SAndroid Build Coastguard Worker
1932*d5c09012SAndroid Build Coastguard Worker  // The number of nodes to create in this cluster. You must ensure that your
1933*d5c09012SAndroid Build Coastguard Worker  // Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
1934*d5c09012SAndroid Build Coastguard Worker  // is sufficient for this number of instances. You must also have available
1935*d5c09012SAndroid Build Coastguard Worker  // firewall and routes quota.
1936*d5c09012SAndroid Build Coastguard Worker  // For requests, this field should only be used in lieu of a
1937*d5c09012SAndroid Build Coastguard Worker  // "node_pool" object, since this configuration (along with the
1938*d5c09012SAndroid Build Coastguard Worker  // "node_config") will be used to create a "NodePool" object with an
1939*d5c09012SAndroid Build Coastguard Worker  // auto-generated name. Do not use this and a node_pool at the same time.
1940*d5c09012SAndroid Build Coastguard Worker  //
1941*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use node_pool.initial_node_count instead.
1942*d5c09012SAndroid Build Coastguard Worker  int32 initial_node_count = 3 [deprecated = true];
1943*d5c09012SAndroid Build Coastguard Worker
1944*d5c09012SAndroid Build Coastguard Worker  // Parameters used in creating the cluster's nodes.
1945*d5c09012SAndroid Build Coastguard Worker  // For requests, this field should only be used in lieu of a
1946*d5c09012SAndroid Build Coastguard Worker  // "node_pool" object, since this configuration (along with the
1947*d5c09012SAndroid Build Coastguard Worker  // "initial_node_count") will be used to create a "NodePool" object with an
1948*d5c09012SAndroid Build Coastguard Worker  // auto-generated name. Do not use this and a node_pool at the same time.
1949*d5c09012SAndroid Build Coastguard Worker  // For responses, this field will be populated with the node configuration of
1950*d5c09012SAndroid Build Coastguard Worker  // the first node pool. (For configuration of each node pool, see
1951*d5c09012SAndroid Build Coastguard Worker  // `node_pool.config`)
1952*d5c09012SAndroid Build Coastguard Worker  //
1953*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the defaults are used.
1954*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use node_pool.config instead.
1955*d5c09012SAndroid Build Coastguard Worker  NodeConfig node_config = 4 [deprecated = true];
1956*d5c09012SAndroid Build Coastguard Worker
1957*d5c09012SAndroid Build Coastguard Worker  // The authentication information for accessing the master endpoint.
1958*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the defaults are used:
1959*d5c09012SAndroid Build Coastguard Worker  // For clusters before v1.12, if master_auth is unspecified, `username` will
1960*d5c09012SAndroid Build Coastguard Worker  // be set to "admin", a random password will be generated, and a client
1961*d5c09012SAndroid Build Coastguard Worker  // certificate will be issued.
1962*d5c09012SAndroid Build Coastguard Worker  MasterAuth master_auth = 5;
1963*d5c09012SAndroid Build Coastguard Worker
1964*d5c09012SAndroid Build Coastguard Worker  // The logging service the cluster should use to write logs.
1965*d5c09012SAndroid Build Coastguard Worker  // Currently available options:
1966*d5c09012SAndroid Build Coastguard Worker  //
1967*d5c09012SAndroid Build Coastguard Worker  // * `logging.googleapis.com/kubernetes` - The Cloud Logging
1968*d5c09012SAndroid Build Coastguard Worker  // service with a Kubernetes-native resource model
1969*d5c09012SAndroid Build Coastguard Worker  // * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
1970*d5c09012SAndroid Build Coastguard Worker  //   available as of GKE 1.15).
1971*d5c09012SAndroid Build Coastguard Worker  // * `none` - no logs will be exported from the cluster.
1972*d5c09012SAndroid Build Coastguard Worker  //
1973*d5c09012SAndroid Build Coastguard Worker  // If left as an empty string,`logging.googleapis.com/kubernetes` will be
1974*d5c09012SAndroid Build Coastguard Worker  // used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
1975*d5c09012SAndroid Build Coastguard Worker  string logging_service = 6;
1976*d5c09012SAndroid Build Coastguard Worker
1977*d5c09012SAndroid Build Coastguard Worker  // The monitoring service the cluster should use to write metrics.
1978*d5c09012SAndroid Build Coastguard Worker  // Currently available options:
1979*d5c09012SAndroid Build Coastguard Worker  //
1980*d5c09012SAndroid Build Coastguard Worker  // * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
1981*d5c09012SAndroid Build Coastguard Worker  // service with a Kubernetes-native resource model
1982*d5c09012SAndroid Build Coastguard Worker  // * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
1983*d5c09012SAndroid Build Coastguard Worker  //   longer available as of GKE 1.15).
1984*d5c09012SAndroid Build Coastguard Worker  // * `none` - No metrics will be exported from the cluster.
1985*d5c09012SAndroid Build Coastguard Worker  //
1986*d5c09012SAndroid Build Coastguard Worker  // If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
1987*d5c09012SAndroid Build Coastguard Worker  // used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
1988*d5c09012SAndroid Build Coastguard Worker  string monitoring_service = 7;
1989*d5c09012SAndroid Build Coastguard Worker
1990*d5c09012SAndroid Build Coastguard Worker  // The name of the Google Compute Engine
1991*d5c09012SAndroid Build Coastguard Worker  // [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
1992*d5c09012SAndroid Build Coastguard Worker  // to which the cluster is connected. If left unspecified, the `default`
1993*d5c09012SAndroid Build Coastguard Worker  // network will be used. On output this shows the network ID instead of the
1994*d5c09012SAndroid Build Coastguard Worker  // name.
1995*d5c09012SAndroid Build Coastguard Worker  string network = 8;
1996*d5c09012SAndroid Build Coastguard Worker
1997*d5c09012SAndroid Build Coastguard Worker  // The IP address range of the container pods in this cluster, in
1998*d5c09012SAndroid Build Coastguard Worker  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
1999*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `10.96.0.0/14`). Leave blank to have
2000*d5c09012SAndroid Build Coastguard Worker  // one automatically chosen or specify a `/14` block in `10.0.0.0/8`.
2001*d5c09012SAndroid Build Coastguard Worker  string cluster_ipv4_cidr = 9;
2002*d5c09012SAndroid Build Coastguard Worker
2003*d5c09012SAndroid Build Coastguard Worker  // Configurations for the various addons available to run in the cluster.
2004*d5c09012SAndroid Build Coastguard Worker  AddonsConfig addons_config = 10;
2005*d5c09012SAndroid Build Coastguard Worker
2006*d5c09012SAndroid Build Coastguard Worker  // The name of the Google Compute Engine
2007*d5c09012SAndroid Build Coastguard Worker  // [subnetwork](https://cloud.google.com/compute/docs/subnetworks) to which
2008*d5c09012SAndroid Build Coastguard Worker  // the cluster is connected. On output this shows the subnetwork ID instead of
2009*d5c09012SAndroid Build Coastguard Worker  // the name.
2010*d5c09012SAndroid Build Coastguard Worker  string subnetwork = 11;
2011*d5c09012SAndroid Build Coastguard Worker
2012*d5c09012SAndroid Build Coastguard Worker  // The node pools associated with this cluster.
2013*d5c09012SAndroid Build Coastguard Worker  // This field should not be set if "node_config" or "initial_node_count" are
2014*d5c09012SAndroid Build Coastguard Worker  // specified.
2015*d5c09012SAndroid Build Coastguard Worker  repeated NodePool node_pools = 12;
2016*d5c09012SAndroid Build Coastguard Worker
2017*d5c09012SAndroid Build Coastguard Worker  // The list of Google Compute Engine
2018*d5c09012SAndroid Build Coastguard Worker  // [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2019*d5c09012SAndroid Build Coastguard Worker  // cluster's nodes should be located.
2020*d5c09012SAndroid Build Coastguard Worker  //
2021*d5c09012SAndroid Build Coastguard Worker  // This field provides a default value if
2022*d5c09012SAndroid Build Coastguard Worker  // [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
2023*d5c09012SAndroid Build Coastguard Worker  // are not specified during node pool creation.
2024*d5c09012SAndroid Build Coastguard Worker  //
2025*d5c09012SAndroid Build Coastguard Worker  // Warning: changing cluster locations will update the
2026*d5c09012SAndroid Build Coastguard Worker  // [NodePool.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters.nodePools#NodePool.FIELDS.locations)
2027*d5c09012SAndroid Build Coastguard Worker  // of all node pools and will result in nodes being added and/or removed.
2028*d5c09012SAndroid Build Coastguard Worker  repeated string locations = 13;
2029*d5c09012SAndroid Build Coastguard Worker
2030*d5c09012SAndroid Build Coastguard Worker  // Kubernetes alpha features are enabled on this cluster. This includes alpha
2031*d5c09012SAndroid Build Coastguard Worker  // API groups (e.g. v1beta1) and features that may not be production ready in
2032*d5c09012SAndroid Build Coastguard Worker  // the kubernetes version of the master and nodes.
2033*d5c09012SAndroid Build Coastguard Worker  // The cluster has no SLA for uptime and master/node upgrades are disabled.
2034*d5c09012SAndroid Build Coastguard Worker  // Alpha enabled clusters are automatically deleted thirty days after
2035*d5c09012SAndroid Build Coastguard Worker  // creation.
2036*d5c09012SAndroid Build Coastguard Worker  bool enable_kubernetes_alpha = 14;
2037*d5c09012SAndroid Build Coastguard Worker
2038*d5c09012SAndroid Build Coastguard Worker  // Kubernetes open source beta apis enabled on the cluster. Only beta apis.
2039*d5c09012SAndroid Build Coastguard Worker  K8sBetaAPIConfig enable_k8s_beta_apis = 143;
2040*d5c09012SAndroid Build Coastguard Worker
2041*d5c09012SAndroid Build Coastguard Worker  // The resource labels for the cluster to use to annotate any related
2042*d5c09012SAndroid Build Coastguard Worker  // Google Compute Engine resources.
2043*d5c09012SAndroid Build Coastguard Worker  map<string, string> resource_labels = 15;
2044*d5c09012SAndroid Build Coastguard Worker
2045*d5c09012SAndroid Build Coastguard Worker  // The fingerprint of the set of labels for this cluster.
2046*d5c09012SAndroid Build Coastguard Worker  string label_fingerprint = 16;
2047*d5c09012SAndroid Build Coastguard Worker
2048*d5c09012SAndroid Build Coastguard Worker  // Configuration for the legacy ABAC authorization mode.
2049*d5c09012SAndroid Build Coastguard Worker  LegacyAbac legacy_abac = 18;
2050*d5c09012SAndroid Build Coastguard Worker
2051*d5c09012SAndroid Build Coastguard Worker  // Configuration options for the NetworkPolicy feature.
2052*d5c09012SAndroid Build Coastguard Worker  NetworkPolicy network_policy = 19;
2053*d5c09012SAndroid Build Coastguard Worker
2054*d5c09012SAndroid Build Coastguard Worker  // Configuration for cluster IP allocation.
2055*d5c09012SAndroid Build Coastguard Worker  IPAllocationPolicy ip_allocation_policy = 20;
2056*d5c09012SAndroid Build Coastguard Worker
2057*d5c09012SAndroid Build Coastguard Worker  // The configuration options for master authorized networks feature.
2058*d5c09012SAndroid Build Coastguard Worker  MasterAuthorizedNetworksConfig master_authorized_networks_config = 22;
2059*d5c09012SAndroid Build Coastguard Worker
2060*d5c09012SAndroid Build Coastguard Worker  // Configure the maintenance policy for this cluster.
2061*d5c09012SAndroid Build Coastguard Worker  MaintenancePolicy maintenance_policy = 23;
2062*d5c09012SAndroid Build Coastguard Worker
2063*d5c09012SAndroid Build Coastguard Worker  // Configuration for Binary Authorization.
2064*d5c09012SAndroid Build Coastguard Worker  BinaryAuthorization binary_authorization = 24;
2065*d5c09012SAndroid Build Coastguard Worker
2066*d5c09012SAndroid Build Coastguard Worker  // Configuration for the PodSecurityPolicy feature.
2067*d5c09012SAndroid Build Coastguard Worker  PodSecurityPolicyConfig pod_security_policy_config = 25;
2068*d5c09012SAndroid Build Coastguard Worker
2069*d5c09012SAndroid Build Coastguard Worker  // Cluster-level autoscaling configuration.
2070*d5c09012SAndroid Build Coastguard Worker  ClusterAutoscaling autoscaling = 26;
2071*d5c09012SAndroid Build Coastguard Worker
2072*d5c09012SAndroid Build Coastguard Worker  // Configuration for cluster networking.
2073*d5c09012SAndroid Build Coastguard Worker  NetworkConfig network_config = 27;
2074*d5c09012SAndroid Build Coastguard Worker
2075*d5c09012SAndroid Build Coastguard Worker  // If this is a private cluster setup. Private clusters are clusters that, by
2076*d5c09012SAndroid Build Coastguard Worker  // default have no external IP addresses on the nodes and where nodes and the
2077*d5c09012SAndroid Build Coastguard Worker  // master communicate over private IP addresses.
2078*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use private_cluster_config.enable_private_nodes
2079*d5c09012SAndroid Build Coastguard Worker  // instead.
2080*d5c09012SAndroid Build Coastguard Worker  bool private_cluster = 28 [deprecated = true];
2081*d5c09012SAndroid Build Coastguard Worker
2082*d5c09012SAndroid Build Coastguard Worker  // The IP prefix in CIDR notation to use for the hosted master network.
2083*d5c09012SAndroid Build Coastguard Worker  // This prefix will be used for assigning private IP addresses to the
2084*d5c09012SAndroid Build Coastguard Worker  // master or set of masters, as well as the ILB VIP.
2085*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use
2086*d5c09012SAndroid Build Coastguard Worker  // private_cluster_config.master_ipv4_cidr_block instead.
2087*d5c09012SAndroid Build Coastguard Worker  string master_ipv4_cidr_block = 29 [deprecated = true];
2088*d5c09012SAndroid Build Coastguard Worker
2089*d5c09012SAndroid Build Coastguard Worker  // The default constraint on the maximum number of pods that can be run
2090*d5c09012SAndroid Build Coastguard Worker  // simultaneously on a node in the node pool of this cluster. Only honored
2091*d5c09012SAndroid Build Coastguard Worker  // if cluster created with IP Alias support.
2092*d5c09012SAndroid Build Coastguard Worker  MaxPodsConstraint default_max_pods_constraint = 30;
2093*d5c09012SAndroid Build Coastguard Worker
2094*d5c09012SAndroid Build Coastguard Worker  // Configuration for exporting resource usages. Resource usage export is
2095*d5c09012SAndroid Build Coastguard Worker  // disabled when this config unspecified.
2096*d5c09012SAndroid Build Coastguard Worker  ResourceUsageExportConfig resource_usage_export_config = 33;
2097*d5c09012SAndroid Build Coastguard Worker
2098*d5c09012SAndroid Build Coastguard Worker  // Configuration controlling RBAC group membership information.
2099*d5c09012SAndroid Build Coastguard Worker  AuthenticatorGroupsConfig authenticator_groups_config = 34;
2100*d5c09012SAndroid Build Coastguard Worker
2101*d5c09012SAndroid Build Coastguard Worker  // Configuration for private cluster.
2102*d5c09012SAndroid Build Coastguard Worker  PrivateClusterConfig private_cluster_config = 37;
2103*d5c09012SAndroid Build Coastguard Worker
2104*d5c09012SAndroid Build Coastguard Worker  // Cluster-level Vertical Pod Autoscaling configuration.
2105*d5c09012SAndroid Build Coastguard Worker  VerticalPodAutoscaling vertical_pod_autoscaling = 39;
2106*d5c09012SAndroid Build Coastguard Worker
2107*d5c09012SAndroid Build Coastguard Worker  // Shielded Nodes configuration.
2108*d5c09012SAndroid Build Coastguard Worker  ShieldedNodes shielded_nodes = 40;
2109*d5c09012SAndroid Build Coastguard Worker
2110*d5c09012SAndroid Build Coastguard Worker  // Release channel configuration. If left unspecified on cluster creation and
2111*d5c09012SAndroid Build Coastguard Worker  // a version is specified, the cluster is enrolled in the most mature release
2112*d5c09012SAndroid Build Coastguard Worker  // channel where the version is available (first checking STABLE, then
2113*d5c09012SAndroid Build Coastguard Worker  // REGULAR, and finally RAPID). Otherwise, if no release channel
2114*d5c09012SAndroid Build Coastguard Worker  // configuration and no version is specified, the cluster is enrolled in the
2115*d5c09012SAndroid Build Coastguard Worker  // REGULAR channel with its default version.
2116*d5c09012SAndroid Build Coastguard Worker  ReleaseChannel release_channel = 41;
2117*d5c09012SAndroid Build Coastguard Worker
2118*d5c09012SAndroid Build Coastguard Worker  // Configuration for the use of Kubernetes Service Accounts in GCP IAM
2119*d5c09012SAndroid Build Coastguard Worker  // policies.
2120*d5c09012SAndroid Build Coastguard Worker  WorkloadIdentityConfig workload_identity_config = 43;
2121*d5c09012SAndroid Build Coastguard Worker
2122*d5c09012SAndroid Build Coastguard Worker  // Configuration for issuance of mTLS keys and certificates to Kubernetes
2123*d5c09012SAndroid Build Coastguard Worker  // pods.
2124*d5c09012SAndroid Build Coastguard Worker  WorkloadCertificates workload_certificates = 52;
2125*d5c09012SAndroid Build Coastguard Worker
2126*d5c09012SAndroid Build Coastguard Worker  // Configuration for issuance of mTLS keys and certificates to Kubernetes
2127*d5c09012SAndroid Build Coastguard Worker  // pods.
2128*d5c09012SAndroid Build Coastguard Worker  MeshCertificates mesh_certificates = 67;
2129*d5c09012SAndroid Build Coastguard Worker
2130*d5c09012SAndroid Build Coastguard Worker  // Configuration for direct-path (via ALTS) with workload identity.
2131*d5c09012SAndroid Build Coastguard Worker  WorkloadALTSConfig workload_alts_config = 53;
2132*d5c09012SAndroid Build Coastguard Worker
2133*d5c09012SAndroid Build Coastguard Worker  // Configuration for the fine-grained cost management feature.
2134*d5c09012SAndroid Build Coastguard Worker  CostManagementConfig cost_management_config = 45;
2135*d5c09012SAndroid Build Coastguard Worker
2136*d5c09012SAndroid Build Coastguard Worker  // Telemetry integration for the cluster.
2137*d5c09012SAndroid Build Coastguard Worker  ClusterTelemetry cluster_telemetry = 46;
2138*d5c09012SAndroid Build Coastguard Worker
2139*d5c09012SAndroid Build Coastguard Worker  // Configuration for Cloud TPU support;
2140*d5c09012SAndroid Build Coastguard Worker  TpuConfig tpu_config = 47;
2141*d5c09012SAndroid Build Coastguard Worker
2142*d5c09012SAndroid Build Coastguard Worker  // Notification configuration of the cluster.
2143*d5c09012SAndroid Build Coastguard Worker  NotificationConfig notification_config = 49;
2144*d5c09012SAndroid Build Coastguard Worker
2145*d5c09012SAndroid Build Coastguard Worker  // Configuration of Confidential Nodes.
2146*d5c09012SAndroid Build Coastguard Worker  // All the nodes in the cluster will be Confidential VM once enabled.
2147*d5c09012SAndroid Build Coastguard Worker  ConfidentialNodes confidential_nodes = 50;
2148*d5c09012SAndroid Build Coastguard Worker
2149*d5c09012SAndroid Build Coastguard Worker  // Configuration for Identity Service component.
2150*d5c09012SAndroid Build Coastguard Worker  IdentityServiceConfig identity_service_config = 54;
2151*d5c09012SAndroid Build Coastguard Worker
2152*d5c09012SAndroid Build Coastguard Worker  // [Output only] Server-defined URL for the resource.
2153*d5c09012SAndroid Build Coastguard Worker  string self_link = 100;
2154*d5c09012SAndroid Build Coastguard Worker
2155*d5c09012SAndroid Build Coastguard Worker  // [Output only] The name of the Google Compute Engine
2156*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2157*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field is deprecated, use location instead.
2158*d5c09012SAndroid Build Coastguard Worker  string zone = 101 [deprecated = true];
2159*d5c09012SAndroid Build Coastguard Worker
2160*d5c09012SAndroid Build Coastguard Worker  // [Output only] The IP address of this cluster's master endpoint.
2161*d5c09012SAndroid Build Coastguard Worker  // The endpoint can be accessed from the internet at
2162*d5c09012SAndroid Build Coastguard Worker  // `https://username:password@endpoint/`.
2163*d5c09012SAndroid Build Coastguard Worker  //
2164*d5c09012SAndroid Build Coastguard Worker  // See the `masterAuth` property of this resource for username and
2165*d5c09012SAndroid Build Coastguard Worker  // password information.
2166*d5c09012SAndroid Build Coastguard Worker  string endpoint = 102;
2167*d5c09012SAndroid Build Coastguard Worker
2168*d5c09012SAndroid Build Coastguard Worker  // The initial Kubernetes version for this cluster.  Valid versions are those
2169*d5c09012SAndroid Build Coastguard Worker  // found in validMasterVersions returned by getServerConfig.  The version can
2170*d5c09012SAndroid Build Coastguard Worker  // be upgraded over time; such upgrades are reflected in
2171*d5c09012SAndroid Build Coastguard Worker  // currentMasterVersion and currentNodeVersion.
2172*d5c09012SAndroid Build Coastguard Worker  //
2173*d5c09012SAndroid Build Coastguard Worker  // Users may specify either explicit versions offered by
2174*d5c09012SAndroid Build Coastguard Worker  // Kubernetes Engine or version aliases, which have the following behavior:
2175*d5c09012SAndroid Build Coastguard Worker  //
2176*d5c09012SAndroid Build Coastguard Worker  // - "latest": picks the highest valid Kubernetes version
2177*d5c09012SAndroid Build Coastguard Worker  // - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
2178*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
2179*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y-gke.N": picks an explicit Kubernetes version
2180*d5c09012SAndroid Build Coastguard Worker  // - "","-": picks the default Kubernetes version
2181*d5c09012SAndroid Build Coastguard Worker  string initial_cluster_version = 103;
2182*d5c09012SAndroid Build Coastguard Worker
2183*d5c09012SAndroid Build Coastguard Worker  // [Output only] The current software version of the master endpoint.
2184*d5c09012SAndroid Build Coastguard Worker  string current_master_version = 104;
2185*d5c09012SAndroid Build Coastguard Worker
2186*d5c09012SAndroid Build Coastguard Worker  // [Output only] Deprecated, use
2187*d5c09012SAndroid Build Coastguard Worker  // [NodePool.version](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters.nodePools)
2188*d5c09012SAndroid Build Coastguard Worker  // instead. The current version of the node software components.
2189*d5c09012SAndroid Build Coastguard Worker  // If they are currently at multiple versions because they're in the process
2190*d5c09012SAndroid Build Coastguard Worker  // of being upgraded, this reflects the minimum version of all nodes.
2191*d5c09012SAndroid Build Coastguard Worker  string current_node_version = 105 [deprecated = true];
2192*d5c09012SAndroid Build Coastguard Worker
2193*d5c09012SAndroid Build Coastguard Worker  // [Output only] The time the cluster was created, in
2194*d5c09012SAndroid Build Coastguard Worker  // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2195*d5c09012SAndroid Build Coastguard Worker  string create_time = 106;
2196*d5c09012SAndroid Build Coastguard Worker
2197*d5c09012SAndroid Build Coastguard Worker  // [Output only] The current status of this cluster.
2198*d5c09012SAndroid Build Coastguard Worker  Status status = 107;
2199*d5c09012SAndroid Build Coastguard Worker
2200*d5c09012SAndroid Build Coastguard Worker  // [Output only] Deprecated. Use conditions instead.
2201*d5c09012SAndroid Build Coastguard Worker  // Additional information about the current status of this
2202*d5c09012SAndroid Build Coastguard Worker  // cluster, if available.
2203*d5c09012SAndroid Build Coastguard Worker  string status_message = 108 [deprecated = true];
2204*d5c09012SAndroid Build Coastguard Worker
2205*d5c09012SAndroid Build Coastguard Worker  // [Output only] The size of the address space on each node for hosting
2206*d5c09012SAndroid Build Coastguard Worker  // containers. This is provisioned from within the `container_ipv4_cidr`
2207*d5c09012SAndroid Build Coastguard Worker  // range. This field will only be set when cluster is in route-based network
2208*d5c09012SAndroid Build Coastguard Worker  // mode.
2209*d5c09012SAndroid Build Coastguard Worker  int32 node_ipv4_cidr_size = 109;
2210*d5c09012SAndroid Build Coastguard Worker
2211*d5c09012SAndroid Build Coastguard Worker  // [Output only] The IP address range of the Kubernetes services in
2212*d5c09012SAndroid Build Coastguard Worker  // this cluster, in
2213*d5c09012SAndroid Build Coastguard Worker  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2214*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `1.2.3.4/29`). Service addresses are
2215*d5c09012SAndroid Build Coastguard Worker  // typically put in the last `/16` from the container CIDR.
2216*d5c09012SAndroid Build Coastguard Worker  string services_ipv4_cidr = 110;
2217*d5c09012SAndroid Build Coastguard Worker
2218*d5c09012SAndroid Build Coastguard Worker  // Deprecated. Use node_pools.instance_group_urls.
2219*d5c09012SAndroid Build Coastguard Worker  repeated string instance_group_urls = 111 [deprecated = true];
2220*d5c09012SAndroid Build Coastguard Worker
2221*d5c09012SAndroid Build Coastguard Worker  // [Output only]  The number of nodes currently in the cluster. Deprecated.
2222*d5c09012SAndroid Build Coastguard Worker  // Call Kubernetes API directly to retrieve node information.
2223*d5c09012SAndroid Build Coastguard Worker  int32 current_node_count = 112 [deprecated = true];
2224*d5c09012SAndroid Build Coastguard Worker
2225*d5c09012SAndroid Build Coastguard Worker  // [Output only] The time the cluster will be automatically
2226*d5c09012SAndroid Build Coastguard Worker  // deleted in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2227*d5c09012SAndroid Build Coastguard Worker  string expire_time = 113;
2228*d5c09012SAndroid Build Coastguard Worker
2229*d5c09012SAndroid Build Coastguard Worker  // [Output only] The name of the Google Compute Engine
2230*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
2231*d5c09012SAndroid Build Coastguard Worker  // or
2232*d5c09012SAndroid Build Coastguard Worker  // [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
2233*d5c09012SAndroid Build Coastguard Worker  // in which the cluster resides.
2234*d5c09012SAndroid Build Coastguard Worker  string location = 114;
2235*d5c09012SAndroid Build Coastguard Worker
2236*d5c09012SAndroid Build Coastguard Worker  // Enable the ability to use Cloud TPUs in this cluster.
2237*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, use tpu_config.enabled instead.
2238*d5c09012SAndroid Build Coastguard Worker  bool enable_tpu = 115;
2239*d5c09012SAndroid Build Coastguard Worker
2240*d5c09012SAndroid Build Coastguard Worker  // [Output only] The IP address range of the Cloud TPUs in this cluster, in
2241*d5c09012SAndroid Build Coastguard Worker  // [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)
2242*d5c09012SAndroid Build Coastguard Worker  // notation (e.g. `1.2.3.4/29`).
2243*d5c09012SAndroid Build Coastguard Worker  string tpu_ipv4_cidr_block = 116;
2244*d5c09012SAndroid Build Coastguard Worker
2245*d5c09012SAndroid Build Coastguard Worker  // Configuration of etcd encryption.
2246*d5c09012SAndroid Build Coastguard Worker  DatabaseEncryption database_encryption = 38;
2247*d5c09012SAndroid Build Coastguard Worker
2248*d5c09012SAndroid Build Coastguard Worker  // Which conditions caused the current cluster state.
2249*d5c09012SAndroid Build Coastguard Worker  repeated StatusCondition conditions = 118;
2250*d5c09012SAndroid Build Coastguard Worker
2251*d5c09012SAndroid Build Coastguard Worker  // Configuration for master components.
2252*d5c09012SAndroid Build Coastguard Worker  Master master = 124;
2253*d5c09012SAndroid Build Coastguard Worker
2254*d5c09012SAndroid Build Coastguard Worker  // Autopilot configuration for the cluster.
2255*d5c09012SAndroid Build Coastguard Worker  Autopilot autopilot = 128;
2256*d5c09012SAndroid Build Coastguard Worker
2257*d5c09012SAndroid Build Coastguard Worker  // Output only. Unique id for the cluster.
2258*d5c09012SAndroid Build Coastguard Worker  string id = 129 [(google.api.field_behavior) = OUTPUT_ONLY];
2259*d5c09012SAndroid Build Coastguard Worker
2260*d5c09012SAndroid Build Coastguard Worker  // Default NodePool settings for the entire cluster. These settings are
2261*d5c09012SAndroid Build Coastguard Worker  // overridden if specified on the specific NodePool object.
2262*d5c09012SAndroid Build Coastguard Worker  optional NodePoolDefaults node_pool_defaults = 131;
2263*d5c09012SAndroid Build Coastguard Worker
2264*d5c09012SAndroid Build Coastguard Worker  // Logging configuration for the cluster.
2265*d5c09012SAndroid Build Coastguard Worker  LoggingConfig logging_config = 132;
2266*d5c09012SAndroid Build Coastguard Worker
2267*d5c09012SAndroid Build Coastguard Worker  // Monitoring configuration for the cluster.
2268*d5c09012SAndroid Build Coastguard Worker  MonitoringConfig monitoring_config = 133;
2269*d5c09012SAndroid Build Coastguard Worker
2270*d5c09012SAndroid Build Coastguard Worker  // Node pool configs that apply to all auto-provisioned node pools
2271*d5c09012SAndroid Build Coastguard Worker  // in autopilot clusters and node auto-provisioning enabled clusters.
2272*d5c09012SAndroid Build Coastguard Worker  NodePoolAutoConfig node_pool_auto_config = 136;
2273*d5c09012SAndroid Build Coastguard Worker
2274*d5c09012SAndroid Build Coastguard Worker  // Deprecated: Use SecurityPostureConfig instead.
2275*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable Protect API features for the cluster.
2276*d5c09012SAndroid Build Coastguard Worker  optional ProtectConfig protect_config = 137 [deprecated = true];
2277*d5c09012SAndroid Build Coastguard Worker
2278*d5c09012SAndroid Build Coastguard Worker  // This checksum is computed by the server based on the value of cluster
2279*d5c09012SAndroid Build Coastguard Worker  // fields, and may be sent on update requests to ensure the client has an
2280*d5c09012SAndroid Build Coastguard Worker  // up-to-date value before proceeding.
2281*d5c09012SAndroid Build Coastguard Worker  string etag = 139;
2282*d5c09012SAndroid Build Coastguard Worker
2283*d5c09012SAndroid Build Coastguard Worker  // Fleet information for the cluster.
2284*d5c09012SAndroid Build Coastguard Worker  Fleet fleet = 140;
2285*d5c09012SAndroid Build Coastguard Worker
2286*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable Security Posture API features for the cluster.
2287*d5c09012SAndroid Build Coastguard Worker  SecurityPostureConfig security_posture_config = 145;
2288*d5c09012SAndroid Build Coastguard Worker
2289*d5c09012SAndroid Build Coastguard Worker  // GKE Enterprise Configuration.
2290*d5c09012SAndroid Build Coastguard Worker  EnterpriseConfig enterprise_config = 149;
2291*d5c09012SAndroid Build Coastguard Worker
2292*d5c09012SAndroid Build Coastguard Worker  // Secret CSI driver configuration.
2293*d5c09012SAndroid Build Coastguard Worker  SecretManagerConfig secret_manager_config = 150;
2294*d5c09012SAndroid Build Coastguard Worker}
2295*d5c09012SAndroid Build Coastguard Worker
2296*d5c09012SAndroid Build Coastguard Worker// Kubernetes open source beta apis enabled on the cluster.
2297*d5c09012SAndroid Build Coastguard Workermessage K8sBetaAPIConfig {
2298*d5c09012SAndroid Build Coastguard Worker  // api name, e.g. storage.k8s.io/v1beta1/csistoragecapacities.
2299*d5c09012SAndroid Build Coastguard Worker  repeated string enabled_apis = 1;
2300*d5c09012SAndroid Build Coastguard Worker}
2301*d5c09012SAndroid Build Coastguard Worker
2302*d5c09012SAndroid Build Coastguard Worker// WorkloadConfig defines the flags to enable or disable the
2303*d5c09012SAndroid Build Coastguard Worker// workload configurations for the cluster.
2304*d5c09012SAndroid Build Coastguard Workermessage WorkloadConfig {
2305*d5c09012SAndroid Build Coastguard Worker  // Mode defines how to audit the workload configs.
2306*d5c09012SAndroid Build Coastguard Worker  enum Mode {
2307*d5c09012SAndroid Build Coastguard Worker    // Default value meaning that no mode has been specified.
2308*d5c09012SAndroid Build Coastguard Worker    MODE_UNSPECIFIED = 0;
2309*d5c09012SAndroid Build Coastguard Worker
2310*d5c09012SAndroid Build Coastguard Worker    // This disables Workload Configuration auditing on the cluster,
2311*d5c09012SAndroid Build Coastguard Worker    // meaning that nothing is surfaced.
2312*d5c09012SAndroid Build Coastguard Worker    DISABLED = 1;
2313*d5c09012SAndroid Build Coastguard Worker
2314*d5c09012SAndroid Build Coastguard Worker    // Applies the default set of policy auditing to a cluster's workloads.
2315*d5c09012SAndroid Build Coastguard Worker    BASIC = 4;
2316*d5c09012SAndroid Build Coastguard Worker
2317*d5c09012SAndroid Build Coastguard Worker    // Surfaces configurations that are not in line with the
2318*d5c09012SAndroid Build Coastguard Worker    // Pod Security Standard Baseline policy.
2319*d5c09012SAndroid Build Coastguard Worker    BASELINE = 2 [deprecated = true];
2320*d5c09012SAndroid Build Coastguard Worker
2321*d5c09012SAndroid Build Coastguard Worker    // Surfaces configurations that are not in line with the
2322*d5c09012SAndroid Build Coastguard Worker    // Pod Security Standard Restricted policy.
2323*d5c09012SAndroid Build Coastguard Worker    RESTRICTED = 3 [deprecated = true];
2324*d5c09012SAndroid Build Coastguard Worker  }
2325*d5c09012SAndroid Build Coastguard Worker
2326*d5c09012SAndroid Build Coastguard Worker  // Sets which mode of auditing should be used for the cluster's workloads.
2327*d5c09012SAndroid Build Coastguard Worker  optional Mode audit_mode = 1;
2328*d5c09012SAndroid Build Coastguard Worker}
2329*d5c09012SAndroid Build Coastguard Worker
2330*d5c09012SAndroid Build Coastguard Worker// ProtectConfig defines the flags needed to enable/disable features for the
2331*d5c09012SAndroid Build Coastguard Worker// Protect API.
2332*d5c09012SAndroid Build Coastguard Workermessage ProtectConfig {
2333*d5c09012SAndroid Build Coastguard Worker  // WorkloadVulnerabilityMode defines mode to perform vulnerability scanning.
2334*d5c09012SAndroid Build Coastguard Worker  enum WorkloadVulnerabilityMode {
2335*d5c09012SAndroid Build Coastguard Worker    // Default value not specified.
2336*d5c09012SAndroid Build Coastguard Worker    WORKLOAD_VULNERABILITY_MODE_UNSPECIFIED = 0;
2337*d5c09012SAndroid Build Coastguard Worker
2338*d5c09012SAndroid Build Coastguard Worker    // Disables Workload Vulnerability Scanning feature on the cluster.
2339*d5c09012SAndroid Build Coastguard Worker    DISABLED = 1;
2340*d5c09012SAndroid Build Coastguard Worker
2341*d5c09012SAndroid Build Coastguard Worker    // Applies basic vulnerability scanning settings for cluster workloads.
2342*d5c09012SAndroid Build Coastguard Worker    BASIC = 2;
2343*d5c09012SAndroid Build Coastguard Worker  }
2344*d5c09012SAndroid Build Coastguard Worker
2345*d5c09012SAndroid Build Coastguard Worker  // WorkloadConfig defines which actions are enabled for a cluster's workload
2346*d5c09012SAndroid Build Coastguard Worker  // configurations.
2347*d5c09012SAndroid Build Coastguard Worker  optional WorkloadConfig workload_config = 1;
2348*d5c09012SAndroid Build Coastguard Worker
2349*d5c09012SAndroid Build Coastguard Worker  // Sets which mode to use for Protect workload vulnerability scanning feature.
2350*d5c09012SAndroid Build Coastguard Worker  optional WorkloadVulnerabilityMode workload_vulnerability_mode = 2;
2351*d5c09012SAndroid Build Coastguard Worker}
2352*d5c09012SAndroid Build Coastguard Worker
2353*d5c09012SAndroid Build Coastguard Worker// SecurityPostureConfig defines the flags needed to enable/disable features for
2354*d5c09012SAndroid Build Coastguard Worker// the Security Posture API.
2355*d5c09012SAndroid Build Coastguard Workermessage SecurityPostureConfig {
2356*d5c09012SAndroid Build Coastguard Worker  // Mode defines enablement mode for GKE Security posture features.
2357*d5c09012SAndroid Build Coastguard Worker  enum Mode {
2358*d5c09012SAndroid Build Coastguard Worker    // Default value not specified.
2359*d5c09012SAndroid Build Coastguard Worker    MODE_UNSPECIFIED = 0;
2360*d5c09012SAndroid Build Coastguard Worker
2361*d5c09012SAndroid Build Coastguard Worker    // Disables Security Posture features on the cluster.
2362*d5c09012SAndroid Build Coastguard Worker    DISABLED = 1;
2363*d5c09012SAndroid Build Coastguard Worker
2364*d5c09012SAndroid Build Coastguard Worker    // Applies Security Posture features on the cluster.
2365*d5c09012SAndroid Build Coastguard Worker    BASIC = 2;
2366*d5c09012SAndroid Build Coastguard Worker  }
2367*d5c09012SAndroid Build Coastguard Worker
2368*d5c09012SAndroid Build Coastguard Worker  // VulnerabilityMode defines enablement mode for vulnerability scanning.
2369*d5c09012SAndroid Build Coastguard Worker  enum VulnerabilityMode {
2370*d5c09012SAndroid Build Coastguard Worker    // Default value not specified.
2371*d5c09012SAndroid Build Coastguard Worker    VULNERABILITY_MODE_UNSPECIFIED = 0;
2372*d5c09012SAndroid Build Coastguard Worker
2373*d5c09012SAndroid Build Coastguard Worker    // Disables vulnerability scanning on the cluster.
2374*d5c09012SAndroid Build Coastguard Worker    VULNERABILITY_DISABLED = 1;
2375*d5c09012SAndroid Build Coastguard Worker
2376*d5c09012SAndroid Build Coastguard Worker    // Applies basic vulnerability scanning on the cluster.
2377*d5c09012SAndroid Build Coastguard Worker    VULNERABILITY_BASIC = 2;
2378*d5c09012SAndroid Build Coastguard Worker
2379*d5c09012SAndroid Build Coastguard Worker    // Applies the Security Posture's vulnerability on cluster Enterprise level
2380*d5c09012SAndroid Build Coastguard Worker    // features.
2381*d5c09012SAndroid Build Coastguard Worker    VULNERABILITY_ENTERPRISE = 3;
2382*d5c09012SAndroid Build Coastguard Worker  }
2383*d5c09012SAndroid Build Coastguard Worker
2384*d5c09012SAndroid Build Coastguard Worker  // Sets which mode to use for Security Posture features.
2385*d5c09012SAndroid Build Coastguard Worker  optional Mode mode = 1;
2386*d5c09012SAndroid Build Coastguard Worker
2387*d5c09012SAndroid Build Coastguard Worker  // Sets which mode to use for vulnerability scanning.
2388*d5c09012SAndroid Build Coastguard Worker  optional VulnerabilityMode vulnerability_mode = 2;
2389*d5c09012SAndroid Build Coastguard Worker}
2390*d5c09012SAndroid Build Coastguard Worker
2391*d5c09012SAndroid Build Coastguard Worker// Subset of Nodepool message that has defaults.
2392*d5c09012SAndroid Build Coastguard Workermessage NodePoolDefaults {
2393*d5c09012SAndroid Build Coastguard Worker  // Subset of NodeConfig message that has defaults.
2394*d5c09012SAndroid Build Coastguard Worker  NodeConfigDefaults node_config_defaults = 1;
2395*d5c09012SAndroid Build Coastguard Worker}
2396*d5c09012SAndroid Build Coastguard Worker
2397*d5c09012SAndroid Build Coastguard Worker// Subset of NodeConfig message that has defaults.
2398*d5c09012SAndroid Build Coastguard Workermessage NodeConfigDefaults {
2399*d5c09012SAndroid Build Coastguard Worker  // GCFS (Google Container File System, also known as Riptide) options.
2400*d5c09012SAndroid Build Coastguard Worker  GcfsConfig gcfs_config = 1;
2401*d5c09012SAndroid Build Coastguard Worker
2402*d5c09012SAndroid Build Coastguard Worker  // Logging configuration for node pools.
2403*d5c09012SAndroid Build Coastguard Worker  NodePoolLoggingConfig logging_config = 3;
2404*d5c09012SAndroid Build Coastguard Worker
2405*d5c09012SAndroid Build Coastguard Worker  // HostMaintenancePolicy contains the desired maintenance policy for the
2406*d5c09012SAndroid Build Coastguard Worker  // Google Compute Engine hosts.
2407*d5c09012SAndroid Build Coastguard Worker  HostMaintenancePolicy host_maintenance_policy = 5;
2408*d5c09012SAndroid Build Coastguard Worker}
2409*d5c09012SAndroid Build Coastguard Worker
2410*d5c09012SAndroid Build Coastguard Worker// node pool configs that apply to all auto-provisioned node pools
2411*d5c09012SAndroid Build Coastguard Worker// in autopilot clusters and node auto-provisioning enabled clusters
2412*d5c09012SAndroid Build Coastguard Workermessage NodePoolAutoConfig {
2413*d5c09012SAndroid Build Coastguard Worker  // The list of instance tags applied to all nodes. Tags are used to identify
2414*d5c09012SAndroid Build Coastguard Worker  // valid sources or targets for network firewalls and are specified by
2415*d5c09012SAndroid Build Coastguard Worker  // the client during cluster creation. Each tag within the list
2416*d5c09012SAndroid Build Coastguard Worker  // must comply with RFC1035.
2417*d5c09012SAndroid Build Coastguard Worker  NetworkTags network_tags = 1;
2418*d5c09012SAndroid Build Coastguard Worker
2419*d5c09012SAndroid Build Coastguard Worker  // Resource manager tag keys and values to be attached to the nodes
2420*d5c09012SAndroid Build Coastguard Worker  // for managing Compute Engine firewalls using Network Firewall Policies.
2421*d5c09012SAndroid Build Coastguard Worker  ResourceManagerTags resource_manager_tags = 2;
2422*d5c09012SAndroid Build Coastguard Worker}
2423*d5c09012SAndroid Build Coastguard Worker
2424*d5c09012SAndroid Build Coastguard Worker// ClusterUpdate describes an update to the cluster. Exactly one update can
2425*d5c09012SAndroid Build Coastguard Worker// be applied to a cluster with each request, so at most one field can be
2426*d5c09012SAndroid Build Coastguard Worker// provided.
2427*d5c09012SAndroid Build Coastguard Workermessage ClusterUpdate {
2428*d5c09012SAndroid Build Coastguard Worker  // The Kubernetes version to change the nodes to (typically an
2429*d5c09012SAndroid Build Coastguard Worker  // upgrade).
2430*d5c09012SAndroid Build Coastguard Worker  //
2431*d5c09012SAndroid Build Coastguard Worker  // Users may specify either explicit versions offered by
2432*d5c09012SAndroid Build Coastguard Worker  // Kubernetes Engine or version aliases, which have the following behavior:
2433*d5c09012SAndroid Build Coastguard Worker  //
2434*d5c09012SAndroid Build Coastguard Worker  // - "latest": picks the highest valid Kubernetes version
2435*d5c09012SAndroid Build Coastguard Worker  // - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
2436*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
2437*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y-gke.N": picks an explicit Kubernetes version
2438*d5c09012SAndroid Build Coastguard Worker  // - "-": picks the Kubernetes master version
2439*d5c09012SAndroid Build Coastguard Worker  string desired_node_version = 4;
2440*d5c09012SAndroid Build Coastguard Worker
2441*d5c09012SAndroid Build Coastguard Worker  // The monitoring service the cluster should use to write metrics.
2442*d5c09012SAndroid Build Coastguard Worker  // Currently available options:
2443*d5c09012SAndroid Build Coastguard Worker  //
2444*d5c09012SAndroid Build Coastguard Worker  // * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
2445*d5c09012SAndroid Build Coastguard Worker  // service with a Kubernetes-native resource model
2446*d5c09012SAndroid Build Coastguard Worker  // * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
2447*d5c09012SAndroid Build Coastguard Worker  //   longer available as of GKE 1.15).
2448*d5c09012SAndroid Build Coastguard Worker  // * `none` - No metrics will be exported from the cluster.
2449*d5c09012SAndroid Build Coastguard Worker  //
2450*d5c09012SAndroid Build Coastguard Worker  // If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
2451*d5c09012SAndroid Build Coastguard Worker  // used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
2452*d5c09012SAndroid Build Coastguard Worker  string desired_monitoring_service = 5;
2453*d5c09012SAndroid Build Coastguard Worker
2454*d5c09012SAndroid Build Coastguard Worker  // Configurations for the various addons available to run in the cluster.
2455*d5c09012SAndroid Build Coastguard Worker  AddonsConfig desired_addons_config = 6;
2456*d5c09012SAndroid Build Coastguard Worker
2457*d5c09012SAndroid Build Coastguard Worker  // The node pool to be upgraded. This field is mandatory if
2458*d5c09012SAndroid Build Coastguard Worker  // "desired_node_version", "desired_image_family",
2459*d5c09012SAndroid Build Coastguard Worker  // "desired_node_pool_autoscaling", or "desired_workload_metadata_config"
2460*d5c09012SAndroid Build Coastguard Worker  // is specified and there is more than one node pool on the cluster.
2461*d5c09012SAndroid Build Coastguard Worker  string desired_node_pool_id = 7;
2462*d5c09012SAndroid Build Coastguard Worker
2463*d5c09012SAndroid Build Coastguard Worker  // The desired image type for the node pool.
2464*d5c09012SAndroid Build Coastguard Worker  // NOTE: Set the "desired_node_pool" field as well.
2465*d5c09012SAndroid Build Coastguard Worker  string desired_image_type = 8;
2466*d5c09012SAndroid Build Coastguard Worker
2467*d5c09012SAndroid Build Coastguard Worker  // Autoscaler configuration for the node pool specified in
2468*d5c09012SAndroid Build Coastguard Worker  // desired_node_pool_id. If there is only one pool in the
2469*d5c09012SAndroid Build Coastguard Worker  // cluster and desired_node_pool_id is not provided then
2470*d5c09012SAndroid Build Coastguard Worker  // the change applies to that single node pool.
2471*d5c09012SAndroid Build Coastguard Worker  NodePoolAutoscaling desired_node_pool_autoscaling = 9;
2472*d5c09012SAndroid Build Coastguard Worker
2473*d5c09012SAndroid Build Coastguard Worker  // The desired list of Google Compute Engine
2474*d5c09012SAndroid Build Coastguard Worker  // [zones](https://cloud.google.com/compute/docs/zones#available) in which the
2475*d5c09012SAndroid Build Coastguard Worker  // cluster's nodes should be located.
2476*d5c09012SAndroid Build Coastguard Worker  //
2477*d5c09012SAndroid Build Coastguard Worker  // This list must always include the cluster's primary zone.
2478*d5c09012SAndroid Build Coastguard Worker  //
2479*d5c09012SAndroid Build Coastguard Worker  // Warning: changing cluster locations will update the locations of all node
2480*d5c09012SAndroid Build Coastguard Worker  // pools and will result in nodes being added and/or removed.
2481*d5c09012SAndroid Build Coastguard Worker  repeated string desired_locations = 10;
2482*d5c09012SAndroid Build Coastguard Worker
2483*d5c09012SAndroid Build Coastguard Worker  // The desired configuration options for master authorized networks feature.
2484*d5c09012SAndroid Build Coastguard Worker  MasterAuthorizedNetworksConfig desired_master_authorized_networks_config = 12;
2485*d5c09012SAndroid Build Coastguard Worker
2486*d5c09012SAndroid Build Coastguard Worker  // The desired configuration options for the PodSecurityPolicy feature.
2487*d5c09012SAndroid Build Coastguard Worker  PodSecurityPolicyConfig desired_pod_security_policy_config = 14;
2488*d5c09012SAndroid Build Coastguard Worker
2489*d5c09012SAndroid Build Coastguard Worker  // Cluster-level autoscaling configuration.
2490*d5c09012SAndroid Build Coastguard Worker  ClusterAutoscaling desired_cluster_autoscaling = 15;
2491*d5c09012SAndroid Build Coastguard Worker
2492*d5c09012SAndroid Build Coastguard Worker  // The desired configuration options for the Binary Authorization feature.
2493*d5c09012SAndroid Build Coastguard Worker  BinaryAuthorization desired_binary_authorization = 16;
2494*d5c09012SAndroid Build Coastguard Worker
2495*d5c09012SAndroid Build Coastguard Worker  // The logging service the cluster should use to write logs.
2496*d5c09012SAndroid Build Coastguard Worker  // Currently available options:
2497*d5c09012SAndroid Build Coastguard Worker  //
2498*d5c09012SAndroid Build Coastguard Worker  // * `logging.googleapis.com/kubernetes` - The Cloud Logging
2499*d5c09012SAndroid Build Coastguard Worker  // service with a Kubernetes-native resource model
2500*d5c09012SAndroid Build Coastguard Worker  // * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
2501*d5c09012SAndroid Build Coastguard Worker  //   available as of GKE 1.15).
2502*d5c09012SAndroid Build Coastguard Worker  // * `none` - no logs will be exported from the cluster.
2503*d5c09012SAndroid Build Coastguard Worker  //
2504*d5c09012SAndroid Build Coastguard Worker  // If left as an empty string,`logging.googleapis.com/kubernetes` will be
2505*d5c09012SAndroid Build Coastguard Worker  // used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
2506*d5c09012SAndroid Build Coastguard Worker  string desired_logging_service = 19;
2507*d5c09012SAndroid Build Coastguard Worker
2508*d5c09012SAndroid Build Coastguard Worker  // The desired configuration for exporting resource usage.
2509*d5c09012SAndroid Build Coastguard Worker  ResourceUsageExportConfig desired_resource_usage_export_config = 21;
2510*d5c09012SAndroid Build Coastguard Worker
2511*d5c09012SAndroid Build Coastguard Worker  // Cluster-level Vertical Pod Autoscaling configuration.
2512*d5c09012SAndroid Build Coastguard Worker  VerticalPodAutoscaling desired_vertical_pod_autoscaling = 22;
2513*d5c09012SAndroid Build Coastguard Worker
2514*d5c09012SAndroid Build Coastguard Worker  // The desired private cluster configuration.
2515*d5c09012SAndroid Build Coastguard Worker  PrivateClusterConfig desired_private_cluster_config = 25;
2516*d5c09012SAndroid Build Coastguard Worker
2517*d5c09012SAndroid Build Coastguard Worker  // The desired config of Intra-node visibility.
2518*d5c09012SAndroid Build Coastguard Worker  IntraNodeVisibilityConfig desired_intra_node_visibility_config = 26;
2519*d5c09012SAndroid Build Coastguard Worker
2520*d5c09012SAndroid Build Coastguard Worker  // The desired status of whether to disable default sNAT for this cluster.
2521*d5c09012SAndroid Build Coastguard Worker  DefaultSnatStatus desired_default_snat_status = 28;
2522*d5c09012SAndroid Build Coastguard Worker
2523*d5c09012SAndroid Build Coastguard Worker  // The desired telemetry integration for the cluster.
2524*d5c09012SAndroid Build Coastguard Worker  ClusterTelemetry desired_cluster_telemetry = 30;
2525*d5c09012SAndroid Build Coastguard Worker
2526*d5c09012SAndroid Build Coastguard Worker  // The desired release channel configuration.
2527*d5c09012SAndroid Build Coastguard Worker  ReleaseChannel desired_release_channel = 31;
2528*d5c09012SAndroid Build Coastguard Worker
2529*d5c09012SAndroid Build Coastguard Worker  // The desired Cloud TPU configuration.
2530*d5c09012SAndroid Build Coastguard Worker  TpuConfig desired_tpu_config = 38;
2531*d5c09012SAndroid Build Coastguard Worker
2532*d5c09012SAndroid Build Coastguard Worker  // The desired L4 Internal Load Balancer Subsetting configuration.
2533*d5c09012SAndroid Build Coastguard Worker  ILBSubsettingConfig desired_l4ilb_subsetting_config = 39;
2534*d5c09012SAndroid Build Coastguard Worker
2535*d5c09012SAndroid Build Coastguard Worker  // The desired datapath provider for the cluster.
2536*d5c09012SAndroid Build Coastguard Worker  DatapathProvider desired_datapath_provider = 50;
2537*d5c09012SAndroid Build Coastguard Worker
2538*d5c09012SAndroid Build Coastguard Worker  // The desired state of IPv6 connectivity to Google Services.
2539*d5c09012SAndroid Build Coastguard Worker  PrivateIPv6GoogleAccess desired_private_ipv6_google_access = 51;
2540*d5c09012SAndroid Build Coastguard Worker
2541*d5c09012SAndroid Build Coastguard Worker  // The desired notification configuration.
2542*d5c09012SAndroid Build Coastguard Worker  NotificationConfig desired_notification_config = 55;
2543*d5c09012SAndroid Build Coastguard Worker
2544*d5c09012SAndroid Build Coastguard Worker  // The Kubernetes version to change the master to. The only valid value is the
2545*d5c09012SAndroid Build Coastguard Worker  // latest supported version.
2546*d5c09012SAndroid Build Coastguard Worker  //
2547*d5c09012SAndroid Build Coastguard Worker  // Users may specify either explicit versions offered by
2548*d5c09012SAndroid Build Coastguard Worker  // Kubernetes Engine or version aliases, which have the following behavior:
2549*d5c09012SAndroid Build Coastguard Worker  //
2550*d5c09012SAndroid Build Coastguard Worker  // - "latest": picks the highest valid Kubernetes version
2551*d5c09012SAndroid Build Coastguard Worker  // - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
2552*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
2553*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y-gke.N": picks an explicit Kubernetes version
2554*d5c09012SAndroid Build Coastguard Worker  // - "-": picks the default Kubernetes version
2555*d5c09012SAndroid Build Coastguard Worker  string desired_master_version = 100;
2556*d5c09012SAndroid Build Coastguard Worker
2557*d5c09012SAndroid Build Coastguard Worker  // The desired GCFS config for the cluster.
2558*d5c09012SAndroid Build Coastguard Worker  GcfsConfig desired_gcfs_config = 109;
2559*d5c09012SAndroid Build Coastguard Worker
2560*d5c09012SAndroid Build Coastguard Worker  // Configuration of etcd encryption.
2561*d5c09012SAndroid Build Coastguard Worker  DatabaseEncryption desired_database_encryption = 46;
2562*d5c09012SAndroid Build Coastguard Worker
2563*d5c09012SAndroid Build Coastguard Worker  // Configuration for Workload Identity.
2564*d5c09012SAndroid Build Coastguard Worker  WorkloadIdentityConfig desired_workload_identity_config = 47;
2565*d5c09012SAndroid Build Coastguard Worker
2566*d5c09012SAndroid Build Coastguard Worker  // Configuration for issuance of mTLS keys and certificates to Kubernetes
2567*d5c09012SAndroid Build Coastguard Worker  // pods.
2568*d5c09012SAndroid Build Coastguard Worker  WorkloadCertificates desired_workload_certificates = 61;
2569*d5c09012SAndroid Build Coastguard Worker
2570*d5c09012SAndroid Build Coastguard Worker  // Configuration for issuance of mTLS keys and certificates to Kubernetes
2571*d5c09012SAndroid Build Coastguard Worker  // pods.
2572*d5c09012SAndroid Build Coastguard Worker  MeshCertificates desired_mesh_certificates = 67;
2573*d5c09012SAndroid Build Coastguard Worker
2574*d5c09012SAndroid Build Coastguard Worker  // Configuration for direct-path (via ALTS) with workload identity.
2575*d5c09012SAndroid Build Coastguard Worker  WorkloadALTSConfig desired_workload_alts_config = 62;
2576*d5c09012SAndroid Build Coastguard Worker
2577*d5c09012SAndroid Build Coastguard Worker  // Configuration for Shielded Nodes.
2578*d5c09012SAndroid Build Coastguard Worker  ShieldedNodes desired_shielded_nodes = 48;
2579*d5c09012SAndroid Build Coastguard Worker
2580*d5c09012SAndroid Build Coastguard Worker  // The desired configuration for the fine-grained cost management feature.
2581*d5c09012SAndroid Build Coastguard Worker  CostManagementConfig desired_cost_management_config = 49;
2582*d5c09012SAndroid Build Coastguard Worker
2583*d5c09012SAndroid Build Coastguard Worker  // Configuration for master components.
2584*d5c09012SAndroid Build Coastguard Worker  Master desired_master = 52;
2585*d5c09012SAndroid Build Coastguard Worker
2586*d5c09012SAndroid Build Coastguard Worker  // DNSConfig contains clusterDNS config for this cluster.
2587*d5c09012SAndroid Build Coastguard Worker  DNSConfig desired_dns_config = 53;
2588*d5c09012SAndroid Build Coastguard Worker
2589*d5c09012SAndroid Build Coastguard Worker  // ServiceExternalIPsConfig specifies the config for the use of Services with
2590*d5c09012SAndroid Build Coastguard Worker  // ExternalIPs field.
2591*d5c09012SAndroid Build Coastguard Worker  ServiceExternalIPsConfig desired_service_external_ips_config = 60;
2592*d5c09012SAndroid Build Coastguard Worker
2593*d5c09012SAndroid Build Coastguard Worker  // AuthenticatorGroupsConfig specifies the config for the cluster security
2594*d5c09012SAndroid Build Coastguard Worker  // groups settings.
2595*d5c09012SAndroid Build Coastguard Worker  AuthenticatorGroupsConfig desired_authenticator_groups_config = 63;
2596*d5c09012SAndroid Build Coastguard Worker
2597*d5c09012SAndroid Build Coastguard Worker  // The desired logging configuration.
2598*d5c09012SAndroid Build Coastguard Worker  LoggingConfig desired_logging_config = 64;
2599*d5c09012SAndroid Build Coastguard Worker
2600*d5c09012SAndroid Build Coastguard Worker  // The desired monitoring configuration.
2601*d5c09012SAndroid Build Coastguard Worker  MonitoringConfig desired_monitoring_config = 65;
2602*d5c09012SAndroid Build Coastguard Worker
2603*d5c09012SAndroid Build Coastguard Worker  // The desired Identity Service component configuration.
2604*d5c09012SAndroid Build Coastguard Worker  IdentityServiceConfig desired_identity_service_config = 66;
2605*d5c09012SAndroid Build Coastguard Worker
2606*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable private endpoint for the cluster's master.
2607*d5c09012SAndroid Build Coastguard Worker  optional bool desired_enable_private_endpoint = 71;
2608*d5c09012SAndroid Build Coastguard Worker
2609*d5c09012SAndroid Build Coastguard Worker  // The desired network tags that apply to all auto-provisioned node pools
2610*d5c09012SAndroid Build Coastguard Worker  // in autopilot clusters and node auto-provisioning enabled clusters.
2611*d5c09012SAndroid Build Coastguard Worker  NetworkTags desired_node_pool_auto_config_network_tags = 110;
2612*d5c09012SAndroid Build Coastguard Worker
2613*d5c09012SAndroid Build Coastguard Worker  // Deprecated: Use DesiredSecurityPostureConfig instead.
2614*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable Protect API features for the cluster.
2615*d5c09012SAndroid Build Coastguard Worker  optional ProtectConfig desired_protect_config = 112 [deprecated = true];
2616*d5c09012SAndroid Build Coastguard Worker
2617*d5c09012SAndroid Build Coastguard Worker  // The desired config of Gateway API on this cluster.
2618*d5c09012SAndroid Build Coastguard Worker  GatewayAPIConfig desired_gateway_api_config = 114;
2619*d5c09012SAndroid Build Coastguard Worker
2620*d5c09012SAndroid Build Coastguard Worker  // The current etag of the cluster.
2621*d5c09012SAndroid Build Coastguard Worker  // If an etag is provided and does not match the current etag of the cluster,
2622*d5c09012SAndroid Build Coastguard Worker  // update will be blocked and an ABORTED error will be returned.
2623*d5c09012SAndroid Build Coastguard Worker  string etag = 115;
2624*d5c09012SAndroid Build Coastguard Worker
2625*d5c09012SAndroid Build Coastguard Worker  // The desired node pool logging configuration defaults for the cluster.
2626*d5c09012SAndroid Build Coastguard Worker  NodePoolLoggingConfig desired_node_pool_logging_config = 116;
2627*d5c09012SAndroid Build Coastguard Worker
2628*d5c09012SAndroid Build Coastguard Worker  // The desired fleet configuration for the cluster.
2629*d5c09012SAndroid Build Coastguard Worker  Fleet desired_fleet = 117;
2630*d5c09012SAndroid Build Coastguard Worker
2631*d5c09012SAndroid Build Coastguard Worker  // The desired stack type of the cluster.
2632*d5c09012SAndroid Build Coastguard Worker  // If a stack type is provided and does not match the current stack type of
2633*d5c09012SAndroid Build Coastguard Worker  // the cluster, update will attempt to change the stack type to the new type.
2634*d5c09012SAndroid Build Coastguard Worker  StackType desired_stack_type = 119;
2635*d5c09012SAndroid Build Coastguard Worker
2636*d5c09012SAndroid Build Coastguard Worker  // The additional pod ranges to be added to the cluster. These pod ranges
2637*d5c09012SAndroid Build Coastguard Worker  // can be used by node pools to allocate pod IPs.
2638*d5c09012SAndroid Build Coastguard Worker  AdditionalPodRangesConfig additional_pod_ranges_config = 120;
2639*d5c09012SAndroid Build Coastguard Worker
2640*d5c09012SAndroid Build Coastguard Worker  // The additional pod ranges that are to be removed from the cluster.
2641*d5c09012SAndroid Build Coastguard Worker  // The pod ranges specified here must have been specified earlier in the
2642*d5c09012SAndroid Build Coastguard Worker  // 'additional_pod_ranges_config' argument.
2643*d5c09012SAndroid Build Coastguard Worker  AdditionalPodRangesConfig removed_additional_pod_ranges_config = 121;
2644*d5c09012SAndroid Build Coastguard Worker
2645*d5c09012SAndroid Build Coastguard Worker  // Kubernetes open source beta apis enabled on the cluster. Only beta apis
2646*d5c09012SAndroid Build Coastguard Worker  K8sBetaAPIConfig enable_k8s_beta_apis = 122;
2647*d5c09012SAndroid Build Coastguard Worker
2648*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable Security Posture API features for the cluster.
2649*d5c09012SAndroid Build Coastguard Worker  SecurityPostureConfig desired_security_posture_config = 124;
2650*d5c09012SAndroid Build Coastguard Worker
2651*d5c09012SAndroid Build Coastguard Worker  // The desired network performance config.
2652*d5c09012SAndroid Build Coastguard Worker  NetworkConfig.ClusterNetworkPerformanceConfig
2653*d5c09012SAndroid Build Coastguard Worker      desired_network_performance_config = 125;
2654*d5c09012SAndroid Build Coastguard Worker
2655*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable FQDN Network Policy for the cluster.
2656*d5c09012SAndroid Build Coastguard Worker  optional bool desired_enable_fqdn_network_policy = 126;
2657*d5c09012SAndroid Build Coastguard Worker
2658*d5c09012SAndroid Build Coastguard Worker  // The desired workload policy configuration for the autopilot cluster.
2659*d5c09012SAndroid Build Coastguard Worker  WorkloadPolicyConfig desired_autopilot_workload_policy_config = 128;
2660*d5c09012SAndroid Build Coastguard Worker
2661*d5c09012SAndroid Build Coastguard Worker  // Beta APIs enabled for cluster.
2662*d5c09012SAndroid Build Coastguard Worker  K8sBetaAPIConfig desired_k8s_beta_apis = 131;
2663*d5c09012SAndroid Build Coastguard Worker
2664*d5c09012SAndroid Build Coastguard Worker  // HostMaintenancePolicy contains the desired maintenance policy for the
2665*d5c09012SAndroid Build Coastguard Worker  // Google Compute Engine hosts.
2666*d5c09012SAndroid Build Coastguard Worker  HostMaintenancePolicy desired_host_maintenance_policy = 132;
2667*d5c09012SAndroid Build Coastguard Worker
2668*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable Multi-Networking for the cluster
2669*d5c09012SAndroid Build Coastguard Worker  optional bool desired_enable_multi_networking = 135;
2670*d5c09012SAndroid Build Coastguard Worker
2671*d5c09012SAndroid Build Coastguard Worker  // The desired resource manager tags that apply to all auto-provisioned node
2672*d5c09012SAndroid Build Coastguard Worker  // pools in autopilot clusters and node auto-provisioning enabled clusters.
2673*d5c09012SAndroid Build Coastguard Worker  ResourceManagerTags desired_node_pool_auto_config_resource_manager_tags = 136;
2674*d5c09012SAndroid Build Coastguard Worker
2675*d5c09012SAndroid Build Coastguard Worker  // Specify the details of in-transit encryption.
2676*d5c09012SAndroid Build Coastguard Worker  optional InTransitEncryptionConfig desired_in_transit_encryption_config = 137;
2677*d5c09012SAndroid Build Coastguard Worker
2678*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable Cilium Clusterwide Network Policy for the cluster.
2679*d5c09012SAndroid Build Coastguard Worker  optional bool desired_enable_cilium_clusterwide_network_policy = 138;
2680*d5c09012SAndroid Build Coastguard Worker
2681*d5c09012SAndroid Build Coastguard Worker  // Enable/Disable Secret Manager Config.
2682*d5c09012SAndroid Build Coastguard Worker  optional SecretManagerConfig desired_secret_manager_config = 139;
2683*d5c09012SAndroid Build Coastguard Worker}
2684*d5c09012SAndroid Build Coastguard Worker
2685*d5c09012SAndroid Build Coastguard Worker// AdditionalPodRangesConfig is the configuration for additional pod secondary
2686*d5c09012SAndroid Build Coastguard Worker// ranges supporting the ClusterUpdate message.
2687*d5c09012SAndroid Build Coastguard Workermessage AdditionalPodRangesConfig {
2688*d5c09012SAndroid Build Coastguard Worker  // Name for pod secondary ipv4 range which has the actual range defined ahead.
2689*d5c09012SAndroid Build Coastguard Worker  repeated string pod_range_names = 1;
2690*d5c09012SAndroid Build Coastguard Worker
2691*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] Information for additional pod range.
2692*d5c09012SAndroid Build Coastguard Worker  repeated RangeInfo pod_range_info = 2
2693*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
2694*d5c09012SAndroid Build Coastguard Worker}
2695*d5c09012SAndroid Build Coastguard Worker
2696*d5c09012SAndroid Build Coastguard Worker// RangeInfo contains the range name and the range utilization by this cluster.
2697*d5c09012SAndroid Build Coastguard Workermessage RangeInfo {
2698*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] Name of a range.
2699*d5c09012SAndroid Build Coastguard Worker  string range_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
2700*d5c09012SAndroid Build Coastguard Worker
2701*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] The utilization of the range.
2702*d5c09012SAndroid Build Coastguard Worker  double utilization = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
2703*d5c09012SAndroid Build Coastguard Worker}
2704*d5c09012SAndroid Build Coastguard Worker
2705*d5c09012SAndroid Build Coastguard Worker// This operation resource represents operations that may have happened or are
2706*d5c09012SAndroid Build Coastguard Worker// happening on the cluster. All fields are output only.
2707*d5c09012SAndroid Build Coastguard Workermessage Operation {
2708*d5c09012SAndroid Build Coastguard Worker  // Current status of the operation.
2709*d5c09012SAndroid Build Coastguard Worker  enum Status {
2710*d5c09012SAndroid Build Coastguard Worker    // Not set.
2711*d5c09012SAndroid Build Coastguard Worker    STATUS_UNSPECIFIED = 0;
2712*d5c09012SAndroid Build Coastguard Worker
2713*d5c09012SAndroid Build Coastguard Worker    // The operation has been created.
2714*d5c09012SAndroid Build Coastguard Worker    PENDING = 1;
2715*d5c09012SAndroid Build Coastguard Worker
2716*d5c09012SAndroid Build Coastguard Worker    // The operation is currently running.
2717*d5c09012SAndroid Build Coastguard Worker    RUNNING = 2;
2718*d5c09012SAndroid Build Coastguard Worker
2719*d5c09012SAndroid Build Coastguard Worker    // The operation is done, either cancelled or completed.
2720*d5c09012SAndroid Build Coastguard Worker    DONE = 3;
2721*d5c09012SAndroid Build Coastguard Worker
2722*d5c09012SAndroid Build Coastguard Worker    // The operation is aborting.
2723*d5c09012SAndroid Build Coastguard Worker    ABORTING = 4;
2724*d5c09012SAndroid Build Coastguard Worker  }
2725*d5c09012SAndroid Build Coastguard Worker
2726*d5c09012SAndroid Build Coastguard Worker  // Operation type categorizes the operation.
2727*d5c09012SAndroid Build Coastguard Worker  enum Type {
2728*d5c09012SAndroid Build Coastguard Worker    // Not set.
2729*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
2730*d5c09012SAndroid Build Coastguard Worker
2731*d5c09012SAndroid Build Coastguard Worker    // The cluster is being created. The cluster should be assumed to be
2732*d5c09012SAndroid Build Coastguard Worker    // unusable until the operation finishes.
2733*d5c09012SAndroid Build Coastguard Worker    //
2734*d5c09012SAndroid Build Coastguard Worker    // In the event of the operation failing, the cluster will enter the [ERROR
2735*d5c09012SAndroid Build Coastguard Worker    // state][Cluster.Status.ERROR] and eventually be deleted.
2736*d5c09012SAndroid Build Coastguard Worker    CREATE_CLUSTER = 1;
2737*d5c09012SAndroid Build Coastguard Worker
2738*d5c09012SAndroid Build Coastguard Worker    // The cluster is being deleted. The cluster should be assumed to be
2739*d5c09012SAndroid Build Coastguard Worker    // unusable as soon as this operation starts.
2740*d5c09012SAndroid Build Coastguard Worker    //
2741*d5c09012SAndroid Build Coastguard Worker    // In the event of the operation failing, the cluster will enter the [ERROR
2742*d5c09012SAndroid Build Coastguard Worker    // state][Cluster.Status.ERROR] and the deletion will be automatically
2743*d5c09012SAndroid Build Coastguard Worker    // retried until completed.
2744*d5c09012SAndroid Build Coastguard Worker    DELETE_CLUSTER = 2;
2745*d5c09012SAndroid Build Coastguard Worker
2746*d5c09012SAndroid Build Coastguard Worker    // The [cluster
2747*d5c09012SAndroid Build Coastguard Worker    // version][google.container.v1beta1.ClusterUpdate.desired_master_version]
2748*d5c09012SAndroid Build Coastguard Worker    // is being updated. Note that this includes "upgrades" to the same version,
2749*d5c09012SAndroid Build Coastguard Worker    // which are simply a recreation. This also includes
2750*d5c09012SAndroid Build Coastguard Worker    // [auto-upgrades](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-upgrades#upgrading_automatically).
2751*d5c09012SAndroid Build Coastguard Worker    // For more details, see [documentation on cluster
2752*d5c09012SAndroid Build Coastguard Worker    // upgrades](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-upgrades#cluster_upgrades).
2753*d5c09012SAndroid Build Coastguard Worker    UPGRADE_MASTER = 3;
2754*d5c09012SAndroid Build Coastguard Worker
2755*d5c09012SAndroid Build Coastguard Worker    // A node pool is being updated. Despite calling this an "upgrade", this
2756*d5c09012SAndroid Build Coastguard Worker    // includes most forms of updates to node pools. This also includes
2757*d5c09012SAndroid Build Coastguard Worker    // [auto-upgrades](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-upgrades).
2758*d5c09012SAndroid Build Coastguard Worker    //
2759*d5c09012SAndroid Build Coastguard Worker    // This operation sets the
2760*d5c09012SAndroid Build Coastguard Worker    // [progress][google.container.v1beta1.Operation.progress] field and may be
2761*d5c09012SAndroid Build Coastguard Worker    // [canceled][google.container.v1beta1.ClusterManager.CancelOperation].
2762*d5c09012SAndroid Build Coastguard Worker    //
2763*d5c09012SAndroid Build Coastguard Worker    // The upgrade strategy depends on [node pool
2764*d5c09012SAndroid Build Coastguard Worker    // configuration](https://cloud.google.com/kubernetes-engine/docs/concepts/node-pool-upgrade-strategies).
2765*d5c09012SAndroid Build Coastguard Worker    // The nodes are generally still usable during this operation.
2766*d5c09012SAndroid Build Coastguard Worker    UPGRADE_NODES = 4;
2767*d5c09012SAndroid Build Coastguard Worker
2768*d5c09012SAndroid Build Coastguard Worker    // A problem has been detected with the control plane and is being repaired.
2769*d5c09012SAndroid Build Coastguard Worker    // This operation type is initiated by GKE. For more details, see
2770*d5c09012SAndroid Build Coastguard Worker    // [documentation on
2771*d5c09012SAndroid Build Coastguard Worker    // repairs](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions#repairs).
2772*d5c09012SAndroid Build Coastguard Worker    REPAIR_CLUSTER = 5;
2773*d5c09012SAndroid Build Coastguard Worker
2774*d5c09012SAndroid Build Coastguard Worker    // The cluster is being updated. This is a broad category of operations and
2775*d5c09012SAndroid Build Coastguard Worker    // includes operations that only change metadata as well as those that must
2776*d5c09012SAndroid Build Coastguard Worker    // recreate the entire cluster. If the control plane must be recreated, this
2777*d5c09012SAndroid Build Coastguard Worker    // will cause temporary downtime for zonal clusters.
2778*d5c09012SAndroid Build Coastguard Worker    //
2779*d5c09012SAndroid Build Coastguard Worker    // Some features require recreating the nodes as well. Those will be
2780*d5c09012SAndroid Build Coastguard Worker    // recreated as separate operations and the update may not be completely
2781*d5c09012SAndroid Build Coastguard Worker    // functional until the node pools recreations finish. Node recreations will
2782*d5c09012SAndroid Build Coastguard Worker    // generally follow [maintenance
2783*d5c09012SAndroid Build Coastguard Worker    // policies](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions).
2784*d5c09012SAndroid Build Coastguard Worker    //
2785*d5c09012SAndroid Build Coastguard Worker    // Some GKE-initiated operations use this type. This includes certain types
2786*d5c09012SAndroid Build Coastguard Worker    // of auto-upgrades and incident mitigations.
2787*d5c09012SAndroid Build Coastguard Worker    UPDATE_CLUSTER = 6;
2788*d5c09012SAndroid Build Coastguard Worker
2789*d5c09012SAndroid Build Coastguard Worker    // A node pool is being created. The node pool should be assumed to be
2790*d5c09012SAndroid Build Coastguard Worker    // unusable until this operation finishes. In the event of an error, the
2791*d5c09012SAndroid Build Coastguard Worker    // node pool may be partially created.
2792*d5c09012SAndroid Build Coastguard Worker    //
2793*d5c09012SAndroid Build Coastguard Worker    // If enabled, [node
2794*d5c09012SAndroid Build Coastguard Worker    // autoprovisioning](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-provisioning)
2795*d5c09012SAndroid Build Coastguard Worker    // may have automatically initiated such operations.
2796*d5c09012SAndroid Build Coastguard Worker    CREATE_NODE_POOL = 7;
2797*d5c09012SAndroid Build Coastguard Worker
2798*d5c09012SAndroid Build Coastguard Worker    // The node pool is being deleted. The node pool should be assumed to be
2799*d5c09012SAndroid Build Coastguard Worker    // unusable as soon as this operation starts.
2800*d5c09012SAndroid Build Coastguard Worker    DELETE_NODE_POOL = 8;
2801*d5c09012SAndroid Build Coastguard Worker
2802*d5c09012SAndroid Build Coastguard Worker    // The node pool's
2803*d5c09012SAndroid Build Coastguard Worker    // [manamagent][google.container.v1beta1.NodePool.management] field is being
2804*d5c09012SAndroid Build Coastguard Worker    // updated. These operations only update metadata and may be concurrent with
2805*d5c09012SAndroid Build Coastguard Worker    // most other operations.
2806*d5c09012SAndroid Build Coastguard Worker    SET_NODE_POOL_MANAGEMENT = 9;
2807*d5c09012SAndroid Build Coastguard Worker
2808*d5c09012SAndroid Build Coastguard Worker    // A problem has been detected with nodes and [they are being
2809*d5c09012SAndroid Build Coastguard Worker    // repaired](https://cloud.google.com/kubernetes-engine/docs/how-to/node-auto-repair).
2810*d5c09012SAndroid Build Coastguard Worker    // This operation type is initiated by GKE, typically automatically. This
2811*d5c09012SAndroid Build Coastguard Worker    // operation may be concurrent with other operations and there may be
2812*d5c09012SAndroid Build Coastguard Worker    // multiple repairs occurring on the same node pool.
2813*d5c09012SAndroid Build Coastguard Worker    AUTO_REPAIR_NODES = 10;
2814*d5c09012SAndroid Build Coastguard Worker
2815*d5c09012SAndroid Build Coastguard Worker    // Unused. Automatic node upgrade uses
2816*d5c09012SAndroid Build Coastguard Worker    // [UPGRADE_NODES][google.container.v1beta1.Operation.Type.UPGRADE_NODES].
2817*d5c09012SAndroid Build Coastguard Worker    AUTO_UPGRADE_NODES = 11 [deprecated = true];
2818*d5c09012SAndroid Build Coastguard Worker
2819*d5c09012SAndroid Build Coastguard Worker    // Unused. Updating labels uses
2820*d5c09012SAndroid Build Coastguard Worker    // [UPDATE_CLUSTER][google.container.v1beta1.Operation.Type.UPDATE_CLUSTER].
2821*d5c09012SAndroid Build Coastguard Worker    SET_LABELS = 12 [deprecated = true];
2822*d5c09012SAndroid Build Coastguard Worker
2823*d5c09012SAndroid Build Coastguard Worker    // Unused. Updating master auth uses
2824*d5c09012SAndroid Build Coastguard Worker    // [UPDATE_CLUSTER][google.container.v1beta1.Operation.Type.UPDATE_CLUSTER].
2825*d5c09012SAndroid Build Coastguard Worker    SET_MASTER_AUTH = 13 [deprecated = true];
2826*d5c09012SAndroid Build Coastguard Worker
2827*d5c09012SAndroid Build Coastguard Worker    // The node pool is being resized. With the exception of resizing to or from
2828*d5c09012SAndroid Build Coastguard Worker    // size zero, the node pool is generally usable during this operation.
2829*d5c09012SAndroid Build Coastguard Worker    SET_NODE_POOL_SIZE = 14;
2830*d5c09012SAndroid Build Coastguard Worker
2831*d5c09012SAndroid Build Coastguard Worker    // Unused. Updating network policy uses
2832*d5c09012SAndroid Build Coastguard Worker    // [UPDATE_CLUSTER][google.container.v1beta1.Operation.Type.UPDATE_CLUSTER].
2833*d5c09012SAndroid Build Coastguard Worker    SET_NETWORK_POLICY = 15 [deprecated = true];
2834*d5c09012SAndroid Build Coastguard Worker
2835*d5c09012SAndroid Build Coastguard Worker    // Unused. Updating maintenance policy uses
2836*d5c09012SAndroid Build Coastguard Worker    // [UPDATE_CLUSTER][google.container.v1beta1.Operation.Type.UPDATE_CLUSTER].
2837*d5c09012SAndroid Build Coastguard Worker    SET_MAINTENANCE_POLICY = 16 [deprecated = true];
2838*d5c09012SAndroid Build Coastguard Worker
2839*d5c09012SAndroid Build Coastguard Worker    // The control plane is being resized. This operation type is initiated by
2840*d5c09012SAndroid Build Coastguard Worker    // GKE. These operations are often performed preemptively to ensure that the
2841*d5c09012SAndroid Build Coastguard Worker    // control plane has sufficient resources and is not typically an indication
2842*d5c09012SAndroid Build Coastguard Worker    // of issues. For more details, see
2843*d5c09012SAndroid Build Coastguard Worker    // [documentation on
2844*d5c09012SAndroid Build Coastguard Worker    // resizes](https://cloud.google.com/kubernetes-engine/docs/concepts/maintenance-windows-and-exclusions#repairs).
2845*d5c09012SAndroid Build Coastguard Worker    RESIZE_CLUSTER = 18;
2846*d5c09012SAndroid Build Coastguard Worker
2847*d5c09012SAndroid Build Coastguard Worker    // Fleet features of GKE Enterprise are being upgraded. The cluster should
2848*d5c09012SAndroid Build Coastguard Worker    // be assumed to be blocked for other upgrades until the operation finishes.
2849*d5c09012SAndroid Build Coastguard Worker    FLEET_FEATURE_UPGRADE = 19;
2850*d5c09012SAndroid Build Coastguard Worker  }
2851*d5c09012SAndroid Build Coastguard Worker
2852*d5c09012SAndroid Build Coastguard Worker  // The server-assigned ID for the operation.
2853*d5c09012SAndroid Build Coastguard Worker  string name = 1;
2854*d5c09012SAndroid Build Coastguard Worker
2855*d5c09012SAndroid Build Coastguard Worker  // The name of the Google Compute Engine
2856*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2857*d5c09012SAndroid Build Coastguard Worker  // operation is taking place. This field is deprecated, use location instead.
2858*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true];
2859*d5c09012SAndroid Build Coastguard Worker
2860*d5c09012SAndroid Build Coastguard Worker  // The operation type.
2861*d5c09012SAndroid Build Coastguard Worker  Type operation_type = 3;
2862*d5c09012SAndroid Build Coastguard Worker
2863*d5c09012SAndroid Build Coastguard Worker  // The current status of the operation.
2864*d5c09012SAndroid Build Coastguard Worker  Status status = 4;
2865*d5c09012SAndroid Build Coastguard Worker
2866*d5c09012SAndroid Build Coastguard Worker  // Detailed operation progress, if available.
2867*d5c09012SAndroid Build Coastguard Worker  string detail = 8;
2868*d5c09012SAndroid Build Coastguard Worker
2869*d5c09012SAndroid Build Coastguard Worker  // Output only. If an error has occurred, a textual description of the error.
2870*d5c09012SAndroid Build Coastguard Worker  // Deprecated. Use field error instead.
2871*d5c09012SAndroid Build Coastguard Worker  string status_message = 5
2872*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = OUTPUT_ONLY];
2873*d5c09012SAndroid Build Coastguard Worker
2874*d5c09012SAndroid Build Coastguard Worker  // Server-defined URI for the operation. Example:
2875*d5c09012SAndroid Build Coastguard Worker  // `https://container.googleapis.com/v1alpha1/projects/123/locations/us-central1/operations/operation-123`.
2876*d5c09012SAndroid Build Coastguard Worker  string self_link = 6;
2877*d5c09012SAndroid Build Coastguard Worker
2878*d5c09012SAndroid Build Coastguard Worker  // Server-defined URI for the target of the operation. The format of this is a
2879*d5c09012SAndroid Build Coastguard Worker  // URI to the resource being modified (such as a cluster, node pool, or node).
2880*d5c09012SAndroid Build Coastguard Worker  // For node pool repairs, there may be multiple nodes being repaired, but only
2881*d5c09012SAndroid Build Coastguard Worker  // one will be the target.
2882*d5c09012SAndroid Build Coastguard Worker  //
2883*d5c09012SAndroid Build Coastguard Worker  // Examples:
2884*d5c09012SAndroid Build Coastguard Worker  //
2885*d5c09012SAndroid Build Coastguard Worker  // -
2886*d5c09012SAndroid Build Coastguard Worker  // ##
2887*d5c09012SAndroid Build Coastguard Worker  // `https://container.googleapis.com/v1/projects/123/locations/us-central1/clusters/my-cluster`
2888*d5c09012SAndroid Build Coastguard Worker  //
2889*d5c09012SAndroid Build Coastguard Worker  // ##
2890*d5c09012SAndroid Build Coastguard Worker  // `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np`
2891*d5c09012SAndroid Build Coastguard Worker  //
2892*d5c09012SAndroid Build Coastguard Worker  // `https://container.googleapis.com/v1/projects/123/zones/us-central1-c/clusters/my-cluster/nodePools/my-np/node/my-node`
2893*d5c09012SAndroid Build Coastguard Worker  string target_link = 7;
2894*d5c09012SAndroid Build Coastguard Worker
2895*d5c09012SAndroid Build Coastguard Worker  // [Output only] The name of the Google Compute Engine
2896*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
2897*d5c09012SAndroid Build Coastguard Worker  // or
2898*d5c09012SAndroid Build Coastguard Worker  // [region](https://cloud.google.com/compute/docs/regions-zones/regions-zones#available)
2899*d5c09012SAndroid Build Coastguard Worker  // in which the cluster resides.
2900*d5c09012SAndroid Build Coastguard Worker  string location = 9;
2901*d5c09012SAndroid Build Coastguard Worker
2902*d5c09012SAndroid Build Coastguard Worker  // [Output only] The time the operation started, in
2903*d5c09012SAndroid Build Coastguard Worker  // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2904*d5c09012SAndroid Build Coastguard Worker  string start_time = 10;
2905*d5c09012SAndroid Build Coastguard Worker
2906*d5c09012SAndroid Build Coastguard Worker  // [Output only] The time the operation completed, in
2907*d5c09012SAndroid Build Coastguard Worker  // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
2908*d5c09012SAndroid Build Coastguard Worker  string end_time = 11;
2909*d5c09012SAndroid Build Coastguard Worker
2910*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] Progress information for an operation.
2911*d5c09012SAndroid Build Coastguard Worker  OperationProgress progress = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
2912*d5c09012SAndroid Build Coastguard Worker
2913*d5c09012SAndroid Build Coastguard Worker  // Which conditions caused the current cluster state.
2914*d5c09012SAndroid Build Coastguard Worker  // Deprecated. Use field error instead.
2915*d5c09012SAndroid Build Coastguard Worker  repeated StatusCondition cluster_conditions = 13 [deprecated = true];
2916*d5c09012SAndroid Build Coastguard Worker
2917*d5c09012SAndroid Build Coastguard Worker  // Which conditions caused the current node pool state.
2918*d5c09012SAndroid Build Coastguard Worker  // Deprecated. Use field error instead.
2919*d5c09012SAndroid Build Coastguard Worker  repeated StatusCondition nodepool_conditions = 14 [deprecated = true];
2920*d5c09012SAndroid Build Coastguard Worker
2921*d5c09012SAndroid Build Coastguard Worker  // The error result of the operation in case of failure.
2922*d5c09012SAndroid Build Coastguard Worker  google.rpc.Status error = 15;
2923*d5c09012SAndroid Build Coastguard Worker}
2924*d5c09012SAndroid Build Coastguard Worker
2925*d5c09012SAndroid Build Coastguard Worker// Information about operation (or operation stage) progress.
2926*d5c09012SAndroid Build Coastguard Workermessage OperationProgress {
2927*d5c09012SAndroid Build Coastguard Worker  // Progress metric is (string, int|float|string) pair.
2928*d5c09012SAndroid Build Coastguard Worker  message Metric {
2929*d5c09012SAndroid Build Coastguard Worker    // Required. Metric name, e.g., "nodes total", "percent done".
2930*d5c09012SAndroid Build Coastguard Worker    string name = 1 [(google.api.field_behavior) = REQUIRED];
2931*d5c09012SAndroid Build Coastguard Worker
2932*d5c09012SAndroid Build Coastguard Worker    // Strictly one of the values is required.
2933*d5c09012SAndroid Build Coastguard Worker    oneof value {
2934*d5c09012SAndroid Build Coastguard Worker      // For metrics with integer value.
2935*d5c09012SAndroid Build Coastguard Worker      int64 int_value = 2;
2936*d5c09012SAndroid Build Coastguard Worker
2937*d5c09012SAndroid Build Coastguard Worker      // For metrics with floating point value.
2938*d5c09012SAndroid Build Coastguard Worker      double double_value = 3;
2939*d5c09012SAndroid Build Coastguard Worker
2940*d5c09012SAndroid Build Coastguard Worker      // For metrics with custom values (ratios, visual progress, etc.).
2941*d5c09012SAndroid Build Coastguard Worker      string string_value = 4;
2942*d5c09012SAndroid Build Coastguard Worker    }
2943*d5c09012SAndroid Build Coastguard Worker  }
2944*d5c09012SAndroid Build Coastguard Worker
2945*d5c09012SAndroid Build Coastguard Worker  // A non-parameterized string describing an operation stage.
2946*d5c09012SAndroid Build Coastguard Worker  // Unset for single-stage operations.
2947*d5c09012SAndroid Build Coastguard Worker  string name = 1;
2948*d5c09012SAndroid Build Coastguard Worker
2949*d5c09012SAndroid Build Coastguard Worker  // Status of an operation stage.
2950*d5c09012SAndroid Build Coastguard Worker  // Unset for single-stage operations.
2951*d5c09012SAndroid Build Coastguard Worker  Operation.Status status = 2;
2952*d5c09012SAndroid Build Coastguard Worker
2953*d5c09012SAndroid Build Coastguard Worker  // Progress metric bundle, for example:
2954*d5c09012SAndroid Build Coastguard Worker  //   metrics: [{name: "nodes done",     int_value: 15},
2955*d5c09012SAndroid Build Coastguard Worker  //             {name: "nodes total",    int_value: 32}]
2956*d5c09012SAndroid Build Coastguard Worker  // or
2957*d5c09012SAndroid Build Coastguard Worker  //   metrics: [{name: "progress",       double_value: 0.56},
2958*d5c09012SAndroid Build Coastguard Worker  //             {name: "progress scale", double_value: 1.0}]
2959*d5c09012SAndroid Build Coastguard Worker  repeated Metric metrics = 3;
2960*d5c09012SAndroid Build Coastguard Worker
2961*d5c09012SAndroid Build Coastguard Worker  // Substages of an operation or a stage.
2962*d5c09012SAndroid Build Coastguard Worker  repeated OperationProgress stages = 4;
2963*d5c09012SAndroid Build Coastguard Worker}
2964*d5c09012SAndroid Build Coastguard Worker
2965*d5c09012SAndroid Build Coastguard Worker// CreateClusterRequest creates a cluster.
2966*d5c09012SAndroid Build Coastguard Workermessage CreateClusterRequest {
2967*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
2968*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2969*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the parent field.
2970*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
2971*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
2972*d5c09012SAndroid Build Coastguard Worker
2973*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
2974*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2975*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the parent
2976*d5c09012SAndroid Build Coastguard Worker  // field.
2977*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
2978*d5c09012SAndroid Build Coastguard Worker
2979*d5c09012SAndroid Build Coastguard Worker  // Required. A [cluster
2980*d5c09012SAndroid Build Coastguard Worker  // resource](https://cloud.google.com/container-engine/reference/rest/v1beta1/projects.locations.clusters)
2981*d5c09012SAndroid Build Coastguard Worker  Cluster cluster = 3 [(google.api.field_behavior) = REQUIRED];
2982*d5c09012SAndroid Build Coastguard Worker
2983*d5c09012SAndroid Build Coastguard Worker  // The parent (project and location) where the cluster will be created.
2984*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*`.
2985*d5c09012SAndroid Build Coastguard Worker  string parent = 5;
2986*d5c09012SAndroid Build Coastguard Worker}
2987*d5c09012SAndroid Build Coastguard Worker
2988*d5c09012SAndroid Build Coastguard Worker// GetClusterRequest gets the settings of a cluster.
2989*d5c09012SAndroid Build Coastguard Workermessage GetClusterRequest {
2990*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
2991*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
2992*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
2993*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
2994*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
2995*d5c09012SAndroid Build Coastguard Worker
2996*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
2997*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
2998*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
2999*d5c09012SAndroid Build Coastguard Worker  // field.
3000*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3001*d5c09012SAndroid Build Coastguard Worker
3002*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to retrieve.
3003*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3004*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3005*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3006*d5c09012SAndroid Build Coastguard Worker
3007*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to retrieve.
3008*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3009*d5c09012SAndroid Build Coastguard Worker  string name = 5;
3010*d5c09012SAndroid Build Coastguard Worker}
3011*d5c09012SAndroid Build Coastguard Worker
3012*d5c09012SAndroid Build Coastguard Worker// UpdateClusterRequest updates the settings of a cluster.
3013*d5c09012SAndroid Build Coastguard Workermessage UpdateClusterRequest {
3014*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3015*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3016*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3017*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3018*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3019*d5c09012SAndroid Build Coastguard Worker
3020*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3021*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3022*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3023*d5c09012SAndroid Build Coastguard Worker  // field.
3024*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3025*d5c09012SAndroid Build Coastguard Worker
3026*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3027*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3028*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3029*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3030*d5c09012SAndroid Build Coastguard Worker
3031*d5c09012SAndroid Build Coastguard Worker  // Required. A description of the update.
3032*d5c09012SAndroid Build Coastguard Worker  ClusterUpdate update = 4 [(google.api.field_behavior) = REQUIRED];
3033*d5c09012SAndroid Build Coastguard Worker
3034*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to update.
3035*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3036*d5c09012SAndroid Build Coastguard Worker  string name = 5;
3037*d5c09012SAndroid Build Coastguard Worker}
3038*d5c09012SAndroid Build Coastguard Worker
3039*d5c09012SAndroid Build Coastguard Worker// SetNodePoolVersionRequest updates the version of a node pool.
3040*d5c09012SAndroid Build Coastguard Workermessage UpdateNodePoolRequest {
3041*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3042*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3043*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3044*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3045*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3046*d5c09012SAndroid Build Coastguard Worker
3047*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3048*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3049*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3050*d5c09012SAndroid Build Coastguard Worker  // field.
3051*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3052*d5c09012SAndroid Build Coastguard Worker
3053*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3054*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3055*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3056*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3057*d5c09012SAndroid Build Coastguard Worker
3058*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the node pool to upgrade.
3059*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3060*d5c09012SAndroid Build Coastguard Worker  string node_pool_id = 4
3061*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3062*d5c09012SAndroid Build Coastguard Worker
3063*d5c09012SAndroid Build Coastguard Worker  // Required. The Kubernetes version to change the nodes to (typically an
3064*d5c09012SAndroid Build Coastguard Worker  // upgrade).
3065*d5c09012SAndroid Build Coastguard Worker  //
3066*d5c09012SAndroid Build Coastguard Worker  // Users may specify either explicit versions offered by Kubernetes Engine or
3067*d5c09012SAndroid Build Coastguard Worker  // version aliases, which have the following behavior:
3068*d5c09012SAndroid Build Coastguard Worker  //
3069*d5c09012SAndroid Build Coastguard Worker  // - "latest": picks the highest valid Kubernetes version
3070*d5c09012SAndroid Build Coastguard Worker  // - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
3071*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
3072*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y-gke.N": picks an explicit Kubernetes version
3073*d5c09012SAndroid Build Coastguard Worker  // - "-": picks the Kubernetes master version
3074*d5c09012SAndroid Build Coastguard Worker  string node_version = 5 [(google.api.field_behavior) = REQUIRED];
3075*d5c09012SAndroid Build Coastguard Worker
3076*d5c09012SAndroid Build Coastguard Worker  // Required. The desired image type for the node pool. Please see
3077*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
3078*d5c09012SAndroid Build Coastguard Worker  // available image types.
3079*d5c09012SAndroid Build Coastguard Worker  string image_type = 6 [(google.api.field_behavior) = REQUIRED];
3080*d5c09012SAndroid Build Coastguard Worker
3081*d5c09012SAndroid Build Coastguard Worker  // The desired list of Google Compute Engine
3082*d5c09012SAndroid Build Coastguard Worker  // [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3083*d5c09012SAndroid Build Coastguard Worker  // node pool's nodes should be located. Changing the locations for a node pool
3084*d5c09012SAndroid Build Coastguard Worker  // will result in nodes being either created or removed from the node pool,
3085*d5c09012SAndroid Build Coastguard Worker  // depending on whether locations are being added or removed.
3086*d5c09012SAndroid Build Coastguard Worker  repeated string locations = 13;
3087*d5c09012SAndroid Build Coastguard Worker
3088*d5c09012SAndroid Build Coastguard Worker  // The desired workload metadata config for the node pool.
3089*d5c09012SAndroid Build Coastguard Worker  WorkloadMetadataConfig workload_metadata_config = 14;
3090*d5c09012SAndroid Build Coastguard Worker
3091*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool) of the node pool to
3092*d5c09012SAndroid Build Coastguard Worker  // update. Specified in the format
3093*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/clusters/*/nodePools/*`.
3094*d5c09012SAndroid Build Coastguard Worker  string name = 8;
3095*d5c09012SAndroid Build Coastguard Worker
3096*d5c09012SAndroid Build Coastguard Worker  // Upgrade settings control disruption and speed of the upgrade.
3097*d5c09012SAndroid Build Coastguard Worker  NodePool.UpgradeSettings upgrade_settings = 15;
3098*d5c09012SAndroid Build Coastguard Worker
3099*d5c09012SAndroid Build Coastguard Worker  // The desired network tags to be applied to all nodes in the node pool.
3100*d5c09012SAndroid Build Coastguard Worker  // If this field is not present, the tags will not be changed. Otherwise,
3101*d5c09012SAndroid Build Coastguard Worker  // the existing network tags will be *replaced* with the provided tags.
3102*d5c09012SAndroid Build Coastguard Worker  NetworkTags tags = 16;
3103*d5c09012SAndroid Build Coastguard Worker
3104*d5c09012SAndroid Build Coastguard Worker  // The desired node taints to be applied to all nodes in the node pool.
3105*d5c09012SAndroid Build Coastguard Worker  // If this field is not present, the taints will not be changed. Otherwise,
3106*d5c09012SAndroid Build Coastguard Worker  // the existing node taints will be *replaced* with the provided taints.
3107*d5c09012SAndroid Build Coastguard Worker  NodeTaints taints = 17;
3108*d5c09012SAndroid Build Coastguard Worker
3109*d5c09012SAndroid Build Coastguard Worker  // The desired node labels to be applied to all nodes in the node pool.
3110*d5c09012SAndroid Build Coastguard Worker  // If this field is not present, the labels will not be changed. Otherwise,
3111*d5c09012SAndroid Build Coastguard Worker  // the existing node labels will be *replaced* with the provided labels.
3112*d5c09012SAndroid Build Coastguard Worker  NodeLabels labels = 18;
3113*d5c09012SAndroid Build Coastguard Worker
3114*d5c09012SAndroid Build Coastguard Worker  // Parameters that can be configured on Linux nodes.
3115*d5c09012SAndroid Build Coastguard Worker  LinuxNodeConfig linux_node_config = 19;
3116*d5c09012SAndroid Build Coastguard Worker
3117*d5c09012SAndroid Build Coastguard Worker  // Node kubelet configs.
3118*d5c09012SAndroid Build Coastguard Worker  NodeKubeletConfig kubelet_config = 20;
3119*d5c09012SAndroid Build Coastguard Worker
3120*d5c09012SAndroid Build Coastguard Worker  // Node network config.
3121*d5c09012SAndroid Build Coastguard Worker  NodeNetworkConfig node_network_config = 21;
3122*d5c09012SAndroid Build Coastguard Worker
3123*d5c09012SAndroid Build Coastguard Worker  // GCFS config.
3124*d5c09012SAndroid Build Coastguard Worker  GcfsConfig gcfs_config = 22;
3125*d5c09012SAndroid Build Coastguard Worker
3126*d5c09012SAndroid Build Coastguard Worker  // Confidential nodes config.
3127*d5c09012SAndroid Build Coastguard Worker  // All the nodes in the node pool will be Confidential VM once enabled.
3128*d5c09012SAndroid Build Coastguard Worker  ConfidentialNodes confidential_nodes = 23;
3129*d5c09012SAndroid Build Coastguard Worker
3130*d5c09012SAndroid Build Coastguard Worker  // Enable or disable gvnic on the node pool.
3131*d5c09012SAndroid Build Coastguard Worker  VirtualNIC gvnic = 29;
3132*d5c09012SAndroid Build Coastguard Worker
3133*d5c09012SAndroid Build Coastguard Worker  // The current etag of the node pool.
3134*d5c09012SAndroid Build Coastguard Worker  // If an etag is provided and does not match the current etag of the node
3135*d5c09012SAndroid Build Coastguard Worker  // pool, update will be blocked and an ABORTED error will be returned.
3136*d5c09012SAndroid Build Coastguard Worker  string etag = 30;
3137*d5c09012SAndroid Build Coastguard Worker
3138*d5c09012SAndroid Build Coastguard Worker  // Enable or disable NCCL fast socket for the node pool.
3139*d5c09012SAndroid Build Coastguard Worker  FastSocket fast_socket = 31;
3140*d5c09012SAndroid Build Coastguard Worker
3141*d5c09012SAndroid Build Coastguard Worker  // Logging configuration.
3142*d5c09012SAndroid Build Coastguard Worker  NodePoolLoggingConfig logging_config = 32;
3143*d5c09012SAndroid Build Coastguard Worker
3144*d5c09012SAndroid Build Coastguard Worker  // The resource labels for the node pool to use to annotate any related
3145*d5c09012SAndroid Build Coastguard Worker  // Google Compute Engine resources.
3146*d5c09012SAndroid Build Coastguard Worker  ResourceLabels resource_labels = 33;
3147*d5c09012SAndroid Build Coastguard Worker
3148*d5c09012SAndroid Build Coastguard Worker  // Parameters that can be configured on Windows nodes.
3149*d5c09012SAndroid Build Coastguard Worker  WindowsNodeConfig windows_node_config = 34;
3150*d5c09012SAndroid Build Coastguard Worker
3151*d5c09012SAndroid Build Coastguard Worker  // Optional. The desired machine type for nodes in the node pool.
3152*d5c09012SAndroid Build Coastguard Worker  // Initiates an upgrade operation that migrates the nodes in the
3153*d5c09012SAndroid Build Coastguard Worker  // node pool to the specified machine type.
3154*d5c09012SAndroid Build Coastguard Worker  string machine_type = 36 [(google.api.field_behavior) = OPTIONAL];
3155*d5c09012SAndroid Build Coastguard Worker
3156*d5c09012SAndroid Build Coastguard Worker  // Optional. The desired disk type for nodes in the node pool.
3157*d5c09012SAndroid Build Coastguard Worker  // Initiates an upgrade operation that migrates the nodes in the
3158*d5c09012SAndroid Build Coastguard Worker  // node pool to the specified disk type.
3159*d5c09012SAndroid Build Coastguard Worker  string disk_type = 37 [(google.api.field_behavior) = OPTIONAL];
3160*d5c09012SAndroid Build Coastguard Worker
3161*d5c09012SAndroid Build Coastguard Worker  // Optional. The desired disk size for nodes in the node pool.
3162*d5c09012SAndroid Build Coastguard Worker  // Initiates an upgrade operation that migrates the nodes in the
3163*d5c09012SAndroid Build Coastguard Worker  // node pool to the specified disk size.
3164*d5c09012SAndroid Build Coastguard Worker  int64 disk_size_gb = 38 [(google.api.field_behavior) = OPTIONAL];
3165*d5c09012SAndroid Build Coastguard Worker
3166*d5c09012SAndroid Build Coastguard Worker  // Desired resource manager tag keys and values to be attached to the nodes
3167*d5c09012SAndroid Build Coastguard Worker  // for managing Compute Engine firewalls using Network Firewall Policies.
3168*d5c09012SAndroid Build Coastguard Worker  // Existing tags will be replaced with new values.
3169*d5c09012SAndroid Build Coastguard Worker  ResourceManagerTags resource_manager_tags = 39;
3170*d5c09012SAndroid Build Coastguard Worker
3171*d5c09012SAndroid Build Coastguard Worker  // Specifies the configuration of queued provisioning.
3172*d5c09012SAndroid Build Coastguard Worker  NodePool.QueuedProvisioning queued_provisioning = 42;
3173*d5c09012SAndroid Build Coastguard Worker}
3174*d5c09012SAndroid Build Coastguard Worker
3175*d5c09012SAndroid Build Coastguard Worker// SetNodePoolAutoscalingRequest sets the autoscaler settings of a node pool.
3176*d5c09012SAndroid Build Coastguard Workermessage SetNodePoolAutoscalingRequest {
3177*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3178*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3179*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3180*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3181*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3182*d5c09012SAndroid Build Coastguard Worker
3183*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3184*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3185*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3186*d5c09012SAndroid Build Coastguard Worker  // field.
3187*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3188*d5c09012SAndroid Build Coastguard Worker
3189*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3190*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3191*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3192*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3193*d5c09012SAndroid Build Coastguard Worker
3194*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the node pool to upgrade.
3195*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3196*d5c09012SAndroid Build Coastguard Worker  string node_pool_id = 4
3197*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3198*d5c09012SAndroid Build Coastguard Worker
3199*d5c09012SAndroid Build Coastguard Worker  // Required. Autoscaling configuration for the node pool.
3200*d5c09012SAndroid Build Coastguard Worker  NodePoolAutoscaling autoscaling = 5 [(google.api.field_behavior) = REQUIRED];
3201*d5c09012SAndroid Build Coastguard Worker
3202*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool) of the node pool to set
3203*d5c09012SAndroid Build Coastguard Worker  // autoscaler settings. Specified in the format
3204*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/clusters/*/nodePools/*`.
3205*d5c09012SAndroid Build Coastguard Worker  string name = 6;
3206*d5c09012SAndroid Build Coastguard Worker}
3207*d5c09012SAndroid Build Coastguard Worker
3208*d5c09012SAndroid Build Coastguard Worker// SetLoggingServiceRequest sets the logging service of a cluster.
3209*d5c09012SAndroid Build Coastguard Workermessage SetLoggingServiceRequest {
3210*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3211*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3212*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3213*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3214*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3215*d5c09012SAndroid Build Coastguard Worker
3216*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3217*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3218*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3219*d5c09012SAndroid Build Coastguard Worker  // field.
3220*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3221*d5c09012SAndroid Build Coastguard Worker
3222*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3223*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3224*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3225*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3226*d5c09012SAndroid Build Coastguard Worker
3227*d5c09012SAndroid Build Coastguard Worker  // Required. The logging service the cluster should use to write logs.
3228*d5c09012SAndroid Build Coastguard Worker  // Currently available options:
3229*d5c09012SAndroid Build Coastguard Worker  //
3230*d5c09012SAndroid Build Coastguard Worker  // * `logging.googleapis.com/kubernetes` - The Cloud Logging
3231*d5c09012SAndroid Build Coastguard Worker  // service with a Kubernetes-native resource model
3232*d5c09012SAndroid Build Coastguard Worker  // * `logging.googleapis.com` - The legacy Cloud Logging service (no longer
3233*d5c09012SAndroid Build Coastguard Worker  //   available as of GKE 1.15).
3234*d5c09012SAndroid Build Coastguard Worker  // * `none` - no logs will be exported from the cluster.
3235*d5c09012SAndroid Build Coastguard Worker  //
3236*d5c09012SAndroid Build Coastguard Worker  // If left as an empty string,`logging.googleapis.com/kubernetes` will be
3237*d5c09012SAndroid Build Coastguard Worker  // used for GKE 1.14+ or `logging.googleapis.com` for earlier versions.
3238*d5c09012SAndroid Build Coastguard Worker  string logging_service = 4 [(google.api.field_behavior) = REQUIRED];
3239*d5c09012SAndroid Build Coastguard Worker
3240*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to set logging.
3241*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3242*d5c09012SAndroid Build Coastguard Worker  string name = 5;
3243*d5c09012SAndroid Build Coastguard Worker}
3244*d5c09012SAndroid Build Coastguard Worker
3245*d5c09012SAndroid Build Coastguard Worker// SetMonitoringServiceRequest sets the monitoring service of a cluster.
3246*d5c09012SAndroid Build Coastguard Workermessage SetMonitoringServiceRequest {
3247*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3248*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3249*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3250*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3251*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3252*d5c09012SAndroid Build Coastguard Worker
3253*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3254*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3255*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3256*d5c09012SAndroid Build Coastguard Worker  // field.
3257*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3258*d5c09012SAndroid Build Coastguard Worker
3259*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3260*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3261*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3262*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3263*d5c09012SAndroid Build Coastguard Worker
3264*d5c09012SAndroid Build Coastguard Worker  // Required. The monitoring service the cluster should use to write metrics.
3265*d5c09012SAndroid Build Coastguard Worker  // Currently available options:
3266*d5c09012SAndroid Build Coastguard Worker  //
3267*d5c09012SAndroid Build Coastguard Worker  // * "monitoring.googleapis.com/kubernetes" - The Cloud Monitoring
3268*d5c09012SAndroid Build Coastguard Worker  // service with a Kubernetes-native resource model
3269*d5c09012SAndroid Build Coastguard Worker  // * `monitoring.googleapis.com` - The legacy Cloud Monitoring service (no
3270*d5c09012SAndroid Build Coastguard Worker  //   longer available as of GKE 1.15).
3271*d5c09012SAndroid Build Coastguard Worker  // * `none` - No metrics will be exported from the cluster.
3272*d5c09012SAndroid Build Coastguard Worker  //
3273*d5c09012SAndroid Build Coastguard Worker  // If left as an empty string,`monitoring.googleapis.com/kubernetes` will be
3274*d5c09012SAndroid Build Coastguard Worker  // used for GKE 1.14+ or `monitoring.googleapis.com` for earlier versions.
3275*d5c09012SAndroid Build Coastguard Worker  string monitoring_service = 4 [(google.api.field_behavior) = REQUIRED];
3276*d5c09012SAndroid Build Coastguard Worker
3277*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to set monitoring.
3278*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3279*d5c09012SAndroid Build Coastguard Worker  string name = 6;
3280*d5c09012SAndroid Build Coastguard Worker}
3281*d5c09012SAndroid Build Coastguard Worker
3282*d5c09012SAndroid Build Coastguard Worker// SetAddonsRequest sets the addons associated with the cluster.
3283*d5c09012SAndroid Build Coastguard Workermessage SetAddonsConfigRequest {
3284*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3285*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3286*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3287*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3288*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3289*d5c09012SAndroid Build Coastguard Worker
3290*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3291*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3292*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3293*d5c09012SAndroid Build Coastguard Worker  // field.
3294*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3295*d5c09012SAndroid Build Coastguard Worker
3296*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3297*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3298*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3299*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3300*d5c09012SAndroid Build Coastguard Worker
3301*d5c09012SAndroid Build Coastguard Worker  // Required. The desired configurations for the various addons available to
3302*d5c09012SAndroid Build Coastguard Worker  // run in the cluster.
3303*d5c09012SAndroid Build Coastguard Worker  AddonsConfig addons_config = 4 [(google.api.field_behavior) = REQUIRED];
3304*d5c09012SAndroid Build Coastguard Worker
3305*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to set addons.
3306*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3307*d5c09012SAndroid Build Coastguard Worker  string name = 6;
3308*d5c09012SAndroid Build Coastguard Worker}
3309*d5c09012SAndroid Build Coastguard Worker
3310*d5c09012SAndroid Build Coastguard Worker// SetLocationsRequest sets the locations of the cluster.
3311*d5c09012SAndroid Build Coastguard Workermessage SetLocationsRequest {
3312*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3313*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3314*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3315*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3316*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3317*d5c09012SAndroid Build Coastguard Worker
3318*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3319*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3320*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3321*d5c09012SAndroid Build Coastguard Worker  // field.
3322*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3323*d5c09012SAndroid Build Coastguard Worker
3324*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3325*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3326*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3327*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3328*d5c09012SAndroid Build Coastguard Worker
3329*d5c09012SAndroid Build Coastguard Worker  // Required. The desired list of Google Compute Engine
3330*d5c09012SAndroid Build Coastguard Worker  // [zones](https://cloud.google.com/compute/docs/zones#available) in which the
3331*d5c09012SAndroid Build Coastguard Worker  // cluster's nodes should be located. Changing the locations a cluster is in
3332*d5c09012SAndroid Build Coastguard Worker  // will result in nodes being either created or removed from the cluster,
3333*d5c09012SAndroid Build Coastguard Worker  // depending on whether locations are being added or removed.
3334*d5c09012SAndroid Build Coastguard Worker  //
3335*d5c09012SAndroid Build Coastguard Worker  // This list must always include the cluster's primary zone.
3336*d5c09012SAndroid Build Coastguard Worker  repeated string locations = 4 [(google.api.field_behavior) = REQUIRED];
3337*d5c09012SAndroid Build Coastguard Worker
3338*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to set locations.
3339*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3340*d5c09012SAndroid Build Coastguard Worker  string name = 6;
3341*d5c09012SAndroid Build Coastguard Worker}
3342*d5c09012SAndroid Build Coastguard Worker
3343*d5c09012SAndroid Build Coastguard Worker// UpdateMasterRequest updates the master of the cluster.
3344*d5c09012SAndroid Build Coastguard Workermessage UpdateMasterRequest {
3345*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3346*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3347*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3348*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3349*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3350*d5c09012SAndroid Build Coastguard Worker
3351*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3352*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3353*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3354*d5c09012SAndroid Build Coastguard Worker  // field.
3355*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3356*d5c09012SAndroid Build Coastguard Worker
3357*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3358*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3359*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3360*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3361*d5c09012SAndroid Build Coastguard Worker
3362*d5c09012SAndroid Build Coastguard Worker  // Required. The Kubernetes version to change the master to.
3363*d5c09012SAndroid Build Coastguard Worker  //
3364*d5c09012SAndroid Build Coastguard Worker  // Users may specify either explicit versions offered by
3365*d5c09012SAndroid Build Coastguard Worker  // Kubernetes Engine or version aliases, which have the following behavior:
3366*d5c09012SAndroid Build Coastguard Worker  //
3367*d5c09012SAndroid Build Coastguard Worker  // - "latest": picks the highest valid Kubernetes version
3368*d5c09012SAndroid Build Coastguard Worker  // - "1.X": picks the highest valid patch+gke.N patch in the 1.X version
3369*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y": picks the highest valid gke.N patch in the 1.X.Y version
3370*d5c09012SAndroid Build Coastguard Worker  // - "1.X.Y-gke.N": picks an explicit Kubernetes version
3371*d5c09012SAndroid Build Coastguard Worker  // - "-": picks the default Kubernetes version
3372*d5c09012SAndroid Build Coastguard Worker  string master_version = 4 [(google.api.field_behavior) = REQUIRED];
3373*d5c09012SAndroid Build Coastguard Worker
3374*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to update.
3375*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3376*d5c09012SAndroid Build Coastguard Worker  string name = 7;
3377*d5c09012SAndroid Build Coastguard Worker}
3378*d5c09012SAndroid Build Coastguard Worker
3379*d5c09012SAndroid Build Coastguard Worker// SetMasterAuthRequest updates the admin password of a cluster.
3380*d5c09012SAndroid Build Coastguard Workermessage SetMasterAuthRequest {
3381*d5c09012SAndroid Build Coastguard Worker  // Operation type: what type update to perform.
3382*d5c09012SAndroid Build Coastguard Worker  enum Action {
3383*d5c09012SAndroid Build Coastguard Worker    // Operation is unknown and will error out.
3384*d5c09012SAndroid Build Coastguard Worker    UNKNOWN = 0;
3385*d5c09012SAndroid Build Coastguard Worker
3386*d5c09012SAndroid Build Coastguard Worker    // Set the password to a user generated value.
3387*d5c09012SAndroid Build Coastguard Worker    SET_PASSWORD = 1;
3388*d5c09012SAndroid Build Coastguard Worker
3389*d5c09012SAndroid Build Coastguard Worker    // Generate a new password and set it to that.
3390*d5c09012SAndroid Build Coastguard Worker    GENERATE_PASSWORD = 2;
3391*d5c09012SAndroid Build Coastguard Worker
3392*d5c09012SAndroid Build Coastguard Worker    // Set the username.  If an empty username is provided, basic authentication
3393*d5c09012SAndroid Build Coastguard Worker    // is disabled for the cluster.  If a non-empty username is provided, basic
3394*d5c09012SAndroid Build Coastguard Worker    // authentication is enabled, with either a provided password or a generated
3395*d5c09012SAndroid Build Coastguard Worker    // one.
3396*d5c09012SAndroid Build Coastguard Worker    SET_USERNAME = 3;
3397*d5c09012SAndroid Build Coastguard Worker  }
3398*d5c09012SAndroid Build Coastguard Worker
3399*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3400*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3401*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3402*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3403*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3404*d5c09012SAndroid Build Coastguard Worker
3405*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3406*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3407*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3408*d5c09012SAndroid Build Coastguard Worker  // field.
3409*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3410*d5c09012SAndroid Build Coastguard Worker
3411*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to upgrade.
3412*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3413*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3414*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3415*d5c09012SAndroid Build Coastguard Worker
3416*d5c09012SAndroid Build Coastguard Worker  // Required. The exact form of action to be taken on the master auth.
3417*d5c09012SAndroid Build Coastguard Worker  Action action = 4 [(google.api.field_behavior) = REQUIRED];
3418*d5c09012SAndroid Build Coastguard Worker
3419*d5c09012SAndroid Build Coastguard Worker  // Required. A description of the update.
3420*d5c09012SAndroid Build Coastguard Worker  MasterAuth update = 5 [(google.api.field_behavior) = REQUIRED];
3421*d5c09012SAndroid Build Coastguard Worker
3422*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to set auth.
3423*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3424*d5c09012SAndroid Build Coastguard Worker  string name = 7;
3425*d5c09012SAndroid Build Coastguard Worker}
3426*d5c09012SAndroid Build Coastguard Worker
3427*d5c09012SAndroid Build Coastguard Worker// DeleteClusterRequest deletes a cluster.
3428*d5c09012SAndroid Build Coastguard Workermessage DeleteClusterRequest {
3429*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3430*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3431*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3432*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3433*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3434*d5c09012SAndroid Build Coastguard Worker
3435*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3436*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3437*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3438*d5c09012SAndroid Build Coastguard Worker  // field.
3439*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3440*d5c09012SAndroid Build Coastguard Worker
3441*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to delete.
3442*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3443*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3444*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3445*d5c09012SAndroid Build Coastguard Worker
3446*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to delete.
3447*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
3448*d5c09012SAndroid Build Coastguard Worker  string name = 4;
3449*d5c09012SAndroid Build Coastguard Worker}
3450*d5c09012SAndroid Build Coastguard Worker
3451*d5c09012SAndroid Build Coastguard Worker// ListClustersRequest lists clusters.
3452*d5c09012SAndroid Build Coastguard Workermessage ListClustersRequest {
3453*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3454*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3455*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the parent field.
3456*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3457*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3458*d5c09012SAndroid Build Coastguard Worker
3459*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3460*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3461*d5c09012SAndroid Build Coastguard Worker  // cluster resides, or "-" for all zones. This field has been deprecated and
3462*d5c09012SAndroid Build Coastguard Worker  // replaced by the parent field.
3463*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3464*d5c09012SAndroid Build Coastguard Worker
3465*d5c09012SAndroid Build Coastguard Worker  // The parent (project and location) where the clusters will be listed.
3466*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*`.
3467*d5c09012SAndroid Build Coastguard Worker  // Location "-" matches all zones and all regions.
3468*d5c09012SAndroid Build Coastguard Worker  string parent = 4;
3469*d5c09012SAndroid Build Coastguard Worker}
3470*d5c09012SAndroid Build Coastguard Worker
3471*d5c09012SAndroid Build Coastguard Worker// ListClustersResponse is the result of ListClustersRequest.
3472*d5c09012SAndroid Build Coastguard Workermessage ListClustersResponse {
3473*d5c09012SAndroid Build Coastguard Worker  // A list of clusters in the project in the specified zone, or
3474*d5c09012SAndroid Build Coastguard Worker  // across all ones.
3475*d5c09012SAndroid Build Coastguard Worker  repeated Cluster clusters = 1;
3476*d5c09012SAndroid Build Coastguard Worker
3477*d5c09012SAndroid Build Coastguard Worker  // If any zones are listed here, the list of clusters returned
3478*d5c09012SAndroid Build Coastguard Worker  // may be missing those zones.
3479*d5c09012SAndroid Build Coastguard Worker  repeated string missing_zones = 2;
3480*d5c09012SAndroid Build Coastguard Worker}
3481*d5c09012SAndroid Build Coastguard Worker
3482*d5c09012SAndroid Build Coastguard Worker// GetOperationRequest gets a single operation.
3483*d5c09012SAndroid Build Coastguard Workermessage GetOperationRequest {
3484*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3485*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3486*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3487*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3488*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3489*d5c09012SAndroid Build Coastguard Worker
3490*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3491*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3492*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3493*d5c09012SAndroid Build Coastguard Worker  // field.
3494*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3495*d5c09012SAndroid Build Coastguard Worker
3496*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The server-assigned `name` of the operation.
3497*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3498*d5c09012SAndroid Build Coastguard Worker  string operation_id = 3
3499*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3500*d5c09012SAndroid Build Coastguard Worker
3501*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, operation id) of the operation to get.
3502*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/operations/*`.
3503*d5c09012SAndroid Build Coastguard Worker  string name = 5;
3504*d5c09012SAndroid Build Coastguard Worker}
3505*d5c09012SAndroid Build Coastguard Worker
3506*d5c09012SAndroid Build Coastguard Worker// ListOperationsRequest lists operations.
3507*d5c09012SAndroid Build Coastguard Workermessage ListOperationsRequest {
3508*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3509*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3510*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the parent field.
3511*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3512*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3513*d5c09012SAndroid Build Coastguard Worker
3514*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3515*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) to return
3516*d5c09012SAndroid Build Coastguard Worker  // operations for, or `-` for all zones. This field has been deprecated and
3517*d5c09012SAndroid Build Coastguard Worker  // replaced by the parent field.
3518*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3519*d5c09012SAndroid Build Coastguard Worker
3520*d5c09012SAndroid Build Coastguard Worker  // The parent (project and location) where the operations will be listed.
3521*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*`.
3522*d5c09012SAndroid Build Coastguard Worker  // Location "-" matches all zones and all regions.
3523*d5c09012SAndroid Build Coastguard Worker  string parent = 4;
3524*d5c09012SAndroid Build Coastguard Worker}
3525*d5c09012SAndroid Build Coastguard Worker
3526*d5c09012SAndroid Build Coastguard Worker// CancelOperationRequest cancels a single operation.
3527*d5c09012SAndroid Build Coastguard Workermessage CancelOperationRequest {
3528*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3529*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3530*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3531*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3532*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3533*d5c09012SAndroid Build Coastguard Worker
3534*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3535*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3536*d5c09012SAndroid Build Coastguard Worker  // operation resides. This field has been deprecated and replaced by the name
3537*d5c09012SAndroid Build Coastguard Worker  // field.
3538*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3539*d5c09012SAndroid Build Coastguard Worker
3540*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The server-assigned `name` of the operation.
3541*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3542*d5c09012SAndroid Build Coastguard Worker  string operation_id = 3
3543*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3544*d5c09012SAndroid Build Coastguard Worker
3545*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, operation id) of the operation to cancel.
3546*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/operations/*`.
3547*d5c09012SAndroid Build Coastguard Worker  string name = 4;
3548*d5c09012SAndroid Build Coastguard Worker}
3549*d5c09012SAndroid Build Coastguard Worker
3550*d5c09012SAndroid Build Coastguard Worker// ListOperationsResponse is the result of ListOperationsRequest.
3551*d5c09012SAndroid Build Coastguard Workermessage ListOperationsResponse {
3552*d5c09012SAndroid Build Coastguard Worker  // A list of operations in the project in the specified zone.
3553*d5c09012SAndroid Build Coastguard Worker  repeated Operation operations = 1;
3554*d5c09012SAndroid Build Coastguard Worker
3555*d5c09012SAndroid Build Coastguard Worker  // If any zones are listed here, the list of operations returned
3556*d5c09012SAndroid Build Coastguard Worker  // may be missing the operations from those zones.
3557*d5c09012SAndroid Build Coastguard Worker  repeated string missing_zones = 2;
3558*d5c09012SAndroid Build Coastguard Worker}
3559*d5c09012SAndroid Build Coastguard Worker
3560*d5c09012SAndroid Build Coastguard Worker// Gets the current Kubernetes Engine service configuration.
3561*d5c09012SAndroid Build Coastguard Workermessage GetServerConfigRequest {
3562*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3563*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3564*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3565*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3566*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3567*d5c09012SAndroid Build Coastguard Worker
3568*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3569*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) to return
3570*d5c09012SAndroid Build Coastguard Worker  // operations for. This field has been deprecated and replaced by the name
3571*d5c09012SAndroid Build Coastguard Worker  // field.
3572*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3573*d5c09012SAndroid Build Coastguard Worker
3574*d5c09012SAndroid Build Coastguard Worker  // The name (project and location) of the server config to get,
3575*d5c09012SAndroid Build Coastguard Worker  // specified in the format `projects/*/locations/*`.
3576*d5c09012SAndroid Build Coastguard Worker  string name = 4;
3577*d5c09012SAndroid Build Coastguard Worker}
3578*d5c09012SAndroid Build Coastguard Worker
3579*d5c09012SAndroid Build Coastguard Worker// Kubernetes Engine service configuration.
3580*d5c09012SAndroid Build Coastguard Workermessage ServerConfig {
3581*d5c09012SAndroid Build Coastguard Worker  // ReleaseChannelConfig exposes configuration for a release channel.
3582*d5c09012SAndroid Build Coastguard Worker  message ReleaseChannelConfig {
3583*d5c09012SAndroid Build Coastguard Worker    // Deprecated.
3584*d5c09012SAndroid Build Coastguard Worker    message AvailableVersion {
3585*d5c09012SAndroid Build Coastguard Worker      option deprecated = true;
3586*d5c09012SAndroid Build Coastguard Worker
3587*d5c09012SAndroid Build Coastguard Worker      // Kubernetes version.
3588*d5c09012SAndroid Build Coastguard Worker      string version = 1;
3589*d5c09012SAndroid Build Coastguard Worker
3590*d5c09012SAndroid Build Coastguard Worker      // Reason for availability.
3591*d5c09012SAndroid Build Coastguard Worker      string reason = 2;
3592*d5c09012SAndroid Build Coastguard Worker    }
3593*d5c09012SAndroid Build Coastguard Worker
3594*d5c09012SAndroid Build Coastguard Worker    // The release channel this configuration applies to.
3595*d5c09012SAndroid Build Coastguard Worker    ReleaseChannel.Channel channel = 1;
3596*d5c09012SAndroid Build Coastguard Worker
3597*d5c09012SAndroid Build Coastguard Worker    // The default version for newly created clusters on the channel.
3598*d5c09012SAndroid Build Coastguard Worker    string default_version = 2;
3599*d5c09012SAndroid Build Coastguard Worker
3600*d5c09012SAndroid Build Coastguard Worker    // Deprecated.
3601*d5c09012SAndroid Build Coastguard Worker    // This field has been deprecated and replaced with the valid_versions
3602*d5c09012SAndroid Build Coastguard Worker    // field.
3603*d5c09012SAndroid Build Coastguard Worker    repeated AvailableVersion available_versions = 3 [deprecated = true];
3604*d5c09012SAndroid Build Coastguard Worker
3605*d5c09012SAndroid Build Coastguard Worker    // List of valid versions for the channel.
3606*d5c09012SAndroid Build Coastguard Worker    repeated string valid_versions = 4;
3607*d5c09012SAndroid Build Coastguard Worker  }
3608*d5c09012SAndroid Build Coastguard Worker
3609*d5c09012SAndroid Build Coastguard Worker  // Version of Kubernetes the service deploys by default.
3610*d5c09012SAndroid Build Coastguard Worker  string default_cluster_version = 1;
3611*d5c09012SAndroid Build Coastguard Worker
3612*d5c09012SAndroid Build Coastguard Worker  // List of valid node upgrade target versions, in descending order.
3613*d5c09012SAndroid Build Coastguard Worker  repeated string valid_node_versions = 3;
3614*d5c09012SAndroid Build Coastguard Worker
3615*d5c09012SAndroid Build Coastguard Worker  // Default image type.
3616*d5c09012SAndroid Build Coastguard Worker  string default_image_type = 4;
3617*d5c09012SAndroid Build Coastguard Worker
3618*d5c09012SAndroid Build Coastguard Worker  // List of valid image types.
3619*d5c09012SAndroid Build Coastguard Worker  repeated string valid_image_types = 5;
3620*d5c09012SAndroid Build Coastguard Worker
3621*d5c09012SAndroid Build Coastguard Worker  // List of valid master versions, in descending order.
3622*d5c09012SAndroid Build Coastguard Worker  repeated string valid_master_versions = 6;
3623*d5c09012SAndroid Build Coastguard Worker
3624*d5c09012SAndroid Build Coastguard Worker  // List of release channel configurations.
3625*d5c09012SAndroid Build Coastguard Worker  repeated ReleaseChannelConfig channels = 9;
3626*d5c09012SAndroid Build Coastguard Worker
3627*d5c09012SAndroid Build Coastguard Worker  // Maps of Kubernetes version and supported Windows server versions.
3628*d5c09012SAndroid Build Coastguard Worker  map<string, WindowsVersions> windows_version_maps = 10;
3629*d5c09012SAndroid Build Coastguard Worker}
3630*d5c09012SAndroid Build Coastguard Worker
3631*d5c09012SAndroid Build Coastguard Worker// Best effort provisioning.
3632*d5c09012SAndroid Build Coastguard Workermessage BestEffortProvisioning {
3633*d5c09012SAndroid Build Coastguard Worker  // When this is enabled, cluster/node pool creations will ignore non-fatal
3634*d5c09012SAndroid Build Coastguard Worker  // errors like stockout to best provision as many nodes as possible right now
3635*d5c09012SAndroid Build Coastguard Worker  // and eventually bring up all target number of nodes
3636*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
3637*d5c09012SAndroid Build Coastguard Worker
3638*d5c09012SAndroid Build Coastguard Worker  // Minimum number of nodes to be provisioned to be considered as succeeded,
3639*d5c09012SAndroid Build Coastguard Worker  // and the rest of nodes will be provisioned gradually and eventually when
3640*d5c09012SAndroid Build Coastguard Worker  // stockout issue has been resolved.
3641*d5c09012SAndroid Build Coastguard Worker  int32 min_provision_nodes = 2;
3642*d5c09012SAndroid Build Coastguard Worker}
3643*d5c09012SAndroid Build Coastguard Worker
3644*d5c09012SAndroid Build Coastguard Worker// Windows server versions.
3645*d5c09012SAndroid Build Coastguard Workermessage WindowsVersions {
3646*d5c09012SAndroid Build Coastguard Worker  // Windows server version.
3647*d5c09012SAndroid Build Coastguard Worker  message WindowsVersion {
3648*d5c09012SAndroid Build Coastguard Worker    // Windows server image type
3649*d5c09012SAndroid Build Coastguard Worker    string image_type = 1;
3650*d5c09012SAndroid Build Coastguard Worker
3651*d5c09012SAndroid Build Coastguard Worker    // Windows server build number
3652*d5c09012SAndroid Build Coastguard Worker    string os_version = 2;
3653*d5c09012SAndroid Build Coastguard Worker
3654*d5c09012SAndroid Build Coastguard Worker    // Mainstream support end date
3655*d5c09012SAndroid Build Coastguard Worker    google.type.Date support_end_date = 3;
3656*d5c09012SAndroid Build Coastguard Worker  }
3657*d5c09012SAndroid Build Coastguard Worker
3658*d5c09012SAndroid Build Coastguard Worker  // List of Windows server versions.
3659*d5c09012SAndroid Build Coastguard Worker  repeated WindowsVersion windows_versions = 1;
3660*d5c09012SAndroid Build Coastguard Worker}
3661*d5c09012SAndroid Build Coastguard Worker
3662*d5c09012SAndroid Build Coastguard Worker// CreateNodePoolRequest creates a node pool for a cluster.
3663*d5c09012SAndroid Build Coastguard Workermessage CreateNodePoolRequest {
3664*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3665*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3666*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the parent field.
3667*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3668*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3669*d5c09012SAndroid Build Coastguard Worker
3670*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3671*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3672*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the parent
3673*d5c09012SAndroid Build Coastguard Worker  // field.
3674*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3675*d5c09012SAndroid Build Coastguard Worker
3676*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
3677*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the parent field.
3678*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3679*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3680*d5c09012SAndroid Build Coastguard Worker
3681*d5c09012SAndroid Build Coastguard Worker  // Required. The node pool to create.
3682*d5c09012SAndroid Build Coastguard Worker  NodePool node_pool = 4 [(google.api.field_behavior) = REQUIRED];
3683*d5c09012SAndroid Build Coastguard Worker
3684*d5c09012SAndroid Build Coastguard Worker  // The parent (project, location, cluster name) where the node pool will be
3685*d5c09012SAndroid Build Coastguard Worker  // created. Specified in the format
3686*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/clusters/*`.
3687*d5c09012SAndroid Build Coastguard Worker  string parent = 6;
3688*d5c09012SAndroid Build Coastguard Worker}
3689*d5c09012SAndroid Build Coastguard Worker
3690*d5c09012SAndroid Build Coastguard Worker// DeleteNodePoolRequest deletes a node pool for a cluster.
3691*d5c09012SAndroid Build Coastguard Workermessage DeleteNodePoolRequest {
3692*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3693*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3694*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3695*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3696*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3697*d5c09012SAndroid Build Coastguard Worker
3698*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3699*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3700*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3701*d5c09012SAndroid Build Coastguard Worker  // field.
3702*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3703*d5c09012SAndroid Build Coastguard Worker
3704*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
3705*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3706*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3707*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3708*d5c09012SAndroid Build Coastguard Worker
3709*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the node pool to delete.
3710*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3711*d5c09012SAndroid Build Coastguard Worker  string node_pool_id = 4
3712*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3713*d5c09012SAndroid Build Coastguard Worker
3714*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool id) of the node pool to
3715*d5c09012SAndroid Build Coastguard Worker  // delete. Specified in the format
3716*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/clusters/*/nodePools/*`.
3717*d5c09012SAndroid Build Coastguard Worker  string name = 6;
3718*d5c09012SAndroid Build Coastguard Worker}
3719*d5c09012SAndroid Build Coastguard Worker
3720*d5c09012SAndroid Build Coastguard Worker// ListNodePoolsRequest lists the node pool(s) for a cluster.
3721*d5c09012SAndroid Build Coastguard Workermessage ListNodePoolsRequest {
3722*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3723*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3724*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the parent field.
3725*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3726*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3727*d5c09012SAndroid Build Coastguard Worker
3728*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3729*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3730*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the parent
3731*d5c09012SAndroid Build Coastguard Worker  // field.
3732*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3733*d5c09012SAndroid Build Coastguard Worker
3734*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
3735*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the parent field.
3736*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3737*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3738*d5c09012SAndroid Build Coastguard Worker
3739*d5c09012SAndroid Build Coastguard Worker  // The parent (project, location, cluster name) where the node pools will be
3740*d5c09012SAndroid Build Coastguard Worker  // listed. Specified in the format `projects/*/locations/*/clusters/*`.
3741*d5c09012SAndroid Build Coastguard Worker  string parent = 5;
3742*d5c09012SAndroid Build Coastguard Worker}
3743*d5c09012SAndroid Build Coastguard Worker
3744*d5c09012SAndroid Build Coastguard Worker// GetNodePoolRequest retrieves a node pool for a cluster.
3745*d5c09012SAndroid Build Coastguard Workermessage GetNodePoolRequest {
3746*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
3747*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
3748*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3749*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
3750*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3751*d5c09012SAndroid Build Coastguard Worker
3752*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
3753*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
3754*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
3755*d5c09012SAndroid Build Coastguard Worker  // field.
3756*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
3757*d5c09012SAndroid Build Coastguard Worker
3758*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
3759*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3760*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
3761*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3762*d5c09012SAndroid Build Coastguard Worker
3763*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the node pool.
3764*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
3765*d5c09012SAndroid Build Coastguard Worker  string node_pool_id = 4
3766*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
3767*d5c09012SAndroid Build Coastguard Worker
3768*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool id) of the node pool to
3769*d5c09012SAndroid Build Coastguard Worker  // get. Specified in the format
3770*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/clusters/*/nodePools/*`.
3771*d5c09012SAndroid Build Coastguard Worker  string name = 6;
3772*d5c09012SAndroid Build Coastguard Worker}
3773*d5c09012SAndroid Build Coastguard Worker
3774*d5c09012SAndroid Build Coastguard Worker// Settings for blue-green upgrade.
3775*d5c09012SAndroid Build Coastguard Workermessage BlueGreenSettings {
3776*d5c09012SAndroid Build Coastguard Worker  // Standard rollout policy is the default policy for blue-green.
3777*d5c09012SAndroid Build Coastguard Worker  message StandardRolloutPolicy {
3778*d5c09012SAndroid Build Coastguard Worker    // Blue pool size to drain in a batch.
3779*d5c09012SAndroid Build Coastguard Worker    oneof update_batch_size {
3780*d5c09012SAndroid Build Coastguard Worker      // Percentage of the blue pool nodes to drain in a batch.
3781*d5c09012SAndroid Build Coastguard Worker      // The range of this field should be (0.0, 1.0].
3782*d5c09012SAndroid Build Coastguard Worker      float batch_percentage = 1;
3783*d5c09012SAndroid Build Coastguard Worker
3784*d5c09012SAndroid Build Coastguard Worker      // Number of blue nodes to drain in a batch.
3785*d5c09012SAndroid Build Coastguard Worker      int32 batch_node_count = 2;
3786*d5c09012SAndroid Build Coastguard Worker    }
3787*d5c09012SAndroid Build Coastguard Worker
3788*d5c09012SAndroid Build Coastguard Worker    // Soak time after each batch gets drained. Default to zero.
3789*d5c09012SAndroid Build Coastguard Worker    optional google.protobuf.Duration batch_soak_duration = 3;
3790*d5c09012SAndroid Build Coastguard Worker  }
3791*d5c09012SAndroid Build Coastguard Worker
3792*d5c09012SAndroid Build Coastguard Worker  // Autoscaled rollout policy uses cluster autoscaler during
3793*d5c09012SAndroid Build Coastguard Worker  // blue-green upgrades to scale both the green and blue pools.
3794*d5c09012SAndroid Build Coastguard Worker  message AutoscaledRolloutPolicy {}
3795*d5c09012SAndroid Build Coastguard Worker
3796*d5c09012SAndroid Build Coastguard Worker  // The rollout policy controls the general rollout progress of blue-green.
3797*d5c09012SAndroid Build Coastguard Worker  oneof rollout_policy {
3798*d5c09012SAndroid Build Coastguard Worker    // Standard policy for the blue-green upgrade.
3799*d5c09012SAndroid Build Coastguard Worker    StandardRolloutPolicy standard_rollout_policy = 1;
3800*d5c09012SAndroid Build Coastguard Worker
3801*d5c09012SAndroid Build Coastguard Worker    // Autoscaled policy for cluster autoscaler enabled blue-green upgrade.
3802*d5c09012SAndroid Build Coastguard Worker    AutoscaledRolloutPolicy autoscaled_rollout_policy = 3;
3803*d5c09012SAndroid Build Coastguard Worker  }
3804*d5c09012SAndroid Build Coastguard Worker
3805*d5c09012SAndroid Build Coastguard Worker  // Time needed after draining entire blue pool. After this period, blue pool
3806*d5c09012SAndroid Build Coastguard Worker  // will be cleaned up.
3807*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Duration node_pool_soak_duration = 2;
3808*d5c09012SAndroid Build Coastguard Worker}
3809*d5c09012SAndroid Build Coastguard Worker
3810*d5c09012SAndroid Build Coastguard Worker// NodePool contains the name and configuration for a cluster's node pool.
3811*d5c09012SAndroid Build Coastguard Worker// Node pools are a set of nodes (i.e. VM's), with a common configuration and
3812*d5c09012SAndroid Build Coastguard Worker// specification, under the control of the cluster master. They may have a set
3813*d5c09012SAndroid Build Coastguard Worker// of Kubernetes labels applied to them, which may be used to reference them
3814*d5c09012SAndroid Build Coastguard Worker// during pod scheduling. They may also be resized up or down, to accommodate
3815*d5c09012SAndroid Build Coastguard Worker// the workload.
3816*d5c09012SAndroid Build Coastguard Workermessage NodePool {
3817*d5c09012SAndroid Build Coastguard Worker  // These upgrade settings control the level of parallelism and the level of
3818*d5c09012SAndroid Build Coastguard Worker  // disruption caused by an upgrade.
3819*d5c09012SAndroid Build Coastguard Worker  //
3820*d5c09012SAndroid Build Coastguard Worker  // maxUnavailable controls the number of nodes that can be simultaneously
3821*d5c09012SAndroid Build Coastguard Worker  // unavailable.
3822*d5c09012SAndroid Build Coastguard Worker  //
3823*d5c09012SAndroid Build Coastguard Worker  // maxSurge controls the number of additional nodes that can be added to the
3824*d5c09012SAndroid Build Coastguard Worker  // node pool temporarily for the time of the upgrade to increase the number of
3825*d5c09012SAndroid Build Coastguard Worker  // available nodes.
3826*d5c09012SAndroid Build Coastguard Worker  //
3827*d5c09012SAndroid Build Coastguard Worker  // (maxUnavailable + maxSurge) determines the level of parallelism (how many
3828*d5c09012SAndroid Build Coastguard Worker  // nodes are being upgraded at the same time).
3829*d5c09012SAndroid Build Coastguard Worker  //
3830*d5c09012SAndroid Build Coastguard Worker  // Note: upgrades inevitably introduce some disruption since workloads need to
3831*d5c09012SAndroid Build Coastguard Worker  // be moved from old nodes to new, upgraded ones. Even if maxUnavailable=0,
3832*d5c09012SAndroid Build Coastguard Worker  // this holds true. (Disruption stays within the limits of
3833*d5c09012SAndroid Build Coastguard Worker  // PodDisruptionBudget, if it is configured.)
3834*d5c09012SAndroid Build Coastguard Worker  //
3835*d5c09012SAndroid Build Coastguard Worker  // Consider a hypothetical node pool with 5 nodes having maxSurge=2,
3836*d5c09012SAndroid Build Coastguard Worker  // maxUnavailable=1. This means the upgrade process upgrades 3 nodes
3837*d5c09012SAndroid Build Coastguard Worker  // simultaneously. It creates 2 additional (upgraded) nodes, then it brings
3838*d5c09012SAndroid Build Coastguard Worker  // down 3 old (not yet upgraded) nodes at the same time. This ensures that
3839*d5c09012SAndroid Build Coastguard Worker  // there are always at least 4 nodes available.
3840*d5c09012SAndroid Build Coastguard Worker  //
3841*d5c09012SAndroid Build Coastguard Worker  // These upgrade settings configure the upgrade strategy for the node pool.
3842*d5c09012SAndroid Build Coastguard Worker  // Use strategy to switch between the strategies applied to the node pool.
3843*d5c09012SAndroid Build Coastguard Worker  //
3844*d5c09012SAndroid Build Coastguard Worker  // If the strategy is SURGE, use max_surge and max_unavailable to control
3845*d5c09012SAndroid Build Coastguard Worker  // the level of parallelism and the level of disruption caused by upgrade.
3846*d5c09012SAndroid Build Coastguard Worker  // 1. maxSurge controls the number of additional nodes that can be added to
3847*d5c09012SAndroid Build Coastguard Worker  // the node pool temporarily for the time of the upgrade to increase the
3848*d5c09012SAndroid Build Coastguard Worker  // number of available nodes.
3849*d5c09012SAndroid Build Coastguard Worker  // 2. maxUnavailable controls the number of nodes that can be simultaneously
3850*d5c09012SAndroid Build Coastguard Worker  // unavailable.
3851*d5c09012SAndroid Build Coastguard Worker  // 3. (maxUnavailable + maxSurge) determines the level of parallelism (how
3852*d5c09012SAndroid Build Coastguard Worker  // many nodes are being upgraded at the same time).
3853*d5c09012SAndroid Build Coastguard Worker  //
3854*d5c09012SAndroid Build Coastguard Worker  // If the strategy is BLUE_GREEN, use blue_green_settings to configure the
3855*d5c09012SAndroid Build Coastguard Worker  // blue-green upgrade related settings.
3856*d5c09012SAndroid Build Coastguard Worker  // 1. standard_rollout_policy is the default policy. The policy is used to
3857*d5c09012SAndroid Build Coastguard Worker  // control the way blue pool gets drained. The draining is executed in the
3858*d5c09012SAndroid Build Coastguard Worker  // batch mode. The batch size could be specified as either percentage of the
3859*d5c09012SAndroid Build Coastguard Worker  // node pool size or the number of nodes. batch_soak_duration is the soak
3860*d5c09012SAndroid Build Coastguard Worker  // time after each batch gets drained.
3861*d5c09012SAndroid Build Coastguard Worker  // 2. node_pool_soak_duration is the soak time after all blue nodes are
3862*d5c09012SAndroid Build Coastguard Worker  // drained. After this period, the blue pool nodes will be deleted.
3863*d5c09012SAndroid Build Coastguard Worker  message UpgradeSettings {
3864*d5c09012SAndroid Build Coastguard Worker    // The maximum number of nodes that can be created beyond the current size
3865*d5c09012SAndroid Build Coastguard Worker    // of the node pool during the upgrade process.
3866*d5c09012SAndroid Build Coastguard Worker    int32 max_surge = 1;
3867*d5c09012SAndroid Build Coastguard Worker
3868*d5c09012SAndroid Build Coastguard Worker    // The maximum number of nodes that can be simultaneously unavailable during
3869*d5c09012SAndroid Build Coastguard Worker    // the upgrade process. A node is considered available if its status is
3870*d5c09012SAndroid Build Coastguard Worker    // Ready.
3871*d5c09012SAndroid Build Coastguard Worker    int32 max_unavailable = 2;
3872*d5c09012SAndroid Build Coastguard Worker
3873*d5c09012SAndroid Build Coastguard Worker    // Update strategy of the node pool.
3874*d5c09012SAndroid Build Coastguard Worker    optional NodePoolUpdateStrategy strategy = 3;
3875*d5c09012SAndroid Build Coastguard Worker
3876*d5c09012SAndroid Build Coastguard Worker    // Settings for blue-green upgrade strategy.
3877*d5c09012SAndroid Build Coastguard Worker    optional BlueGreenSettings blue_green_settings = 4;
3878*d5c09012SAndroid Build Coastguard Worker  }
3879*d5c09012SAndroid Build Coastguard Worker
3880*d5c09012SAndroid Build Coastguard Worker  // UpdateInfo contains resource (instance groups, etc), status and other
3881*d5c09012SAndroid Build Coastguard Worker  // intermediate information relevant to a node pool upgrade.
3882*d5c09012SAndroid Build Coastguard Worker  message UpdateInfo {
3883*d5c09012SAndroid Build Coastguard Worker    // Information relevant to blue-green upgrade.
3884*d5c09012SAndroid Build Coastguard Worker    message BlueGreenInfo {
3885*d5c09012SAndroid Build Coastguard Worker      // Phase represents the different stages blue-green upgrade is running in.
3886*d5c09012SAndroid Build Coastguard Worker      enum Phase {
3887*d5c09012SAndroid Build Coastguard Worker        // Unspecified phase.
3888*d5c09012SAndroid Build Coastguard Worker        PHASE_UNSPECIFIED = 0;
3889*d5c09012SAndroid Build Coastguard Worker
3890*d5c09012SAndroid Build Coastguard Worker        // blue-green upgrade has been initiated.
3891*d5c09012SAndroid Build Coastguard Worker        UPDATE_STARTED = 1;
3892*d5c09012SAndroid Build Coastguard Worker
3893*d5c09012SAndroid Build Coastguard Worker        // Start creating green pool nodes.
3894*d5c09012SAndroid Build Coastguard Worker        CREATING_GREEN_POOL = 2;
3895*d5c09012SAndroid Build Coastguard Worker
3896*d5c09012SAndroid Build Coastguard Worker        // Start cordoning blue pool nodes.
3897*d5c09012SAndroid Build Coastguard Worker        CORDONING_BLUE_POOL = 3;
3898*d5c09012SAndroid Build Coastguard Worker
3899*d5c09012SAndroid Build Coastguard Worker        // Start waiting after cordoning the blue pool and before draining it.
3900*d5c09012SAndroid Build Coastguard Worker        WAITING_TO_DRAIN_BLUE_POOL = 8;
3901*d5c09012SAndroid Build Coastguard Worker
3902*d5c09012SAndroid Build Coastguard Worker        // Start draining blue pool nodes.
3903*d5c09012SAndroid Build Coastguard Worker        DRAINING_BLUE_POOL = 4;
3904*d5c09012SAndroid Build Coastguard Worker
3905*d5c09012SAndroid Build Coastguard Worker        // Start soaking time after draining entire blue pool.
3906*d5c09012SAndroid Build Coastguard Worker        NODE_POOL_SOAKING = 5;
3907*d5c09012SAndroid Build Coastguard Worker
3908*d5c09012SAndroid Build Coastguard Worker        // Start deleting blue nodes.
3909*d5c09012SAndroid Build Coastguard Worker        DELETING_BLUE_POOL = 6;
3910*d5c09012SAndroid Build Coastguard Worker
3911*d5c09012SAndroid Build Coastguard Worker        // Rollback has been initiated.
3912*d5c09012SAndroid Build Coastguard Worker        ROLLBACK_STARTED = 7;
3913*d5c09012SAndroid Build Coastguard Worker      }
3914*d5c09012SAndroid Build Coastguard Worker
3915*d5c09012SAndroid Build Coastguard Worker      // Current blue-green upgrade phase.
3916*d5c09012SAndroid Build Coastguard Worker      Phase phase = 1;
3917*d5c09012SAndroid Build Coastguard Worker
3918*d5c09012SAndroid Build Coastguard Worker      // The resource URLs of the [managed instance groups]
3919*d5c09012SAndroid Build Coastguard Worker      // (/compute/docs/instance-groups/creating-groups-of-managed-instances)
3920*d5c09012SAndroid Build Coastguard Worker      // associated with blue pool.
3921*d5c09012SAndroid Build Coastguard Worker      repeated string blue_instance_group_urls = 2;
3922*d5c09012SAndroid Build Coastguard Worker
3923*d5c09012SAndroid Build Coastguard Worker      // The resource URLs of the [managed instance groups]
3924*d5c09012SAndroid Build Coastguard Worker      // (/compute/docs/instance-groups/creating-groups-of-managed-instances)
3925*d5c09012SAndroid Build Coastguard Worker      // associated with green pool.
3926*d5c09012SAndroid Build Coastguard Worker      repeated string green_instance_group_urls = 3;
3927*d5c09012SAndroid Build Coastguard Worker
3928*d5c09012SAndroid Build Coastguard Worker      // Time to start deleting blue pool to complete blue-green upgrade,
3929*d5c09012SAndroid Build Coastguard Worker      // in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
3930*d5c09012SAndroid Build Coastguard Worker      string blue_pool_deletion_start_time = 4;
3931*d5c09012SAndroid Build Coastguard Worker
3932*d5c09012SAndroid Build Coastguard Worker      // Version of green pool.
3933*d5c09012SAndroid Build Coastguard Worker      string green_pool_version = 5;
3934*d5c09012SAndroid Build Coastguard Worker    }
3935*d5c09012SAndroid Build Coastguard Worker
3936*d5c09012SAndroid Build Coastguard Worker    // Information of a blue-green upgrade.
3937*d5c09012SAndroid Build Coastguard Worker    BlueGreenInfo blue_green_info = 1;
3938*d5c09012SAndroid Build Coastguard Worker  }
3939*d5c09012SAndroid Build Coastguard Worker
3940*d5c09012SAndroid Build Coastguard Worker  // The current status of the node pool instance.
3941*d5c09012SAndroid Build Coastguard Worker  enum Status {
3942*d5c09012SAndroid Build Coastguard Worker    // Not set.
3943*d5c09012SAndroid Build Coastguard Worker    STATUS_UNSPECIFIED = 0;
3944*d5c09012SAndroid Build Coastguard Worker
3945*d5c09012SAndroid Build Coastguard Worker    // The PROVISIONING state indicates the node pool is being created.
3946*d5c09012SAndroid Build Coastguard Worker    PROVISIONING = 1;
3947*d5c09012SAndroid Build Coastguard Worker
3948*d5c09012SAndroid Build Coastguard Worker    // The RUNNING state indicates the node pool has been created
3949*d5c09012SAndroid Build Coastguard Worker    // and is fully usable.
3950*d5c09012SAndroid Build Coastguard Worker    RUNNING = 2;
3951*d5c09012SAndroid Build Coastguard Worker
3952*d5c09012SAndroid Build Coastguard Worker    // The RUNNING_WITH_ERROR state indicates the node pool has been created
3953*d5c09012SAndroid Build Coastguard Worker    // and is partially usable. Some error state has occurred and some
3954*d5c09012SAndroid Build Coastguard Worker    // functionality may be impaired. Customer may need to reissue a request
3955*d5c09012SAndroid Build Coastguard Worker    // or trigger a new update.
3956*d5c09012SAndroid Build Coastguard Worker    RUNNING_WITH_ERROR = 3;
3957*d5c09012SAndroid Build Coastguard Worker
3958*d5c09012SAndroid Build Coastguard Worker    // The RECONCILING state indicates that some work is actively being done on
3959*d5c09012SAndroid Build Coastguard Worker    // the node pool, such as upgrading node software. Details can
3960*d5c09012SAndroid Build Coastguard Worker    // be found in the `statusMessage` field.
3961*d5c09012SAndroid Build Coastguard Worker    RECONCILING = 4;
3962*d5c09012SAndroid Build Coastguard Worker
3963*d5c09012SAndroid Build Coastguard Worker    // The STOPPING state indicates the node pool is being deleted.
3964*d5c09012SAndroid Build Coastguard Worker    STOPPING = 5;
3965*d5c09012SAndroid Build Coastguard Worker
3966*d5c09012SAndroid Build Coastguard Worker    // The ERROR state indicates the node pool may be unusable. Details
3967*d5c09012SAndroid Build Coastguard Worker    // can be found in the `statusMessage` field.
3968*d5c09012SAndroid Build Coastguard Worker    ERROR = 6;
3969*d5c09012SAndroid Build Coastguard Worker  }
3970*d5c09012SAndroid Build Coastguard Worker
3971*d5c09012SAndroid Build Coastguard Worker  // PlacementPolicy defines the placement policy used by the node pool.
3972*d5c09012SAndroid Build Coastguard Worker  message PlacementPolicy {
3973*d5c09012SAndroid Build Coastguard Worker    // Type defines the type of placement policy.
3974*d5c09012SAndroid Build Coastguard Worker    enum Type {
3975*d5c09012SAndroid Build Coastguard Worker      // TYPE_UNSPECIFIED specifies no requirements on nodes
3976*d5c09012SAndroid Build Coastguard Worker      // placement.
3977*d5c09012SAndroid Build Coastguard Worker      TYPE_UNSPECIFIED = 0;
3978*d5c09012SAndroid Build Coastguard Worker
3979*d5c09012SAndroid Build Coastguard Worker      // COMPACT specifies node placement in the same availability domain to
3980*d5c09012SAndroid Build Coastguard Worker      // ensure low communication latency.
3981*d5c09012SAndroid Build Coastguard Worker      COMPACT = 1;
3982*d5c09012SAndroid Build Coastguard Worker    }
3983*d5c09012SAndroid Build Coastguard Worker
3984*d5c09012SAndroid Build Coastguard Worker    // The type of placement.
3985*d5c09012SAndroid Build Coastguard Worker    Type type = 1;
3986*d5c09012SAndroid Build Coastguard Worker
3987*d5c09012SAndroid Build Coastguard Worker    // TPU placement topology for pod slice node pool.
3988*d5c09012SAndroid Build Coastguard Worker    // https://cloud.google.com/tpu/docs/types-topologies#tpu_topologies
3989*d5c09012SAndroid Build Coastguard Worker    string tpu_topology = 2;
3990*d5c09012SAndroid Build Coastguard Worker
3991*d5c09012SAndroid Build Coastguard Worker    // If set, refers to the name of a custom resource policy supplied by the
3992*d5c09012SAndroid Build Coastguard Worker    // user. The resource policy must be in the same project and region as the
3993*d5c09012SAndroid Build Coastguard Worker    // node pool. If not found, InvalidArgument error is returned.
3994*d5c09012SAndroid Build Coastguard Worker    string policy_name = 3;
3995*d5c09012SAndroid Build Coastguard Worker  }
3996*d5c09012SAndroid Build Coastguard Worker
3997*d5c09012SAndroid Build Coastguard Worker  // QueuedProvisioning defines the queued provisioning used by the node pool.
3998*d5c09012SAndroid Build Coastguard Worker  message QueuedProvisioning {
3999*d5c09012SAndroid Build Coastguard Worker    // Denotes that this nodepool is QRM specific, meaning nodes can be only
4000*d5c09012SAndroid Build Coastguard Worker    // obtained through queuing via the Cluster Autoscaler ProvisioningRequest
4001*d5c09012SAndroid Build Coastguard Worker    // API.
4002*d5c09012SAndroid Build Coastguard Worker    bool enabled = 1;
4003*d5c09012SAndroid Build Coastguard Worker  }
4004*d5c09012SAndroid Build Coastguard Worker
4005*d5c09012SAndroid Build Coastguard Worker  // The name of the node pool.
4006*d5c09012SAndroid Build Coastguard Worker  string name = 1;
4007*d5c09012SAndroid Build Coastguard Worker
4008*d5c09012SAndroid Build Coastguard Worker  // The node configuration of the pool.
4009*d5c09012SAndroid Build Coastguard Worker  NodeConfig config = 2;
4010*d5c09012SAndroid Build Coastguard Worker
4011*d5c09012SAndroid Build Coastguard Worker  // The initial node count for the pool. You must ensure that your
4012*d5c09012SAndroid Build Coastguard Worker  // Compute Engine [resource quota](https://cloud.google.com/compute/quotas)
4013*d5c09012SAndroid Build Coastguard Worker  // is sufficient for this number of instances. You must also have available
4014*d5c09012SAndroid Build Coastguard Worker  // firewall and routes quota.
4015*d5c09012SAndroid Build Coastguard Worker  int32 initial_node_count = 3;
4016*d5c09012SAndroid Build Coastguard Worker
4017*d5c09012SAndroid Build Coastguard Worker  // The list of Google Compute Engine
4018*d5c09012SAndroid Build Coastguard Worker  // [zones](https://cloud.google.com/compute/docs/zones#available) in which the
4019*d5c09012SAndroid Build Coastguard Worker  // NodePool's nodes should be located.
4020*d5c09012SAndroid Build Coastguard Worker  //
4021*d5c09012SAndroid Build Coastguard Worker  // If this value is unspecified during node pool creation, the
4022*d5c09012SAndroid Build Coastguard Worker  // [Cluster.Locations](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1/projects.locations.clusters#Cluster.FIELDS.locations)
4023*d5c09012SAndroid Build Coastguard Worker  // value will be used, instead.
4024*d5c09012SAndroid Build Coastguard Worker  //
4025*d5c09012SAndroid Build Coastguard Worker  // Warning: changing node pool locations will result in nodes being added
4026*d5c09012SAndroid Build Coastguard Worker  // and/or removed.
4027*d5c09012SAndroid Build Coastguard Worker  repeated string locations = 13;
4028*d5c09012SAndroid Build Coastguard Worker
4029*d5c09012SAndroid Build Coastguard Worker  // Networking configuration for this NodePool. If specified, it overrides the
4030*d5c09012SAndroid Build Coastguard Worker  // cluster-level defaults.
4031*d5c09012SAndroid Build Coastguard Worker  NodeNetworkConfig network_config = 14;
4032*d5c09012SAndroid Build Coastguard Worker
4033*d5c09012SAndroid Build Coastguard Worker  // [Output only] Server-defined URL for the resource.
4034*d5c09012SAndroid Build Coastguard Worker  string self_link = 100;
4035*d5c09012SAndroid Build Coastguard Worker
4036*d5c09012SAndroid Build Coastguard Worker  // The version of Kubernetes running on this NodePool's nodes. If unspecified,
4037*d5c09012SAndroid Build Coastguard Worker  // it defaults as described
4038*d5c09012SAndroid Build Coastguard Worker  // [here](https://cloud.google.com/kubernetes-engine/versioning#specifying_node_version).
4039*d5c09012SAndroid Build Coastguard Worker  string version = 101;
4040*d5c09012SAndroid Build Coastguard Worker
4041*d5c09012SAndroid Build Coastguard Worker  // [Output only] The resource URLs of the [managed instance
4042*d5c09012SAndroid Build Coastguard Worker  // groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances)
4043*d5c09012SAndroid Build Coastguard Worker  // associated with this node pool.
4044*d5c09012SAndroid Build Coastguard Worker  // During the node pool blue-green upgrade operation, the URLs contain both
4045*d5c09012SAndroid Build Coastguard Worker  // blue and green resources.
4046*d5c09012SAndroid Build Coastguard Worker  repeated string instance_group_urls = 102;
4047*d5c09012SAndroid Build Coastguard Worker
4048*d5c09012SAndroid Build Coastguard Worker  // [Output only] The status of the nodes in this pool instance.
4049*d5c09012SAndroid Build Coastguard Worker  Status status = 103;
4050*d5c09012SAndroid Build Coastguard Worker
4051*d5c09012SAndroid Build Coastguard Worker  // [Output only] Deprecated. Use conditions instead.
4052*d5c09012SAndroid Build Coastguard Worker  // Additional information about the current status of this
4053*d5c09012SAndroid Build Coastguard Worker  // node pool instance, if available.
4054*d5c09012SAndroid Build Coastguard Worker  string status_message = 104 [deprecated = true];
4055*d5c09012SAndroid Build Coastguard Worker
4056*d5c09012SAndroid Build Coastguard Worker  // Autoscaler configuration for this NodePool. Autoscaler is enabled
4057*d5c09012SAndroid Build Coastguard Worker  // only if a valid configuration is present.
4058*d5c09012SAndroid Build Coastguard Worker  NodePoolAutoscaling autoscaling = 4;
4059*d5c09012SAndroid Build Coastguard Worker
4060*d5c09012SAndroid Build Coastguard Worker  // NodeManagement configuration for this NodePool.
4061*d5c09012SAndroid Build Coastguard Worker  NodeManagement management = 5;
4062*d5c09012SAndroid Build Coastguard Worker
4063*d5c09012SAndroid Build Coastguard Worker  // The constraint on the maximum number of pods that can be run
4064*d5c09012SAndroid Build Coastguard Worker  // simultaneously on a node in the node pool.
4065*d5c09012SAndroid Build Coastguard Worker  MaxPodsConstraint max_pods_constraint = 6;
4066*d5c09012SAndroid Build Coastguard Worker
4067*d5c09012SAndroid Build Coastguard Worker  // Which conditions caused the current node pool state.
4068*d5c09012SAndroid Build Coastguard Worker  repeated StatusCondition conditions = 105;
4069*d5c09012SAndroid Build Coastguard Worker
4070*d5c09012SAndroid Build Coastguard Worker  // [Output only] The pod CIDR block size per node in this node pool.
4071*d5c09012SAndroid Build Coastguard Worker  int32 pod_ipv4_cidr_size = 7;
4072*d5c09012SAndroid Build Coastguard Worker
4073*d5c09012SAndroid Build Coastguard Worker  // Upgrade settings control disruption and speed of the upgrade.
4074*d5c09012SAndroid Build Coastguard Worker  UpgradeSettings upgrade_settings = 107;
4075*d5c09012SAndroid Build Coastguard Worker
4076*d5c09012SAndroid Build Coastguard Worker  // Specifies the node placement policy.
4077*d5c09012SAndroid Build Coastguard Worker  PlacementPolicy placement_policy = 108;
4078*d5c09012SAndroid Build Coastguard Worker
4079*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] Update info contains relevant information during
4080*d5c09012SAndroid Build Coastguard Worker  // a node pool update.
4081*d5c09012SAndroid Build Coastguard Worker  UpdateInfo update_info = 109 [(google.api.field_behavior) = OUTPUT_ONLY];
4082*d5c09012SAndroid Build Coastguard Worker
4083*d5c09012SAndroid Build Coastguard Worker  // This checksum is computed by the server based on the value of node pool
4084*d5c09012SAndroid Build Coastguard Worker  // fields, and may be sent on update requests to ensure the client has an
4085*d5c09012SAndroid Build Coastguard Worker  // up-to-date value before proceeding.
4086*d5c09012SAndroid Build Coastguard Worker  string etag = 110;
4087*d5c09012SAndroid Build Coastguard Worker
4088*d5c09012SAndroid Build Coastguard Worker  // Specifies the configuration of queued provisioning.
4089*d5c09012SAndroid Build Coastguard Worker  QueuedProvisioning queued_provisioning = 112;
4090*d5c09012SAndroid Build Coastguard Worker
4091*d5c09012SAndroid Build Coastguard Worker  // Enable best effort provisioning for nodes
4092*d5c09012SAndroid Build Coastguard Worker  BestEffortProvisioning best_effort_provisioning = 113;
4093*d5c09012SAndroid Build Coastguard Worker}
4094*d5c09012SAndroid Build Coastguard Worker
4095*d5c09012SAndroid Build Coastguard Worker// NodeManagement defines the set of node management services turned on for the
4096*d5c09012SAndroid Build Coastguard Worker// node pool.
4097*d5c09012SAndroid Build Coastguard Workermessage NodeManagement {
4098*d5c09012SAndroid Build Coastguard Worker  // Whether the nodes will be automatically upgraded.
4099*d5c09012SAndroid Build Coastguard Worker  bool auto_upgrade = 1;
4100*d5c09012SAndroid Build Coastguard Worker
4101*d5c09012SAndroid Build Coastguard Worker  // Whether the nodes will be automatically repaired.
4102*d5c09012SAndroid Build Coastguard Worker  bool auto_repair = 2;
4103*d5c09012SAndroid Build Coastguard Worker
4104*d5c09012SAndroid Build Coastguard Worker  // Specifies the Auto Upgrade knobs for the node pool.
4105*d5c09012SAndroid Build Coastguard Worker  AutoUpgradeOptions upgrade_options = 10;
4106*d5c09012SAndroid Build Coastguard Worker}
4107*d5c09012SAndroid Build Coastguard Worker
4108*d5c09012SAndroid Build Coastguard Worker// AutoUpgradeOptions defines the set of options for the user to control how
4109*d5c09012SAndroid Build Coastguard Worker// the Auto Upgrades will proceed.
4110*d5c09012SAndroid Build Coastguard Workermessage AutoUpgradeOptions {
4111*d5c09012SAndroid Build Coastguard Worker  // [Output only] This field is set when upgrades are about to commence
4112*d5c09012SAndroid Build Coastguard Worker  // with the approximate start time for the upgrades, in
4113*d5c09012SAndroid Build Coastguard Worker  // [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
4114*d5c09012SAndroid Build Coastguard Worker  string auto_upgrade_start_time = 1;
4115*d5c09012SAndroid Build Coastguard Worker
4116*d5c09012SAndroid Build Coastguard Worker  // [Output only] This field is set when upgrades are about to commence
4117*d5c09012SAndroid Build Coastguard Worker  // with the description of the upgrade.
4118*d5c09012SAndroid Build Coastguard Worker  string description = 2;
4119*d5c09012SAndroid Build Coastguard Worker}
4120*d5c09012SAndroid Build Coastguard Worker
4121*d5c09012SAndroid Build Coastguard Worker// MaintenancePolicy defines the maintenance policy to be used for the cluster.
4122*d5c09012SAndroid Build Coastguard Workermessage MaintenancePolicy {
4123*d5c09012SAndroid Build Coastguard Worker  // Specifies the maintenance window in which maintenance may be performed.
4124*d5c09012SAndroid Build Coastguard Worker  MaintenanceWindow window = 1;
4125*d5c09012SAndroid Build Coastguard Worker
4126*d5c09012SAndroid Build Coastguard Worker  // A hash identifying the version of this policy, so that updates to fields of
4127*d5c09012SAndroid Build Coastguard Worker  // the policy won't accidentally undo intermediate changes (and so that users
4128*d5c09012SAndroid Build Coastguard Worker  // of the API unaware of some fields won't accidentally remove other fields).
4129*d5c09012SAndroid Build Coastguard Worker  // Make a `get()` request to the cluster to get the current
4130*d5c09012SAndroid Build Coastguard Worker  // resource version and include it with requests to set the policy.
4131*d5c09012SAndroid Build Coastguard Worker  string resource_version = 3;
4132*d5c09012SAndroid Build Coastguard Worker}
4133*d5c09012SAndroid Build Coastguard Worker
4134*d5c09012SAndroid Build Coastguard Worker// MaintenanceWindow defines the maintenance window to be used for the cluster.
4135*d5c09012SAndroid Build Coastguard Workermessage MaintenanceWindow {
4136*d5c09012SAndroid Build Coastguard Worker  // Unimplemented, reserved for future use.
4137*d5c09012SAndroid Build Coastguard Worker  // HourlyMaintenanceWindow hourly_maintenance_window = 1;
4138*d5c09012SAndroid Build Coastguard Worker  oneof policy {
4139*d5c09012SAndroid Build Coastguard Worker    // DailyMaintenanceWindow specifies a daily maintenance operation window.
4140*d5c09012SAndroid Build Coastguard Worker    DailyMaintenanceWindow daily_maintenance_window = 2;
4141*d5c09012SAndroid Build Coastguard Worker
4142*d5c09012SAndroid Build Coastguard Worker    // RecurringWindow specifies some number of recurring time periods for
4143*d5c09012SAndroid Build Coastguard Worker    // maintenance to occur. The time windows may be overlapping. If no
4144*d5c09012SAndroid Build Coastguard Worker    // maintenance windows are set, maintenance can occur at any time.
4145*d5c09012SAndroid Build Coastguard Worker    RecurringTimeWindow recurring_window = 3;
4146*d5c09012SAndroid Build Coastguard Worker  }
4147*d5c09012SAndroid Build Coastguard Worker
4148*d5c09012SAndroid Build Coastguard Worker  // Exceptions to maintenance window. Non-emergency maintenance should not
4149*d5c09012SAndroid Build Coastguard Worker  // occur in these windows.
4150*d5c09012SAndroid Build Coastguard Worker  map<string, TimeWindow> maintenance_exclusions = 4;
4151*d5c09012SAndroid Build Coastguard Worker}
4152*d5c09012SAndroid Build Coastguard Worker
4153*d5c09012SAndroid Build Coastguard Worker// Represents an arbitrary window of time.
4154*d5c09012SAndroid Build Coastguard Workermessage TimeWindow {
4155*d5c09012SAndroid Build Coastguard Worker  oneof options {
4156*d5c09012SAndroid Build Coastguard Worker    // MaintenanceExclusionOptions provides maintenance exclusion related
4157*d5c09012SAndroid Build Coastguard Worker    // options.
4158*d5c09012SAndroid Build Coastguard Worker    MaintenanceExclusionOptions maintenance_exclusion_options = 3;
4159*d5c09012SAndroid Build Coastguard Worker  }
4160*d5c09012SAndroid Build Coastguard Worker
4161*d5c09012SAndroid Build Coastguard Worker  // The time that the window first starts.
4162*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 1;
4163*d5c09012SAndroid Build Coastguard Worker
4164*d5c09012SAndroid Build Coastguard Worker  // The time that the window ends. The end time should take place after the
4165*d5c09012SAndroid Build Coastguard Worker  // start time.
4166*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
4167*d5c09012SAndroid Build Coastguard Worker}
4168*d5c09012SAndroid Build Coastguard Worker
4169*d5c09012SAndroid Build Coastguard Worker// Represents the Maintenance exclusion option.
4170*d5c09012SAndroid Build Coastguard Workermessage MaintenanceExclusionOptions {
4171*d5c09012SAndroid Build Coastguard Worker  // Scope of exclusion.
4172*d5c09012SAndroid Build Coastguard Worker  enum Scope {
4173*d5c09012SAndroid Build Coastguard Worker    // NO_UPGRADES excludes all upgrades, including patch upgrades and minor
4174*d5c09012SAndroid Build Coastguard Worker    // upgrades across control planes and nodes. This is the default exclusion
4175*d5c09012SAndroid Build Coastguard Worker    // behavior.
4176*d5c09012SAndroid Build Coastguard Worker    NO_UPGRADES = 0;
4177*d5c09012SAndroid Build Coastguard Worker
4178*d5c09012SAndroid Build Coastguard Worker    // NO_MINOR_UPGRADES excludes all minor upgrades for the cluster, only
4179*d5c09012SAndroid Build Coastguard Worker    // patches are allowed.
4180*d5c09012SAndroid Build Coastguard Worker    NO_MINOR_UPGRADES = 1;
4181*d5c09012SAndroid Build Coastguard Worker
4182*d5c09012SAndroid Build Coastguard Worker    // NO_MINOR_OR_NODE_UPGRADES excludes all minor upgrades for the cluster,
4183*d5c09012SAndroid Build Coastguard Worker    // and also exclude all node pool upgrades. Only control
4184*d5c09012SAndroid Build Coastguard Worker    // plane patches are allowed.
4185*d5c09012SAndroid Build Coastguard Worker    NO_MINOR_OR_NODE_UPGRADES = 2;
4186*d5c09012SAndroid Build Coastguard Worker  }
4187*d5c09012SAndroid Build Coastguard Worker
4188*d5c09012SAndroid Build Coastguard Worker  // Scope specifies the upgrade scope which upgrades are blocked by the
4189*d5c09012SAndroid Build Coastguard Worker  // exclusion.
4190*d5c09012SAndroid Build Coastguard Worker  Scope scope = 1;
4191*d5c09012SAndroid Build Coastguard Worker}
4192*d5c09012SAndroid Build Coastguard Worker
4193*d5c09012SAndroid Build Coastguard Worker// Represents an arbitrary window of time that recurs.
4194*d5c09012SAndroid Build Coastguard Workermessage RecurringTimeWindow {
4195*d5c09012SAndroid Build Coastguard Worker  // The window of the first recurrence.
4196*d5c09012SAndroid Build Coastguard Worker  TimeWindow window = 1;
4197*d5c09012SAndroid Build Coastguard Worker
4198*d5c09012SAndroid Build Coastguard Worker  // An RRULE (https://tools.ietf.org/html/rfc5545#section-3.8.5.3) for how
4199*d5c09012SAndroid Build Coastguard Worker  // this window reccurs. They go on for the span of time between the start and
4200*d5c09012SAndroid Build Coastguard Worker  // end time.
4201*d5c09012SAndroid Build Coastguard Worker  //
4202*d5c09012SAndroid Build Coastguard Worker  // For example, to have something repeat every weekday, you'd use:
4203*d5c09012SAndroid Build Coastguard Worker  // `FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`
4204*d5c09012SAndroid Build Coastguard Worker  //
4205*d5c09012SAndroid Build Coastguard Worker  // To repeat some window daily (equivalent to the DailyMaintenanceWindow):
4206*d5c09012SAndroid Build Coastguard Worker  // `FREQ=DAILY`
4207*d5c09012SAndroid Build Coastguard Worker  //
4208*d5c09012SAndroid Build Coastguard Worker  // For the first weekend of every month:
4209*d5c09012SAndroid Build Coastguard Worker  // `FREQ=MONTHLY;BYSETPOS=1;BYDAY=SA,SU`
4210*d5c09012SAndroid Build Coastguard Worker  //
4211*d5c09012SAndroid Build Coastguard Worker  // This specifies how frequently the window starts. Eg, if you wanted to have
4212*d5c09012SAndroid Build Coastguard Worker  // a 9-5 UTC-4 window every weekday, you'd use something like:
4213*d5c09012SAndroid Build Coastguard Worker  // ```
4214*d5c09012SAndroid Build Coastguard Worker  // start time = 2019-01-01T09:00:00-0400
4215*d5c09012SAndroid Build Coastguard Worker  // end time = 2019-01-01T17:00:00-0400
4216*d5c09012SAndroid Build Coastguard Worker  // recurrence = FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR
4217*d5c09012SAndroid Build Coastguard Worker  // ```
4218*d5c09012SAndroid Build Coastguard Worker  //
4219*d5c09012SAndroid Build Coastguard Worker  // Windows can span multiple days. Eg, to make the window encompass every
4220*d5c09012SAndroid Build Coastguard Worker  // weekend from midnight Saturday till the last minute of Sunday UTC:
4221*d5c09012SAndroid Build Coastguard Worker  // ```
4222*d5c09012SAndroid Build Coastguard Worker  // start time = 2019-01-05T00:00:00Z
4223*d5c09012SAndroid Build Coastguard Worker  // end time = 2019-01-07T23:59:00Z
4224*d5c09012SAndroid Build Coastguard Worker  // recurrence = FREQ=WEEKLY;BYDAY=SA
4225*d5c09012SAndroid Build Coastguard Worker  // ```
4226*d5c09012SAndroid Build Coastguard Worker  //
4227*d5c09012SAndroid Build Coastguard Worker  // Note the start and end time's specific dates are largely arbitrary except
4228*d5c09012SAndroid Build Coastguard Worker  // to specify duration of the window and when it first starts.
4229*d5c09012SAndroid Build Coastguard Worker  // The FREQ values of HOURLY, MINUTELY, and SECONDLY are not supported.
4230*d5c09012SAndroid Build Coastguard Worker  string recurrence = 2;
4231*d5c09012SAndroid Build Coastguard Worker}
4232*d5c09012SAndroid Build Coastguard Worker
4233*d5c09012SAndroid Build Coastguard Worker// Time window specified for daily maintenance operations.
4234*d5c09012SAndroid Build Coastguard Workermessage DailyMaintenanceWindow {
4235*d5c09012SAndroid Build Coastguard Worker  // Time within the maintenance window to start the maintenance operations.
4236*d5c09012SAndroid Build Coastguard Worker  // It must be in format "HH:MM", where HH : [00-23] and MM : [00-59] GMT.
4237*d5c09012SAndroid Build Coastguard Worker  string start_time = 2;
4238*d5c09012SAndroid Build Coastguard Worker
4239*d5c09012SAndroid Build Coastguard Worker  // [Output only] Duration of the time window, automatically chosen to be
4240*d5c09012SAndroid Build Coastguard Worker  // smallest possible in the given scenario.
4241*d5c09012SAndroid Build Coastguard Worker  string duration = 3;
4242*d5c09012SAndroid Build Coastguard Worker}
4243*d5c09012SAndroid Build Coastguard Worker
4244*d5c09012SAndroid Build Coastguard Worker// SetNodePoolManagementRequest sets the node management properties of a node
4245*d5c09012SAndroid Build Coastguard Worker// pool.
4246*d5c09012SAndroid Build Coastguard Workermessage SetNodePoolManagementRequest {
4247*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4248*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4249*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4250*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4251*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4252*d5c09012SAndroid Build Coastguard Worker
4253*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4254*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4255*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4256*d5c09012SAndroid Build Coastguard Worker  // field.
4257*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4258*d5c09012SAndroid Build Coastguard Worker
4259*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to update.
4260*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4261*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4262*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4263*d5c09012SAndroid Build Coastguard Worker
4264*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the node pool to update.
4265*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4266*d5c09012SAndroid Build Coastguard Worker  string node_pool_id = 4
4267*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4268*d5c09012SAndroid Build Coastguard Worker
4269*d5c09012SAndroid Build Coastguard Worker  // Required. NodeManagement configuration for the node pool.
4270*d5c09012SAndroid Build Coastguard Worker  NodeManagement management = 5 [(google.api.field_behavior) = REQUIRED];
4271*d5c09012SAndroid Build Coastguard Worker
4272*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool id) of the node pool to set
4273*d5c09012SAndroid Build Coastguard Worker  // management properties. Specified in the format
4274*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/clusters/*/nodePools/*`.
4275*d5c09012SAndroid Build Coastguard Worker  string name = 7;
4276*d5c09012SAndroid Build Coastguard Worker}
4277*d5c09012SAndroid Build Coastguard Worker
4278*d5c09012SAndroid Build Coastguard Worker// SetNodePoolSizeRequest sets the size of a node pool.
4279*d5c09012SAndroid Build Coastguard Workermessage SetNodePoolSizeRequest {
4280*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4281*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4282*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4283*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4284*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4285*d5c09012SAndroid Build Coastguard Worker
4286*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4287*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4288*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4289*d5c09012SAndroid Build Coastguard Worker  // field.
4290*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4291*d5c09012SAndroid Build Coastguard Worker
4292*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to update.
4293*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4294*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4295*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4296*d5c09012SAndroid Build Coastguard Worker
4297*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the node pool to update.
4298*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4299*d5c09012SAndroid Build Coastguard Worker  string node_pool_id = 4
4300*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4301*d5c09012SAndroid Build Coastguard Worker
4302*d5c09012SAndroid Build Coastguard Worker  // Required. The desired node count for the pool.
4303*d5c09012SAndroid Build Coastguard Worker  int32 node_count = 5 [(google.api.field_behavior) = REQUIRED];
4304*d5c09012SAndroid Build Coastguard Worker
4305*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool id) of the node pool to set
4306*d5c09012SAndroid Build Coastguard Worker  // size.
4307*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
4308*d5c09012SAndroid Build Coastguard Worker  string name = 7;
4309*d5c09012SAndroid Build Coastguard Worker}
4310*d5c09012SAndroid Build Coastguard Worker
4311*d5c09012SAndroid Build Coastguard Worker// CompleteNodePoolUpgradeRequest sets the name of target node pool to complete
4312*d5c09012SAndroid Build Coastguard Worker// upgrade.
4313*d5c09012SAndroid Build Coastguard Workermessage CompleteNodePoolUpgradeRequest {
4314*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool id) of the node pool to
4315*d5c09012SAndroid Build Coastguard Worker  // complete upgrade.
4316*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
4317*d5c09012SAndroid Build Coastguard Worker  string name = 1;
4318*d5c09012SAndroid Build Coastguard Worker}
4319*d5c09012SAndroid Build Coastguard Worker
4320*d5c09012SAndroid Build Coastguard Worker// RollbackNodePoolUpgradeRequest rollbacks the previously Aborted or Failed
4321*d5c09012SAndroid Build Coastguard Worker// NodePool upgrade. This will be an no-op if the last upgrade successfully
4322*d5c09012SAndroid Build Coastguard Worker// completed.
4323*d5c09012SAndroid Build Coastguard Workermessage RollbackNodePoolUpgradeRequest {
4324*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4325*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4326*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4327*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4328*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4329*d5c09012SAndroid Build Coastguard Worker
4330*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4331*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4332*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4333*d5c09012SAndroid Build Coastguard Worker  // field.
4334*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4335*d5c09012SAndroid Build Coastguard Worker
4336*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to rollback.
4337*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4338*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4339*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4340*d5c09012SAndroid Build Coastguard Worker
4341*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the node pool to rollback.
4342*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4343*d5c09012SAndroid Build Coastguard Worker  string node_pool_id = 4
4344*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4345*d5c09012SAndroid Build Coastguard Worker
4346*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster, node pool id) of the node poll to
4347*d5c09012SAndroid Build Coastguard Worker  // rollback upgrade.
4348*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*/nodePools/*`.
4349*d5c09012SAndroid Build Coastguard Worker  string name = 6;
4350*d5c09012SAndroid Build Coastguard Worker
4351*d5c09012SAndroid Build Coastguard Worker  // Option for rollback to ignore the PodDisruptionBudget.
4352*d5c09012SAndroid Build Coastguard Worker  // Default value is false.
4353*d5c09012SAndroid Build Coastguard Worker  bool respect_pdb = 7;
4354*d5c09012SAndroid Build Coastguard Worker}
4355*d5c09012SAndroid Build Coastguard Worker
4356*d5c09012SAndroid Build Coastguard Worker// ListNodePoolsResponse is the result of ListNodePoolsRequest.
4357*d5c09012SAndroid Build Coastguard Workermessage ListNodePoolsResponse {
4358*d5c09012SAndroid Build Coastguard Worker  // A list of node pools for a cluster.
4359*d5c09012SAndroid Build Coastguard Worker  repeated NodePool node_pools = 1;
4360*d5c09012SAndroid Build Coastguard Worker}
4361*d5c09012SAndroid Build Coastguard Worker
4362*d5c09012SAndroid Build Coastguard Worker// ClusterAutoscaling contains global, per-cluster information
4363*d5c09012SAndroid Build Coastguard Worker// required by Cluster Autoscaler to automatically adjust
4364*d5c09012SAndroid Build Coastguard Worker// the size of the cluster and create/delete
4365*d5c09012SAndroid Build Coastguard Worker// node pools based on the current needs.
4366*d5c09012SAndroid Build Coastguard Workermessage ClusterAutoscaling {
4367*d5c09012SAndroid Build Coastguard Worker  // Defines possible options for autoscaling_profile field.
4368*d5c09012SAndroid Build Coastguard Worker  enum AutoscalingProfile {
4369*d5c09012SAndroid Build Coastguard Worker    // No change to autoscaling configuration.
4370*d5c09012SAndroid Build Coastguard Worker    PROFILE_UNSPECIFIED = 0;
4371*d5c09012SAndroid Build Coastguard Worker
4372*d5c09012SAndroid Build Coastguard Worker    // Prioritize optimizing utilization of resources.
4373*d5c09012SAndroid Build Coastguard Worker    OPTIMIZE_UTILIZATION = 1;
4374*d5c09012SAndroid Build Coastguard Worker
4375*d5c09012SAndroid Build Coastguard Worker    // Use default (balanced) autoscaling configuration.
4376*d5c09012SAndroid Build Coastguard Worker    BALANCED = 2;
4377*d5c09012SAndroid Build Coastguard Worker  }
4378*d5c09012SAndroid Build Coastguard Worker
4379*d5c09012SAndroid Build Coastguard Worker  // Enables automatic node pool creation and deletion.
4380*d5c09012SAndroid Build Coastguard Worker  bool enable_node_autoprovisioning = 1;
4381*d5c09012SAndroid Build Coastguard Worker
4382*d5c09012SAndroid Build Coastguard Worker  // Contains global constraints regarding minimum and maximum
4383*d5c09012SAndroid Build Coastguard Worker  // amount of resources in the cluster.
4384*d5c09012SAndroid Build Coastguard Worker  repeated ResourceLimit resource_limits = 2;
4385*d5c09012SAndroid Build Coastguard Worker
4386*d5c09012SAndroid Build Coastguard Worker  // Defines autoscaling behaviour.
4387*d5c09012SAndroid Build Coastguard Worker  AutoscalingProfile autoscaling_profile = 3;
4388*d5c09012SAndroid Build Coastguard Worker
4389*d5c09012SAndroid Build Coastguard Worker  // AutoprovisioningNodePoolDefaults contains defaults for a node pool
4390*d5c09012SAndroid Build Coastguard Worker  // created by NAP.
4391*d5c09012SAndroid Build Coastguard Worker  AutoprovisioningNodePoolDefaults autoprovisioning_node_pool_defaults = 4;
4392*d5c09012SAndroid Build Coastguard Worker
4393*d5c09012SAndroid Build Coastguard Worker  // The list of Google Compute Engine
4394*d5c09012SAndroid Build Coastguard Worker  // [zones](https://cloud.google.com/compute/docs/zones#available) in which the
4395*d5c09012SAndroid Build Coastguard Worker  // NodePool's nodes can be created by NAP.
4396*d5c09012SAndroid Build Coastguard Worker  repeated string autoprovisioning_locations = 5;
4397*d5c09012SAndroid Build Coastguard Worker}
4398*d5c09012SAndroid Build Coastguard Worker
4399*d5c09012SAndroid Build Coastguard Worker// AutoprovisioningNodePoolDefaults contains defaults for a node pool created
4400*d5c09012SAndroid Build Coastguard Worker// by NAP.
4401*d5c09012SAndroid Build Coastguard Workermessage AutoprovisioningNodePoolDefaults {
4402*d5c09012SAndroid Build Coastguard Worker  // The set of Google API scopes to be made available on all of the
4403*d5c09012SAndroid Build Coastguard Worker  // node VMs under the "default" service account.
4404*d5c09012SAndroid Build Coastguard Worker  //
4405*d5c09012SAndroid Build Coastguard Worker  // The following scopes are recommended, but not required, and by default are
4406*d5c09012SAndroid Build Coastguard Worker  // not included:
4407*d5c09012SAndroid Build Coastguard Worker  //
4408*d5c09012SAndroid Build Coastguard Worker  // * `https://www.googleapis.com/auth/compute` is required for mounting
4409*d5c09012SAndroid Build Coastguard Worker  // persistent storage on your nodes.
4410*d5c09012SAndroid Build Coastguard Worker  // * `https://www.googleapis.com/auth/devstorage.read_only` is required for
4411*d5c09012SAndroid Build Coastguard Worker  // communicating with **gcr.io**
4412*d5c09012SAndroid Build Coastguard Worker  // (the [Google Container
4413*d5c09012SAndroid Build Coastguard Worker  // Registry](https://cloud.google.com/container-registry/)).
4414*d5c09012SAndroid Build Coastguard Worker  //
4415*d5c09012SAndroid Build Coastguard Worker  // If unspecified, no scopes are added, unless Cloud Logging or Cloud
4416*d5c09012SAndroid Build Coastguard Worker  // Monitoring are enabled, in which case their required scopes will be added.
4417*d5c09012SAndroid Build Coastguard Worker  repeated string oauth_scopes = 1;
4418*d5c09012SAndroid Build Coastguard Worker
4419*d5c09012SAndroid Build Coastguard Worker  // The Google Cloud Platform Service Account to be used by the node VMs.
4420*d5c09012SAndroid Build Coastguard Worker  // Specify the email address of the Service Account; otherwise, if no Service
4421*d5c09012SAndroid Build Coastguard Worker  // Account is specified, the "default" service account is used.
4422*d5c09012SAndroid Build Coastguard Worker  string service_account = 2;
4423*d5c09012SAndroid Build Coastguard Worker
4424*d5c09012SAndroid Build Coastguard Worker  // Upgrade settings control disruption and speed of the upgrade.
4425*d5c09012SAndroid Build Coastguard Worker  NodePool.UpgradeSettings upgrade_settings = 3;
4426*d5c09012SAndroid Build Coastguard Worker
4427*d5c09012SAndroid Build Coastguard Worker  // NodeManagement configuration for this NodePool.
4428*d5c09012SAndroid Build Coastguard Worker  NodeManagement management = 4;
4429*d5c09012SAndroid Build Coastguard Worker
4430*d5c09012SAndroid Build Coastguard Worker  // Deprecated. Minimum CPU platform to be used for NAP created node pools.
4431*d5c09012SAndroid Build Coastguard Worker  // The instance may be scheduled on the specified or newer CPU platform.
4432*d5c09012SAndroid Build Coastguard Worker  // Applicable values are the friendly names of CPU platforms, such as
4433*d5c09012SAndroid Build Coastguard Worker  // minCpuPlatform: Intel Haswell or
4434*d5c09012SAndroid Build Coastguard Worker  // minCpuPlatform: Intel Sandy Bridge. For more
4435*d5c09012SAndroid Build Coastguard Worker  // information, read [how to specify min CPU
4436*d5c09012SAndroid Build Coastguard Worker  // platform](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
4437*d5c09012SAndroid Build Coastguard Worker  // This field is deprecated, min_cpu_platform should be specified using
4438*d5c09012SAndroid Build Coastguard Worker  // `cloud.google.com/requested-min-cpu-platform` label selector on the pod.
4439*d5c09012SAndroid Build Coastguard Worker  // To unset the min cpu platform field pass "automatic"
4440*d5c09012SAndroid Build Coastguard Worker  // as field value.
4441*d5c09012SAndroid Build Coastguard Worker  string min_cpu_platform = 5 [deprecated = true];
4442*d5c09012SAndroid Build Coastguard Worker
4443*d5c09012SAndroid Build Coastguard Worker  // Size of the disk attached to each node, specified in GB.
4444*d5c09012SAndroid Build Coastguard Worker  // The smallest allowed disk size is 10GB.
4445*d5c09012SAndroid Build Coastguard Worker  //
4446*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the default disk size is 100GB.
4447*d5c09012SAndroid Build Coastguard Worker  int32 disk_size_gb = 6;
4448*d5c09012SAndroid Build Coastguard Worker
4449*d5c09012SAndroid Build Coastguard Worker  // Type of the disk attached to each node (e.g. 'pd-standard', 'pd-ssd' or
4450*d5c09012SAndroid Build Coastguard Worker  // 'pd-balanced')
4451*d5c09012SAndroid Build Coastguard Worker  //
4452*d5c09012SAndroid Build Coastguard Worker  // If unspecified, the default disk type is 'pd-standard'
4453*d5c09012SAndroid Build Coastguard Worker  string disk_type = 7;
4454*d5c09012SAndroid Build Coastguard Worker
4455*d5c09012SAndroid Build Coastguard Worker  // Shielded Instance options.
4456*d5c09012SAndroid Build Coastguard Worker  ShieldedInstanceConfig shielded_instance_config = 8;
4457*d5c09012SAndroid Build Coastguard Worker
4458*d5c09012SAndroid Build Coastguard Worker  //
4459*d5c09012SAndroid Build Coastguard Worker  // The Customer Managed Encryption Key used to encrypt the boot disk attached
4460*d5c09012SAndroid Build Coastguard Worker  // to each node in the node pool. This should be of the form
4461*d5c09012SAndroid Build Coastguard Worker  // projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME].
4462*d5c09012SAndroid Build Coastguard Worker  // For more information about protecting resources with Cloud KMS Keys please
4463*d5c09012SAndroid Build Coastguard Worker  // see:
4464*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/compute/docs/disks/customer-managed-encryption
4465*d5c09012SAndroid Build Coastguard Worker  string boot_disk_kms_key = 9;
4466*d5c09012SAndroid Build Coastguard Worker
4467*d5c09012SAndroid Build Coastguard Worker  // The image type to use for NAP created node. Please see
4468*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/kubernetes-engine/docs/concepts/node-images for
4469*d5c09012SAndroid Build Coastguard Worker  // available image types.
4470*d5c09012SAndroid Build Coastguard Worker  string image_type = 10;
4471*d5c09012SAndroid Build Coastguard Worker
4472*d5c09012SAndroid Build Coastguard Worker  // Enable or disable Kubelet read only port.
4473*d5c09012SAndroid Build Coastguard Worker  optional bool insecure_kubelet_readonly_port_enabled = 13;
4474*d5c09012SAndroid Build Coastguard Worker}
4475*d5c09012SAndroid Build Coastguard Worker
4476*d5c09012SAndroid Build Coastguard Worker// Contains information about amount of some resource in the cluster.
4477*d5c09012SAndroid Build Coastguard Worker// For memory, value should be in GB.
4478*d5c09012SAndroid Build Coastguard Workermessage ResourceLimit {
4479*d5c09012SAndroid Build Coastguard Worker  // Resource name "cpu", "memory" or gpu-specific string.
4480*d5c09012SAndroid Build Coastguard Worker  string resource_type = 1;
4481*d5c09012SAndroid Build Coastguard Worker
4482*d5c09012SAndroid Build Coastguard Worker  // Minimum amount of the resource in the cluster.
4483*d5c09012SAndroid Build Coastguard Worker  int64 minimum = 2;
4484*d5c09012SAndroid Build Coastguard Worker
4485*d5c09012SAndroid Build Coastguard Worker  // Maximum amount of the resource in the cluster.
4486*d5c09012SAndroid Build Coastguard Worker  int64 maximum = 3;
4487*d5c09012SAndroid Build Coastguard Worker}
4488*d5c09012SAndroid Build Coastguard Worker
4489*d5c09012SAndroid Build Coastguard Worker// NodePoolAutoscaling contains information required by cluster autoscaler to
4490*d5c09012SAndroid Build Coastguard Worker// adjust the size of the node pool to the current cluster usage.
4491*d5c09012SAndroid Build Coastguard Workermessage NodePoolAutoscaling {
4492*d5c09012SAndroid Build Coastguard Worker  // Location policy specifies how zones are picked when scaling up the
4493*d5c09012SAndroid Build Coastguard Worker  // nodepool.
4494*d5c09012SAndroid Build Coastguard Worker  enum LocationPolicy {
4495*d5c09012SAndroid Build Coastguard Worker    // Not set.
4496*d5c09012SAndroid Build Coastguard Worker    LOCATION_POLICY_UNSPECIFIED = 0;
4497*d5c09012SAndroid Build Coastguard Worker
4498*d5c09012SAndroid Build Coastguard Worker    // BALANCED is a best effort policy that aims to balance the sizes of
4499*d5c09012SAndroid Build Coastguard Worker    // different zones.
4500*d5c09012SAndroid Build Coastguard Worker    BALANCED = 1;
4501*d5c09012SAndroid Build Coastguard Worker
4502*d5c09012SAndroid Build Coastguard Worker    // ANY policy picks zones that have the highest capacity available.
4503*d5c09012SAndroid Build Coastguard Worker    ANY = 2;
4504*d5c09012SAndroid Build Coastguard Worker  }
4505*d5c09012SAndroid Build Coastguard Worker
4506*d5c09012SAndroid Build Coastguard Worker  // Is autoscaling enabled for this node pool.
4507*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
4508*d5c09012SAndroid Build Coastguard Worker
4509*d5c09012SAndroid Build Coastguard Worker  // Minimum number of nodes for one location in the NodePool. Must be >= 1 and
4510*d5c09012SAndroid Build Coastguard Worker  // <= max_node_count.
4511*d5c09012SAndroid Build Coastguard Worker  int32 min_node_count = 2;
4512*d5c09012SAndroid Build Coastguard Worker
4513*d5c09012SAndroid Build Coastguard Worker  // Maximum number of nodes for one location in the NodePool. Must be >=
4514*d5c09012SAndroid Build Coastguard Worker  // min_node_count. There has to be enough quota to scale up the cluster.
4515*d5c09012SAndroid Build Coastguard Worker  int32 max_node_count = 3;
4516*d5c09012SAndroid Build Coastguard Worker
4517*d5c09012SAndroid Build Coastguard Worker  // Can this node pool be deleted automatically.
4518*d5c09012SAndroid Build Coastguard Worker  bool autoprovisioned = 4;
4519*d5c09012SAndroid Build Coastguard Worker
4520*d5c09012SAndroid Build Coastguard Worker  // Location policy used when scaling up a nodepool.
4521*d5c09012SAndroid Build Coastguard Worker  LocationPolicy location_policy = 5;
4522*d5c09012SAndroid Build Coastguard Worker
4523*d5c09012SAndroid Build Coastguard Worker  // Minimum number of nodes in the node pool. Must be greater than 1 less than
4524*d5c09012SAndroid Build Coastguard Worker  // total_max_node_count.
4525*d5c09012SAndroid Build Coastguard Worker  // The total_*_node_count fields are mutually exclusive with the *_node_count
4526*d5c09012SAndroid Build Coastguard Worker  // fields.
4527*d5c09012SAndroid Build Coastguard Worker  int32 total_min_node_count = 6;
4528*d5c09012SAndroid Build Coastguard Worker
4529*d5c09012SAndroid Build Coastguard Worker  // Maximum number of nodes in the node pool. Must be greater than
4530*d5c09012SAndroid Build Coastguard Worker  // total_min_node_count. There has to be enough quota to scale up the cluster.
4531*d5c09012SAndroid Build Coastguard Worker  // The total_*_node_count fields are mutually exclusive with the *_node_count
4532*d5c09012SAndroid Build Coastguard Worker  // fields.
4533*d5c09012SAndroid Build Coastguard Worker  int32 total_max_node_count = 7;
4534*d5c09012SAndroid Build Coastguard Worker}
4535*d5c09012SAndroid Build Coastguard Worker
4536*d5c09012SAndroid Build Coastguard Worker// SetLabelsRequest sets the Google Cloud Platform labels on a Google Container
4537*d5c09012SAndroid Build Coastguard Worker// Engine cluster, which will in turn set them for Google Compute Engine
4538*d5c09012SAndroid Build Coastguard Worker// resources used by that cluster
4539*d5c09012SAndroid Build Coastguard Workermessage SetLabelsRequest {
4540*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4541*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4542*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4543*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4544*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4545*d5c09012SAndroid Build Coastguard Worker
4546*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4547*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4548*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4549*d5c09012SAndroid Build Coastguard Worker  // field.
4550*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4551*d5c09012SAndroid Build Coastguard Worker
4552*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
4553*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4554*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4555*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4556*d5c09012SAndroid Build Coastguard Worker
4557*d5c09012SAndroid Build Coastguard Worker  // Required. The labels to set for that cluster.
4558*d5c09012SAndroid Build Coastguard Worker  map<string, string> resource_labels = 4
4559*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
4560*d5c09012SAndroid Build Coastguard Worker
4561*d5c09012SAndroid Build Coastguard Worker  // Required. The fingerprint of the previous set of labels for this resource,
4562*d5c09012SAndroid Build Coastguard Worker  // used to detect conflicts. The fingerprint is initially generated by
4563*d5c09012SAndroid Build Coastguard Worker  // Kubernetes Engine and changes after every request to modify or update
4564*d5c09012SAndroid Build Coastguard Worker  // labels. You must always provide an up-to-date fingerprint hash when
4565*d5c09012SAndroid Build Coastguard Worker  // updating or changing labels. Make a `get()` request to the
4566*d5c09012SAndroid Build Coastguard Worker  // resource to get the latest fingerprint.
4567*d5c09012SAndroid Build Coastguard Worker  string label_fingerprint = 5 [(google.api.field_behavior) = REQUIRED];
4568*d5c09012SAndroid Build Coastguard Worker
4569*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster name) of the cluster to set labels.
4570*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
4571*d5c09012SAndroid Build Coastguard Worker  string name = 7;
4572*d5c09012SAndroid Build Coastguard Worker}
4573*d5c09012SAndroid Build Coastguard Worker
4574*d5c09012SAndroid Build Coastguard Worker// SetLegacyAbacRequest enables or disables the ABAC authorization mechanism for
4575*d5c09012SAndroid Build Coastguard Worker// a cluster.
4576*d5c09012SAndroid Build Coastguard Workermessage SetLegacyAbacRequest {
4577*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4578*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4579*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4580*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4581*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4582*d5c09012SAndroid Build Coastguard Worker
4583*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4584*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4585*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4586*d5c09012SAndroid Build Coastguard Worker  // field.
4587*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4588*d5c09012SAndroid Build Coastguard Worker
4589*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster to update.
4590*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4591*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4592*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4593*d5c09012SAndroid Build Coastguard Worker
4594*d5c09012SAndroid Build Coastguard Worker  // Required. Whether ABAC authorization will be enabled in the cluster.
4595*d5c09012SAndroid Build Coastguard Worker  bool enabled = 4 [(google.api.field_behavior) = REQUIRED];
4596*d5c09012SAndroid Build Coastguard Worker
4597*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster name) of the cluster to set legacy
4598*d5c09012SAndroid Build Coastguard Worker  // abac. Specified in the format `projects/*/locations/*/clusters/*`.
4599*d5c09012SAndroid Build Coastguard Worker  string name = 6;
4600*d5c09012SAndroid Build Coastguard Worker}
4601*d5c09012SAndroid Build Coastguard Worker
4602*d5c09012SAndroid Build Coastguard Worker// StartIPRotationRequest creates a new IP for the cluster and then performs
4603*d5c09012SAndroid Build Coastguard Worker// a node upgrade on each node pool to point to the new IP.
4604*d5c09012SAndroid Build Coastguard Workermessage StartIPRotationRequest {
4605*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4606*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4607*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4608*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4609*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4610*d5c09012SAndroid Build Coastguard Worker
4611*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4612*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4613*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4614*d5c09012SAndroid Build Coastguard Worker  // field.
4615*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4616*d5c09012SAndroid Build Coastguard Worker
4617*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
4618*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4619*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4620*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4621*d5c09012SAndroid Build Coastguard Worker
4622*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster name) of the cluster to start IP
4623*d5c09012SAndroid Build Coastguard Worker  // rotation. Specified in the format `projects/*/locations/*/clusters/*`.
4624*d5c09012SAndroid Build Coastguard Worker  string name = 6;
4625*d5c09012SAndroid Build Coastguard Worker
4626*d5c09012SAndroid Build Coastguard Worker  // Whether to rotate credentials during IP rotation.
4627*d5c09012SAndroid Build Coastguard Worker  bool rotate_credentials = 7;
4628*d5c09012SAndroid Build Coastguard Worker}
4629*d5c09012SAndroid Build Coastguard Worker
4630*d5c09012SAndroid Build Coastguard Worker// CompleteIPRotationRequest moves the cluster master back into single-IP mode.
4631*d5c09012SAndroid Build Coastguard Workermessage CompleteIPRotationRequest {
4632*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4633*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4634*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4635*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4636*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4637*d5c09012SAndroid Build Coastguard Worker
4638*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4639*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4640*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4641*d5c09012SAndroid Build Coastguard Worker  // field.
4642*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4643*d5c09012SAndroid Build Coastguard Worker
4644*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
4645*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4646*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4647*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4648*d5c09012SAndroid Build Coastguard Worker
4649*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster name) of the cluster to complete IP
4650*d5c09012SAndroid Build Coastguard Worker  // rotation. Specified in the format `projects/*/locations/*/clusters/*`.
4651*d5c09012SAndroid Build Coastguard Worker  string name = 7;
4652*d5c09012SAndroid Build Coastguard Worker}
4653*d5c09012SAndroid Build Coastguard Worker
4654*d5c09012SAndroid Build Coastguard Worker// AcceleratorConfig represents a Hardware Accelerator request.
4655*d5c09012SAndroid Build Coastguard Workermessage AcceleratorConfig {
4656*d5c09012SAndroid Build Coastguard Worker  // The number of the accelerator cards exposed to an instance.
4657*d5c09012SAndroid Build Coastguard Worker  int64 accelerator_count = 1;
4658*d5c09012SAndroid Build Coastguard Worker
4659*d5c09012SAndroid Build Coastguard Worker  // The accelerator type resource name. List of supported accelerators
4660*d5c09012SAndroid Build Coastguard Worker  // [here](https://cloud.google.com/compute/docs/gpus)
4661*d5c09012SAndroid Build Coastguard Worker  string accelerator_type = 2;
4662*d5c09012SAndroid Build Coastguard Worker
4663*d5c09012SAndroid Build Coastguard Worker  // Size of partitions to create on the GPU. Valid values are described in the
4664*d5c09012SAndroid Build Coastguard Worker  // NVIDIA [mig user
4665*d5c09012SAndroid Build Coastguard Worker  // guide](https://docs.nvidia.com/datacenter/tesla/mig-user-guide/#partitioning).
4666*d5c09012SAndroid Build Coastguard Worker  string gpu_partition_size = 3;
4667*d5c09012SAndroid Build Coastguard Worker
4668*d5c09012SAndroid Build Coastguard Worker  // The number of time-shared GPU resources to expose for each physical GPU.
4669*d5c09012SAndroid Build Coastguard Worker  int64 max_time_shared_clients_per_gpu = 4 [deprecated = true];
4670*d5c09012SAndroid Build Coastguard Worker
4671*d5c09012SAndroid Build Coastguard Worker  // The configuration for GPU sharing options.
4672*d5c09012SAndroid Build Coastguard Worker  optional GPUSharingConfig gpu_sharing_config = 5;
4673*d5c09012SAndroid Build Coastguard Worker
4674*d5c09012SAndroid Build Coastguard Worker  // The configuration for auto installation of GPU driver.
4675*d5c09012SAndroid Build Coastguard Worker  optional GPUDriverInstallationConfig gpu_driver_installation_config = 6;
4676*d5c09012SAndroid Build Coastguard Worker}
4677*d5c09012SAndroid Build Coastguard Worker
4678*d5c09012SAndroid Build Coastguard Worker// GPUSharingConfig represents the GPU sharing configuration for Hardware
4679*d5c09012SAndroid Build Coastguard Worker// Accelerators.
4680*d5c09012SAndroid Build Coastguard Workermessage GPUSharingConfig {
4681*d5c09012SAndroid Build Coastguard Worker  // The type of GPU sharing strategy currently provided.
4682*d5c09012SAndroid Build Coastguard Worker  enum GPUSharingStrategy {
4683*d5c09012SAndroid Build Coastguard Worker    // Default value.
4684*d5c09012SAndroid Build Coastguard Worker    GPU_SHARING_STRATEGY_UNSPECIFIED = 0;
4685*d5c09012SAndroid Build Coastguard Worker
4686*d5c09012SAndroid Build Coastguard Worker    // GPUs are time-shared between containers.
4687*d5c09012SAndroid Build Coastguard Worker    TIME_SHARING = 1;
4688*d5c09012SAndroid Build Coastguard Worker  }
4689*d5c09012SAndroid Build Coastguard Worker
4690*d5c09012SAndroid Build Coastguard Worker  // The max number of containers that can share a physical GPU.
4691*d5c09012SAndroid Build Coastguard Worker  int64 max_shared_clients_per_gpu = 1;
4692*d5c09012SAndroid Build Coastguard Worker
4693*d5c09012SAndroid Build Coastguard Worker  // The type of GPU sharing strategy to enable on the GPU node.
4694*d5c09012SAndroid Build Coastguard Worker  optional GPUSharingStrategy gpu_sharing_strategy = 2;
4695*d5c09012SAndroid Build Coastguard Worker}
4696*d5c09012SAndroid Build Coastguard Worker
4697*d5c09012SAndroid Build Coastguard Worker// GPUDriverInstallationConfig specifies the version of GPU driver to be auto
4698*d5c09012SAndroid Build Coastguard Worker// installed.
4699*d5c09012SAndroid Build Coastguard Workermessage GPUDriverInstallationConfig {
4700*d5c09012SAndroid Build Coastguard Worker  // The GPU driver version to install.
4701*d5c09012SAndroid Build Coastguard Worker  enum GPUDriverVersion {
4702*d5c09012SAndroid Build Coastguard Worker    // Default value is to not install any GPU driver.
4703*d5c09012SAndroid Build Coastguard Worker    GPU_DRIVER_VERSION_UNSPECIFIED = 0;
4704*d5c09012SAndroid Build Coastguard Worker
4705*d5c09012SAndroid Build Coastguard Worker    // Disable GPU driver auto installation and needs manual installation
4706*d5c09012SAndroid Build Coastguard Worker    INSTALLATION_DISABLED = 1;
4707*d5c09012SAndroid Build Coastguard Worker
4708*d5c09012SAndroid Build Coastguard Worker    // "Default" GPU driver in COS and Ubuntu.
4709*d5c09012SAndroid Build Coastguard Worker    DEFAULT = 2;
4710*d5c09012SAndroid Build Coastguard Worker
4711*d5c09012SAndroid Build Coastguard Worker    // "Latest" GPU driver in COS.
4712*d5c09012SAndroid Build Coastguard Worker    LATEST = 3;
4713*d5c09012SAndroid Build Coastguard Worker  }
4714*d5c09012SAndroid Build Coastguard Worker
4715*d5c09012SAndroid Build Coastguard Worker  // Mode for how the GPU driver is installed.
4716*d5c09012SAndroid Build Coastguard Worker  optional GPUDriverVersion gpu_driver_version = 1;
4717*d5c09012SAndroid Build Coastguard Worker}
4718*d5c09012SAndroid Build Coastguard Worker
4719*d5c09012SAndroid Build Coastguard Worker// ManagedPrometheusConfig defines the configuration for
4720*d5c09012SAndroid Build Coastguard Worker// Google Cloud Managed Service for Prometheus.
4721*d5c09012SAndroid Build Coastguard Workermessage ManagedPrometheusConfig {
4722*d5c09012SAndroid Build Coastguard Worker  // Enable Managed Collection.
4723*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
4724*d5c09012SAndroid Build Coastguard Worker}
4725*d5c09012SAndroid Build Coastguard Worker
4726*d5c09012SAndroid Build Coastguard Worker// WorkloadMetadataConfig defines the metadata configuration to expose to
4727*d5c09012SAndroid Build Coastguard Worker// workloads on the node pool.
4728*d5c09012SAndroid Build Coastguard Workermessage WorkloadMetadataConfig {
4729*d5c09012SAndroid Build Coastguard Worker  // NodeMetadata is the configuration for if and how to expose the node
4730*d5c09012SAndroid Build Coastguard Worker  // metadata to the workload running on the node.
4731*d5c09012SAndroid Build Coastguard Worker  enum NodeMetadata {
4732*d5c09012SAndroid Build Coastguard Worker    // Not set.
4733*d5c09012SAndroid Build Coastguard Worker    UNSPECIFIED = 0;
4734*d5c09012SAndroid Build Coastguard Worker
4735*d5c09012SAndroid Build Coastguard Worker    // Prevent workloads not in hostNetwork from accessing certain VM metadata,
4736*d5c09012SAndroid Build Coastguard Worker    // specifically kube-env, which contains Kubelet credentials, and the
4737*d5c09012SAndroid Build Coastguard Worker    // instance identity token.
4738*d5c09012SAndroid Build Coastguard Worker    //
4739*d5c09012SAndroid Build Coastguard Worker    // Metadata concealment is a temporary security solution available while the
4740*d5c09012SAndroid Build Coastguard Worker    // bootstrapping process for cluster nodes is being redesigned with
4741*d5c09012SAndroid Build Coastguard Worker    // significant security improvements.  This feature is scheduled to be
4742*d5c09012SAndroid Build Coastguard Worker    // deprecated in the future and later removed.
4743*d5c09012SAndroid Build Coastguard Worker    SECURE = 1;
4744*d5c09012SAndroid Build Coastguard Worker
4745*d5c09012SAndroid Build Coastguard Worker    // Expose all VM metadata to pods.
4746*d5c09012SAndroid Build Coastguard Worker    EXPOSE = 2;
4747*d5c09012SAndroid Build Coastguard Worker
4748*d5c09012SAndroid Build Coastguard Worker    // Run the GKE Metadata Server on this node. The GKE Metadata Server exposes
4749*d5c09012SAndroid Build Coastguard Worker    // a metadata API to workloads that is compatible with the V1 Compute
4750*d5c09012SAndroid Build Coastguard Worker    // Metadata APIs exposed by the Compute Engine and App Engine Metadata
4751*d5c09012SAndroid Build Coastguard Worker    // Servers. This feature can only be enabled if Workload Identity is enabled
4752*d5c09012SAndroid Build Coastguard Worker    // at the cluster level.
4753*d5c09012SAndroid Build Coastguard Worker    GKE_METADATA_SERVER = 3;
4754*d5c09012SAndroid Build Coastguard Worker  }
4755*d5c09012SAndroid Build Coastguard Worker
4756*d5c09012SAndroid Build Coastguard Worker  // Mode is the configuration for how to expose metadata to workloads running
4757*d5c09012SAndroid Build Coastguard Worker  // on the node.
4758*d5c09012SAndroid Build Coastguard Worker  enum Mode {
4759*d5c09012SAndroid Build Coastguard Worker    // Not set.
4760*d5c09012SAndroid Build Coastguard Worker    MODE_UNSPECIFIED = 0;
4761*d5c09012SAndroid Build Coastguard Worker
4762*d5c09012SAndroid Build Coastguard Worker    // Expose all Compute Engine metadata to pods.
4763*d5c09012SAndroid Build Coastguard Worker    GCE_METADATA = 1;
4764*d5c09012SAndroid Build Coastguard Worker
4765*d5c09012SAndroid Build Coastguard Worker    // Run the GKE Metadata Server on this node. The GKE Metadata Server exposes
4766*d5c09012SAndroid Build Coastguard Worker    // a metadata API to workloads that is compatible with the V1 Compute
4767*d5c09012SAndroid Build Coastguard Worker    // Metadata APIs exposed by the Compute Engine and App Engine Metadata
4768*d5c09012SAndroid Build Coastguard Worker    // Servers. This feature can only be enabled if Workload Identity is enabled
4769*d5c09012SAndroid Build Coastguard Worker    // at the cluster level.
4770*d5c09012SAndroid Build Coastguard Worker    GKE_METADATA = 2;
4771*d5c09012SAndroid Build Coastguard Worker  }
4772*d5c09012SAndroid Build Coastguard Worker
4773*d5c09012SAndroid Build Coastguard Worker  // NodeMetadata is the configuration for how to expose metadata to the
4774*d5c09012SAndroid Build Coastguard Worker  // workloads running on the node.
4775*d5c09012SAndroid Build Coastguard Worker  NodeMetadata node_metadata = 1 [deprecated = true];
4776*d5c09012SAndroid Build Coastguard Worker
4777*d5c09012SAndroid Build Coastguard Worker  // Mode is the configuration for how to expose metadata to workloads running
4778*d5c09012SAndroid Build Coastguard Worker  // on the node pool.
4779*d5c09012SAndroid Build Coastguard Worker  Mode mode = 2;
4780*d5c09012SAndroid Build Coastguard Worker}
4781*d5c09012SAndroid Build Coastguard Worker
4782*d5c09012SAndroid Build Coastguard Worker// SetNetworkPolicyRequest enables/disables network policy for a cluster.
4783*d5c09012SAndroid Build Coastguard Workermessage SetNetworkPolicyRequest {
4784*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The Google Developers Console [project ID or project
4785*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4786*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4787*d5c09012SAndroid Build Coastguard Worker  string project_id = 1
4788*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4789*d5c09012SAndroid Build Coastguard Worker
4790*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the Google Compute Engine
4791*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4792*d5c09012SAndroid Build Coastguard Worker  // cluster resides. This field has been deprecated and replaced by the name
4793*d5c09012SAndroid Build Coastguard Worker  // field.
4794*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [deprecated = true, (google.api.field_behavior) = REQUIRED];
4795*d5c09012SAndroid Build Coastguard Worker
4796*d5c09012SAndroid Build Coastguard Worker  // Required. Deprecated. The name of the cluster.
4797*d5c09012SAndroid Build Coastguard Worker  // This field has been deprecated and replaced by the name field.
4798*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3
4799*d5c09012SAndroid Build Coastguard Worker      [deprecated = true, (google.api.field_behavior) = REQUIRED];
4800*d5c09012SAndroid Build Coastguard Worker
4801*d5c09012SAndroid Build Coastguard Worker  // Required. Configuration options for the NetworkPolicy feature.
4802*d5c09012SAndroid Build Coastguard Worker  NetworkPolicy network_policy = 4 [(google.api.field_behavior) = REQUIRED];
4803*d5c09012SAndroid Build Coastguard Worker
4804*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster name) of the cluster to set networking
4805*d5c09012SAndroid Build Coastguard Worker  // policy. Specified in the format `projects/*/locations/*/clusters/*`.
4806*d5c09012SAndroid Build Coastguard Worker  string name = 6;
4807*d5c09012SAndroid Build Coastguard Worker}
4808*d5c09012SAndroid Build Coastguard Worker
4809*d5c09012SAndroid Build Coastguard Worker// SetMaintenancePolicyRequest sets the maintenance policy for a cluster.
4810*d5c09012SAndroid Build Coastguard Workermessage SetMaintenancePolicyRequest {
4811*d5c09012SAndroid Build Coastguard Worker  // Required. The Google Developers Console [project ID or project
4812*d5c09012SAndroid Build Coastguard Worker  // number](https://cloud.google.com/resource-manager/docs/creating-managing-projects).
4813*d5c09012SAndroid Build Coastguard Worker  string project_id = 1 [(google.api.field_behavior) = REQUIRED];
4814*d5c09012SAndroid Build Coastguard Worker
4815*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the Google Compute Engine
4816*d5c09012SAndroid Build Coastguard Worker  // [zone](https://cloud.google.com/compute/docs/zones#available) in which the
4817*d5c09012SAndroid Build Coastguard Worker  // cluster resides.
4818*d5c09012SAndroid Build Coastguard Worker  string zone = 2 [(google.api.field_behavior) = REQUIRED];
4819*d5c09012SAndroid Build Coastguard Worker
4820*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the cluster to update.
4821*d5c09012SAndroid Build Coastguard Worker  string cluster_id = 3 [(google.api.field_behavior) = REQUIRED];
4822*d5c09012SAndroid Build Coastguard Worker
4823*d5c09012SAndroid Build Coastguard Worker  // Required. The maintenance policy to be set for the cluster. An empty field
4824*d5c09012SAndroid Build Coastguard Worker  // clears the existing maintenance policy.
4825*d5c09012SAndroid Build Coastguard Worker  MaintenancePolicy maintenance_policy = 4
4826*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
4827*d5c09012SAndroid Build Coastguard Worker
4828*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster name) of the cluster to set
4829*d5c09012SAndroid Build Coastguard Worker  // maintenance policy.
4830*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
4831*d5c09012SAndroid Build Coastguard Worker  string name = 5;
4832*d5c09012SAndroid Build Coastguard Worker}
4833*d5c09012SAndroid Build Coastguard Worker
4834*d5c09012SAndroid Build Coastguard Worker// ListLocationsRequest is used to request the locations that offer GKE.
4835*d5c09012SAndroid Build Coastguard Workermessage ListLocationsRequest {
4836*d5c09012SAndroid Build Coastguard Worker  // Required. Contains the name of the resource requested.
4837*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*`.
4838*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [(google.api.field_behavior) = REQUIRED];
4839*d5c09012SAndroid Build Coastguard Worker}
4840*d5c09012SAndroid Build Coastguard Worker
4841*d5c09012SAndroid Build Coastguard Worker// ListLocationsResponse returns the list of all GKE locations and their
4842*d5c09012SAndroid Build Coastguard Worker// recommendation state.
4843*d5c09012SAndroid Build Coastguard Workermessage ListLocationsResponse {
4844*d5c09012SAndroid Build Coastguard Worker  // A full list of GKE locations.
4845*d5c09012SAndroid Build Coastguard Worker  repeated Location locations = 1;
4846*d5c09012SAndroid Build Coastguard Worker
4847*d5c09012SAndroid Build Coastguard Worker  // Only return ListLocationsResponse that occur after the page_token. This
4848*d5c09012SAndroid Build Coastguard Worker  // value should be populated from the ListLocationsResponse.next_page_token if
4849*d5c09012SAndroid Build Coastguard Worker  // that response token was set (which happens when listing more Locations than
4850*d5c09012SAndroid Build Coastguard Worker  // fit in a single ListLocationsResponse).
4851*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
4852*d5c09012SAndroid Build Coastguard Worker}
4853*d5c09012SAndroid Build Coastguard Worker
4854*d5c09012SAndroid Build Coastguard Worker// Location returns the location name, and if the location is recommended
4855*d5c09012SAndroid Build Coastguard Worker// for GKE cluster scheduling.
4856*d5c09012SAndroid Build Coastguard Workermessage Location {
4857*d5c09012SAndroid Build Coastguard Worker  // LocationType is the type of GKE location, regional or zonal.
4858*d5c09012SAndroid Build Coastguard Worker  enum LocationType {
4859*d5c09012SAndroid Build Coastguard Worker    // LOCATION_TYPE_UNSPECIFIED means the location type was not determined.
4860*d5c09012SAndroid Build Coastguard Worker    LOCATION_TYPE_UNSPECIFIED = 0;
4861*d5c09012SAndroid Build Coastguard Worker
4862*d5c09012SAndroid Build Coastguard Worker    // A GKE Location where Zonal clusters can be created.
4863*d5c09012SAndroid Build Coastguard Worker    ZONE = 1;
4864*d5c09012SAndroid Build Coastguard Worker
4865*d5c09012SAndroid Build Coastguard Worker    // A GKE Location where Regional clusters can be created.
4866*d5c09012SAndroid Build Coastguard Worker    REGION = 2;
4867*d5c09012SAndroid Build Coastguard Worker  }
4868*d5c09012SAndroid Build Coastguard Worker
4869*d5c09012SAndroid Build Coastguard Worker  // Contains the type of location this Location is for.
4870*d5c09012SAndroid Build Coastguard Worker  // Regional or Zonal.
4871*d5c09012SAndroid Build Coastguard Worker  LocationType type = 1;
4872*d5c09012SAndroid Build Coastguard Worker
4873*d5c09012SAndroid Build Coastguard Worker  // Contains the name of the resource requested.
4874*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*`.
4875*d5c09012SAndroid Build Coastguard Worker  string name = 2;
4876*d5c09012SAndroid Build Coastguard Worker
4877*d5c09012SAndroid Build Coastguard Worker  // Whether the location is recommended for GKE cluster scheduling.
4878*d5c09012SAndroid Build Coastguard Worker  bool recommended = 3;
4879*d5c09012SAndroid Build Coastguard Worker}
4880*d5c09012SAndroid Build Coastguard Worker
4881*d5c09012SAndroid Build Coastguard Worker// StatusCondition describes why a cluster or a node pool has a certain status
4882*d5c09012SAndroid Build Coastguard Worker// (e.g., ERROR or DEGRADED).
4883*d5c09012SAndroid Build Coastguard Workermessage StatusCondition {
4884*d5c09012SAndroid Build Coastguard Worker  // Code for each condition
4885*d5c09012SAndroid Build Coastguard Worker  enum Code {
4886*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
4887*d5c09012SAndroid Build Coastguard Worker
4888*d5c09012SAndroid Build Coastguard Worker    // UNKNOWN indicates a generic condition.
4889*d5c09012SAndroid Build Coastguard Worker    UNKNOWN = 0;
4890*d5c09012SAndroid Build Coastguard Worker
4891*d5c09012SAndroid Build Coastguard Worker    // GCE_STOCKOUT indicates that Google Compute Engine resources are
4892*d5c09012SAndroid Build Coastguard Worker    // temporarily unavailable.
4893*d5c09012SAndroid Build Coastguard Worker    GCE_STOCKOUT = 1;
4894*d5c09012SAndroid Build Coastguard Worker
4895*d5c09012SAndroid Build Coastguard Worker    // GKE_SERVICE_ACCOUNT_DELETED indicates that the user deleted their robot
4896*d5c09012SAndroid Build Coastguard Worker    // service account.
4897*d5c09012SAndroid Build Coastguard Worker    GKE_SERVICE_ACCOUNT_DELETED = 2;
4898*d5c09012SAndroid Build Coastguard Worker
4899*d5c09012SAndroid Build Coastguard Worker    // Google Compute Engine quota was exceeded.
4900*d5c09012SAndroid Build Coastguard Worker    GCE_QUOTA_EXCEEDED = 3;
4901*d5c09012SAndroid Build Coastguard Worker
4902*d5c09012SAndroid Build Coastguard Worker    // Cluster state was manually changed by an SRE due to a system logic error.
4903*d5c09012SAndroid Build Coastguard Worker    SET_BY_OPERATOR = 4;
4904*d5c09012SAndroid Build Coastguard Worker
4905*d5c09012SAndroid Build Coastguard Worker    // Unable to perform an encrypt operation against the CloudKMS key used for
4906*d5c09012SAndroid Build Coastguard Worker    // etcd level encryption.
4907*d5c09012SAndroid Build Coastguard Worker    CLOUD_KMS_KEY_ERROR = 7;
4908*d5c09012SAndroid Build Coastguard Worker
4909*d5c09012SAndroid Build Coastguard Worker    // Cluster CA is expiring soon.
4910*d5c09012SAndroid Build Coastguard Worker    // More codes TBA
4911*d5c09012SAndroid Build Coastguard Worker    CA_EXPIRING = 9;
4912*d5c09012SAndroid Build Coastguard Worker  }
4913*d5c09012SAndroid Build Coastguard Worker
4914*d5c09012SAndroid Build Coastguard Worker  // Machine-friendly representation of the condition
4915*d5c09012SAndroid Build Coastguard Worker  // Deprecated. Use canonical_code instead.
4916*d5c09012SAndroid Build Coastguard Worker  Code code = 1 [deprecated = true];
4917*d5c09012SAndroid Build Coastguard Worker
4918*d5c09012SAndroid Build Coastguard Worker  // Human-friendly representation of the condition
4919*d5c09012SAndroid Build Coastguard Worker  string message = 2;
4920*d5c09012SAndroid Build Coastguard Worker
4921*d5c09012SAndroid Build Coastguard Worker  // Canonical code of the condition.
4922*d5c09012SAndroid Build Coastguard Worker  google.rpc.Code canonical_code = 3;
4923*d5c09012SAndroid Build Coastguard Worker}
4924*d5c09012SAndroid Build Coastguard Worker
4925*d5c09012SAndroid Build Coastguard Worker// NetworkConfig reports the relative names of network & subnetwork.
4926*d5c09012SAndroid Build Coastguard Workermessage NetworkConfig {
4927*d5c09012SAndroid Build Coastguard Worker  // Configuration of all network bandwidth tiers
4928*d5c09012SAndroid Build Coastguard Worker  message ClusterNetworkPerformanceConfig {
4929*d5c09012SAndroid Build Coastguard Worker    // Node network tier
4930*d5c09012SAndroid Build Coastguard Worker    enum Tier {
4931*d5c09012SAndroid Build Coastguard Worker      // Default value
4932*d5c09012SAndroid Build Coastguard Worker      TIER_UNSPECIFIED = 0;
4933*d5c09012SAndroid Build Coastguard Worker
4934*d5c09012SAndroid Build Coastguard Worker      // Higher bandwidth, actual values based on VM size.
4935*d5c09012SAndroid Build Coastguard Worker      TIER_1 = 1;
4936*d5c09012SAndroid Build Coastguard Worker    }
4937*d5c09012SAndroid Build Coastguard Worker
4938*d5c09012SAndroid Build Coastguard Worker    // Specifies the total network bandwidth tier for the NodePool.
4939*d5c09012SAndroid Build Coastguard Worker    optional Tier total_egress_bandwidth_tier = 1;
4940*d5c09012SAndroid Build Coastguard Worker  }
4941*d5c09012SAndroid Build Coastguard Worker
4942*d5c09012SAndroid Build Coastguard Worker  // Output only. The relative name of the Google Compute Engine
4943*d5c09012SAndroid Build Coastguard Worker  // [network][google.container.v1beta1.NetworkConfig.network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
4944*d5c09012SAndroid Build Coastguard Worker  // to which the cluster is connected. Example:
4945*d5c09012SAndroid Build Coastguard Worker  // projects/my-project/global/networks/my-network
4946*d5c09012SAndroid Build Coastguard Worker  string network = 1;
4947*d5c09012SAndroid Build Coastguard Worker
4948*d5c09012SAndroid Build Coastguard Worker  // Output only. The relative name of the Google Compute Engine
4949*d5c09012SAndroid Build Coastguard Worker  // [subnetwork](https://cloud.google.com/compute/docs/vpc) to which the
4950*d5c09012SAndroid Build Coastguard Worker  // cluster is connected. Example:
4951*d5c09012SAndroid Build Coastguard Worker  // projects/my-project/regions/us-central1/subnetworks/my-subnet
4952*d5c09012SAndroid Build Coastguard Worker  string subnetwork = 2;
4953*d5c09012SAndroid Build Coastguard Worker
4954*d5c09012SAndroid Build Coastguard Worker  // Whether Intra-node visibility is enabled for this cluster.
4955*d5c09012SAndroid Build Coastguard Worker  // This makes same node pod to pod traffic visible for VPC network.
4956*d5c09012SAndroid Build Coastguard Worker  bool enable_intra_node_visibility = 5;
4957*d5c09012SAndroid Build Coastguard Worker
4958*d5c09012SAndroid Build Coastguard Worker  // Whether the cluster disables default in-node sNAT rules. In-node sNAT rules
4959*d5c09012SAndroid Build Coastguard Worker  // will be disabled when default_snat_status is disabled. When disabled is set
4960*d5c09012SAndroid Build Coastguard Worker  // to false, default IP masquerade rules will be applied to the nodes to
4961*d5c09012SAndroid Build Coastguard Worker  // prevent sNAT on cluster internal traffic.
4962*d5c09012SAndroid Build Coastguard Worker  DefaultSnatStatus default_snat_status = 7;
4963*d5c09012SAndroid Build Coastguard Worker
4964*d5c09012SAndroid Build Coastguard Worker  // Whether L4ILB Subsetting is enabled for this cluster.
4965*d5c09012SAndroid Build Coastguard Worker  bool enable_l4ilb_subsetting = 10;
4966*d5c09012SAndroid Build Coastguard Worker
4967*d5c09012SAndroid Build Coastguard Worker  // The desired datapath provider for this cluster. By default, uses the
4968*d5c09012SAndroid Build Coastguard Worker  // IPTables-based kube-proxy implementation.
4969*d5c09012SAndroid Build Coastguard Worker  DatapathProvider datapath_provider = 11;
4970*d5c09012SAndroid Build Coastguard Worker
4971*d5c09012SAndroid Build Coastguard Worker  // The desired state of IPv6 connectivity to Google Services.
4972*d5c09012SAndroid Build Coastguard Worker  // By default, no private IPv6 access to or from Google Services (all access
4973*d5c09012SAndroid Build Coastguard Worker  // will be via IPv4)
4974*d5c09012SAndroid Build Coastguard Worker  PrivateIPv6GoogleAccess private_ipv6_google_access = 12;
4975*d5c09012SAndroid Build Coastguard Worker
4976*d5c09012SAndroid Build Coastguard Worker  // DNSConfig contains clusterDNS config for this cluster.
4977*d5c09012SAndroid Build Coastguard Worker  DNSConfig dns_config = 13;
4978*d5c09012SAndroid Build Coastguard Worker
4979*d5c09012SAndroid Build Coastguard Worker  // ServiceExternalIPsConfig specifies if services with externalIPs field are
4980*d5c09012SAndroid Build Coastguard Worker  // blocked or not.
4981*d5c09012SAndroid Build Coastguard Worker  ServiceExternalIPsConfig service_external_ips_config = 15;
4982*d5c09012SAndroid Build Coastguard Worker
4983*d5c09012SAndroid Build Coastguard Worker  // GatewayAPIConfig contains the desired config of Gateway API on this
4984*d5c09012SAndroid Build Coastguard Worker  // cluster.
4985*d5c09012SAndroid Build Coastguard Worker  GatewayAPIConfig gateway_api_config = 16;
4986*d5c09012SAndroid Build Coastguard Worker
4987*d5c09012SAndroid Build Coastguard Worker  // Whether multi-networking is enabled for this cluster.
4988*d5c09012SAndroid Build Coastguard Worker  bool enable_multi_networking = 17;
4989*d5c09012SAndroid Build Coastguard Worker
4990*d5c09012SAndroid Build Coastguard Worker  // Network bandwidth tier configuration.
4991*d5c09012SAndroid Build Coastguard Worker  ClusterNetworkPerformanceConfig network_performance_config = 18;
4992*d5c09012SAndroid Build Coastguard Worker
4993*d5c09012SAndroid Build Coastguard Worker  // Whether FQDN Network Policy is enabled on this cluster.
4994*d5c09012SAndroid Build Coastguard Worker  optional bool enable_fqdn_network_policy = 19;
4995*d5c09012SAndroid Build Coastguard Worker
4996*d5c09012SAndroid Build Coastguard Worker  // Specify the details of in-transit encryption.
4997*d5c09012SAndroid Build Coastguard Worker  optional InTransitEncryptionConfig in_transit_encryption_config = 20;
4998*d5c09012SAndroid Build Coastguard Worker
4999*d5c09012SAndroid Build Coastguard Worker  // Whether CiliumClusterWideNetworkPolicy is enabled on this cluster.
5000*d5c09012SAndroid Build Coastguard Worker  optional bool enable_cilium_clusterwide_network_policy = 21;
5001*d5c09012SAndroid Build Coastguard Worker}
5002*d5c09012SAndroid Build Coastguard Worker
5003*d5c09012SAndroid Build Coastguard Worker// GatewayAPIConfig contains the desired config of Gateway API on this cluster.
5004*d5c09012SAndroid Build Coastguard Workermessage GatewayAPIConfig {
5005*d5c09012SAndroid Build Coastguard Worker  // Channel describes if/how Gateway API should be installed and implemented in
5006*d5c09012SAndroid Build Coastguard Worker  // a cluster.
5007*d5c09012SAndroid Build Coastguard Worker  enum Channel {
5008*d5c09012SAndroid Build Coastguard Worker    // Default value.
5009*d5c09012SAndroid Build Coastguard Worker    CHANNEL_UNSPECIFIED = 0;
5010*d5c09012SAndroid Build Coastguard Worker
5011*d5c09012SAndroid Build Coastguard Worker    // Gateway API support is disabled
5012*d5c09012SAndroid Build Coastguard Worker    CHANNEL_DISABLED = 1;
5013*d5c09012SAndroid Build Coastguard Worker
5014*d5c09012SAndroid Build Coastguard Worker    // Gateway API support is enabled, experimental CRDs are installed
5015*d5c09012SAndroid Build Coastguard Worker    CHANNEL_EXPERIMENTAL = 3;
5016*d5c09012SAndroid Build Coastguard Worker
5017*d5c09012SAndroid Build Coastguard Worker    // Gateway API support is enabled, standard CRDs are installed
5018*d5c09012SAndroid Build Coastguard Worker    CHANNEL_STANDARD = 4;
5019*d5c09012SAndroid Build Coastguard Worker  }
5020*d5c09012SAndroid Build Coastguard Worker
5021*d5c09012SAndroid Build Coastguard Worker  // The Gateway API release channel to use for Gateway API.
5022*d5c09012SAndroid Build Coastguard Worker  Channel channel = 1;
5023*d5c09012SAndroid Build Coastguard Worker}
5024*d5c09012SAndroid Build Coastguard Worker
5025*d5c09012SAndroid Build Coastguard Worker// Config to block services with externalIPs field.
5026*d5c09012SAndroid Build Coastguard Workermessage ServiceExternalIPsConfig {
5027*d5c09012SAndroid Build Coastguard Worker  // Whether Services with ExternalIPs field are allowed or not.
5028*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5029*d5c09012SAndroid Build Coastguard Worker}
5030*d5c09012SAndroid Build Coastguard Worker
5031*d5c09012SAndroid Build Coastguard Worker// ListUsableSubnetworksRequest requests the list of usable subnetworks.
5032*d5c09012SAndroid Build Coastguard Worker// available to a user for creating clusters.
5033*d5c09012SAndroid Build Coastguard Workermessage ListUsableSubnetworksRequest {
5034*d5c09012SAndroid Build Coastguard Worker  // Required. The parent project where subnetworks are usable.
5035*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*`.
5036*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [(google.api.field_behavior) = REQUIRED];
5037*d5c09012SAndroid Build Coastguard Worker
5038*d5c09012SAndroid Build Coastguard Worker  // Filtering currently only supports equality on the networkProjectId and must
5039*d5c09012SAndroid Build Coastguard Worker  // be in the form: "networkProjectId=[PROJECTID]", where `networkProjectId`
5040*d5c09012SAndroid Build Coastguard Worker  // is the project which owns the listed subnetworks. This defaults to the
5041*d5c09012SAndroid Build Coastguard Worker  // parent project ID.
5042*d5c09012SAndroid Build Coastguard Worker  string filter = 2;
5043*d5c09012SAndroid Build Coastguard Worker
5044*d5c09012SAndroid Build Coastguard Worker  // The max number of results per page that should be returned. If the number
5045*d5c09012SAndroid Build Coastguard Worker  // of available results is larger than `page_size`, a `next_page_token` is
5046*d5c09012SAndroid Build Coastguard Worker  // returned which can be used to get the next page of results in subsequent
5047*d5c09012SAndroid Build Coastguard Worker  // requests. Acceptable values are 0 to 500, inclusive. (Default: 500)
5048*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 3;
5049*d5c09012SAndroid Build Coastguard Worker
5050*d5c09012SAndroid Build Coastguard Worker  // Specifies a page token to use. Set this to the nextPageToken returned by
5051*d5c09012SAndroid Build Coastguard Worker  // previous list requests to get the next page of results.
5052*d5c09012SAndroid Build Coastguard Worker  string page_token = 4;
5053*d5c09012SAndroid Build Coastguard Worker}
5054*d5c09012SAndroid Build Coastguard Worker
5055*d5c09012SAndroid Build Coastguard Worker// ListUsableSubnetworksResponse is the response of
5056*d5c09012SAndroid Build Coastguard Worker// ListUsableSubnetworksRequest.
5057*d5c09012SAndroid Build Coastguard Workermessage ListUsableSubnetworksResponse {
5058*d5c09012SAndroid Build Coastguard Worker  // A list of usable subnetworks in the specified network project.
5059*d5c09012SAndroid Build Coastguard Worker  repeated UsableSubnetwork subnetworks = 1;
5060*d5c09012SAndroid Build Coastguard Worker
5061*d5c09012SAndroid Build Coastguard Worker  // This token allows you to get the next page of results for list requests.
5062*d5c09012SAndroid Build Coastguard Worker  // If the number of results is larger than `page_size`, use the
5063*d5c09012SAndroid Build Coastguard Worker  // `next_page_token` as a value for the query parameter `page_token` in the
5064*d5c09012SAndroid Build Coastguard Worker  // next request. The value will become empty when there are no more pages.
5065*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
5066*d5c09012SAndroid Build Coastguard Worker}
5067*d5c09012SAndroid Build Coastguard Worker
5068*d5c09012SAndroid Build Coastguard Worker// Secondary IP range of a usable subnetwork.
5069*d5c09012SAndroid Build Coastguard Workermessage UsableSubnetworkSecondaryRange {
5070*d5c09012SAndroid Build Coastguard Worker  // Status shows the current usage of a secondary IP range.
5071*d5c09012SAndroid Build Coastguard Worker  enum Status {
5072*d5c09012SAndroid Build Coastguard Worker    // UNKNOWN is the zero value of the Status enum. It's not a valid status.
5073*d5c09012SAndroid Build Coastguard Worker    UNKNOWN = 0;
5074*d5c09012SAndroid Build Coastguard Worker
5075*d5c09012SAndroid Build Coastguard Worker    // UNUSED denotes that this range is unclaimed by any cluster.
5076*d5c09012SAndroid Build Coastguard Worker    UNUSED = 1;
5077*d5c09012SAndroid Build Coastguard Worker
5078*d5c09012SAndroid Build Coastguard Worker    // IN_USE_SERVICE denotes that this range is claimed by a cluster for
5079*d5c09012SAndroid Build Coastguard Worker    // services. It cannot be used for other clusters.
5080*d5c09012SAndroid Build Coastguard Worker    IN_USE_SERVICE = 2;
5081*d5c09012SAndroid Build Coastguard Worker
5082*d5c09012SAndroid Build Coastguard Worker    // IN_USE_SHAREABLE_POD denotes this range was created by the network admin
5083*d5c09012SAndroid Build Coastguard Worker    // and is currently claimed by a cluster for pods. It can only be used by
5084*d5c09012SAndroid Build Coastguard Worker    // other clusters as a pod range.
5085*d5c09012SAndroid Build Coastguard Worker    IN_USE_SHAREABLE_POD = 3;
5086*d5c09012SAndroid Build Coastguard Worker
5087*d5c09012SAndroid Build Coastguard Worker    // IN_USE_MANAGED_POD denotes this range was created by GKE and is claimed
5088*d5c09012SAndroid Build Coastguard Worker    // for pods. It cannot be used for other clusters.
5089*d5c09012SAndroid Build Coastguard Worker    IN_USE_MANAGED_POD = 4;
5090*d5c09012SAndroid Build Coastguard Worker  }
5091*d5c09012SAndroid Build Coastguard Worker
5092*d5c09012SAndroid Build Coastguard Worker  // The name associated with this subnetwork secondary range, used when adding
5093*d5c09012SAndroid Build Coastguard Worker  // an alias IP range to a VM instance.
5094*d5c09012SAndroid Build Coastguard Worker  string range_name = 1;
5095*d5c09012SAndroid Build Coastguard Worker
5096*d5c09012SAndroid Build Coastguard Worker  // The range of IP addresses belonging to this subnetwork secondary range.
5097*d5c09012SAndroid Build Coastguard Worker  string ip_cidr_range = 2;
5098*d5c09012SAndroid Build Coastguard Worker
5099*d5c09012SAndroid Build Coastguard Worker  // This field is to determine the status of the secondary range programmably.
5100*d5c09012SAndroid Build Coastguard Worker  Status status = 3;
5101*d5c09012SAndroid Build Coastguard Worker}
5102*d5c09012SAndroid Build Coastguard Worker
5103*d5c09012SAndroid Build Coastguard Worker// UsableSubnetwork resource returns the subnetwork name, its associated network
5104*d5c09012SAndroid Build Coastguard Worker// and the primary CIDR range.
5105*d5c09012SAndroid Build Coastguard Workermessage UsableSubnetwork {
5106*d5c09012SAndroid Build Coastguard Worker  // Subnetwork Name.
5107*d5c09012SAndroid Build Coastguard Worker  // Example: projects/my-project/regions/us-central1/subnetworks/my-subnet
5108*d5c09012SAndroid Build Coastguard Worker  string subnetwork = 1;
5109*d5c09012SAndroid Build Coastguard Worker
5110*d5c09012SAndroid Build Coastguard Worker  // Network Name.
5111*d5c09012SAndroid Build Coastguard Worker  // Example: projects/my-project/global/networks/my-network
5112*d5c09012SAndroid Build Coastguard Worker  string network = 2;
5113*d5c09012SAndroid Build Coastguard Worker
5114*d5c09012SAndroid Build Coastguard Worker  // The range of internal addresses that are owned by this subnetwork.
5115*d5c09012SAndroid Build Coastguard Worker  string ip_cidr_range = 3;
5116*d5c09012SAndroid Build Coastguard Worker
5117*d5c09012SAndroid Build Coastguard Worker  // Secondary IP ranges.
5118*d5c09012SAndroid Build Coastguard Worker  repeated UsableSubnetworkSecondaryRange secondary_ip_ranges = 4;
5119*d5c09012SAndroid Build Coastguard Worker
5120*d5c09012SAndroid Build Coastguard Worker  // A human readable status message representing the reasons for cases where
5121*d5c09012SAndroid Build Coastguard Worker  // the caller cannot use the secondary ranges under the subnet. For example if
5122*d5c09012SAndroid Build Coastguard Worker  // the secondary_ip_ranges is empty due to a permission issue, an insufficient
5123*d5c09012SAndroid Build Coastguard Worker  // permission message will be given by status_message.
5124*d5c09012SAndroid Build Coastguard Worker  string status_message = 5;
5125*d5c09012SAndroid Build Coastguard Worker}
5126*d5c09012SAndroid Build Coastguard Worker
5127*d5c09012SAndroid Build Coastguard Worker// VerticalPodAutoscaling contains global, per-cluster information
5128*d5c09012SAndroid Build Coastguard Worker// required by Vertical Pod Autoscaler to automatically adjust
5129*d5c09012SAndroid Build Coastguard Worker// the resources of pods controlled by it.
5130*d5c09012SAndroid Build Coastguard Workermessage VerticalPodAutoscaling {
5131*d5c09012SAndroid Build Coastguard Worker  // Enables vertical pod autoscaling.
5132*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5133*d5c09012SAndroid Build Coastguard Worker}
5134*d5c09012SAndroid Build Coastguard Worker
5135*d5c09012SAndroid Build Coastguard Worker// DefaultSnatStatus contains the desired state of whether default sNAT should
5136*d5c09012SAndroid Build Coastguard Worker// be disabled on the cluster.
5137*d5c09012SAndroid Build Coastguard Workermessage DefaultSnatStatus {
5138*d5c09012SAndroid Build Coastguard Worker  // Disables cluster default sNAT rules.
5139*d5c09012SAndroid Build Coastguard Worker  bool disabled = 1;
5140*d5c09012SAndroid Build Coastguard Worker}
5141*d5c09012SAndroid Build Coastguard Worker
5142*d5c09012SAndroid Build Coastguard Worker// IntraNodeVisibilityConfig contains the desired config of the intra-node
5143*d5c09012SAndroid Build Coastguard Worker// visibility on this cluster.
5144*d5c09012SAndroid Build Coastguard Workermessage IntraNodeVisibilityConfig {
5145*d5c09012SAndroid Build Coastguard Worker  // Enables intra node visibility for this cluster.
5146*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5147*d5c09012SAndroid Build Coastguard Worker}
5148*d5c09012SAndroid Build Coastguard Worker
5149*d5c09012SAndroid Build Coastguard Worker// ILBSubsettingConfig contains the desired config of L4 Internal LoadBalancer
5150*d5c09012SAndroid Build Coastguard Worker// subsetting on this cluster.
5151*d5c09012SAndroid Build Coastguard Workermessage ILBSubsettingConfig {
5152*d5c09012SAndroid Build Coastguard Worker  // Enables l4 ILB subsetting for this cluster
5153*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5154*d5c09012SAndroid Build Coastguard Worker}
5155*d5c09012SAndroid Build Coastguard Worker
5156*d5c09012SAndroid Build Coastguard Worker// DNSConfig contains the desired set of options for configuring clusterDNS.
5157*d5c09012SAndroid Build Coastguard Workermessage DNSConfig {
5158*d5c09012SAndroid Build Coastguard Worker  // Provider lists the various in-cluster DNS providers.
5159*d5c09012SAndroid Build Coastguard Worker  enum Provider {
5160*d5c09012SAndroid Build Coastguard Worker    // Default value
5161*d5c09012SAndroid Build Coastguard Worker    PROVIDER_UNSPECIFIED = 0;
5162*d5c09012SAndroid Build Coastguard Worker
5163*d5c09012SAndroid Build Coastguard Worker    // Use GKE default DNS provider(kube-dns) for DNS resolution.
5164*d5c09012SAndroid Build Coastguard Worker    PLATFORM_DEFAULT = 1;
5165*d5c09012SAndroid Build Coastguard Worker
5166*d5c09012SAndroid Build Coastguard Worker    // Use CloudDNS for DNS resolution.
5167*d5c09012SAndroid Build Coastguard Worker    CLOUD_DNS = 2;
5168*d5c09012SAndroid Build Coastguard Worker
5169*d5c09012SAndroid Build Coastguard Worker    // Use KubeDNS for DNS resolution.
5170*d5c09012SAndroid Build Coastguard Worker    KUBE_DNS = 3;
5171*d5c09012SAndroid Build Coastguard Worker  }
5172*d5c09012SAndroid Build Coastguard Worker
5173*d5c09012SAndroid Build Coastguard Worker  // DNSScope lists the various scopes of access to cluster DNS records.
5174*d5c09012SAndroid Build Coastguard Worker  enum DNSScope {
5175*d5c09012SAndroid Build Coastguard Worker    // Default value, will be inferred as cluster scope.
5176*d5c09012SAndroid Build Coastguard Worker    DNS_SCOPE_UNSPECIFIED = 0;
5177*d5c09012SAndroid Build Coastguard Worker
5178*d5c09012SAndroid Build Coastguard Worker    // DNS records are accessible from within the cluster.
5179*d5c09012SAndroid Build Coastguard Worker    CLUSTER_SCOPE = 1;
5180*d5c09012SAndroid Build Coastguard Worker
5181*d5c09012SAndroid Build Coastguard Worker    // DNS records are accessible from within the VPC.
5182*d5c09012SAndroid Build Coastguard Worker    VPC_SCOPE = 2;
5183*d5c09012SAndroid Build Coastguard Worker  }
5184*d5c09012SAndroid Build Coastguard Worker
5185*d5c09012SAndroid Build Coastguard Worker  // cluster_dns indicates which in-cluster DNS provider should be used.
5186*d5c09012SAndroid Build Coastguard Worker  Provider cluster_dns = 1;
5187*d5c09012SAndroid Build Coastguard Worker
5188*d5c09012SAndroid Build Coastguard Worker  // cluster_dns_scope indicates the scope of access to cluster DNS records.
5189*d5c09012SAndroid Build Coastguard Worker  DNSScope cluster_dns_scope = 2;
5190*d5c09012SAndroid Build Coastguard Worker
5191*d5c09012SAndroid Build Coastguard Worker  // cluster_dns_domain is the suffix used for all cluster service records.
5192*d5c09012SAndroid Build Coastguard Worker  string cluster_dns_domain = 3;
5193*d5c09012SAndroid Build Coastguard Worker}
5194*d5c09012SAndroid Build Coastguard Worker
5195*d5c09012SAndroid Build Coastguard Worker// Constraints applied to pods.
5196*d5c09012SAndroid Build Coastguard Workermessage MaxPodsConstraint {
5197*d5c09012SAndroid Build Coastguard Worker  // Constraint enforced on the max num of pods per node.
5198*d5c09012SAndroid Build Coastguard Worker  int64 max_pods_per_node = 1;
5199*d5c09012SAndroid Build Coastguard Worker}
5200*d5c09012SAndroid Build Coastguard Worker
5201*d5c09012SAndroid Build Coastguard Worker// Configuration for the use of Kubernetes Service Accounts in GCP IAM
5202*d5c09012SAndroid Build Coastguard Worker// policies.
5203*d5c09012SAndroid Build Coastguard Workermessage WorkloadIdentityConfig {
5204*d5c09012SAndroid Build Coastguard Worker  // IAM Identity Namespace to attach all Kubernetes Service Accounts to.
5205*d5c09012SAndroid Build Coastguard Worker  string identity_namespace = 1 [deprecated = true];
5206*d5c09012SAndroid Build Coastguard Worker
5207*d5c09012SAndroid Build Coastguard Worker  // The workload pool to attach all Kubernetes service accounts to.
5208*d5c09012SAndroid Build Coastguard Worker  string workload_pool = 2;
5209*d5c09012SAndroid Build Coastguard Worker
5210*d5c09012SAndroid Build Coastguard Worker  // identity provider is the third party identity provider.
5211*d5c09012SAndroid Build Coastguard Worker  string identity_provider = 3;
5212*d5c09012SAndroid Build Coastguard Worker}
5213*d5c09012SAndroid Build Coastguard Worker
5214*d5c09012SAndroid Build Coastguard Worker// Configuration for direct-path (via ALTS) with workload identity.
5215*d5c09012SAndroid Build Coastguard Workermessage WorkloadALTSConfig {
5216*d5c09012SAndroid Build Coastguard Worker  // enable_alts controls whether the alts handshaker should be enabled or not
5217*d5c09012SAndroid Build Coastguard Worker  // for direct-path.
5218*d5c09012SAndroid Build Coastguard Worker  //
5219*d5c09012SAndroid Build Coastguard Worker  // Requires Workload Identity
5220*d5c09012SAndroid Build Coastguard Worker  // ([workload_pool][google.container.v1beta1.WorkloadIdentityConfig.workload_pool]
5221*d5c09012SAndroid Build Coastguard Worker  // must be non-empty).
5222*d5c09012SAndroid Build Coastguard Worker  google.protobuf.BoolValue enable_alts = 1;
5223*d5c09012SAndroid Build Coastguard Worker}
5224*d5c09012SAndroid Build Coastguard Worker
5225*d5c09012SAndroid Build Coastguard Worker// Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
5226*d5c09012SAndroid Build Coastguard Workermessage WorkloadCertificates {
5227*d5c09012SAndroid Build Coastguard Worker  // enable_certificates controls issuance of workload mTLS certificates.
5228*d5c09012SAndroid Build Coastguard Worker  //
5229*d5c09012SAndroid Build Coastguard Worker  // If set, the GKE Workload Identity Certificates controller and node agent
5230*d5c09012SAndroid Build Coastguard Worker  // will be deployed in the cluster, which can then be configured by creating a
5231*d5c09012SAndroid Build Coastguard Worker  // WorkloadCertificateConfig Custom Resource.
5232*d5c09012SAndroid Build Coastguard Worker  //
5233*d5c09012SAndroid Build Coastguard Worker  // Requires Workload Identity
5234*d5c09012SAndroid Build Coastguard Worker  // ([workload_pool][google.container.v1beta1.WorkloadIdentityConfig.workload_pool]
5235*d5c09012SAndroid Build Coastguard Worker  // must be non-empty).
5236*d5c09012SAndroid Build Coastguard Worker  google.protobuf.BoolValue enable_certificates = 1;
5237*d5c09012SAndroid Build Coastguard Worker}
5238*d5c09012SAndroid Build Coastguard Worker
5239*d5c09012SAndroid Build Coastguard Worker// Configuration for issuance of mTLS keys and certificates to Kubernetes pods.
5240*d5c09012SAndroid Build Coastguard Workermessage MeshCertificates {
5241*d5c09012SAndroid Build Coastguard Worker  // enable_certificates controls issuance of workload mTLS certificates.
5242*d5c09012SAndroid Build Coastguard Worker  //
5243*d5c09012SAndroid Build Coastguard Worker  // If set, the GKE Workload Identity Certificates controller and node agent
5244*d5c09012SAndroid Build Coastguard Worker  // will be deployed in the cluster, which can then be configured by creating a
5245*d5c09012SAndroid Build Coastguard Worker  // WorkloadCertificateConfig Custom Resource.
5246*d5c09012SAndroid Build Coastguard Worker  //
5247*d5c09012SAndroid Build Coastguard Worker  // Requires Workload Identity
5248*d5c09012SAndroid Build Coastguard Worker  // ([workload_pool][google.container.v1alpha1.WorkloadIdentityConfig.workload_pool]
5249*d5c09012SAndroid Build Coastguard Worker  // must be non-empty).
5250*d5c09012SAndroid Build Coastguard Worker  google.protobuf.BoolValue enable_certificates = 1;
5251*d5c09012SAndroid Build Coastguard Worker}
5252*d5c09012SAndroid Build Coastguard Worker
5253*d5c09012SAndroid Build Coastguard Worker// Configuration of etcd encryption.
5254*d5c09012SAndroid Build Coastguard Workermessage DatabaseEncryption {
5255*d5c09012SAndroid Build Coastguard Worker  // State of etcd encryption.
5256*d5c09012SAndroid Build Coastguard Worker  enum State {
5257*d5c09012SAndroid Build Coastguard Worker    // Should never be set
5258*d5c09012SAndroid Build Coastguard Worker    UNKNOWN = 0;
5259*d5c09012SAndroid Build Coastguard Worker
5260*d5c09012SAndroid Build Coastguard Worker    // Secrets in etcd are encrypted.
5261*d5c09012SAndroid Build Coastguard Worker    ENCRYPTED = 1;
5262*d5c09012SAndroid Build Coastguard Worker
5263*d5c09012SAndroid Build Coastguard Worker    // Secrets in etcd are stored in plain text (at etcd level) - this is
5264*d5c09012SAndroid Build Coastguard Worker    // unrelated to Compute Engine level full disk encryption.
5265*d5c09012SAndroid Build Coastguard Worker    DECRYPTED = 2;
5266*d5c09012SAndroid Build Coastguard Worker  }
5267*d5c09012SAndroid Build Coastguard Worker
5268*d5c09012SAndroid Build Coastguard Worker  // Current State of etcd encryption.
5269*d5c09012SAndroid Build Coastguard Worker  enum CurrentState {
5270*d5c09012SAndroid Build Coastguard Worker    // Should never be set
5271*d5c09012SAndroid Build Coastguard Worker    CURRENT_STATE_UNSPECIFIED = 0;
5272*d5c09012SAndroid Build Coastguard Worker
5273*d5c09012SAndroid Build Coastguard Worker    // Secrets in etcd are encrypted.
5274*d5c09012SAndroid Build Coastguard Worker    CURRENT_STATE_ENCRYPTED = 7;
5275*d5c09012SAndroid Build Coastguard Worker
5276*d5c09012SAndroid Build Coastguard Worker    // Secrets in etcd are stored in plain text (at etcd level) - this is
5277*d5c09012SAndroid Build Coastguard Worker    // unrelated to Compute Engine level full disk encryption.
5278*d5c09012SAndroid Build Coastguard Worker    CURRENT_STATE_DECRYPTED = 2;
5279*d5c09012SAndroid Build Coastguard Worker
5280*d5c09012SAndroid Build Coastguard Worker    // Encryption (or re-encryption with a different CloudKMS key)
5281*d5c09012SAndroid Build Coastguard Worker    // of Secrets is in progress.
5282*d5c09012SAndroid Build Coastguard Worker    CURRENT_STATE_ENCRYPTION_PENDING = 3;
5283*d5c09012SAndroid Build Coastguard Worker
5284*d5c09012SAndroid Build Coastguard Worker    // Encryption (or re-encryption with a different CloudKMS key) of Secrets in
5285*d5c09012SAndroid Build Coastguard Worker    // etcd encountered an error.
5286*d5c09012SAndroid Build Coastguard Worker    CURRENT_STATE_ENCRYPTION_ERROR = 4;
5287*d5c09012SAndroid Build Coastguard Worker
5288*d5c09012SAndroid Build Coastguard Worker    // De-crypting Secrets to plain text in etcd is in progress.
5289*d5c09012SAndroid Build Coastguard Worker    CURRENT_STATE_DECRYPTION_PENDING = 5;
5290*d5c09012SAndroid Build Coastguard Worker
5291*d5c09012SAndroid Build Coastguard Worker    // De-crypting Secrets to plain text in etcd encountered an error.
5292*d5c09012SAndroid Build Coastguard Worker    CURRENT_STATE_DECRYPTION_ERROR = 6;
5293*d5c09012SAndroid Build Coastguard Worker  }
5294*d5c09012SAndroid Build Coastguard Worker
5295*d5c09012SAndroid Build Coastguard Worker  // OperationError records errors seen from CloudKMS keys
5296*d5c09012SAndroid Build Coastguard Worker  // encountered during updates to DatabaseEncryption configuration.
5297*d5c09012SAndroid Build Coastguard Worker  message OperationError {
5298*d5c09012SAndroid Build Coastguard Worker    // CloudKMS key resource that had the error.
5299*d5c09012SAndroid Build Coastguard Worker    string key_name = 1;
5300*d5c09012SAndroid Build Coastguard Worker
5301*d5c09012SAndroid Build Coastguard Worker    // Description of the error seen during the operation.
5302*d5c09012SAndroid Build Coastguard Worker    string error_message = 2;
5303*d5c09012SAndroid Build Coastguard Worker
5304*d5c09012SAndroid Build Coastguard Worker    // Time when the CloudKMS error was seen.
5305*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Timestamp timestamp = 3;
5306*d5c09012SAndroid Build Coastguard Worker  }
5307*d5c09012SAndroid Build Coastguard Worker
5308*d5c09012SAndroid Build Coastguard Worker  // Name of CloudKMS key to use for the encryption of secrets in etcd.
5309*d5c09012SAndroid Build Coastguard Worker  // Ex. projects/my-project/locations/global/keyRings/my-ring/cryptoKeys/my-key
5310*d5c09012SAndroid Build Coastguard Worker  string key_name = 1;
5311*d5c09012SAndroid Build Coastguard Worker
5312*d5c09012SAndroid Build Coastguard Worker  // The desired state of etcd encryption.
5313*d5c09012SAndroid Build Coastguard Worker  State state = 2;
5314*d5c09012SAndroid Build Coastguard Worker
5315*d5c09012SAndroid Build Coastguard Worker  // Output only. The current state of etcd encryption.
5316*d5c09012SAndroid Build Coastguard Worker  optional CurrentState current_state = 3
5317*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
5318*d5c09012SAndroid Build Coastguard Worker
5319*d5c09012SAndroid Build Coastguard Worker  // Output only. Keys in use by the cluster for decrypting
5320*d5c09012SAndroid Build Coastguard Worker  // existing objects, in addition to the key in `key_name`.
5321*d5c09012SAndroid Build Coastguard Worker  //
5322*d5c09012SAndroid Build Coastguard Worker  // Each item is a CloudKMS key resource.
5323*d5c09012SAndroid Build Coastguard Worker  repeated string decryption_keys = 4
5324*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
5325*d5c09012SAndroid Build Coastguard Worker
5326*d5c09012SAndroid Build Coastguard Worker  // Output only. Records errors seen during DatabaseEncryption update
5327*d5c09012SAndroid Build Coastguard Worker  // operations.
5328*d5c09012SAndroid Build Coastguard Worker  repeated OperationError last_operation_errors = 5
5329*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
5330*d5c09012SAndroid Build Coastguard Worker}
5331*d5c09012SAndroid Build Coastguard Worker
5332*d5c09012SAndroid Build Coastguard Worker// Configuration for exporting cluster resource usages.
5333*d5c09012SAndroid Build Coastguard Workermessage ResourceUsageExportConfig {
5334*d5c09012SAndroid Build Coastguard Worker  // Parameters for using BigQuery as the destination of resource usage export.
5335*d5c09012SAndroid Build Coastguard Worker  message BigQueryDestination {
5336*d5c09012SAndroid Build Coastguard Worker    // The ID of a BigQuery Dataset.
5337*d5c09012SAndroid Build Coastguard Worker    string dataset_id = 1;
5338*d5c09012SAndroid Build Coastguard Worker  }
5339*d5c09012SAndroid Build Coastguard Worker
5340*d5c09012SAndroid Build Coastguard Worker  // Parameters for controlling consumption metering.
5341*d5c09012SAndroid Build Coastguard Worker  message ConsumptionMeteringConfig {
5342*d5c09012SAndroid Build Coastguard Worker    // Whether to enable consumption metering for this cluster. If enabled, a
5343*d5c09012SAndroid Build Coastguard Worker    // second BigQuery table will be created to hold resource consumption
5344*d5c09012SAndroid Build Coastguard Worker    // records.
5345*d5c09012SAndroid Build Coastguard Worker    bool enabled = 1;
5346*d5c09012SAndroid Build Coastguard Worker  }
5347*d5c09012SAndroid Build Coastguard Worker
5348*d5c09012SAndroid Build Coastguard Worker  // Configuration to use BigQuery as usage export destination.
5349*d5c09012SAndroid Build Coastguard Worker  BigQueryDestination bigquery_destination = 1;
5350*d5c09012SAndroid Build Coastguard Worker
5351*d5c09012SAndroid Build Coastguard Worker  // Whether to enable network egress metering for this cluster. If enabled, a
5352*d5c09012SAndroid Build Coastguard Worker  // daemonset will be created in the cluster to meter network egress traffic.
5353*d5c09012SAndroid Build Coastguard Worker  bool enable_network_egress_metering = 2;
5354*d5c09012SAndroid Build Coastguard Worker
5355*d5c09012SAndroid Build Coastguard Worker  // Configuration to enable resource consumption metering.
5356*d5c09012SAndroid Build Coastguard Worker  ConsumptionMeteringConfig consumption_metering_config = 3;
5357*d5c09012SAndroid Build Coastguard Worker}
5358*d5c09012SAndroid Build Coastguard Worker
5359*d5c09012SAndroid Build Coastguard Worker// Configuration of Shielded Nodes feature.
5360*d5c09012SAndroid Build Coastguard Workermessage ShieldedNodes {
5361*d5c09012SAndroid Build Coastguard Worker  // Whether Shielded Nodes features are enabled on all nodes in this cluster.
5362*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5363*d5c09012SAndroid Build Coastguard Worker}
5364*d5c09012SAndroid Build Coastguard Worker
5365*d5c09012SAndroid Build Coastguard Worker// Configuration of gVNIC feature.
5366*d5c09012SAndroid Build Coastguard Workermessage VirtualNIC {
5367*d5c09012SAndroid Build Coastguard Worker  // Whether gVNIC features are enabled in the node pool.
5368*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5369*d5c09012SAndroid Build Coastguard Worker}
5370*d5c09012SAndroid Build Coastguard Worker
5371*d5c09012SAndroid Build Coastguard Worker// Configuration of Fast Socket feature.
5372*d5c09012SAndroid Build Coastguard Workermessage FastSocket {
5373*d5c09012SAndroid Build Coastguard Worker  // Whether Fast Socket features are enabled in the node pool.
5374*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5375*d5c09012SAndroid Build Coastguard Worker}
5376*d5c09012SAndroid Build Coastguard Worker
5377*d5c09012SAndroid Build Coastguard Worker// GetOpenIDConfigRequest gets the OIDC discovery document for the
5378*d5c09012SAndroid Build Coastguard Worker// cluster. See the OpenID Connect Discovery 1.0 specification for details.
5379*d5c09012SAndroid Build Coastguard Workermessage GetOpenIDConfigRequest {
5380*d5c09012SAndroid Build Coastguard Worker  // The cluster (project, location, cluster name) to get the discovery document
5381*d5c09012SAndroid Build Coastguard Worker  // for. Specified in the format `projects/*/locations/*/clusters/*`.
5382*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
5383*d5c09012SAndroid Build Coastguard Worker}
5384*d5c09012SAndroid Build Coastguard Worker
5385*d5c09012SAndroid Build Coastguard Worker// GetOpenIDConfigResponse is an OIDC discovery document for the cluster.
5386*d5c09012SAndroid Build Coastguard Worker// See the OpenID Connect Discovery 1.0 specification for details.
5387*d5c09012SAndroid Build Coastguard Workermessage GetOpenIDConfigResponse {
5388*d5c09012SAndroid Build Coastguard Worker  // OIDC Issuer.
5389*d5c09012SAndroid Build Coastguard Worker  string issuer = 1;
5390*d5c09012SAndroid Build Coastguard Worker
5391*d5c09012SAndroid Build Coastguard Worker  // JSON Web Key uri.
5392*d5c09012SAndroid Build Coastguard Worker  string jwks_uri = 2;
5393*d5c09012SAndroid Build Coastguard Worker
5394*d5c09012SAndroid Build Coastguard Worker  // Supported response types.
5395*d5c09012SAndroid Build Coastguard Worker  repeated string response_types_supported = 3;
5396*d5c09012SAndroid Build Coastguard Worker
5397*d5c09012SAndroid Build Coastguard Worker  // Supported subject types.
5398*d5c09012SAndroid Build Coastguard Worker  repeated string subject_types_supported = 4;
5399*d5c09012SAndroid Build Coastguard Worker
5400*d5c09012SAndroid Build Coastguard Worker  // supported ID Token signing Algorithms.
5401*d5c09012SAndroid Build Coastguard Worker  repeated string id_token_signing_alg_values_supported = 5;
5402*d5c09012SAndroid Build Coastguard Worker
5403*d5c09012SAndroid Build Coastguard Worker  // Supported claims.
5404*d5c09012SAndroid Build Coastguard Worker  repeated string claims_supported = 6;
5405*d5c09012SAndroid Build Coastguard Worker
5406*d5c09012SAndroid Build Coastguard Worker  // Supported grant types.
5407*d5c09012SAndroid Build Coastguard Worker  repeated string grant_types = 7;
5408*d5c09012SAndroid Build Coastguard Worker}
5409*d5c09012SAndroid Build Coastguard Worker
5410*d5c09012SAndroid Build Coastguard Worker// GetJSONWebKeysRequest gets the public component of the keys used by the
5411*d5c09012SAndroid Build Coastguard Worker// cluster to sign token requests. This will be the jwks_uri for the discover
5412*d5c09012SAndroid Build Coastguard Worker// document returned by getOpenIDConfig. See the OpenID Connect
5413*d5c09012SAndroid Build Coastguard Worker// Discovery 1.0 specification for details.
5414*d5c09012SAndroid Build Coastguard Workermessage GetJSONWebKeysRequest {
5415*d5c09012SAndroid Build Coastguard Worker  // The cluster (project, location, cluster name) to get keys for. Specified in
5416*d5c09012SAndroid Build Coastguard Worker  // the format `projects/*/locations/*/clusters/*`.
5417*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
5418*d5c09012SAndroid Build Coastguard Worker}
5419*d5c09012SAndroid Build Coastguard Worker
5420*d5c09012SAndroid Build Coastguard Worker// Jwk is a JSON Web Key as specified in RFC 7517
5421*d5c09012SAndroid Build Coastguard Workermessage Jwk {
5422*d5c09012SAndroid Build Coastguard Worker  // Key Type.
5423*d5c09012SAndroid Build Coastguard Worker  string kty = 1;
5424*d5c09012SAndroid Build Coastguard Worker
5425*d5c09012SAndroid Build Coastguard Worker  // Algorithm.
5426*d5c09012SAndroid Build Coastguard Worker  string alg = 2;
5427*d5c09012SAndroid Build Coastguard Worker
5428*d5c09012SAndroid Build Coastguard Worker  // Permitted uses for the public keys.
5429*d5c09012SAndroid Build Coastguard Worker  string use = 3;
5430*d5c09012SAndroid Build Coastguard Worker
5431*d5c09012SAndroid Build Coastguard Worker  // Key ID.
5432*d5c09012SAndroid Build Coastguard Worker  string kid = 4;
5433*d5c09012SAndroid Build Coastguard Worker
5434*d5c09012SAndroid Build Coastguard Worker  // Used for RSA keys.
5435*d5c09012SAndroid Build Coastguard Worker  string n = 5;
5436*d5c09012SAndroid Build Coastguard Worker
5437*d5c09012SAndroid Build Coastguard Worker  // Used for RSA keys.
5438*d5c09012SAndroid Build Coastguard Worker  string e = 6;
5439*d5c09012SAndroid Build Coastguard Worker
5440*d5c09012SAndroid Build Coastguard Worker  // Used for ECDSA keys.
5441*d5c09012SAndroid Build Coastguard Worker  string x = 7;
5442*d5c09012SAndroid Build Coastguard Worker
5443*d5c09012SAndroid Build Coastguard Worker  // Used for ECDSA keys.
5444*d5c09012SAndroid Build Coastguard Worker  string y = 8;
5445*d5c09012SAndroid Build Coastguard Worker
5446*d5c09012SAndroid Build Coastguard Worker  // Used for ECDSA keys.
5447*d5c09012SAndroid Build Coastguard Worker  string crv = 9;
5448*d5c09012SAndroid Build Coastguard Worker}
5449*d5c09012SAndroid Build Coastguard Worker
5450*d5c09012SAndroid Build Coastguard Worker// GetJSONWebKeysResponse is a valid JSON Web Key Set as specififed in rfc 7517
5451*d5c09012SAndroid Build Coastguard Workermessage GetJSONWebKeysResponse {
5452*d5c09012SAndroid Build Coastguard Worker  // The public component of the keys used by the cluster to sign token
5453*d5c09012SAndroid Build Coastguard Worker  // requests.
5454*d5c09012SAndroid Build Coastguard Worker  repeated Jwk keys = 1;
5455*d5c09012SAndroid Build Coastguard Worker}
5456*d5c09012SAndroid Build Coastguard Worker
5457*d5c09012SAndroid Build Coastguard Worker// CheckAutopilotCompatibilityRequest requests getting the blockers for the
5458*d5c09012SAndroid Build Coastguard Worker// given operation in the cluster.
5459*d5c09012SAndroid Build Coastguard Workermessage CheckAutopilotCompatibilityRequest {
5460*d5c09012SAndroid Build Coastguard Worker  // The name (project, location, cluster) of the cluster to retrieve.
5461*d5c09012SAndroid Build Coastguard Worker  // Specified in the format `projects/*/locations/*/clusters/*`.
5462*d5c09012SAndroid Build Coastguard Worker  string name = 1;
5463*d5c09012SAndroid Build Coastguard Worker}
5464*d5c09012SAndroid Build Coastguard Worker
5465*d5c09012SAndroid Build Coastguard Worker// AutopilotCompatibilityIssue contains information about a specific
5466*d5c09012SAndroid Build Coastguard Worker// compatibility issue with Autopilot mode.
5467*d5c09012SAndroid Build Coastguard Workermessage AutopilotCompatibilityIssue {
5468*d5c09012SAndroid Build Coastguard Worker  // The type of the reported issue.
5469*d5c09012SAndroid Build Coastguard Worker  enum IssueType {
5470*d5c09012SAndroid Build Coastguard Worker    // Default value, should not be used.
5471*d5c09012SAndroid Build Coastguard Worker    UNSPECIFIED = 0;
5472*d5c09012SAndroid Build Coastguard Worker
5473*d5c09012SAndroid Build Coastguard Worker    // Indicates that the issue is a known incompatibility between the
5474*d5c09012SAndroid Build Coastguard Worker    // cluster and Autopilot mode.
5475*d5c09012SAndroid Build Coastguard Worker    INCOMPATIBILITY = 1;
5476*d5c09012SAndroid Build Coastguard Worker
5477*d5c09012SAndroid Build Coastguard Worker    // Indicates the issue is an incompatibility if customers take no further
5478*d5c09012SAndroid Build Coastguard Worker    // action to resolve.
5479*d5c09012SAndroid Build Coastguard Worker    ADDITIONAL_CONFIG_REQUIRED = 2;
5480*d5c09012SAndroid Build Coastguard Worker
5481*d5c09012SAndroid Build Coastguard Worker    // Indicates the issue is not an incompatibility, but depending on the
5482*d5c09012SAndroid Build Coastguard Worker    // workloads business logic, there is a potential that they won't work on
5483*d5c09012SAndroid Build Coastguard Worker    // Autopilot.
5484*d5c09012SAndroid Build Coastguard Worker    PASSED_WITH_OPTIONAL_CONFIG = 3;
5485*d5c09012SAndroid Build Coastguard Worker  }
5486*d5c09012SAndroid Build Coastguard Worker
5487*d5c09012SAndroid Build Coastguard Worker  // The last time when this issue was observed.
5488*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp last_observation = 1;
5489*d5c09012SAndroid Build Coastguard Worker
5490*d5c09012SAndroid Build Coastguard Worker  // The constraint type of the issue.
5491*d5c09012SAndroid Build Coastguard Worker  string constraint_type = 2;
5492*d5c09012SAndroid Build Coastguard Worker
5493*d5c09012SAndroid Build Coastguard Worker  // The incompatibility type of this issue.
5494*d5c09012SAndroid Build Coastguard Worker  IssueType incompatibility_type = 3;
5495*d5c09012SAndroid Build Coastguard Worker
5496*d5c09012SAndroid Build Coastguard Worker  // The name of the resources which are subject to this issue.
5497*d5c09012SAndroid Build Coastguard Worker  repeated string subjects = 4;
5498*d5c09012SAndroid Build Coastguard Worker
5499*d5c09012SAndroid Build Coastguard Worker  // A URL to a public documnetation, which addresses resolving this issue.
5500*d5c09012SAndroid Build Coastguard Worker  string documentation_url = 5;
5501*d5c09012SAndroid Build Coastguard Worker
5502*d5c09012SAndroid Build Coastguard Worker  // The description of the issue.
5503*d5c09012SAndroid Build Coastguard Worker  string description = 6;
5504*d5c09012SAndroid Build Coastguard Worker}
5505*d5c09012SAndroid Build Coastguard Worker
5506*d5c09012SAndroid Build Coastguard Worker// CheckAutopilotCompatibilityResponse has a list of compatibility issues.
5507*d5c09012SAndroid Build Coastguard Workermessage CheckAutopilotCompatibilityResponse {
5508*d5c09012SAndroid Build Coastguard Worker  // The list of issues for the given operation.
5509*d5c09012SAndroid Build Coastguard Worker  repeated AutopilotCompatibilityIssue issues = 1;
5510*d5c09012SAndroid Build Coastguard Worker
5511*d5c09012SAndroid Build Coastguard Worker  // The summary of the autopilot compatibility response.
5512*d5c09012SAndroid Build Coastguard Worker  string summary = 2;
5513*d5c09012SAndroid Build Coastguard Worker}
5514*d5c09012SAndroid Build Coastguard Worker
5515*d5c09012SAndroid Build Coastguard Worker// ReleaseChannel indicates which release channel a cluster is
5516*d5c09012SAndroid Build Coastguard Worker// subscribed to. Release channels are arranged in order of risk.
5517*d5c09012SAndroid Build Coastguard Worker//
5518*d5c09012SAndroid Build Coastguard Worker// When a cluster is subscribed to a release channel, Google maintains
5519*d5c09012SAndroid Build Coastguard Worker// both the master version and the node version. Node auto-upgrade
5520*d5c09012SAndroid Build Coastguard Worker// defaults to true and cannot be disabled.
5521*d5c09012SAndroid Build Coastguard Workermessage ReleaseChannel {
5522*d5c09012SAndroid Build Coastguard Worker  // Possible values for 'channel'.
5523*d5c09012SAndroid Build Coastguard Worker  enum Channel {
5524*d5c09012SAndroid Build Coastguard Worker    // No channel specified.
5525*d5c09012SAndroid Build Coastguard Worker    UNSPECIFIED = 0;
5526*d5c09012SAndroid Build Coastguard Worker
5527*d5c09012SAndroid Build Coastguard Worker    // RAPID channel is offered on an early access basis for customers who want
5528*d5c09012SAndroid Build Coastguard Worker    // to test new releases.
5529*d5c09012SAndroid Build Coastguard Worker    //
5530*d5c09012SAndroid Build Coastguard Worker    // WARNING: Versions available in the RAPID Channel may be subject to
5531*d5c09012SAndroid Build Coastguard Worker    // unresolved issues with no known workaround and are not subject to any
5532*d5c09012SAndroid Build Coastguard Worker    // SLAs.
5533*d5c09012SAndroid Build Coastguard Worker    RAPID = 1;
5534*d5c09012SAndroid Build Coastguard Worker
5535*d5c09012SAndroid Build Coastguard Worker    // Clusters subscribed to REGULAR receive versions that are considered GA
5536*d5c09012SAndroid Build Coastguard Worker    // quality. REGULAR is intended for production users who want to take
5537*d5c09012SAndroid Build Coastguard Worker    // advantage of new features.
5538*d5c09012SAndroid Build Coastguard Worker    REGULAR = 2;
5539*d5c09012SAndroid Build Coastguard Worker
5540*d5c09012SAndroid Build Coastguard Worker    // Clusters subscribed to STABLE receive versions that are known to be
5541*d5c09012SAndroid Build Coastguard Worker    // stable and reliable in production.
5542*d5c09012SAndroid Build Coastguard Worker    STABLE = 3;
5543*d5c09012SAndroid Build Coastguard Worker  }
5544*d5c09012SAndroid Build Coastguard Worker
5545*d5c09012SAndroid Build Coastguard Worker  // channel specifies which release channel the cluster is subscribed to.
5546*d5c09012SAndroid Build Coastguard Worker  Channel channel = 1;
5547*d5c09012SAndroid Build Coastguard Worker}
5548*d5c09012SAndroid Build Coastguard Worker
5549*d5c09012SAndroid Build Coastguard Worker// Configuration for fine-grained cost management feature.
5550*d5c09012SAndroid Build Coastguard Workermessage CostManagementConfig {
5551*d5c09012SAndroid Build Coastguard Worker  // Whether the feature is enabled or not.
5552*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5553*d5c09012SAndroid Build Coastguard Worker}
5554*d5c09012SAndroid Build Coastguard Worker
5555*d5c09012SAndroid Build Coastguard Worker// Configuration for Cloud TPU.
5556*d5c09012SAndroid Build Coastguard Workermessage TpuConfig {
5557*d5c09012SAndroid Build Coastguard Worker  // Whether Cloud TPU integration is enabled or not.
5558*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5559*d5c09012SAndroid Build Coastguard Worker
5560*d5c09012SAndroid Build Coastguard Worker  // Whether to use service networking for Cloud TPU or not.
5561*d5c09012SAndroid Build Coastguard Worker  bool use_service_networking = 2;
5562*d5c09012SAndroid Build Coastguard Worker
5563*d5c09012SAndroid Build Coastguard Worker  // IPv4 CIDR block reserved for Cloud TPU in the VPC.
5564*d5c09012SAndroid Build Coastguard Worker  string ipv4_cidr_block = 3;
5565*d5c09012SAndroid Build Coastguard Worker}
5566*d5c09012SAndroid Build Coastguard Worker
5567*d5c09012SAndroid Build Coastguard Worker// PrivateIPv6GoogleAccess controls whether and how the pods can communicate
5568*d5c09012SAndroid Build Coastguard Worker// with Google Services through gRPC over IPv6.
5569*d5c09012SAndroid Build Coastguard Workerenum PrivateIPv6GoogleAccess {
5570*d5c09012SAndroid Build Coastguard Worker  // Default value. Same as DISABLED
5571*d5c09012SAndroid Build Coastguard Worker  PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED = 0;
5572*d5c09012SAndroid Build Coastguard Worker
5573*d5c09012SAndroid Build Coastguard Worker  // No private access to or from Google Services
5574*d5c09012SAndroid Build Coastguard Worker  PRIVATE_IPV6_GOOGLE_ACCESS_DISABLED = 1;
5575*d5c09012SAndroid Build Coastguard Worker
5576*d5c09012SAndroid Build Coastguard Worker  // Enables private IPv6 access to Google Services from GKE
5577*d5c09012SAndroid Build Coastguard Worker  PRIVATE_IPV6_GOOGLE_ACCESS_TO_GOOGLE = 2;
5578*d5c09012SAndroid Build Coastguard Worker
5579*d5c09012SAndroid Build Coastguard Worker  // Enables private IPv6 access to and from Google Services
5580*d5c09012SAndroid Build Coastguard Worker  PRIVATE_IPV6_GOOGLE_ACCESS_BIDIRECTIONAL = 3;
5581*d5c09012SAndroid Build Coastguard Worker}
5582*d5c09012SAndroid Build Coastguard Worker
5583*d5c09012SAndroid Build Coastguard Worker// Master is the configuration for components on master.
5584*d5c09012SAndroid Build Coastguard Workermessage Master {}
5585*d5c09012SAndroid Build Coastguard Worker
5586*d5c09012SAndroid Build Coastguard Worker// AutopilotConversionStatus represents conversion status.
5587*d5c09012SAndroid Build Coastguard Workermessage AutopilotConversionStatus {
5588*d5c09012SAndroid Build Coastguard Worker  // The current state of the conversion.
5589*d5c09012SAndroid Build Coastguard Worker  enum State {
5590*d5c09012SAndroid Build Coastguard Worker    // STATE_UNSPECIFIED indicates the state is unspecified.
5591*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
5592*d5c09012SAndroid Build Coastguard Worker
5593*d5c09012SAndroid Build Coastguard Worker    // DONE indicates the conversion has been completed. Old node pools will
5594*d5c09012SAndroid Build Coastguard Worker    // continue being deleted in the background.
5595*d5c09012SAndroid Build Coastguard Worker    DONE = 5;
5596*d5c09012SAndroid Build Coastguard Worker  }
5597*d5c09012SAndroid Build Coastguard Worker
5598*d5c09012SAndroid Build Coastguard Worker  // Output only. The current state of the conversion.
5599*d5c09012SAndroid Build Coastguard Worker  State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
5600*d5c09012SAndroid Build Coastguard Worker}
5601*d5c09012SAndroid Build Coastguard Worker
5602*d5c09012SAndroid Build Coastguard Worker// Autopilot is the configuration for Autopilot settings on the cluster.
5603*d5c09012SAndroid Build Coastguard Workermessage Autopilot {
5604*d5c09012SAndroid Build Coastguard Worker  // Enable Autopilot
5605*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5606*d5c09012SAndroid Build Coastguard Worker
5607*d5c09012SAndroid Build Coastguard Worker  // Workload policy configuration for Autopilot.
5608*d5c09012SAndroid Build Coastguard Worker  WorkloadPolicyConfig workload_policy_config = 2;
5609*d5c09012SAndroid Build Coastguard Worker
5610*d5c09012SAndroid Build Coastguard Worker  // Output only. ConversionStatus shows conversion status.
5611*d5c09012SAndroid Build Coastguard Worker  AutopilotConversionStatus conversion_status = 3
5612*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
5613*d5c09012SAndroid Build Coastguard Worker}
5614*d5c09012SAndroid Build Coastguard Worker
5615*d5c09012SAndroid Build Coastguard Worker// WorkloadPolicyConfig is the configuration of workload policy for autopilot
5616*d5c09012SAndroid Build Coastguard Worker// clusters.
5617*d5c09012SAndroid Build Coastguard Workermessage WorkloadPolicyConfig {
5618*d5c09012SAndroid Build Coastguard Worker  // If true, workloads can use NET_ADMIN capability.
5619*d5c09012SAndroid Build Coastguard Worker  optional bool allow_net_admin = 1;
5620*d5c09012SAndroid Build Coastguard Worker}
5621*d5c09012SAndroid Build Coastguard Worker
5622*d5c09012SAndroid Build Coastguard Worker// NotificationConfig is the configuration of notifications.
5623*d5c09012SAndroid Build Coastguard Workermessage NotificationConfig {
5624*d5c09012SAndroid Build Coastguard Worker  // Types of notifications currently supported. Can be used to filter what
5625*d5c09012SAndroid Build Coastguard Worker  // notifications are sent.
5626*d5c09012SAndroid Build Coastguard Worker  enum EventType {
5627*d5c09012SAndroid Build Coastguard Worker    // Not set, will be ignored.
5628*d5c09012SAndroid Build Coastguard Worker    EVENT_TYPE_UNSPECIFIED = 0;
5629*d5c09012SAndroid Build Coastguard Worker
5630*d5c09012SAndroid Build Coastguard Worker    // Corresponds with UpgradeAvailableEvent.
5631*d5c09012SAndroid Build Coastguard Worker    UPGRADE_AVAILABLE_EVENT = 1;
5632*d5c09012SAndroid Build Coastguard Worker
5633*d5c09012SAndroid Build Coastguard Worker    // Corresponds with UpgradeEvent.
5634*d5c09012SAndroid Build Coastguard Worker    UPGRADE_EVENT = 2;
5635*d5c09012SAndroid Build Coastguard Worker
5636*d5c09012SAndroid Build Coastguard Worker    // Corresponds with SecurityBulletinEvent.
5637*d5c09012SAndroid Build Coastguard Worker    SECURITY_BULLETIN_EVENT = 3;
5638*d5c09012SAndroid Build Coastguard Worker  }
5639*d5c09012SAndroid Build Coastguard Worker
5640*d5c09012SAndroid Build Coastguard Worker  // Pub/Sub specific notification config.
5641*d5c09012SAndroid Build Coastguard Worker  message PubSub {
5642*d5c09012SAndroid Build Coastguard Worker    // Enable notifications for Pub/Sub.
5643*d5c09012SAndroid Build Coastguard Worker    bool enabled = 1;
5644*d5c09012SAndroid Build Coastguard Worker
5645*d5c09012SAndroid Build Coastguard Worker    // The desired Pub/Sub topic to which notifications will be
5646*d5c09012SAndroid Build Coastguard Worker    // sent by GKE. Format is `projects/{project}/topics/{topic}`.
5647*d5c09012SAndroid Build Coastguard Worker    string topic = 2 [
5648*d5c09012SAndroid Build Coastguard Worker      (google.api.resource_reference) = { type: "pubsub.googleapis.com/Topic" }
5649*d5c09012SAndroid Build Coastguard Worker    ];
5650*d5c09012SAndroid Build Coastguard Worker
5651*d5c09012SAndroid Build Coastguard Worker    // Allows filtering to one or more specific event types. If no filter is
5652*d5c09012SAndroid Build Coastguard Worker    // specified, or if a filter is specified with no event types, all event
5653*d5c09012SAndroid Build Coastguard Worker    // types will be sent
5654*d5c09012SAndroid Build Coastguard Worker    Filter filter = 3;
5655*d5c09012SAndroid Build Coastguard Worker  }
5656*d5c09012SAndroid Build Coastguard Worker
5657*d5c09012SAndroid Build Coastguard Worker  // Allows filtering to one or more specific event types. If event types are
5658*d5c09012SAndroid Build Coastguard Worker  // present, those and only those event types will be transmitted to the
5659*d5c09012SAndroid Build Coastguard Worker  // cluster. Other types will be skipped. If no filter is specified, or no
5660*d5c09012SAndroid Build Coastguard Worker  // event types are present, all event types will be sent
5661*d5c09012SAndroid Build Coastguard Worker  message Filter {
5662*d5c09012SAndroid Build Coastguard Worker    // Event types to allowlist.
5663*d5c09012SAndroid Build Coastguard Worker    repeated EventType event_type = 1;
5664*d5c09012SAndroid Build Coastguard Worker  }
5665*d5c09012SAndroid Build Coastguard Worker
5666*d5c09012SAndroid Build Coastguard Worker  // Notification config for Pub/Sub.
5667*d5c09012SAndroid Build Coastguard Worker  PubSub pubsub = 1;
5668*d5c09012SAndroid Build Coastguard Worker}
5669*d5c09012SAndroid Build Coastguard Worker
5670*d5c09012SAndroid Build Coastguard Worker// ConfidentialNodes is configuration for the confidential nodes feature, which
5671*d5c09012SAndroid Build Coastguard Worker// makes nodes run on confidential VMs.
5672*d5c09012SAndroid Build Coastguard Workermessage ConfidentialNodes {
5673*d5c09012SAndroid Build Coastguard Worker  // Whether Confidential Nodes feature is enabled.
5674*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5675*d5c09012SAndroid Build Coastguard Worker}
5676*d5c09012SAndroid Build Coastguard Worker
5677*d5c09012SAndroid Build Coastguard Worker// UpgradeResourceType is the resource type that is upgrading. It is used
5678*d5c09012SAndroid Build Coastguard Worker// in upgrade notifications.
5679*d5c09012SAndroid Build Coastguard Workerenum UpgradeResourceType {
5680*d5c09012SAndroid Build Coastguard Worker  // Default value. This shouldn't be used.
5681*d5c09012SAndroid Build Coastguard Worker  UPGRADE_RESOURCE_TYPE_UNSPECIFIED = 0;
5682*d5c09012SAndroid Build Coastguard Worker
5683*d5c09012SAndroid Build Coastguard Worker  // Master / control plane
5684*d5c09012SAndroid Build Coastguard Worker  MASTER = 1;
5685*d5c09012SAndroid Build Coastguard Worker
5686*d5c09012SAndroid Build Coastguard Worker  // Node pool
5687*d5c09012SAndroid Build Coastguard Worker  NODE_POOL = 2;
5688*d5c09012SAndroid Build Coastguard Worker}
5689*d5c09012SAndroid Build Coastguard Worker
5690*d5c09012SAndroid Build Coastguard Worker// UpgradeEvent is a notification sent to customers by the cluster server when
5691*d5c09012SAndroid Build Coastguard Worker// a resource is upgrading.
5692*d5c09012SAndroid Build Coastguard Workermessage UpgradeEvent {
5693*d5c09012SAndroid Build Coastguard Worker  // The resource type that is upgrading.
5694*d5c09012SAndroid Build Coastguard Worker  UpgradeResourceType resource_type = 1;
5695*d5c09012SAndroid Build Coastguard Worker
5696*d5c09012SAndroid Build Coastguard Worker  // The operation associated with this upgrade.
5697*d5c09012SAndroid Build Coastguard Worker  string operation = 2;
5698*d5c09012SAndroid Build Coastguard Worker
5699*d5c09012SAndroid Build Coastguard Worker  // The time when the operation was started.
5700*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp operation_start_time = 3;
5701*d5c09012SAndroid Build Coastguard Worker
5702*d5c09012SAndroid Build Coastguard Worker  // The current version before the upgrade.
5703*d5c09012SAndroid Build Coastguard Worker  string current_version = 4;
5704*d5c09012SAndroid Build Coastguard Worker
5705*d5c09012SAndroid Build Coastguard Worker  // The target version for the upgrade.
5706*d5c09012SAndroid Build Coastguard Worker  string target_version = 5;
5707*d5c09012SAndroid Build Coastguard Worker
5708*d5c09012SAndroid Build Coastguard Worker  // Optional relative path to the resource. For example in node pool upgrades,
5709*d5c09012SAndroid Build Coastguard Worker  // the relative path of the node pool.
5710*d5c09012SAndroid Build Coastguard Worker  string resource = 6;
5711*d5c09012SAndroid Build Coastguard Worker}
5712*d5c09012SAndroid Build Coastguard Worker
5713*d5c09012SAndroid Build Coastguard Worker// UpgradeAvailableEvent is a notification sent to customers when a new
5714*d5c09012SAndroid Build Coastguard Worker// available version is released.
5715*d5c09012SAndroid Build Coastguard Workermessage UpgradeAvailableEvent {
5716*d5c09012SAndroid Build Coastguard Worker  // The release version available for upgrade.
5717*d5c09012SAndroid Build Coastguard Worker  string version = 1;
5718*d5c09012SAndroid Build Coastguard Worker
5719*d5c09012SAndroid Build Coastguard Worker  // The resource type of the release version.
5720*d5c09012SAndroid Build Coastguard Worker  UpgradeResourceType resource_type = 2;
5721*d5c09012SAndroid Build Coastguard Worker
5722*d5c09012SAndroid Build Coastguard Worker  // The release channel of the version. If empty, it means a non-channel
5723*d5c09012SAndroid Build Coastguard Worker  // release.
5724*d5c09012SAndroid Build Coastguard Worker  ReleaseChannel release_channel = 3;
5725*d5c09012SAndroid Build Coastguard Worker
5726*d5c09012SAndroid Build Coastguard Worker  // Optional relative path to the resource. For example, the relative path of
5727*d5c09012SAndroid Build Coastguard Worker  // the node pool.
5728*d5c09012SAndroid Build Coastguard Worker  string resource = 4;
5729*d5c09012SAndroid Build Coastguard Worker
5730*d5c09012SAndroid Build Coastguard Worker  // Windows node versions info.
5731*d5c09012SAndroid Build Coastguard Worker  WindowsVersions windows_versions = 5;
5732*d5c09012SAndroid Build Coastguard Worker}
5733*d5c09012SAndroid Build Coastguard Worker
5734*d5c09012SAndroid Build Coastguard Worker// SecurityBulletinEvent is a notification sent to customers when a security
5735*d5c09012SAndroid Build Coastguard Worker// bulletin has been posted that they are vulnerable to.
5736*d5c09012SAndroid Build Coastguard Workermessage SecurityBulletinEvent {
5737*d5c09012SAndroid Build Coastguard Worker  // The resource type (node/control plane) that has the vulnerability. Multiple
5738*d5c09012SAndroid Build Coastguard Worker  // notifications (1 notification per resource type) will be sent for a
5739*d5c09012SAndroid Build Coastguard Worker  // vulnerability that affects > 1 resource type.
5740*d5c09012SAndroid Build Coastguard Worker  string resource_type_affected = 1;
5741*d5c09012SAndroid Build Coastguard Worker
5742*d5c09012SAndroid Build Coastguard Worker  // The ID of the bulletin corresponding to the vulnerability.
5743*d5c09012SAndroid Build Coastguard Worker  string bulletin_id = 2;
5744*d5c09012SAndroid Build Coastguard Worker
5745*d5c09012SAndroid Build Coastguard Worker  // The CVEs associated with this bulletin.
5746*d5c09012SAndroid Build Coastguard Worker  repeated string cve_ids = 3;
5747*d5c09012SAndroid Build Coastguard Worker
5748*d5c09012SAndroid Build Coastguard Worker  // The severity of this bulletin as it relates to GKE.
5749*d5c09012SAndroid Build Coastguard Worker  string severity = 4;
5750*d5c09012SAndroid Build Coastguard Worker
5751*d5c09012SAndroid Build Coastguard Worker  // The URI link to the bulletin on the website for more information.
5752*d5c09012SAndroid Build Coastguard Worker  string bulletin_uri = 5;
5753*d5c09012SAndroid Build Coastguard Worker
5754*d5c09012SAndroid Build Coastguard Worker  // A brief description of the bulletin. See the bulletin pointed to by the
5755*d5c09012SAndroid Build Coastguard Worker  // bulletin_uri field for an expanded description.
5756*d5c09012SAndroid Build Coastguard Worker  string brief_description = 6;
5757*d5c09012SAndroid Build Coastguard Worker
5758*d5c09012SAndroid Build Coastguard Worker  // The GKE minor versions affected by this vulnerability.
5759*d5c09012SAndroid Build Coastguard Worker  repeated string affected_supported_minors = 7;
5760*d5c09012SAndroid Build Coastguard Worker
5761*d5c09012SAndroid Build Coastguard Worker  // The GKE versions where this vulnerability is patched.
5762*d5c09012SAndroid Build Coastguard Worker  repeated string patched_versions = 8;
5763*d5c09012SAndroid Build Coastguard Worker
5764*d5c09012SAndroid Build Coastguard Worker  // This represents a version selected from the patched_versions field that
5765*d5c09012SAndroid Build Coastguard Worker  // the cluster receiving this notification should most likely want to upgrade
5766*d5c09012SAndroid Build Coastguard Worker  // to based on its current version. Note that if this notification is being
5767*d5c09012SAndroid Build Coastguard Worker  // received by a given cluster, it means that this version is currently
5768*d5c09012SAndroid Build Coastguard Worker  // available as an upgrade target in that cluster's location.
5769*d5c09012SAndroid Build Coastguard Worker  string suggested_upgrade_target = 9;
5770*d5c09012SAndroid Build Coastguard Worker
5771*d5c09012SAndroid Build Coastguard Worker  // If this field is specified, it means there are manual steps that the user
5772*d5c09012SAndroid Build Coastguard Worker  // must take to make their clusters safe.
5773*d5c09012SAndroid Build Coastguard Worker  bool manual_steps_required = 10;
5774*d5c09012SAndroid Build Coastguard Worker}
5775*d5c09012SAndroid Build Coastguard Worker
5776*d5c09012SAndroid Build Coastguard Worker// IdentityServiceConfig is configuration for Identity Service which allows
5777*d5c09012SAndroid Build Coastguard Worker// customers to use external identity providers with the K8S API
5778*d5c09012SAndroid Build Coastguard Workermessage IdentityServiceConfig {
5779*d5c09012SAndroid Build Coastguard Worker  // Whether to enable the Identity Service component
5780*d5c09012SAndroid Build Coastguard Worker  bool enabled = 1;
5781*d5c09012SAndroid Build Coastguard Worker}
5782*d5c09012SAndroid Build Coastguard Worker
5783*d5c09012SAndroid Build Coastguard Worker// Strategy used for node pool update.
5784*d5c09012SAndroid Build Coastguard Workerenum NodePoolUpdateStrategy {
5785*d5c09012SAndroid Build Coastguard Worker  // Default value if unset. GKE internally defaults the update strategy to
5786*d5c09012SAndroid Build Coastguard Worker  // SURGE for unspecified strategies.
5787*d5c09012SAndroid Build Coastguard Worker  NODE_POOL_UPDATE_STRATEGY_UNSPECIFIED = 0;
5788*d5c09012SAndroid Build Coastguard Worker
5789*d5c09012SAndroid Build Coastguard Worker  // blue-green upgrade.
5790*d5c09012SAndroid Build Coastguard Worker  BLUE_GREEN = 2;
5791*d5c09012SAndroid Build Coastguard Worker
5792*d5c09012SAndroid Build Coastguard Worker  // SURGE is the traditional way of upgrading a node pool.
5793*d5c09012SAndroid Build Coastguard Worker  // max_surge and max_unavailable determines the level of upgrade parallelism.
5794*d5c09012SAndroid Build Coastguard Worker  SURGE = 3;
5795*d5c09012SAndroid Build Coastguard Worker}
5796*d5c09012SAndroid Build Coastguard Worker
5797*d5c09012SAndroid Build Coastguard Worker// LoggingConfig is cluster logging configuration.
5798*d5c09012SAndroid Build Coastguard Workermessage LoggingConfig {
5799*d5c09012SAndroid Build Coastguard Worker  // Logging components configuration
5800*d5c09012SAndroid Build Coastguard Worker  LoggingComponentConfig component_config = 1;
5801*d5c09012SAndroid Build Coastguard Worker}
5802*d5c09012SAndroid Build Coastguard Worker
5803*d5c09012SAndroid Build Coastguard Worker// LoggingComponentConfig is cluster logging component configuration.
5804*d5c09012SAndroid Build Coastguard Workermessage LoggingComponentConfig {
5805*d5c09012SAndroid Build Coastguard Worker  // GKE components exposing logs
5806*d5c09012SAndroid Build Coastguard Worker  enum Component {
5807*d5c09012SAndroid Build Coastguard Worker    // Default value. This shouldn't be used.
5808*d5c09012SAndroid Build Coastguard Worker    COMPONENT_UNSPECIFIED = 0;
5809*d5c09012SAndroid Build Coastguard Worker
5810*d5c09012SAndroid Build Coastguard Worker    // system components
5811*d5c09012SAndroid Build Coastguard Worker    SYSTEM_COMPONENTS = 1;
5812*d5c09012SAndroid Build Coastguard Worker
5813*d5c09012SAndroid Build Coastguard Worker    // workloads
5814*d5c09012SAndroid Build Coastguard Worker    WORKLOADS = 2;
5815*d5c09012SAndroid Build Coastguard Worker
5816*d5c09012SAndroid Build Coastguard Worker    // kube-apiserver
5817*d5c09012SAndroid Build Coastguard Worker    APISERVER = 3;
5818*d5c09012SAndroid Build Coastguard Worker
5819*d5c09012SAndroid Build Coastguard Worker    // kube-scheduler
5820*d5c09012SAndroid Build Coastguard Worker    SCHEDULER = 4;
5821*d5c09012SAndroid Build Coastguard Worker
5822*d5c09012SAndroid Build Coastguard Worker    // kube-controller-manager
5823*d5c09012SAndroid Build Coastguard Worker    CONTROLLER_MANAGER = 5;
5824*d5c09012SAndroid Build Coastguard Worker  }
5825*d5c09012SAndroid Build Coastguard Worker
5826*d5c09012SAndroid Build Coastguard Worker  // Select components to collect logs. An empty set would disable all logging.
5827*d5c09012SAndroid Build Coastguard Worker  repeated Component enable_components = 1;
5828*d5c09012SAndroid Build Coastguard Worker}
5829*d5c09012SAndroid Build Coastguard Worker
5830*d5c09012SAndroid Build Coastguard Worker// MonitoringConfig is cluster monitoring configuration.
5831*d5c09012SAndroid Build Coastguard Workermessage MonitoringConfig {
5832*d5c09012SAndroid Build Coastguard Worker  // Monitoring components configuration
5833*d5c09012SAndroid Build Coastguard Worker  MonitoringComponentConfig component_config = 1;
5834*d5c09012SAndroid Build Coastguard Worker
5835*d5c09012SAndroid Build Coastguard Worker  // Enable Google Cloud Managed Service for Prometheus
5836*d5c09012SAndroid Build Coastguard Worker  // in the cluster.
5837*d5c09012SAndroid Build Coastguard Worker  ManagedPrometheusConfig managed_prometheus_config = 2;
5838*d5c09012SAndroid Build Coastguard Worker
5839*d5c09012SAndroid Build Coastguard Worker  // Configuration of Advanced Datapath Observability features.
5840*d5c09012SAndroid Build Coastguard Worker  AdvancedDatapathObservabilityConfig advanced_datapath_observability_config =
5841*d5c09012SAndroid Build Coastguard Worker      3;
5842*d5c09012SAndroid Build Coastguard Worker}
5843*d5c09012SAndroid Build Coastguard Worker
5844*d5c09012SAndroid Build Coastguard Worker// AdvancedDatapathObservabilityConfig specifies configuration of observability
5845*d5c09012SAndroid Build Coastguard Worker// features of advanced datapath.
5846*d5c09012SAndroid Build Coastguard Workermessage AdvancedDatapathObservabilityConfig {
5847*d5c09012SAndroid Build Coastguard Worker  // Supported Relay modes
5848*d5c09012SAndroid Build Coastguard Worker  enum RelayMode {
5849*d5c09012SAndroid Build Coastguard Worker    // Default value. This shouldn't be used.
5850*d5c09012SAndroid Build Coastguard Worker    RELAY_MODE_UNSPECIFIED = 0;
5851*d5c09012SAndroid Build Coastguard Worker
5852*d5c09012SAndroid Build Coastguard Worker    // disabled
5853*d5c09012SAndroid Build Coastguard Worker    DISABLED = 1;
5854*d5c09012SAndroid Build Coastguard Worker
5855*d5c09012SAndroid Build Coastguard Worker    // exposed via internal load balancer
5856*d5c09012SAndroid Build Coastguard Worker    INTERNAL_VPC_LB = 3;
5857*d5c09012SAndroid Build Coastguard Worker
5858*d5c09012SAndroid Build Coastguard Worker    // exposed via external load balancer
5859*d5c09012SAndroid Build Coastguard Worker    EXTERNAL_LB = 4;
5860*d5c09012SAndroid Build Coastguard Worker  }
5861*d5c09012SAndroid Build Coastguard Worker
5862*d5c09012SAndroid Build Coastguard Worker  // Expose flow metrics on nodes
5863*d5c09012SAndroid Build Coastguard Worker  bool enable_metrics = 1;
5864*d5c09012SAndroid Build Coastguard Worker
5865*d5c09012SAndroid Build Coastguard Worker  // Method used to make Relay available
5866*d5c09012SAndroid Build Coastguard Worker  RelayMode relay_mode = 2;
5867*d5c09012SAndroid Build Coastguard Worker
5868*d5c09012SAndroid Build Coastguard Worker  // Enable Relay component
5869*d5c09012SAndroid Build Coastguard Worker  optional bool enable_relay = 3;
5870*d5c09012SAndroid Build Coastguard Worker}
5871*d5c09012SAndroid Build Coastguard Worker
5872*d5c09012SAndroid Build Coastguard Worker// NodePoolLoggingConfig specifies logging configuration for nodepools.
5873*d5c09012SAndroid Build Coastguard Workermessage NodePoolLoggingConfig {
5874*d5c09012SAndroid Build Coastguard Worker  // Logging variant configuration.
5875*d5c09012SAndroid Build Coastguard Worker  LoggingVariantConfig variant_config = 1;
5876*d5c09012SAndroid Build Coastguard Worker}
5877*d5c09012SAndroid Build Coastguard Worker
5878*d5c09012SAndroid Build Coastguard Worker// LoggingVariantConfig specifies the behaviour of the logging component.
5879*d5c09012SAndroid Build Coastguard Workermessage LoggingVariantConfig {
5880*d5c09012SAndroid Build Coastguard Worker  // Logging component variants.
5881*d5c09012SAndroid Build Coastguard Worker  enum Variant {
5882*d5c09012SAndroid Build Coastguard Worker    // Default value. This shouldn't be used.
5883*d5c09012SAndroid Build Coastguard Worker    VARIANT_UNSPECIFIED = 0;
5884*d5c09012SAndroid Build Coastguard Worker
5885*d5c09012SAndroid Build Coastguard Worker    // default logging variant.
5886*d5c09012SAndroid Build Coastguard Worker    DEFAULT = 1;
5887*d5c09012SAndroid Build Coastguard Worker
5888*d5c09012SAndroid Build Coastguard Worker    // maximum logging throughput variant.
5889*d5c09012SAndroid Build Coastguard Worker    MAX_THROUGHPUT = 2;
5890*d5c09012SAndroid Build Coastguard Worker  }
5891*d5c09012SAndroid Build Coastguard Worker
5892*d5c09012SAndroid Build Coastguard Worker  // Logging variant deployed on nodes.
5893*d5c09012SAndroid Build Coastguard Worker  Variant variant = 1;
5894*d5c09012SAndroid Build Coastguard Worker}
5895*d5c09012SAndroid Build Coastguard Worker
5896*d5c09012SAndroid Build Coastguard Worker// MonitoringComponentConfig is cluster monitoring component configuration.
5897*d5c09012SAndroid Build Coastguard Workermessage MonitoringComponentConfig {
5898*d5c09012SAndroid Build Coastguard Worker  // GKE components exposing metrics
5899*d5c09012SAndroid Build Coastguard Worker  enum Component {
5900*d5c09012SAndroid Build Coastguard Worker    // Default value. This shouldn't be used.
5901*d5c09012SAndroid Build Coastguard Worker    COMPONENT_UNSPECIFIED = 0;
5902*d5c09012SAndroid Build Coastguard Worker
5903*d5c09012SAndroid Build Coastguard Worker    // system components
5904*d5c09012SAndroid Build Coastguard Worker    SYSTEM_COMPONENTS = 1;
5905*d5c09012SAndroid Build Coastguard Worker
5906*d5c09012SAndroid Build Coastguard Worker    // Deprecated: Use Google Cloud Managed Service for Prometheus.
5907*d5c09012SAndroid Build Coastguard Worker    WORKLOADS = 2 [deprecated = true];
5908*d5c09012SAndroid Build Coastguard Worker
5909*d5c09012SAndroid Build Coastguard Worker    // kube-apiserver
5910*d5c09012SAndroid Build Coastguard Worker    APISERVER = 3;
5911*d5c09012SAndroid Build Coastguard Worker
5912*d5c09012SAndroid Build Coastguard Worker    // kube-scheduler
5913*d5c09012SAndroid Build Coastguard Worker    SCHEDULER = 4;
5914*d5c09012SAndroid Build Coastguard Worker
5915*d5c09012SAndroid Build Coastguard Worker    // kube-controller-manager
5916*d5c09012SAndroid Build Coastguard Worker    CONTROLLER_MANAGER = 5;
5917*d5c09012SAndroid Build Coastguard Worker
5918*d5c09012SAndroid Build Coastguard Worker    // Storage
5919*d5c09012SAndroid Build Coastguard Worker    STORAGE = 7;
5920*d5c09012SAndroid Build Coastguard Worker
5921*d5c09012SAndroid Build Coastguard Worker    // Horizontal Pod Autoscaling
5922*d5c09012SAndroid Build Coastguard Worker    HPA = 8;
5923*d5c09012SAndroid Build Coastguard Worker
5924*d5c09012SAndroid Build Coastguard Worker    // Pod
5925*d5c09012SAndroid Build Coastguard Worker    POD = 9;
5926*d5c09012SAndroid Build Coastguard Worker
5927*d5c09012SAndroid Build Coastguard Worker    // DaemonSet
5928*d5c09012SAndroid Build Coastguard Worker    DAEMONSET = 10;
5929*d5c09012SAndroid Build Coastguard Worker
5930*d5c09012SAndroid Build Coastguard Worker    // Deployment
5931*d5c09012SAndroid Build Coastguard Worker    DEPLOYMENT = 11;
5932*d5c09012SAndroid Build Coastguard Worker
5933*d5c09012SAndroid Build Coastguard Worker    // Statefulset
5934*d5c09012SAndroid Build Coastguard Worker    STATEFULSET = 12;
5935*d5c09012SAndroid Build Coastguard Worker  }
5936*d5c09012SAndroid Build Coastguard Worker
5937*d5c09012SAndroid Build Coastguard Worker  // Select components to collect metrics. An empty set would disable all
5938*d5c09012SAndroid Build Coastguard Worker  // monitoring.
5939*d5c09012SAndroid Build Coastguard Worker  repeated Component enable_components = 1;
5940*d5c09012SAndroid Build Coastguard Worker}
5941*d5c09012SAndroid Build Coastguard Worker
5942*d5c09012SAndroid Build Coastguard Worker// The datapath provider selects the implementation of the Kubernetes networking
5943*d5c09012SAndroid Build Coastguard Worker// model for service resolution and network policy enforcement.
5944*d5c09012SAndroid Build Coastguard Workerenum DatapathProvider {
5945*d5c09012SAndroid Build Coastguard Worker  // Default value.
5946*d5c09012SAndroid Build Coastguard Worker  DATAPATH_PROVIDER_UNSPECIFIED = 0;
5947*d5c09012SAndroid Build Coastguard Worker
5948*d5c09012SAndroid Build Coastguard Worker  // Use the IPTables implementation based on kube-proxy.
5949*d5c09012SAndroid Build Coastguard Worker  LEGACY_DATAPATH = 1;
5950*d5c09012SAndroid Build Coastguard Worker
5951*d5c09012SAndroid Build Coastguard Worker  // Use the eBPF based GKE Dataplane V2 with additional features. See the [GKE
5952*d5c09012SAndroid Build Coastguard Worker  // Dataplane V2
5953*d5c09012SAndroid Build Coastguard Worker  // documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/dataplane-v2)
5954*d5c09012SAndroid Build Coastguard Worker  // for more.
5955*d5c09012SAndroid Build Coastguard Worker  ADVANCED_DATAPATH = 2;
5956*d5c09012SAndroid Build Coastguard Worker}
5957*d5c09012SAndroid Build Coastguard Worker
5958*d5c09012SAndroid Build Coastguard Worker// Fleet is the fleet configuration for the cluster.
5959*d5c09012SAndroid Build Coastguard Workermessage Fleet {
5960*d5c09012SAndroid Build Coastguard Worker  // The Fleet host project(project ID or project number) where this cluster
5961*d5c09012SAndroid Build Coastguard Worker  // will be registered to. This field cannot be changed after the cluster has
5962*d5c09012SAndroid Build Coastguard Worker  // been registered.
5963*d5c09012SAndroid Build Coastguard Worker  string project = 1;
5964*d5c09012SAndroid Build Coastguard Worker
5965*d5c09012SAndroid Build Coastguard Worker  // [Output only] The full resource name of the registered fleet membership of
5966*d5c09012SAndroid Build Coastguard Worker  // the cluster, in the format
5967*d5c09012SAndroid Build Coastguard Worker  // `//gkehub.googleapis.com/projects/*/locations/*/memberships/*`.
5968*d5c09012SAndroid Build Coastguard Worker  string membership = 2;
5969*d5c09012SAndroid Build Coastguard Worker
5970*d5c09012SAndroid Build Coastguard Worker  // [Output only] Whether the cluster has been registered through the fleet
5971*d5c09012SAndroid Build Coastguard Worker  // API.
5972*d5c09012SAndroid Build Coastguard Worker  bool pre_registered = 3;
5973*d5c09012SAndroid Build Coastguard Worker}
5974*d5c09012SAndroid Build Coastguard Worker
5975*d5c09012SAndroid Build Coastguard Worker// Possible values for IP stack type
5976*d5c09012SAndroid Build Coastguard Workerenum StackType {
5977*d5c09012SAndroid Build Coastguard Worker  // By default, the clusters will be IPV4 only
5978*d5c09012SAndroid Build Coastguard Worker  STACK_TYPE_UNSPECIFIED = 0;
5979*d5c09012SAndroid Build Coastguard Worker
5980*d5c09012SAndroid Build Coastguard Worker  // The value used if the cluster is a IPV4 only
5981*d5c09012SAndroid Build Coastguard Worker  IPV4 = 1;
5982*d5c09012SAndroid Build Coastguard Worker
5983*d5c09012SAndroid Build Coastguard Worker  // The value used if the cluster is a dual stack cluster
5984*d5c09012SAndroid Build Coastguard Worker  IPV4_IPV6 = 2;
5985*d5c09012SAndroid Build Coastguard Worker}
5986*d5c09012SAndroid Build Coastguard Worker
5987*d5c09012SAndroid Build Coastguard Worker// A map of resource manager tag keys and values to be attached to the nodes
5988*d5c09012SAndroid Build Coastguard Worker// for managing Compute Engine firewalls using Network Firewall Policies.
5989*d5c09012SAndroid Build Coastguard Worker// Tags must be according to specifications in
5990*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/vpc/docs/tags-firewalls-overview#specifications.
5991*d5c09012SAndroid Build Coastguard Worker// A maximum of 5 tag key-value pairs can be specified.
5992*d5c09012SAndroid Build Coastguard Worker// Existing tags will be replaced with new values.
5993*d5c09012SAndroid Build Coastguard Workermessage ResourceManagerTags {
5994*d5c09012SAndroid Build Coastguard Worker  // Tags must be in one of the following formats ([KEY]=[VALUE])
5995*d5c09012SAndroid Build Coastguard Worker  // 1. `tagKeys/{tag_key_id}=tagValues/{tag_value_id}`
5996*d5c09012SAndroid Build Coastguard Worker  // 2. `{org_id}/{tag_key_name}={tag_value_name}`
5997*d5c09012SAndroid Build Coastguard Worker  // 3. `{project_id}/{tag_key_name}={tag_value_name}`
5998*d5c09012SAndroid Build Coastguard Worker  map<string, string> tags = 1;
5999*d5c09012SAndroid Build Coastguard Worker}
6000*d5c09012SAndroid Build Coastguard Worker
6001*d5c09012SAndroid Build Coastguard Worker// EnterpriseConfig is the cluster enterprise configuration.
6002*d5c09012SAndroid Build Coastguard Workermessage EnterpriseConfig {
6003*d5c09012SAndroid Build Coastguard Worker  // Premium tiers for GKE Cluster.
6004*d5c09012SAndroid Build Coastguard Worker  enum ClusterTier {
6005*d5c09012SAndroid Build Coastguard Worker    // CLUSTER_TIER_UNSPECIFIED is when cluster_tier is not set.
6006*d5c09012SAndroid Build Coastguard Worker    CLUSTER_TIER_UNSPECIFIED = 0;
6007*d5c09012SAndroid Build Coastguard Worker
6008*d5c09012SAndroid Build Coastguard Worker    // STANDARD indicates a standard GKE cluster.
6009*d5c09012SAndroid Build Coastguard Worker    STANDARD = 1;
6010*d5c09012SAndroid Build Coastguard Worker
6011*d5c09012SAndroid Build Coastguard Worker    // ENTERPRISE indicates a GKE Enterprise cluster.
6012*d5c09012SAndroid Build Coastguard Worker    ENTERPRISE = 2;
6013*d5c09012SAndroid Build Coastguard Worker  }
6014*d5c09012SAndroid Build Coastguard Worker
6015*d5c09012SAndroid Build Coastguard Worker  // Output only. [Output only] cluster_tier specifies the premium tier of the
6016*d5c09012SAndroid Build Coastguard Worker  // cluster.
6017*d5c09012SAndroid Build Coastguard Worker  ClusterTier cluster_tier = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
6018*d5c09012SAndroid Build Coastguard Worker}
6019*d5c09012SAndroid Build Coastguard Worker
6020*d5c09012SAndroid Build Coastguard Worker// SecretManagerConfig is config for secret manager enablement.
6021*d5c09012SAndroid Build Coastguard Workermessage SecretManagerConfig {
6022*d5c09012SAndroid Build Coastguard Worker  // Whether the cluster is configured to use secret manager CSI component.
6023*d5c09012SAndroid Build Coastguard Worker  optional bool enabled = 1;
6024*d5c09012SAndroid Build Coastguard Worker}
6025*d5c09012SAndroid Build Coastguard Worker
6026*d5c09012SAndroid Build Coastguard Worker// SecondaryBootDisk represents a persistent disk attached to a node
6027*d5c09012SAndroid Build Coastguard Worker// with special configurations based on its mode.
6028*d5c09012SAndroid Build Coastguard Workermessage SecondaryBootDisk {
6029*d5c09012SAndroid Build Coastguard Worker  // Mode specifies how the secondary boot disk will be used.
6030*d5c09012SAndroid Build Coastguard Worker  // This triggers mode-specified logic in the control plane.
6031*d5c09012SAndroid Build Coastguard Worker  enum Mode {
6032*d5c09012SAndroid Build Coastguard Worker    // MODE_UNSPECIFIED is when mode is not set.
6033*d5c09012SAndroid Build Coastguard Worker    MODE_UNSPECIFIED = 0;
6034*d5c09012SAndroid Build Coastguard Worker
6035*d5c09012SAndroid Build Coastguard Worker    // CONTAINER_IMAGE_CACHE is for using the secondary boot disk as
6036*d5c09012SAndroid Build Coastguard Worker    // a container image cache.
6037*d5c09012SAndroid Build Coastguard Worker    CONTAINER_IMAGE_CACHE = 1;
6038*d5c09012SAndroid Build Coastguard Worker  }
6039*d5c09012SAndroid Build Coastguard Worker
6040*d5c09012SAndroid Build Coastguard Worker  // Disk mode (container image cache, etc.)
6041*d5c09012SAndroid Build Coastguard Worker  Mode mode = 1;
6042*d5c09012SAndroid Build Coastguard Worker
6043*d5c09012SAndroid Build Coastguard Worker  // Fully-qualified resource ID for an existing disk image.
6044*d5c09012SAndroid Build Coastguard Worker  string disk_image = 2;
6045*d5c09012SAndroid Build Coastguard Worker}
6046*d5c09012SAndroid Build Coastguard Worker
6047*d5c09012SAndroid Build Coastguard Worker// Options for in-transit encryption.
6048*d5c09012SAndroid Build Coastguard Workerenum InTransitEncryptionConfig {
6049*d5c09012SAndroid Build Coastguard Worker  // Unspecified, will be inferred as default -
6050*d5c09012SAndroid Build Coastguard Worker  // IN_TRANSIT_ENCRYPTION_UNSPECIFIED.
6051*d5c09012SAndroid Build Coastguard Worker  IN_TRANSIT_ENCRYPTION_CONFIG_UNSPECIFIED = 0;
6052*d5c09012SAndroid Build Coastguard Worker
6053*d5c09012SAndroid Build Coastguard Worker  // In-transit encryption is disabled.
6054*d5c09012SAndroid Build Coastguard Worker  IN_TRANSIT_ENCRYPTION_DISABLED = 1;
6055*d5c09012SAndroid Build Coastguard Worker
6056*d5c09012SAndroid Build Coastguard Worker  // Data in-transit is encrypted using inter-node transparent encryption.
6057*d5c09012SAndroid Build Coastguard Worker  IN_TRANSIT_ENCRYPTION_INTER_NODE_TRANSPARENT = 2;
6058*d5c09012SAndroid Build Coastguard Worker}
6059*d5c09012SAndroid Build Coastguard Worker
6060*d5c09012SAndroid Build Coastguard Worker// SecondaryBootDiskUpdateStrategy is a placeholder which will be extended
6061*d5c09012SAndroid Build Coastguard Worker// in the future to define different options for updating secondary boot disks.
6062*d5c09012SAndroid Build Coastguard Workermessage SecondaryBootDiskUpdateStrategy {}
6063