Skip to content

Commit 0c4c15d

Browse files
feat: [gkehub] Add ServiceMesh feature to gkehub v1beta API (#5368)
* feat: Add ServiceMesh feature to gkehub v1beta API docs: Comments for fields in message `.google.cloud.gkehub.v1beta.Feature` are changed PiperOrigin-RevId: 635662968 Source-Link: googleapis/googleapis@dac915a Source-Link: googleapis/googleapis-gen@b97fc0c Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWdrZWh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjk3ZmMwY2YwODk5Nzc4YTg2MTQxMTU0NmYwM2VmMzcyN2FjNGFiNiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com> Co-authored-by: sofisl <[email protected]>
1 parent a6a0f2d commit 0c4c15d

16 files changed

Lines changed: 3399 additions & 34 deletions
Lines changed: 276 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,276 @@
1+
// Copyright 2024 Google LLC
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
syntax = "proto3";
16+
17+
package google.cloud.gkehub.servicemesh.v1beta;
18+
19+
import "google/api/field_behavior.proto";
20+
21+
option csharp_namespace = "Google.Cloud.GkeHub.ServiceMesh.V1Beta";
22+
option go_package = "cloud.google.com/go/gkehub/servicemesh/apiv1beta/servicemeshpb;servicemeshpb";
23+
option java_multiple_files = true;
24+
option java_outer_classname = "ServiceMeshProto";
25+
option java_package = "com.google.cloud.gkehub.servicemesh.v1beta";
26+
option php_namespace = "Google\\Cloud\\GkeHub\\ServiceMesh\\V1beta";
27+
option ruby_package = "Google::Cloud::GkeHub::ServiceMesh::V1beta";
28+
29+
// **Service Mesh**: Spec for a single Membership for the servicemesh feature
30+
message MembershipSpec {
31+
// Whether to automatically manage Service Mesh control planes.
32+
enum ControlPlaneManagement {
33+
// Unspecified
34+
CONTROL_PLANE_MANAGEMENT_UNSPECIFIED = 0;
35+
36+
// Google should provision a control plane revision and make it available in
37+
// the cluster. Google will enroll this revision in a release channel and
38+
// keep it up to date. The control plane revision may be a managed service,
39+
// or a managed install.
40+
AUTOMATIC = 1;
41+
42+
// User will manually configure the control plane (e.g. via CLI, or via the
43+
// ControlPlaneRevision KRM API)
44+
MANUAL = 2;
45+
}
46+
47+
// Whether to automatically manage Service Mesh.
48+
enum Management {
49+
// Unspecified
50+
MANAGEMENT_UNSPECIFIED = 0;
51+
52+
// Google should manage my Service Mesh for the cluster.
53+
MANAGEMENT_AUTOMATIC = 1;
54+
55+
// User will manually configure their service mesh components.
56+
MANAGEMENT_MANUAL = 2;
57+
}
58+
59+
// Deprecated: use `management` instead
60+
// Enables automatic control plane management.
61+
ControlPlaneManagement control_plane = 1 [deprecated = true];
62+
63+
// Enables automatic Service Mesh management.
64+
Management management = 4;
65+
}
66+
67+
// **Service Mesh**: State for a single Membership, as analyzed by the Service
68+
// Mesh Hub Controller.
69+
message MembershipState {
70+
// Status of control plane management.
71+
message ControlPlaneManagement {
72+
// Implementation of managed control plane.
73+
enum Implementation {
74+
// Unspecified
75+
IMPLEMENTATION_UNSPECIFIED = 0;
76+
77+
// A Google build of istiod is used for the managed control plane.
78+
ISTIOD = 1;
79+
80+
// Traffic director is used for the managed control plane.
81+
TRAFFIC_DIRECTOR = 2;
82+
83+
// The control plane implementation is being updated.
84+
UPDATING = 3;
85+
}
86+
87+
// Explanation of state.
88+
repeated StatusDetails details = 2;
89+
90+
// LifecycleState of control plane management.
91+
LifecycleState state = 3;
92+
93+
// Output only. Implementation of managed control plane.
94+
Implementation implementation = 4
95+
[(google.api.field_behavior) = OUTPUT_ONLY];
96+
}
97+
98+
// Status of data plane management. Only reported per-member.
99+
message DataPlaneManagement {
100+
// Lifecycle status of data plane management.
101+
LifecycleState state = 1;
102+
103+
// Explanation of the status.
104+
repeated StatusDetails details = 2;
105+
}
106+
107+
// Condition being reported.
108+
message Condition {
109+
// Unique identifier of the condition which describes the condition
110+
// recognizable to the user.
111+
enum Code {
112+
// Default Unspecified code
113+
CODE_UNSPECIFIED = 0;
114+
115+
// Mesh IAM permission denied error code
116+
MESH_IAM_PERMISSION_DENIED = 100;
117+
118+
// CNI config unsupported error code
119+
CNI_CONFIG_UNSUPPORTED = 201;
120+
121+
// GKE sandbox unsupported error code
122+
GKE_SANDBOX_UNSUPPORTED = 202;
123+
124+
// Nodepool workload identity federation required error code
125+
NODEPOOL_WORKLOAD_IDENTITY_FEDERATION_REQUIRED = 203;
126+
127+
// CNI installation failed error code
128+
CNI_INSTALLATION_FAILED = 204;
129+
130+
// CNI pod unschedulable error code
131+
CNI_POD_UNSCHEDULABLE = 205;
132+
133+
// Multiple control planes unsupported error code
134+
UNSUPPORTED_MULTIPLE_CONTROL_PLANES = 301;
135+
136+
// VPC-SC GA is supported for this control plane.
137+
VPCSC_GA_SUPPORTED = 302;
138+
139+
// Configuration (Istio/k8s resources) failed to apply due to internal
140+
// error.
141+
CONFIG_APPLY_INTERNAL_ERROR = 401;
142+
143+
// Configuration failed to be applied due to being invalid.
144+
CONFIG_VALIDATION_ERROR = 402;
145+
146+
// Encountered configuration(s) with possible unintended behavior or
147+
// invalid configuration. These configs may not have been applied.
148+
CONFIG_VALIDATION_WARNING = 403;
149+
150+
// BackendService quota exceeded error code.
151+
QUOTA_EXCEEDED_BACKEND_SERVICES = 404;
152+
153+
// HealthCheck quota exceeded error code.
154+
QUOTA_EXCEEDED_HEALTH_CHECKS = 405;
155+
156+
// HTTPRoute quota exceeded error code.
157+
QUOTA_EXCEEDED_HTTP_ROUTES = 406;
158+
159+
// TCPRoute quota exceeded error code.
160+
QUOTA_EXCEEDED_TCP_ROUTES = 407;
161+
162+
// TLS routes quota exceeded error code.
163+
QUOTA_EXCEEDED_TLS_ROUTES = 408;
164+
165+
// TrafficPolicy quota exceeded error code.
166+
QUOTA_EXCEEDED_TRAFFIC_POLICIES = 409;
167+
168+
// EndpointPolicy quota exceeded error code.
169+
QUOTA_EXCEEDED_ENDPOINT_POLICIES = 410;
170+
171+
// Gateway quota exceeded error code.
172+
QUOTA_EXCEEDED_GATEWAYS = 411;
173+
174+
// Mesh quota exceeded error code.
175+
QUOTA_EXCEEDED_MESHES = 412;
176+
177+
// ServerTLSPolicy quota exceeded error code.
178+
QUOTA_EXCEEDED_SERVER_TLS_POLICIES = 413;
179+
180+
// ClientTLSPolicy quota exceeded error code.
181+
QUOTA_EXCEEDED_CLIENT_TLS_POLICIES = 414;
182+
183+
// ServiceLBPolicy quota exceeded error code.
184+
QUOTA_EXCEEDED_SERVICE_LB_POLICIES = 415;
185+
186+
// HTTPFilter quota exceeded error code.
187+
QUOTA_EXCEEDED_HTTP_FILTERS = 416;
188+
189+
// TCPFilter quota exceeded error code.
190+
QUOTA_EXCEEDED_TCP_FILTERS = 417;
191+
192+
// NetworkEndpointGroup quota exceeded error code.
193+
QUOTA_EXCEEDED_NETWORK_ENDPOINT_GROUPS = 418;
194+
}
195+
196+
// Severity level of the reported condition
197+
enum Severity {
198+
// Unspecified severity
199+
SEVERITY_UNSPECIFIED = 0;
200+
201+
// Indicates an issue that prevents the mesh from operating correctly
202+
ERROR = 1;
203+
204+
// Indicates a setting is likely wrong, but the mesh is still able to
205+
// operate
206+
WARNING = 2;
207+
208+
// An informational message, not requiring any action
209+
INFO = 3;
210+
}
211+
212+
// Unique identifier of the condition which describes the condition
213+
// recognizable to the user.
214+
Code code = 1;
215+
216+
// Links contains actionable information.
217+
string documentation_link = 2;
218+
219+
// A short summary about the issue.
220+
string details = 3;
221+
222+
// Severity level of the condition.
223+
Severity severity = 4;
224+
}
225+
226+
// Lifecycle state of Service Mesh components.
227+
enum LifecycleState {
228+
// Unspecified
229+
LIFECYCLE_STATE_UNSPECIFIED = 0;
230+
231+
// DISABLED means that the component is not enabled.
232+
DISABLED = 1;
233+
234+
// FAILED_PRECONDITION means that provisioning cannot proceed because of
235+
// some characteristic of the member cluster.
236+
FAILED_PRECONDITION = 2;
237+
238+
// PROVISIONING means that provisioning is in progress.
239+
PROVISIONING = 3;
240+
241+
// ACTIVE means that the component is ready for use.
242+
ACTIVE = 4;
243+
244+
// STALLED means that provisioning could not be done.
245+
STALLED = 5;
246+
247+
// NEEDS_ATTENTION means that the component is ready, but some user
248+
// intervention is required. (For example that the user should migrate
249+
// workloads to a new control plane revision.)
250+
NEEDS_ATTENTION = 6;
251+
252+
// DEGRADED means that the component is ready, but operating in a
253+
// degraded state.
254+
DEGRADED = 7;
255+
}
256+
257+
// Output only. Status of control plane management
258+
ControlPlaneManagement control_plane_management = 2
259+
[(google.api.field_behavior) = OUTPUT_ONLY];
260+
261+
// Output only. Status of data plane management.
262+
DataPlaneManagement data_plane_management = 4
263+
[(google.api.field_behavior) = OUTPUT_ONLY];
264+
265+
// Output only. List of conditions reported for this membership.
266+
repeated Condition conditions = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
267+
}
268+
269+
// Structured and human-readable details for a status.
270+
message StatusDetails {
271+
// A machine-readable code that further describes a broad status.
272+
string code = 1;
273+
274+
// Human-readable explanation of code.
275+
string details = 2;
276+
}

0 commit comments

Comments
 (0)