1// Copyright 2021 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// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0-devel
18// 	protoc        v3.13.0
19// source: google/cloud/gkehub/v1alpha2/membership.proto
20
21package gkehub
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	_ "google.golang.org/genproto/googleapis/api/annotations"
30	longrunning "google.golang.org/genproto/googleapis/longrunning"
31	grpc "google.golang.org/grpc"
32	codes "google.golang.org/grpc/codes"
33	status "google.golang.org/grpc/status"
34	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
35	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
36	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
37	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// This is a compile-time assertion that a sufficiently up-to-date version
48// of the legacy proto package is being used.
49const _ = proto.ProtoPackageIsVersion4
50
51// Specifies the infrastructure type of a Membership. Infrastructure type is
52// used by Hub to control infrastructure-specific behavior, including pricing.
53//
54// Each GKE distribution (on-GCP, on-Prem, on-X,...) will set this field
55// automatically, but Attached Clusters customers should specify a type
56// during registration.
57type Membership_InfrastructureType int32
58
59const (
60	// No type was specified. Some Hub functionality may require a type be
61	// specified, and will not support Memberships with this value.
62	Membership_INFRASTRUCTURE_TYPE_UNSPECIFIED Membership_InfrastructureType = 0
63	// Private infrastructure that is owned or operated by customer. This
64	// includes GKE distributions such as GKE-OnPrem and GKE-OnBareMetal.
65	Membership_ON_PREM Membership_InfrastructureType = 1
66	// Public cloud infrastructure.
67	Membership_MULTI_CLOUD Membership_InfrastructureType = 2
68)
69
70// Enum value maps for Membership_InfrastructureType.
71var (
72	Membership_InfrastructureType_name = map[int32]string{
73		0: "INFRASTRUCTURE_TYPE_UNSPECIFIED",
74		1: "ON_PREM",
75		2: "MULTI_CLOUD",
76	}
77	Membership_InfrastructureType_value = map[string]int32{
78		"INFRASTRUCTURE_TYPE_UNSPECIFIED": 0,
79		"ON_PREM":                         1,
80		"MULTI_CLOUD":                     2,
81	}
82)
83
84func (x Membership_InfrastructureType) Enum() *Membership_InfrastructureType {
85	p := new(Membership_InfrastructureType)
86	*p = x
87	return p
88}
89
90func (x Membership_InfrastructureType) String() string {
91	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
92}
93
94func (Membership_InfrastructureType) Descriptor() protoreflect.EnumDescriptor {
95	return file_google_cloud_gkehub_v1alpha2_membership_proto_enumTypes[0].Descriptor()
96}
97
98func (Membership_InfrastructureType) Type() protoreflect.EnumType {
99	return &file_google_cloud_gkehub_v1alpha2_membership_proto_enumTypes[0]
100}
101
102func (x Membership_InfrastructureType) Number() protoreflect.EnumNumber {
103	return protoreflect.EnumNumber(x)
104}
105
106// Deprecated: Use Membership_InfrastructureType.Descriptor instead.
107func (Membership_InfrastructureType) EnumDescriptor() ([]byte, []int) {
108	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{0, 0}
109}
110
111// Code describes the state of a Membership resource.
112type MembershipState_Code int32
113
114const (
115	// The code is not set.
116	MembershipState_CODE_UNSPECIFIED MembershipState_Code = 0
117	// The cluster is being registered.
118	MembershipState_CREATING MembershipState_Code = 1
119	// The cluster is registered.
120	MembershipState_READY MembershipState_Code = 2
121	// The cluster is being unregistered.
122	MembershipState_DELETING MembershipState_Code = 3
123	// The Membership is being updated.
124	MembershipState_UPDATING MembershipState_Code = 4
125	// The Membership is being updated by the Hub Service.
126	MembershipState_SERVICE_UPDATING MembershipState_Code = 5
127)
128
129// Enum value maps for MembershipState_Code.
130var (
131	MembershipState_Code_name = map[int32]string{
132		0: "CODE_UNSPECIFIED",
133		1: "CREATING",
134		2: "READY",
135		3: "DELETING",
136		4: "UPDATING",
137		5: "SERVICE_UPDATING",
138	}
139	MembershipState_Code_value = map[string]int32{
140		"CODE_UNSPECIFIED": 0,
141		"CREATING":         1,
142		"READY":            2,
143		"DELETING":         3,
144		"UPDATING":         4,
145		"SERVICE_UPDATING": 5,
146	}
147)
148
149func (x MembershipState_Code) Enum() *MembershipState_Code {
150	p := new(MembershipState_Code)
151	*p = x
152	return p
153}
154
155func (x MembershipState_Code) String() string {
156	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
157}
158
159func (MembershipState_Code) Descriptor() protoreflect.EnumDescriptor {
160	return file_google_cloud_gkehub_v1alpha2_membership_proto_enumTypes[1].Descriptor()
161}
162
163func (MembershipState_Code) Type() protoreflect.EnumType {
164	return &file_google_cloud_gkehub_v1alpha2_membership_proto_enumTypes[1]
165}
166
167func (x MembershipState_Code) Number() protoreflect.EnumNumber {
168	return protoreflect.EnumNumber(x)
169}
170
171// Deprecated: Use MembershipState_Code.Descriptor instead.
172func (MembershipState_Code) EnumDescriptor() ([]byte, []int) {
173	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{7, 0}
174}
175
176// Membership contains information about a member cluster.
177type Membership struct {
178	state         protoimpl.MessageState
179	sizeCache     protoimpl.SizeCache
180	unknownFields protoimpl.UnknownFields
181
182	// Output only. The full, unique name of this Membership resource in the format
183	// `projects/*/locations/*/memberships/{membership_id}`, set during creation.
184	//
185	// `membership_id` must be a valid RFC 1123 compliant DNS label:
186	//
187	//   1. At most 63 characters in length
188	//   2. It must consist of lower case alphanumeric characters or `-`
189	//   3. It must start and end with an alphanumeric character
190	//
191	// Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`,
192	// with a maximum length of 63 characters.
193	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
194	// Optional. GCP labels for this membership.
195	Labels map[string]string `protobuf:"bytes,2,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
196	// Output only. Description of this membership, limited to 63 characters.
197	// Must match the regex: `[a-zA-Z0-9][a-zA-Z0-9_\-\.\ ]*`
198	//
199	// This field is present for legacy purposes.
200	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
201	// Type of resource represented by this Membership
202	//
203	// Types that are assignable to Type:
204	//	*Membership_Endpoint
205	Type isMembership_Type `protobuf_oneof:"type"`
206	// Output only. State of the Membership resource.
207	State *MembershipState `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
208	// Output only. When the Membership was created.
209	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
210	// Output only. When the Membership was last updated.
211	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
212	// Output only. When the Membership was deleted.
213	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
214	// Optional. An externally-generated and managed ID for this Membership. This ID may
215	// be modified after creation, but this is not recommended. For GKE clusters,
216	// external_id is managed by the Hub API and updates will be ignored.
217	//
218	// The ID must match the regex: `[a-zA-Z0-9][a-zA-Z0-9_\-\.]*`
219	//
220	// If this Membership represents a Kubernetes cluster, this value should be
221	// set to the UID of the `kube-system` namespace object.
222	ExternalId string `protobuf:"bytes,9,opt,name=external_id,json=externalId,proto3" json:"external_id,omitempty"`
223	// Optional. How to identify workloads from this Membership.
224	// See the documentation on Workload Identity for more details:
225	// https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
226	Authority *Authority `protobuf:"bytes,10,opt,name=authority,proto3" json:"authority,omitempty"`
227	// Output only. For clusters using Connect, the timestamp of the most recent connection
228	// established with Google Cloud. This time is updated every several minutes,
229	// not continuously. For clusters that do not use GKE Connect, or that have
230	// never connected successfully, this field will be unset.
231	LastConnectionTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=last_connection_time,json=lastConnectionTime,proto3" json:"last_connection_time,omitempty"`
232	// Output only. Google-generated UUID for this resource. This is unique across all
233	// Membership resources. If a Membership resource is deleted and another
234	// resource with the same name is created, it gets a different unique_id.
235	UniqueId string `protobuf:"bytes,12,opt,name=unique_id,json=uniqueId,proto3" json:"unique_id,omitempty"`
236	// Optional. The infrastructure type this Membership is running on.
237	InfrastructureType Membership_InfrastructureType `protobuf:"varint,13,opt,name=infrastructure_type,json=infrastructureType,proto3,enum=google.cloud.gkehub.v1alpha2.Membership_InfrastructureType" json:"infrastructure_type,omitempty"`
238}
239
240func (x *Membership) Reset() {
241	*x = Membership{}
242	if protoimpl.UnsafeEnabled {
243		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[0]
244		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
245		ms.StoreMessageInfo(mi)
246	}
247}
248
249func (x *Membership) String() string {
250	return protoimpl.X.MessageStringOf(x)
251}
252
253func (*Membership) ProtoMessage() {}
254
255func (x *Membership) ProtoReflect() protoreflect.Message {
256	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[0]
257	if protoimpl.UnsafeEnabled && x != nil {
258		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
259		if ms.LoadMessageInfo() == nil {
260			ms.StoreMessageInfo(mi)
261		}
262		return ms
263	}
264	return mi.MessageOf(x)
265}
266
267// Deprecated: Use Membership.ProtoReflect.Descriptor instead.
268func (*Membership) Descriptor() ([]byte, []int) {
269	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{0}
270}
271
272func (x *Membership) GetName() string {
273	if x != nil {
274		return x.Name
275	}
276	return ""
277}
278
279func (x *Membership) GetLabels() map[string]string {
280	if x != nil {
281		return x.Labels
282	}
283	return nil
284}
285
286func (x *Membership) GetDescription() string {
287	if x != nil {
288		return x.Description
289	}
290	return ""
291}
292
293func (m *Membership) GetType() isMembership_Type {
294	if m != nil {
295		return m.Type
296	}
297	return nil
298}
299
300func (x *Membership) GetEndpoint() *MembershipEndpoint {
301	if x, ok := x.GetType().(*Membership_Endpoint); ok {
302		return x.Endpoint
303	}
304	return nil
305}
306
307func (x *Membership) GetState() *MembershipState {
308	if x != nil {
309		return x.State
310	}
311	return nil
312}
313
314func (x *Membership) GetCreateTime() *timestamppb.Timestamp {
315	if x != nil {
316		return x.CreateTime
317	}
318	return nil
319}
320
321func (x *Membership) GetUpdateTime() *timestamppb.Timestamp {
322	if x != nil {
323		return x.UpdateTime
324	}
325	return nil
326}
327
328func (x *Membership) GetDeleteTime() *timestamppb.Timestamp {
329	if x != nil {
330		return x.DeleteTime
331	}
332	return nil
333}
334
335func (x *Membership) GetExternalId() string {
336	if x != nil {
337		return x.ExternalId
338	}
339	return ""
340}
341
342func (x *Membership) GetAuthority() *Authority {
343	if x != nil {
344		return x.Authority
345	}
346	return nil
347}
348
349func (x *Membership) GetLastConnectionTime() *timestamppb.Timestamp {
350	if x != nil {
351		return x.LastConnectionTime
352	}
353	return nil
354}
355
356func (x *Membership) GetUniqueId() string {
357	if x != nil {
358		return x.UniqueId
359	}
360	return ""
361}
362
363func (x *Membership) GetInfrastructureType() Membership_InfrastructureType {
364	if x != nil {
365		return x.InfrastructureType
366	}
367	return Membership_INFRASTRUCTURE_TYPE_UNSPECIFIED
368}
369
370type isMembership_Type interface {
371	isMembership_Type()
372}
373
374type Membership_Endpoint struct {
375	// Optional. Endpoint information to reach this member.
376	Endpoint *MembershipEndpoint `protobuf:"bytes,4,opt,name=endpoint,proto3,oneof"`
377}
378
379func (*Membership_Endpoint) isMembership_Type() {}
380
381// MembershipEndpoint contains information needed to contact a Kubernetes API,
382// endpoint and any additional Kubernetes metadata.
383type MembershipEndpoint struct {
384	state         protoimpl.MessageState
385	sizeCache     protoimpl.SizeCache
386	unknownFields protoimpl.UnknownFields
387
388	// Optional. GKE-specific information. Only present if this Membership is a GKE cluster.
389	GkeCluster *GkeCluster `protobuf:"bytes,1,opt,name=gke_cluster,json=gkeCluster,proto3" json:"gke_cluster,omitempty"`
390	// Output only. Useful Kubernetes-specific metadata.
391	KubernetesMetadata *KubernetesMetadata `protobuf:"bytes,2,opt,name=kubernetes_metadata,json=kubernetesMetadata,proto3" json:"kubernetes_metadata,omitempty"`
392	// Optional. The in-cluster Kubernetes Resources that should be applied for a correctly
393	// registered cluster, in the steady state. These resources:
394	//
395	//   * Ensure that the cluster is exclusively registered to one and only one
396	//     Hub Membership.
397	//   * Propagate Workload Pool Information available in the Membership
398	//     Authority field.
399	//   * Ensure proper initial configuration of default Hub Features.
400	KubernetesResource *KubernetesResource `protobuf:"bytes,3,opt,name=kubernetes_resource,json=kubernetesResource,proto3" json:"kubernetes_resource,omitempty"`
401}
402
403func (x *MembershipEndpoint) Reset() {
404	*x = MembershipEndpoint{}
405	if protoimpl.UnsafeEnabled {
406		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[1]
407		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
408		ms.StoreMessageInfo(mi)
409	}
410}
411
412func (x *MembershipEndpoint) String() string {
413	return protoimpl.X.MessageStringOf(x)
414}
415
416func (*MembershipEndpoint) ProtoMessage() {}
417
418func (x *MembershipEndpoint) ProtoReflect() protoreflect.Message {
419	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[1]
420	if protoimpl.UnsafeEnabled && x != nil {
421		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
422		if ms.LoadMessageInfo() == nil {
423			ms.StoreMessageInfo(mi)
424		}
425		return ms
426	}
427	return mi.MessageOf(x)
428}
429
430// Deprecated: Use MembershipEndpoint.ProtoReflect.Descriptor instead.
431func (*MembershipEndpoint) Descriptor() ([]byte, []int) {
432	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{1}
433}
434
435func (x *MembershipEndpoint) GetGkeCluster() *GkeCluster {
436	if x != nil {
437		return x.GkeCluster
438	}
439	return nil
440}
441
442func (x *MembershipEndpoint) GetKubernetesMetadata() *KubernetesMetadata {
443	if x != nil {
444		return x.KubernetesMetadata
445	}
446	return nil
447}
448
449func (x *MembershipEndpoint) GetKubernetesResource() *KubernetesResource {
450	if x != nil {
451		return x.KubernetesResource
452	}
453	return nil
454}
455
456// KubernetesResource contains the YAML manifests and configuration for
457// Membership Kubernetes resources in the cluster. After CreateMembership or
458// UpdateMembership, these resources should be re-applied in the cluster.
459type KubernetesResource struct {
460	state         protoimpl.MessageState
461	sizeCache     protoimpl.SizeCache
462	unknownFields protoimpl.UnknownFields
463
464	// Input only. The YAML representation of the Membership CR. This field is ignored for GKE
465	// clusters where Hub can read the CR directly.
466	//
467	// Callers should provide the CR that is currently present in the cluster
468	// during Create or Update, or leave this field empty if none exists. The CR
469	// manifest is used to validate the cluster has not been registered with
470	// another Membership.
471	MembershipCrManifest string `protobuf:"bytes,1,opt,name=membership_cr_manifest,json=membershipCrManifest,proto3" json:"membership_cr_manifest,omitempty"`
472	// Output only. Additional Kubernetes resources that need to be applied to the cluster
473	// after Membership creation, and after every update.
474	//
475	// This field is only populated in the Membership returned from a successful
476	// long-running operation from CreateMembership or UpdateMembership. It is not
477	// populated during normal GetMembership or ListMemberships requests. To get
478	// the resource manifest after the initial registration, the caller should
479	// make a UpdateMembership call with an empty field mask.
480	MembershipResources []*ResourceManifest `protobuf:"bytes,3,rep,name=membership_resources,json=membershipResources,proto3" json:"membership_resources,omitempty"`
481	// Output only. The Kubernetes resources for installing the GKE Connect agent.
482	//
483	// This field is only populated in the Membership returned from a successful
484	// long-running operation from CreateMembership or UpdateMembership. It is not
485	// populated during normal GetMembership or ListMemberships requests. To get
486	// the resource manifest after the initial registration, the caller should
487	// make a UpdateMembership call with an empty field mask.
488	ConnectResources []*ResourceManifest `protobuf:"bytes,4,rep,name=connect_resources,json=connectResources,proto3" json:"connect_resources,omitempty"`
489	// Optional. Options for Kubernetes resource generation.
490	ResourceOptions *ResourceOptions `protobuf:"bytes,5,opt,name=resource_options,json=resourceOptions,proto3" json:"resource_options,omitempty"`
491}
492
493func (x *KubernetesResource) Reset() {
494	*x = KubernetesResource{}
495	if protoimpl.UnsafeEnabled {
496		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[2]
497		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
498		ms.StoreMessageInfo(mi)
499	}
500}
501
502func (x *KubernetesResource) String() string {
503	return protoimpl.X.MessageStringOf(x)
504}
505
506func (*KubernetesResource) ProtoMessage() {}
507
508func (x *KubernetesResource) ProtoReflect() protoreflect.Message {
509	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[2]
510	if protoimpl.UnsafeEnabled && x != nil {
511		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
512		if ms.LoadMessageInfo() == nil {
513			ms.StoreMessageInfo(mi)
514		}
515		return ms
516	}
517	return mi.MessageOf(x)
518}
519
520// Deprecated: Use KubernetesResource.ProtoReflect.Descriptor instead.
521func (*KubernetesResource) Descriptor() ([]byte, []int) {
522	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{2}
523}
524
525func (x *KubernetesResource) GetMembershipCrManifest() string {
526	if x != nil {
527		return x.MembershipCrManifest
528	}
529	return ""
530}
531
532func (x *KubernetesResource) GetMembershipResources() []*ResourceManifest {
533	if x != nil {
534		return x.MembershipResources
535	}
536	return nil
537}
538
539func (x *KubernetesResource) GetConnectResources() []*ResourceManifest {
540	if x != nil {
541		return x.ConnectResources
542	}
543	return nil
544}
545
546func (x *KubernetesResource) GetResourceOptions() *ResourceOptions {
547	if x != nil {
548		return x.ResourceOptions
549	}
550	return nil
551}
552
553// ResourceOptions represent options for Kubernetes resource generation.
554type ResourceOptions struct {
555	state         protoimpl.MessageState
556	sizeCache     protoimpl.SizeCache
557	unknownFields protoimpl.UnknownFields
558
559	// Optional. The Connect agent version to use for connect_resources. Defaults to the
560	// latest GKE Connect version. The version must be a currently supported
561	// version, obsolete versions will be rejected.
562	ConnectVersion string `protobuf:"bytes,1,opt,name=connect_version,json=connectVersion,proto3" json:"connect_version,omitempty"`
563	// Optional. Use `apiextensions/v1beta1` instead of `apiextensions/v1` for
564	// CustomResourceDefinition resources.
565	// This option should be set for clusters with Kubernetes apiserver versions
566	// <1.16.
567	V1Beta1Crd bool `protobuf:"varint,2,opt,name=v1beta1_crd,json=v1beta1Crd,proto3" json:"v1beta1_crd,omitempty"`
568}
569
570func (x *ResourceOptions) Reset() {
571	*x = ResourceOptions{}
572	if protoimpl.UnsafeEnabled {
573		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[3]
574		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
575		ms.StoreMessageInfo(mi)
576	}
577}
578
579func (x *ResourceOptions) String() string {
580	return protoimpl.X.MessageStringOf(x)
581}
582
583func (*ResourceOptions) ProtoMessage() {}
584
585func (x *ResourceOptions) ProtoReflect() protoreflect.Message {
586	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[3]
587	if protoimpl.UnsafeEnabled && x != nil {
588		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
589		if ms.LoadMessageInfo() == nil {
590			ms.StoreMessageInfo(mi)
591		}
592		return ms
593	}
594	return mi.MessageOf(x)
595}
596
597// Deprecated: Use ResourceOptions.ProtoReflect.Descriptor instead.
598func (*ResourceOptions) Descriptor() ([]byte, []int) {
599	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{3}
600}
601
602func (x *ResourceOptions) GetConnectVersion() string {
603	if x != nil {
604		return x.ConnectVersion
605	}
606	return ""
607}
608
609func (x *ResourceOptions) GetV1Beta1Crd() bool {
610	if x != nil {
611		return x.V1Beta1Crd
612	}
613	return false
614}
615
616// GkeCluster contains information specific to GKE clusters.
617type GkeCluster struct {
618	state         protoimpl.MessageState
619	sizeCache     protoimpl.SizeCache
620	unknownFields protoimpl.UnknownFields
621
622	// Immutable. Self-link of the GCP resource for the GKE cluster. For example:
623	//
624	//     //container.googleapis.com/projects/my-project/locations/us-west1-a/clusters/my-cluster
625	//
626	// Zonal clusters are also supported.
627	ResourceLink string `protobuf:"bytes,1,opt,name=resource_link,json=resourceLink,proto3" json:"resource_link,omitempty"`
628}
629
630func (x *GkeCluster) Reset() {
631	*x = GkeCluster{}
632	if protoimpl.UnsafeEnabled {
633		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[4]
634		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
635		ms.StoreMessageInfo(mi)
636	}
637}
638
639func (x *GkeCluster) String() string {
640	return protoimpl.X.MessageStringOf(x)
641}
642
643func (*GkeCluster) ProtoMessage() {}
644
645func (x *GkeCluster) ProtoReflect() protoreflect.Message {
646	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[4]
647	if protoimpl.UnsafeEnabled && x != nil {
648		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
649		if ms.LoadMessageInfo() == nil {
650			ms.StoreMessageInfo(mi)
651		}
652		return ms
653	}
654	return mi.MessageOf(x)
655}
656
657// Deprecated: Use GkeCluster.ProtoReflect.Descriptor instead.
658func (*GkeCluster) Descriptor() ([]byte, []int) {
659	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{4}
660}
661
662func (x *GkeCluster) GetResourceLink() string {
663	if x != nil {
664		return x.ResourceLink
665	}
666	return ""
667}
668
669// KubernetesMetadata provides informational metadata for Memberships
670// that are created from Kubernetes Endpoints (currently, these are equivalent
671// to Kubernetes clusters).
672type KubernetesMetadata struct {
673	state         protoimpl.MessageState
674	sizeCache     protoimpl.SizeCache
675	unknownFields protoimpl.UnknownFields
676
677	// Output only. Kubernetes API server version string as reported by '/version'.
678	KubernetesApiServerVersion string `protobuf:"bytes,1,opt,name=kubernetes_api_server_version,json=kubernetesApiServerVersion,proto3" json:"kubernetes_api_server_version,omitempty"`
679	// Output only. Node providerID as reported by the first node in the list of nodes on
680	// the Kubernetes endpoint. On Kubernetes platforms that support zero-node
681	// clusters (like GKE-on-GCP), the node_count will be zero and the
682	// node_provider_id will be empty.
683	NodeProviderId string `protobuf:"bytes,2,opt,name=node_provider_id,json=nodeProviderId,proto3" json:"node_provider_id,omitempty"`
684	// Output only. Node count as reported by Kubernetes nodes resources.
685	NodeCount int32 `protobuf:"varint,3,opt,name=node_count,json=nodeCount,proto3" json:"node_count,omitempty"`
686	// Output only. vCPU count as reported by Kubernetes nodes resources.
687	VcpuCount int32 `protobuf:"varint,4,opt,name=vcpu_count,json=vcpuCount,proto3" json:"vcpu_count,omitempty"`
688	// Output only. The total memory capacity as reported by the sum of all Kubernetes nodes
689	// resources, defined in MB.
690	MemoryMb int32 `protobuf:"varint,5,opt,name=memory_mb,json=memoryMb,proto3" json:"memory_mb,omitempty"`
691	// Output only. The time at which these details were last updated. This update_time is
692	// different from the Membership-level update_time since EndpointDetails are
693	// updated internally for API consumers.
694	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,100,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
695}
696
697func (x *KubernetesMetadata) Reset() {
698	*x = KubernetesMetadata{}
699	if protoimpl.UnsafeEnabled {
700		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[5]
701		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
702		ms.StoreMessageInfo(mi)
703	}
704}
705
706func (x *KubernetesMetadata) String() string {
707	return protoimpl.X.MessageStringOf(x)
708}
709
710func (*KubernetesMetadata) ProtoMessage() {}
711
712func (x *KubernetesMetadata) ProtoReflect() protoreflect.Message {
713	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[5]
714	if protoimpl.UnsafeEnabled && x != nil {
715		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
716		if ms.LoadMessageInfo() == nil {
717			ms.StoreMessageInfo(mi)
718		}
719		return ms
720	}
721	return mi.MessageOf(x)
722}
723
724// Deprecated: Use KubernetesMetadata.ProtoReflect.Descriptor instead.
725func (*KubernetesMetadata) Descriptor() ([]byte, []int) {
726	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{5}
727}
728
729func (x *KubernetesMetadata) GetKubernetesApiServerVersion() string {
730	if x != nil {
731		return x.KubernetesApiServerVersion
732	}
733	return ""
734}
735
736func (x *KubernetesMetadata) GetNodeProviderId() string {
737	if x != nil {
738		return x.NodeProviderId
739	}
740	return ""
741}
742
743func (x *KubernetesMetadata) GetNodeCount() int32 {
744	if x != nil {
745		return x.NodeCount
746	}
747	return 0
748}
749
750func (x *KubernetesMetadata) GetVcpuCount() int32 {
751	if x != nil {
752		return x.VcpuCount
753	}
754	return 0
755}
756
757func (x *KubernetesMetadata) GetMemoryMb() int32 {
758	if x != nil {
759		return x.MemoryMb
760	}
761	return 0
762}
763
764func (x *KubernetesMetadata) GetUpdateTime() *timestamppb.Timestamp {
765	if x != nil {
766		return x.UpdateTime
767	}
768	return nil
769}
770
771// Authority encodes how Google will recognize identities from this Membership.
772// See the workload identity documentation for more details:
773// https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
774type Authority struct {
775	state         protoimpl.MessageState
776	sizeCache     protoimpl.SizeCache
777	unknownFields protoimpl.UnknownFields
778
779	// Optional. A JSON Web Token (JWT) issuer URI. `issuer` must start with `https://` and
780	// be a valid URL with length <2000 characters.
781	//
782	// If set, then Google will allow valid OIDC tokens from this issuer to
783	// authenticate within the workload_identity_pool. OIDC discovery will be
784	// performed on this URI to validate tokens from the issuer, unless
785	// `oidc_jwks` is set.
786	//
787	// Clearing `issuer` disables Workload Identity. `issuer` cannot be directly
788	// modified; it must be cleared (and Workload Identity disabled) before using
789	// a new issuer (and re-enabling Workload Identity).
790	Issuer string `protobuf:"bytes,1,opt,name=issuer,proto3" json:"issuer,omitempty"`
791	// Optional. OIDC verification keys for this Membership in JWKS format (RFC 7517).
792	//
793	// When this field is set, OIDC discovery will NOT be performed on `issuer`,
794	// and instead OIDC tokens will be validated using this field.
795	OidcJwks []byte `protobuf:"bytes,5,opt,name=oidc_jwks,json=oidcJwks,proto3" json:"oidc_jwks,omitempty"`
796	// Output only. An identity provider that reflects the `issuer` in the workload identity
797	// pool.
798	IdentityProvider string `protobuf:"bytes,3,opt,name=identity_provider,json=identityProvider,proto3" json:"identity_provider,omitempty"`
799	// Output only. The name of the workload identity pool in which `issuer` will be
800	// recognized.
801	//
802	// There is a single Workload Identity Pool per Hub that is shared
803	// between all Memberships that belong to that Hub. For a Hub hosted in
804	// {PROJECT_ID}, the workload pool format is `{PROJECT_ID}.hub.id.goog`,
805	// although this is subject to change in newer versions of this API.
806	WorkloadIdentityPool string `protobuf:"bytes,4,opt,name=workload_identity_pool,json=workloadIdentityPool,proto3" json:"workload_identity_pool,omitempty"`
807}
808
809func (x *Authority) Reset() {
810	*x = Authority{}
811	if protoimpl.UnsafeEnabled {
812		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[6]
813		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
814		ms.StoreMessageInfo(mi)
815	}
816}
817
818func (x *Authority) String() string {
819	return protoimpl.X.MessageStringOf(x)
820}
821
822func (*Authority) ProtoMessage() {}
823
824func (x *Authority) ProtoReflect() protoreflect.Message {
825	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[6]
826	if protoimpl.UnsafeEnabled && x != nil {
827		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
828		if ms.LoadMessageInfo() == nil {
829			ms.StoreMessageInfo(mi)
830		}
831		return ms
832	}
833	return mi.MessageOf(x)
834}
835
836// Deprecated: Use Authority.ProtoReflect.Descriptor instead.
837func (*Authority) Descriptor() ([]byte, []int) {
838	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{6}
839}
840
841func (x *Authority) GetIssuer() string {
842	if x != nil {
843		return x.Issuer
844	}
845	return ""
846}
847
848func (x *Authority) GetOidcJwks() []byte {
849	if x != nil {
850		return x.OidcJwks
851	}
852	return nil
853}
854
855func (x *Authority) GetIdentityProvider() string {
856	if x != nil {
857		return x.IdentityProvider
858	}
859	return ""
860}
861
862func (x *Authority) GetWorkloadIdentityPool() string {
863	if x != nil {
864		return x.WorkloadIdentityPool
865	}
866	return ""
867}
868
869// MembershipState describes the state of a Membership resource.
870type MembershipState struct {
871	state         protoimpl.MessageState
872	sizeCache     protoimpl.SizeCache
873	unknownFields protoimpl.UnknownFields
874
875	// Output only. The current state of the Membership resource.
876	Code MembershipState_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.gkehub.v1alpha2.MembershipState_Code" json:"code,omitempty"`
877}
878
879func (x *MembershipState) Reset() {
880	*x = MembershipState{}
881	if protoimpl.UnsafeEnabled {
882		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[7]
883		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
884		ms.StoreMessageInfo(mi)
885	}
886}
887
888func (x *MembershipState) String() string {
889	return protoimpl.X.MessageStringOf(x)
890}
891
892func (*MembershipState) ProtoMessage() {}
893
894func (x *MembershipState) ProtoReflect() protoreflect.Message {
895	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[7]
896	if protoimpl.UnsafeEnabled && x != nil {
897		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
898		if ms.LoadMessageInfo() == nil {
899			ms.StoreMessageInfo(mi)
900		}
901		return ms
902	}
903	return mi.MessageOf(x)
904}
905
906// Deprecated: Use MembershipState.ProtoReflect.Descriptor instead.
907func (*MembershipState) Descriptor() ([]byte, []int) {
908	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{7}
909}
910
911func (x *MembershipState) GetCode() MembershipState_Code {
912	if x != nil {
913		return x.Code
914	}
915	return MembershipState_CODE_UNSPECIFIED
916}
917
918// Request message for `GkeHub.ListMemberships` method.
919type ListMembershipsRequest struct {
920	state         protoimpl.MessageState
921	sizeCache     protoimpl.SizeCache
922	unknownFields protoimpl.UnknownFields
923
924	// Required. The parent (project and location) where the Memberships will be listed.
925	// Specified in the format `projects/*/locations/*`.
926	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
927	// Optional. When requesting a 'page' of resources, `page_size` specifies number of
928	// resources to return. If unspecified or set to 0, all resources will
929	// be returned.
930	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
931	// Optional. Token returned by previous call to `ListMemberships` which
932	// specifies the position in the list from where to continue listing the
933	// resources.
934	PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
935	// Optional. Lists Memberships that match the filter expression, following the syntax
936	// outlined in https://google.aip.dev/160.
937	//
938	// Examples:
939	//
940	//   - Name is `bar` in project `foo-proj` and location `global`:
941	//
942	//       name = "projects/foo-proj/locations/global/membership/bar"
943	//
944	//   - Memberships that have a label called `foo`:
945	//
946	//       labels.foo:*
947	//
948	//   - Memberships that have a label called `foo` whose value is `bar`:
949	//
950	//       labels.foo = bar
951	//
952	//   - Memberships in the CREATING state:
953	//
954	//       state = CREATING
955	Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"`
956	// Optional. One or more fields to compare and use to sort the output.
957	// See https://google.aip.dev/132#ordering.
958	OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"`
959}
960
961func (x *ListMembershipsRequest) Reset() {
962	*x = ListMembershipsRequest{}
963	if protoimpl.UnsafeEnabled {
964		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[8]
965		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
966		ms.StoreMessageInfo(mi)
967	}
968}
969
970func (x *ListMembershipsRequest) String() string {
971	return protoimpl.X.MessageStringOf(x)
972}
973
974func (*ListMembershipsRequest) ProtoMessage() {}
975
976func (x *ListMembershipsRequest) ProtoReflect() protoreflect.Message {
977	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[8]
978	if protoimpl.UnsafeEnabled && x != nil {
979		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
980		if ms.LoadMessageInfo() == nil {
981			ms.StoreMessageInfo(mi)
982		}
983		return ms
984	}
985	return mi.MessageOf(x)
986}
987
988// Deprecated: Use ListMembershipsRequest.ProtoReflect.Descriptor instead.
989func (*ListMembershipsRequest) Descriptor() ([]byte, []int) {
990	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{8}
991}
992
993func (x *ListMembershipsRequest) GetParent() string {
994	if x != nil {
995		return x.Parent
996	}
997	return ""
998}
999
1000func (x *ListMembershipsRequest) GetPageSize() int32 {
1001	if x != nil {
1002		return x.PageSize
1003	}
1004	return 0
1005}
1006
1007func (x *ListMembershipsRequest) GetPageToken() string {
1008	if x != nil {
1009		return x.PageToken
1010	}
1011	return ""
1012}
1013
1014func (x *ListMembershipsRequest) GetFilter() string {
1015	if x != nil {
1016		return x.Filter
1017	}
1018	return ""
1019}
1020
1021func (x *ListMembershipsRequest) GetOrderBy() string {
1022	if x != nil {
1023		return x.OrderBy
1024	}
1025	return ""
1026}
1027
1028// Response message for the `GkeHub.ListMemberships` method.
1029type ListMembershipsResponse struct {
1030	state         protoimpl.MessageState
1031	sizeCache     protoimpl.SizeCache
1032	unknownFields protoimpl.UnknownFields
1033
1034	// The list of matching Memberships.
1035	Resources []*Membership `protobuf:"bytes,1,rep,name=resources,proto3" json:"resources,omitempty"`
1036	// A token to request the next page of resources from the
1037	// `ListMemberships` method. The value of an empty string means that
1038	// there are no more resources to return.
1039	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
1040	// List of locations that could not be reached while fetching this list.
1041	Unreachable []string `protobuf:"bytes,3,rep,name=unreachable,proto3" json:"unreachable,omitempty"`
1042}
1043
1044func (x *ListMembershipsResponse) Reset() {
1045	*x = ListMembershipsResponse{}
1046	if protoimpl.UnsafeEnabled {
1047		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[9]
1048		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1049		ms.StoreMessageInfo(mi)
1050	}
1051}
1052
1053func (x *ListMembershipsResponse) String() string {
1054	return protoimpl.X.MessageStringOf(x)
1055}
1056
1057func (*ListMembershipsResponse) ProtoMessage() {}
1058
1059func (x *ListMembershipsResponse) ProtoReflect() protoreflect.Message {
1060	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[9]
1061	if protoimpl.UnsafeEnabled && x != nil {
1062		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1063		if ms.LoadMessageInfo() == nil {
1064			ms.StoreMessageInfo(mi)
1065		}
1066		return ms
1067	}
1068	return mi.MessageOf(x)
1069}
1070
1071// Deprecated: Use ListMembershipsResponse.ProtoReflect.Descriptor instead.
1072func (*ListMembershipsResponse) Descriptor() ([]byte, []int) {
1073	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{9}
1074}
1075
1076func (x *ListMembershipsResponse) GetResources() []*Membership {
1077	if x != nil {
1078		return x.Resources
1079	}
1080	return nil
1081}
1082
1083func (x *ListMembershipsResponse) GetNextPageToken() string {
1084	if x != nil {
1085		return x.NextPageToken
1086	}
1087	return ""
1088}
1089
1090func (x *ListMembershipsResponse) GetUnreachable() []string {
1091	if x != nil {
1092		return x.Unreachable
1093	}
1094	return nil
1095}
1096
1097// Request message for `GkeHub.GetMembership` method.
1098type GetMembershipRequest struct {
1099	state         protoimpl.MessageState
1100	sizeCache     protoimpl.SizeCache
1101	unknownFields protoimpl.UnknownFields
1102
1103	// Required. The Membership resource name in the format
1104	// `projects/*/locations/*/memberships/*`.
1105	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1106}
1107
1108func (x *GetMembershipRequest) Reset() {
1109	*x = GetMembershipRequest{}
1110	if protoimpl.UnsafeEnabled {
1111		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[10]
1112		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1113		ms.StoreMessageInfo(mi)
1114	}
1115}
1116
1117func (x *GetMembershipRequest) String() string {
1118	return protoimpl.X.MessageStringOf(x)
1119}
1120
1121func (*GetMembershipRequest) ProtoMessage() {}
1122
1123func (x *GetMembershipRequest) ProtoReflect() protoreflect.Message {
1124	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[10]
1125	if protoimpl.UnsafeEnabled && x != nil {
1126		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1127		if ms.LoadMessageInfo() == nil {
1128			ms.StoreMessageInfo(mi)
1129		}
1130		return ms
1131	}
1132	return mi.MessageOf(x)
1133}
1134
1135// Deprecated: Use GetMembershipRequest.ProtoReflect.Descriptor instead.
1136func (*GetMembershipRequest) Descriptor() ([]byte, []int) {
1137	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{10}
1138}
1139
1140func (x *GetMembershipRequest) GetName() string {
1141	if x != nil {
1142		return x.Name
1143	}
1144	return ""
1145}
1146
1147// Request message for the `GkeHub.CreateMembership` method.
1148type CreateMembershipRequest struct {
1149	state         protoimpl.MessageState
1150	sizeCache     protoimpl.SizeCache
1151	unknownFields protoimpl.UnknownFields
1152
1153	// Required. The parent (project and location) where the Memberships will be created.
1154	// Specified in the format `projects/*/locations/*`.
1155	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
1156	// Required. Client chosen ID for the membership. `membership_id` must be a valid RFC
1157	// 1123 compliant DNS label:
1158	//
1159	//   1. At most 63 characters in length
1160	//   2. It must consist of lower case alphanumeric characters or `-`
1161	//   3. It must start and end with an alphanumeric character
1162	//
1163	// Which can be expressed as the regex: `[a-z0-9]([-a-z0-9]*[a-z0-9])?`,
1164	// with a maximum length of 63 characters.
1165	MembershipId string `protobuf:"bytes,2,opt,name=membership_id,json=membershipId,proto3" json:"membership_id,omitempty"`
1166	// Required. The membership to create.
1167	Resource *Membership `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
1168}
1169
1170func (x *CreateMembershipRequest) Reset() {
1171	*x = CreateMembershipRequest{}
1172	if protoimpl.UnsafeEnabled {
1173		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[11]
1174		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1175		ms.StoreMessageInfo(mi)
1176	}
1177}
1178
1179func (x *CreateMembershipRequest) String() string {
1180	return protoimpl.X.MessageStringOf(x)
1181}
1182
1183func (*CreateMembershipRequest) ProtoMessage() {}
1184
1185func (x *CreateMembershipRequest) ProtoReflect() protoreflect.Message {
1186	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[11]
1187	if protoimpl.UnsafeEnabled && x != nil {
1188		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1189		if ms.LoadMessageInfo() == nil {
1190			ms.StoreMessageInfo(mi)
1191		}
1192		return ms
1193	}
1194	return mi.MessageOf(x)
1195}
1196
1197// Deprecated: Use CreateMembershipRequest.ProtoReflect.Descriptor instead.
1198func (*CreateMembershipRequest) Descriptor() ([]byte, []int) {
1199	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{11}
1200}
1201
1202func (x *CreateMembershipRequest) GetParent() string {
1203	if x != nil {
1204		return x.Parent
1205	}
1206	return ""
1207}
1208
1209func (x *CreateMembershipRequest) GetMembershipId() string {
1210	if x != nil {
1211		return x.MembershipId
1212	}
1213	return ""
1214}
1215
1216func (x *CreateMembershipRequest) GetResource() *Membership {
1217	if x != nil {
1218		return x.Resource
1219	}
1220	return nil
1221}
1222
1223// Request message for `GkeHub.DeleteMembership` method.
1224type DeleteMembershipRequest struct {
1225	state         protoimpl.MessageState
1226	sizeCache     protoimpl.SizeCache
1227	unknownFields protoimpl.UnknownFields
1228
1229	// Required. The Membership resource name in the format
1230	// `projects/*/locations/*/memberships/*`.
1231	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1232}
1233
1234func (x *DeleteMembershipRequest) Reset() {
1235	*x = DeleteMembershipRequest{}
1236	if protoimpl.UnsafeEnabled {
1237		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[12]
1238		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1239		ms.StoreMessageInfo(mi)
1240	}
1241}
1242
1243func (x *DeleteMembershipRequest) String() string {
1244	return protoimpl.X.MessageStringOf(x)
1245}
1246
1247func (*DeleteMembershipRequest) ProtoMessage() {}
1248
1249func (x *DeleteMembershipRequest) ProtoReflect() protoreflect.Message {
1250	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[12]
1251	if protoimpl.UnsafeEnabled && x != nil {
1252		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1253		if ms.LoadMessageInfo() == nil {
1254			ms.StoreMessageInfo(mi)
1255		}
1256		return ms
1257	}
1258	return mi.MessageOf(x)
1259}
1260
1261// Deprecated: Use DeleteMembershipRequest.ProtoReflect.Descriptor instead.
1262func (*DeleteMembershipRequest) Descriptor() ([]byte, []int) {
1263	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{12}
1264}
1265
1266func (x *DeleteMembershipRequest) GetName() string {
1267	if x != nil {
1268		return x.Name
1269	}
1270	return ""
1271}
1272
1273// Request message for `GkeHub.UpdateMembership` method.
1274type UpdateMembershipRequest struct {
1275	state         protoimpl.MessageState
1276	sizeCache     protoimpl.SizeCache
1277	unknownFields protoimpl.UnknownFields
1278
1279	// Required. The Membership resource name in the format
1280	// `projects/*/locations/*/memberships/*`.
1281	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1282	// Required. Mask of fields to update.
1283	UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
1284	// Required. Only fields specified in update_mask are updated.
1285	// If you specify a field in the update_mask but don't specify its value here
1286	// that field will be deleted.
1287	// If you are updating a map field, set the value of a key to null or empty
1288	// string to delete the key from the map. It's not possible to update a key's
1289	// value to the empty string.
1290	Resource *Membership `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
1291}
1292
1293func (x *UpdateMembershipRequest) Reset() {
1294	*x = UpdateMembershipRequest{}
1295	if protoimpl.UnsafeEnabled {
1296		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[13]
1297		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1298		ms.StoreMessageInfo(mi)
1299	}
1300}
1301
1302func (x *UpdateMembershipRequest) String() string {
1303	return protoimpl.X.MessageStringOf(x)
1304}
1305
1306func (*UpdateMembershipRequest) ProtoMessage() {}
1307
1308func (x *UpdateMembershipRequest) ProtoReflect() protoreflect.Message {
1309	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[13]
1310	if protoimpl.UnsafeEnabled && x != nil {
1311		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1312		if ms.LoadMessageInfo() == nil {
1313			ms.StoreMessageInfo(mi)
1314		}
1315		return ms
1316	}
1317	return mi.MessageOf(x)
1318}
1319
1320// Deprecated: Use UpdateMembershipRequest.ProtoReflect.Descriptor instead.
1321func (*UpdateMembershipRequest) Descriptor() ([]byte, []int) {
1322	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{13}
1323}
1324
1325func (x *UpdateMembershipRequest) GetName() string {
1326	if x != nil {
1327		return x.Name
1328	}
1329	return ""
1330}
1331
1332func (x *UpdateMembershipRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
1333	if x != nil {
1334		return x.UpdateMask
1335	}
1336	return nil
1337}
1338
1339func (x *UpdateMembershipRequest) GetResource() *Membership {
1340	if x != nil {
1341		return x.Resource
1342	}
1343	return nil
1344}
1345
1346// Request message for `GkeHub.GenerateConnectManifest`
1347// method.
1348// .
1349type GenerateConnectManifestRequest struct {
1350	state         protoimpl.MessageState
1351	sizeCache     protoimpl.SizeCache
1352	unknownFields protoimpl.UnknownFields
1353
1354	// Required. The Membership resource name the Agent will associate with, in the format
1355	// `projects/*/locations/*/memberships/*`.
1356	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
1357	// Optional. Namespace for GKE Connect agent resources. Defaults to `gke-connect`.
1358	//
1359	// The Connect Agent is authorized automatically when run in the default
1360	// namespace. Otherwise, explicit authorization must be granted with an
1361	// additional IAM binding.
1362	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
1363	// Optional. URI of a proxy if connectivity from the agent to gkeconnect.googleapis.com
1364	// requires the use of a proxy. Format must be in the form
1365	// `http(s)://{proxy_address}`, depending on the HTTP/HTTPS protocol
1366	// supported by the proxy. This will direct the connect agent's outbound
1367	// traffic through a HTTP(S) proxy.
1368	Proxy []byte `protobuf:"bytes,3,opt,name=proxy,proto3" json:"proxy,omitempty"`
1369	// Optional. The Connect agent version to use. Defaults to the most current version.
1370	Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"`
1371	// Optional. If true, generate the resources for upgrade only. Some resources
1372	// generated only for installation (e.g. secrets) will be excluded.
1373	IsUpgrade bool `protobuf:"varint,5,opt,name=is_upgrade,json=isUpgrade,proto3" json:"is_upgrade,omitempty"`
1374	// Optional. The registry to fetch the connect agent image from. Defaults to
1375	// gcr.io/gkeconnect.
1376	Registry string `protobuf:"bytes,6,opt,name=registry,proto3" json:"registry,omitempty"`
1377	// Optional. The image pull secret content for the registry, if not public.
1378	ImagePullSecretContent []byte `protobuf:"bytes,7,opt,name=image_pull_secret_content,json=imagePullSecretContent,proto3" json:"image_pull_secret_content,omitempty"`
1379}
1380
1381func (x *GenerateConnectManifestRequest) Reset() {
1382	*x = GenerateConnectManifestRequest{}
1383	if protoimpl.UnsafeEnabled {
1384		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[14]
1385		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1386		ms.StoreMessageInfo(mi)
1387	}
1388}
1389
1390func (x *GenerateConnectManifestRequest) String() string {
1391	return protoimpl.X.MessageStringOf(x)
1392}
1393
1394func (*GenerateConnectManifestRequest) ProtoMessage() {}
1395
1396func (x *GenerateConnectManifestRequest) ProtoReflect() protoreflect.Message {
1397	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[14]
1398	if protoimpl.UnsafeEnabled && x != nil {
1399		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1400		if ms.LoadMessageInfo() == nil {
1401			ms.StoreMessageInfo(mi)
1402		}
1403		return ms
1404	}
1405	return mi.MessageOf(x)
1406}
1407
1408// Deprecated: Use GenerateConnectManifestRequest.ProtoReflect.Descriptor instead.
1409func (*GenerateConnectManifestRequest) Descriptor() ([]byte, []int) {
1410	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{14}
1411}
1412
1413func (x *GenerateConnectManifestRequest) GetName() string {
1414	if x != nil {
1415		return x.Name
1416	}
1417	return ""
1418}
1419
1420func (x *GenerateConnectManifestRequest) GetNamespace() string {
1421	if x != nil {
1422		return x.Namespace
1423	}
1424	return ""
1425}
1426
1427func (x *GenerateConnectManifestRequest) GetProxy() []byte {
1428	if x != nil {
1429		return x.Proxy
1430	}
1431	return nil
1432}
1433
1434func (x *GenerateConnectManifestRequest) GetVersion() string {
1435	if x != nil {
1436		return x.Version
1437	}
1438	return ""
1439}
1440
1441func (x *GenerateConnectManifestRequest) GetIsUpgrade() bool {
1442	if x != nil {
1443		return x.IsUpgrade
1444	}
1445	return false
1446}
1447
1448func (x *GenerateConnectManifestRequest) GetRegistry() string {
1449	if x != nil {
1450		return x.Registry
1451	}
1452	return ""
1453}
1454
1455func (x *GenerateConnectManifestRequest) GetImagePullSecretContent() []byte {
1456	if x != nil {
1457		return x.ImagePullSecretContent
1458	}
1459	return nil
1460}
1461
1462// GenerateConnectManifestResponse contains manifest information for
1463// installing/upgrading a Connect agent.
1464type GenerateConnectManifestResponse struct {
1465	state         protoimpl.MessageState
1466	sizeCache     protoimpl.SizeCache
1467	unknownFields protoimpl.UnknownFields
1468
1469	// The ordered list of Kubernetes resources that need to be applied to the
1470	// cluster for GKE Connect agent installation/upgrade.
1471	Manifest []*ConnectAgentResource `protobuf:"bytes,1,rep,name=manifest,proto3" json:"manifest,omitempty"`
1472}
1473
1474func (x *GenerateConnectManifestResponse) Reset() {
1475	*x = GenerateConnectManifestResponse{}
1476	if protoimpl.UnsafeEnabled {
1477		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[15]
1478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1479		ms.StoreMessageInfo(mi)
1480	}
1481}
1482
1483func (x *GenerateConnectManifestResponse) String() string {
1484	return protoimpl.X.MessageStringOf(x)
1485}
1486
1487func (*GenerateConnectManifestResponse) ProtoMessage() {}
1488
1489func (x *GenerateConnectManifestResponse) ProtoReflect() protoreflect.Message {
1490	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[15]
1491	if protoimpl.UnsafeEnabled && x != nil {
1492		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1493		if ms.LoadMessageInfo() == nil {
1494			ms.StoreMessageInfo(mi)
1495		}
1496		return ms
1497	}
1498	return mi.MessageOf(x)
1499}
1500
1501// Deprecated: Use GenerateConnectManifestResponse.ProtoReflect.Descriptor instead.
1502func (*GenerateConnectManifestResponse) Descriptor() ([]byte, []int) {
1503	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{15}
1504}
1505
1506func (x *GenerateConnectManifestResponse) GetManifest() []*ConnectAgentResource {
1507	if x != nil {
1508		return x.Manifest
1509	}
1510	return nil
1511}
1512
1513// ConnectAgentResource represents a Kubernetes resource manifest for Connect
1514// Agent deployment.
1515type ConnectAgentResource struct {
1516	state         protoimpl.MessageState
1517	sizeCache     protoimpl.SizeCache
1518	unknownFields protoimpl.UnknownFields
1519
1520	// Kubernetes type of the resource.
1521	Type *TypeMeta `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
1522	// YAML manifest of the resource.
1523	Manifest string `protobuf:"bytes,2,opt,name=manifest,proto3" json:"manifest,omitempty"`
1524}
1525
1526func (x *ConnectAgentResource) Reset() {
1527	*x = ConnectAgentResource{}
1528	if protoimpl.UnsafeEnabled {
1529		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[16]
1530		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1531		ms.StoreMessageInfo(mi)
1532	}
1533}
1534
1535func (x *ConnectAgentResource) String() string {
1536	return protoimpl.X.MessageStringOf(x)
1537}
1538
1539func (*ConnectAgentResource) ProtoMessage() {}
1540
1541func (x *ConnectAgentResource) ProtoReflect() protoreflect.Message {
1542	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[16]
1543	if protoimpl.UnsafeEnabled && x != nil {
1544		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1545		if ms.LoadMessageInfo() == nil {
1546			ms.StoreMessageInfo(mi)
1547		}
1548		return ms
1549	}
1550	return mi.MessageOf(x)
1551}
1552
1553// Deprecated: Use ConnectAgentResource.ProtoReflect.Descriptor instead.
1554func (*ConnectAgentResource) Descriptor() ([]byte, []int) {
1555	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{16}
1556}
1557
1558func (x *ConnectAgentResource) GetType() *TypeMeta {
1559	if x != nil {
1560		return x.Type
1561	}
1562	return nil
1563}
1564
1565func (x *ConnectAgentResource) GetManifest() string {
1566	if x != nil {
1567		return x.Manifest
1568	}
1569	return ""
1570}
1571
1572// ResourceManifest represents a single Kubernetes resource to be applied to
1573// the cluster.
1574type ResourceManifest struct {
1575	state         protoimpl.MessageState
1576	sizeCache     protoimpl.SizeCache
1577	unknownFields protoimpl.UnknownFields
1578
1579	// YAML manifest of the resource.
1580	Manifest string `protobuf:"bytes,1,opt,name=manifest,proto3" json:"manifest,omitempty"`
1581	// Whether the resource provided in the manifest is `cluster_scoped`.
1582	// If unset, the manifest is assumed to be namespace scoped.
1583	//
1584	// This field is used for REST mapping when applying the resource in a
1585	// cluster.
1586	ClusterScoped bool `protobuf:"varint,2,opt,name=cluster_scoped,json=clusterScoped,proto3" json:"cluster_scoped,omitempty"`
1587}
1588
1589func (x *ResourceManifest) Reset() {
1590	*x = ResourceManifest{}
1591	if protoimpl.UnsafeEnabled {
1592		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[17]
1593		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1594		ms.StoreMessageInfo(mi)
1595	}
1596}
1597
1598func (x *ResourceManifest) String() string {
1599	return protoimpl.X.MessageStringOf(x)
1600}
1601
1602func (*ResourceManifest) ProtoMessage() {}
1603
1604func (x *ResourceManifest) ProtoReflect() protoreflect.Message {
1605	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[17]
1606	if protoimpl.UnsafeEnabled && x != nil {
1607		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1608		if ms.LoadMessageInfo() == nil {
1609			ms.StoreMessageInfo(mi)
1610		}
1611		return ms
1612	}
1613	return mi.MessageOf(x)
1614}
1615
1616// Deprecated: Use ResourceManifest.ProtoReflect.Descriptor instead.
1617func (*ResourceManifest) Descriptor() ([]byte, []int) {
1618	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{17}
1619}
1620
1621func (x *ResourceManifest) GetManifest() string {
1622	if x != nil {
1623		return x.Manifest
1624	}
1625	return ""
1626}
1627
1628func (x *ResourceManifest) GetClusterScoped() bool {
1629	if x != nil {
1630		return x.ClusterScoped
1631	}
1632	return false
1633}
1634
1635// TypeMeta is the type information needed for content unmarshalling of
1636// Kubernetes resources in the manifest.
1637type TypeMeta struct {
1638	state         protoimpl.MessageState
1639	sizeCache     protoimpl.SizeCache
1640	unknownFields protoimpl.UnknownFields
1641
1642	// Kind of the resource (e.g. Deployment).
1643	Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
1644	// APIVersion of the resource (e.g. v1).
1645	ApiVersion string `protobuf:"bytes,2,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
1646}
1647
1648func (x *TypeMeta) Reset() {
1649	*x = TypeMeta{}
1650	if protoimpl.UnsafeEnabled {
1651		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[18]
1652		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1653		ms.StoreMessageInfo(mi)
1654	}
1655}
1656
1657func (x *TypeMeta) String() string {
1658	return protoimpl.X.MessageStringOf(x)
1659}
1660
1661func (*TypeMeta) ProtoMessage() {}
1662
1663func (x *TypeMeta) ProtoReflect() protoreflect.Message {
1664	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[18]
1665	if protoimpl.UnsafeEnabled && x != nil {
1666		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1667		if ms.LoadMessageInfo() == nil {
1668			ms.StoreMessageInfo(mi)
1669		}
1670		return ms
1671	}
1672	return mi.MessageOf(x)
1673}
1674
1675// Deprecated: Use TypeMeta.ProtoReflect.Descriptor instead.
1676func (*TypeMeta) Descriptor() ([]byte, []int) {
1677	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{18}
1678}
1679
1680func (x *TypeMeta) GetKind() string {
1681	if x != nil {
1682		return x.Kind
1683	}
1684	return ""
1685}
1686
1687func (x *TypeMeta) GetApiVersion() string {
1688	if x != nil {
1689		return x.ApiVersion
1690	}
1691	return ""
1692}
1693
1694// Request message for the InitializeHub method.
1695type InitializeHubRequest struct {
1696	state         protoimpl.MessageState
1697	sizeCache     protoimpl.SizeCache
1698	unknownFields protoimpl.UnknownFields
1699
1700	// Required. The Hub to initialize, in the format
1701	// `projects/*/locations/*/memberships/*`.
1702	Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
1703}
1704
1705func (x *InitializeHubRequest) Reset() {
1706	*x = InitializeHubRequest{}
1707	if protoimpl.UnsafeEnabled {
1708		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[19]
1709		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1710		ms.StoreMessageInfo(mi)
1711	}
1712}
1713
1714func (x *InitializeHubRequest) String() string {
1715	return protoimpl.X.MessageStringOf(x)
1716}
1717
1718func (*InitializeHubRequest) ProtoMessage() {}
1719
1720func (x *InitializeHubRequest) ProtoReflect() protoreflect.Message {
1721	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[19]
1722	if protoimpl.UnsafeEnabled && x != nil {
1723		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1724		if ms.LoadMessageInfo() == nil {
1725			ms.StoreMessageInfo(mi)
1726		}
1727		return ms
1728	}
1729	return mi.MessageOf(x)
1730}
1731
1732// Deprecated: Use InitializeHubRequest.ProtoReflect.Descriptor instead.
1733func (*InitializeHubRequest) Descriptor() ([]byte, []int) {
1734	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{19}
1735}
1736
1737func (x *InitializeHubRequest) GetProject() string {
1738	if x != nil {
1739		return x.Project
1740	}
1741	return ""
1742}
1743
1744// Response message for the InitializeHub method.
1745type InitializeHubResponse struct {
1746	state         protoimpl.MessageState
1747	sizeCache     protoimpl.SizeCache
1748	unknownFields protoimpl.UnknownFields
1749
1750	// Name of the Hub default service identity, in the format:
1751	//
1752	//     service-<project-number>@gcp-sa-gkehub.iam.gserviceaccount.com
1753	//
1754	// The service account has `roles/gkehub.serviceAgent` in the Hub project.
1755	ServiceIdentity string `protobuf:"bytes,1,opt,name=service_identity,json=serviceIdentity,proto3" json:"service_identity,omitempty"`
1756	// The Workload Identity Pool used for Workload Identity-enabled clusters
1757	// registered with this Hub. Format: `<project-id>.hub.id.goog`
1758	WorkloadIdentityPool string `protobuf:"bytes,2,opt,name=workload_identity_pool,json=workloadIdentityPool,proto3" json:"workload_identity_pool,omitempty"`
1759}
1760
1761func (x *InitializeHubResponse) Reset() {
1762	*x = InitializeHubResponse{}
1763	if protoimpl.UnsafeEnabled {
1764		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[20]
1765		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1766		ms.StoreMessageInfo(mi)
1767	}
1768}
1769
1770func (x *InitializeHubResponse) String() string {
1771	return protoimpl.X.MessageStringOf(x)
1772}
1773
1774func (*InitializeHubResponse) ProtoMessage() {}
1775
1776func (x *InitializeHubResponse) ProtoReflect() protoreflect.Message {
1777	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[20]
1778	if protoimpl.UnsafeEnabled && x != nil {
1779		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1780		if ms.LoadMessageInfo() == nil {
1781			ms.StoreMessageInfo(mi)
1782		}
1783		return ms
1784	}
1785	return mi.MessageOf(x)
1786}
1787
1788// Deprecated: Use InitializeHubResponse.ProtoReflect.Descriptor instead.
1789func (*InitializeHubResponse) Descriptor() ([]byte, []int) {
1790	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{20}
1791}
1792
1793func (x *InitializeHubResponse) GetServiceIdentity() string {
1794	if x != nil {
1795		return x.ServiceIdentity
1796	}
1797	return ""
1798}
1799
1800func (x *InitializeHubResponse) GetWorkloadIdentityPool() string {
1801	if x != nil {
1802		return x.WorkloadIdentityPool
1803	}
1804	return ""
1805}
1806
1807// Represents the metadata of the long-running operation.
1808type OperationMetadata struct {
1809	state         protoimpl.MessageState
1810	sizeCache     protoimpl.SizeCache
1811	unknownFields protoimpl.UnknownFields
1812
1813	// Output only. The time the operation was created.
1814	CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
1815	// Output only. The time the operation finished running.
1816	EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
1817	// Output only. Server-defined resource path for the target of the operation.
1818	Target string `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
1819	// Output only. Name of the verb executed by the operation.
1820	Verb string `protobuf:"bytes,4,opt,name=verb,proto3" json:"verb,omitempty"`
1821	// Output only. Human-readable status of the operation, if any.
1822	StatusDetail string `protobuf:"bytes,5,opt,name=status_detail,json=statusDetail,proto3" json:"status_detail,omitempty"`
1823	// Output only. Identifies whether the user has requested cancellation
1824	// of the operation. Operations that have successfully been cancelled
1825	// have [Operation.error][] value with a [google.rpc.Status.code][google.rpc.Status.code] of 1,
1826	// corresponding to `Code.CANCELLED`.
1827	CancelRequested bool `protobuf:"varint,6,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"`
1828	// Output only. API version used to start the operation.
1829	ApiVersion string `protobuf:"bytes,7,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty"`
1830}
1831
1832func (x *OperationMetadata) Reset() {
1833	*x = OperationMetadata{}
1834	if protoimpl.UnsafeEnabled {
1835		mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[21]
1836		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1837		ms.StoreMessageInfo(mi)
1838	}
1839}
1840
1841func (x *OperationMetadata) String() string {
1842	return protoimpl.X.MessageStringOf(x)
1843}
1844
1845func (*OperationMetadata) ProtoMessage() {}
1846
1847func (x *OperationMetadata) ProtoReflect() protoreflect.Message {
1848	mi := &file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[21]
1849	if protoimpl.UnsafeEnabled && x != nil {
1850		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1851		if ms.LoadMessageInfo() == nil {
1852			ms.StoreMessageInfo(mi)
1853		}
1854		return ms
1855	}
1856	return mi.MessageOf(x)
1857}
1858
1859// Deprecated: Use OperationMetadata.ProtoReflect.Descriptor instead.
1860func (*OperationMetadata) Descriptor() ([]byte, []int) {
1861	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP(), []int{21}
1862}
1863
1864func (x *OperationMetadata) GetCreateTime() *timestamppb.Timestamp {
1865	if x != nil {
1866		return x.CreateTime
1867	}
1868	return nil
1869}
1870
1871func (x *OperationMetadata) GetEndTime() *timestamppb.Timestamp {
1872	if x != nil {
1873		return x.EndTime
1874	}
1875	return nil
1876}
1877
1878func (x *OperationMetadata) GetTarget() string {
1879	if x != nil {
1880		return x.Target
1881	}
1882	return ""
1883}
1884
1885func (x *OperationMetadata) GetVerb() string {
1886	if x != nil {
1887		return x.Verb
1888	}
1889	return ""
1890}
1891
1892func (x *OperationMetadata) GetStatusDetail() string {
1893	if x != nil {
1894		return x.StatusDetail
1895	}
1896	return ""
1897}
1898
1899func (x *OperationMetadata) GetCancelRequested() bool {
1900	if x != nil {
1901		return x.CancelRequested
1902	}
1903	return false
1904}
1905
1906func (x *OperationMetadata) GetApiVersion() string {
1907	if x != nil {
1908		return x.ApiVersion
1909	}
1910	return ""
1911}
1912
1913var File_google_cloud_gkehub_v1alpha2_membership_proto protoreflect.FileDescriptor
1914
1915var file_google_cloud_gkehub_v1alpha2_membership_proto_rawDesc = []byte{
1916	0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x67,
1917	0x6b, 0x65, 0x68, 0x75, 0x62, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2f, 0x6d,
1918	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
1919	0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b,
1920	0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x1a, 0x1c, 0x67,
1921	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
1922	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
1923	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70,
1924	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
1925	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
1926	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
1927	0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1928	0x1a, 0x23, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e,
1929	0x6e, 0x69, 0x6e, 0x67, 0x2f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e,
1930	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
1931	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73,
1932	0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
1933	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
1934	0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe3, 0x08, 0x0a, 0x0a, 0x4d, 0x65, 0x6d,
1935	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
1936	0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
1937	0x12, 0x51, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
1938	0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e,
1939	0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e,
1940	0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c,
1941	0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62,
1942	0x65, 0x6c, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
1943	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x64,
1944	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x08, 0x65, 0x6e,
1945	0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
1946	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68,
1947	0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x62,
1948	0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x42, 0x03,
1949	0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12,
1950	0x48, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d,
1951	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b,
1952	0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x65,
1953	0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0,
1954	0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65,
1955	0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
1956	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1957	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
1958	0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75,
1959	0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b,
1960	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1961	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
1962	0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a,
1963	0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01,
1964	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1965	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
1966	0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
1967	0x24, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x09,
1968	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72,
1969	0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x4a, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69,
1970	0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1971	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76,
1972	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
1973	0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74,
1974	0x79, 0x12, 0x51, 0x0a, 0x14, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63,
1975	0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
1976	0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
1977	0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03,
1978	0x52, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
1979	0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69,
1980	0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x75, 0x6e,
1981	0x69, 0x71, 0x75, 0x65, 0x49, 0x64, 0x12, 0x71, 0x0a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73,
1982	0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20,
1983	0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
1984	0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
1985	0x61, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x2e, 0x49, 0x6e,
1986	0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65,
1987	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72, 0x75,
1988	0x63, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62,
1989	0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18,
1990	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61,
1991	0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
1992	0x3a, 0x02, 0x38, 0x01, 0x22, 0x57, 0x0a, 0x12, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, 0x72,
1993	0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4e,
1994	0x46, 0x52, 0x41, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x55, 0x52, 0x45, 0x5f, 0x54, 0x59, 0x50,
1995	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
1996	0x0b, 0x0a, 0x07, 0x4f, 0x4e, 0x5f, 0x50, 0x52, 0x45, 0x4d, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b,
1997	0x4d, 0x55, 0x4c, 0x54, 0x49, 0x5f, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x02, 0x3a, 0x67, 0xea,
1998	0x41, 0x64, 0x0a, 0x20, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1999	0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72,
2000	0x73, 0x68, 0x69, 0x70, 0x12, 0x40, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b,
2001	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
2002	0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6d, 0x65,
2003	0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x6d, 0x62, 0x65,
2004	0x72, 0x73, 0x68, 0x69, 0x70, 0x7d, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xb4,
2005	0x02, 0x0a, 0x12, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x45, 0x6e, 0x64,
2006	0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x4e, 0x0a, 0x0b, 0x67, 0x6b, 0x65, 0x5f, 0x63, 0x6c, 0x75,
2007	0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f,
2008	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62,
2009	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x47, 0x6b, 0x65, 0x43, 0x6c, 0x75,
2010	0x73, 0x74, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x67, 0x6b, 0x65, 0x43, 0x6c,
2011	0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x66, 0x0a, 0x13, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65,
2012	0x74, 0x65, 0x73, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01,
2013	0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2014	0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
2015	0x32, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61,
2016	0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72,
2017	0x6e, 0x65, 0x74, 0x65, 0x73, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x66, 0x0a,
2018	0x13, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f,
2019	0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f,
2020	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62,
2021	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e,
2022	0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41,
2023	0x01, 0x52, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73,
2024	0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xf8, 0x02, 0x0a, 0x12, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e,
2025	0x65, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x16,
2026	0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x63, 0x72, 0x5f, 0x6d, 0x61,
2027	0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2028	0x04, 0x52, 0x14, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x43, 0x72, 0x4d,
2029	0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x14, 0x6d, 0x65, 0x6d, 0x62, 0x65,
2030	0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18,
2031	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2032	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c,
2033	0x70, 0x68, 0x61, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e,
2034	0x69, 0x66, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x13, 0x6d, 0x65, 0x6d, 0x62,
2035	0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12,
2036	0x60, 0x0a, 0x11, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75,
2037	0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f,
2038	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62,
2039	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
2040	0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
2041	0x10, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
2042	0x73, 0x12, 0x5d, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x70,
2043	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f,
2044	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75,
2045	0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75,
2046	0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
2047	0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2048	0x22, 0x65, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69,
2049	0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x76,
2050	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2051	0x01, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
2052	0x6e, 0x12, 0x24, 0x0a, 0x0b, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x5f, 0x63, 0x72, 0x64,
2053	0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x76, 0x31, 0x62,
2054	0x65, 0x74, 0x61, 0x31, 0x43, 0x72, 0x64, 0x22, 0x36, 0x0a, 0x0a, 0x47, 0x6b, 0x65, 0x43, 0x6c,
2055	0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
2056	0x65, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
2057	0x05, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x69, 0x6e, 0x6b, 0x22,
2058	0xb7, 0x02, 0x0a, 0x12, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x4d, 0x65,
2059	0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x1d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e,
2060	0x65, 0x74, 0x65, 0x73, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f,
2061	0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2062	0x41, 0x03, 0x52, 0x1a, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x41, 0x70,
2063	0x69, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d,
2064	0x0a, 0x10, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x5f,
2065	0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6e,
2066	0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x22, 0x0a,
2067	0x0a, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
2068	0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x43, 0x6f, 0x75, 0x6e,
2069	0x74, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x63, 0x70, 0x75, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18,
2070	0x04, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x76, 0x63, 0x70, 0x75,
2071	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f,
2072	0x6d, 0x62, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x6d,
2073	0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4d, 0x62, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
2074	0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
2075	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
2076	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
2077	0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xb7, 0x01, 0x0a, 0x09, 0x41, 0x75,
2078	0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65,
2079	0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x69, 0x73,
2080	0x73, 0x75, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x09, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x6a, 0x77, 0x6b,
2081	0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6f, 0x69,
2082	0x64, 0x63, 0x4a, 0x77, 0x6b, 0x73, 0x12, 0x30, 0x0a, 0x11, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69,
2083	0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
2084	0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
2085	0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x39, 0x0a, 0x16, 0x77, 0x6f, 0x72, 0x6b,
2086	0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f,
2087	0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x77,
2088	0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x50,
2089	0x6f, 0x6f, 0x6c, 0x22, 0xc7, 0x01, 0x0a, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2090	0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4b, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18,
2091	0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
2092	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c,
2093	0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53,
2094	0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04,
2095	0x63, 0x6f, 0x64, 0x65, 0x22, 0x67, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10,
2096	0x43, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
2097	0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x43, 0x52, 0x45, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x01,
2098	0x12, 0x09, 0x0a, 0x05, 0x52, 0x45, 0x41, 0x44, 0x59, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x44,
2099	0x45, 0x4c, 0x45, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x55, 0x50, 0x44,
2100	0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x49,
2101	0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05, 0x22, 0xdd, 0x01,
2102	0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,
2103	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65,
2104	0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22,
2105	0x12, 0x20, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
2106	0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2107	0x69, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61,
2108	0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0,
2109	0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a,
2110	0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
2111	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
2112	0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
2113	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a,
2114	0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42,
2115	0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xab, 0x01,
2116	0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,
2117	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x72, 0x65, 0x73,
2118	0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67,
2119	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68,
2120	0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x62,
2121	0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
2122	0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74,
2123	0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74,
2124	0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x75, 0x6e, 0x72,
2125	0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0b,
2126	0x75, 0x6e, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x54, 0x0a, 0x14, 0x47,
2127	0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75,
2128	0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
2129	0x09, 0x42, 0x28, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x67, 0x6b, 0x65, 0x68, 0x75,
2130	0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2131	0x2f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d,
2132	0x65, 0x22, 0xd0, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62,
2133	0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a,
2134	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0,
2135	0x41, 0x02, 0xfa, 0x41, 0x22, 0x12, 0x20, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f,
2136	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x6d,
2137	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12,
2138	0x28, 0x0a, 0x0d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x69, 0x64,
2139	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x65, 0x6d,
2140	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x49, 0x64, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65, 0x73,
2141	0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f,
2142	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75,
2143	0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65,
2144	0x72, 0x73, 0x68, 0x69, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f,
2145	0x75, 0x72, 0x63, 0x65, 0x22, 0x57, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x65,
2146	0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
2147	0x3c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xe0,
2148	0x41, 0x02, 0xfa, 0x41, 0x22, 0x0a, 0x20, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f,
2149	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, 0x65, 0x6d,
2150	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xbf, 0x01,
2151	0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2152	0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
2153	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61,
2154	0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73,
2155	0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2156	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d,
2157	0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
2158	0x4d, 0x61, 0x73, 0x6b, 0x12, 0x49, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
2159	0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2160	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61,
2161	0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,
2162	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22,
2163	0x9b, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e,
2164	0x65, 0x63, 0x74, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
2165	0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2166	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x6e,
2167	0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
2168	0xe0, 0x41, 0x01, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x19,
2169	0x0a, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0,
2170	0x41, 0x01, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72,
2171	0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
2172	0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x75,
2173	0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41,
2174	0x01, 0x52, 0x09, 0x69, 0x73, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x1f, 0x0a, 0x08,
2175	0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
2176	0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x12, 0x3e, 0x0a,
2177	0x19, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x75, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x72,
2178	0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c,
2179	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, 0x6c, 0x6c,
2180	0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x71, 0x0a,
2181	0x1f, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
2182	0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2183	0x12, 0x4e, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03,
2184	0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2185	0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
2186	0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65,
2187	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
2188	0x22, 0x6e, 0x0a, 0x14, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74,
2189	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65,
2190	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2191	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61,
2192	0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x04,
2193	0x74, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
2194	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
2195	0x22, 0x55, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x61, 0x6e, 0x69,
2196	0x66, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
2197	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74,
2198	0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x63, 0x6f, 0x70,
2199	0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
2200	0x72, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x22, 0x3f, 0x0a, 0x08, 0x54, 0x79, 0x70, 0x65, 0x4d,
2201	0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
2202	0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76,
2203	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70,
2204	0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x35, 0x0a, 0x14, 0x49, 0x6e, 0x69, 0x74,
2205	0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2206	0x12, 0x1d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
2207	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22,
2208	0x78, 0x0a, 0x15, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x75, 0x62,
2209	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x73, 0x65, 0x72, 0x76,
2210	0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
2211	0x28, 0x09, 0x52, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74,
2212	0x69, 0x74, 0x79, 0x12, 0x34, 0x0a, 0x16, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
2213	0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x18, 0x02, 0x20,
2214	0x01, 0x28, 0x09, 0x52, 0x14, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x65,
2215	0x6e, 0x74, 0x69, 0x74, 0x79, 0x50, 0x6f, 0x6f, 0x6c, 0x22, 0xc7, 0x02, 0x0a, 0x11, 0x4f, 0x70,
2216	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12,
2217	0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01,
2218	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
2219	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
2220	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
2221	0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20,
2222	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
2223	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
2224	0x03, 0xe0, 0x41, 0x03, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
2225	0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
2226	0x41, 0x03, 0x52, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x76, 0x65,
2227	0x72, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x76,
2228	0x65, 0x72, 0x62, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x64, 0x65,
2229	0x74, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
2230	0x0c, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x2e, 0x0a,
2231	0x10, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65,
2232	0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x63, 0x61,
2233	0x6e, 0x63, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x24, 0x0a,
2234	0x0b, 0x61, 0x70, 0x69, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01,
2235	0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73,
2236	0x69, 0x6f, 0x6e, 0x32, 0xdb, 0x0c, 0x0a, 0x06, 0x47, 0x6b, 0x65, 0x48, 0x75, 0x62, 0x12, 0xc6,
2237	0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69,
2238	0x70, 0x73, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2239	0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
2240	0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,
2241	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2242	0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76,
2243	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x62,
2244	0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
2245	0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
2246	0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65,
2247	0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f,
2248	0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0xda, 0x41,
2249	0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0xb3, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x4d,
2250	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2251	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e,
2252	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x6d, 0x62,
2253	0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e,
2254	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65,
2255	0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x4d, 0x65, 0x6d,
2256	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12,
2257	0x35, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65,
2258	0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61,
2259	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2260	0x69, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0xf4, 0x01,
2261	0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2262	0x69, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
2263	0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
2264	0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2265	0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2266	0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f,
2267	0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x89, 0x01, 0x82, 0xd3, 0xe4, 0x93, 0x02,
2268	0x41, 0x22, 0x35, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x61,
2269	0x72, 0x65, 0x6e, 0x74, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f,
2270	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x2f, 0x6d, 0x65, 0x6d,
2271	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x3a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
2272	0x63, 0x65, 0xda, 0x41, 0x1d, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x72, 0x65, 0x73, 0x6f,
2273	0x75, 0x72, 0x63, 0x65, 0x2c, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f,
2274	0x69, 0x64, 0xca, 0x41, 0x1f, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69,
2275	0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61,
2276	0x64, 0x61, 0x74, 0x61, 0x12, 0xdb, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
2277	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2278	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e,
2279	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d,
2280	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
2281	0x1a, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75,
2282	0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22,
2283	0x71, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x2a, 0x35, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
2284	0x61, 0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
2285	0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f,
2286	0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0xda, 0x41,
2287	0x04, 0x6e, 0x61, 0x6d, 0x65, 0xca, 0x41, 0x2a, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2288	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12,
2289	0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
2290	0x74, 0x61, 0x12, 0xf0, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d,
2291	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x12, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2292	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31,
2293	0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x6d,
2294	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
2295	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x6c, 0x6f, 0x6e, 0x67, 0x72, 0x75, 0x6e, 0x6e,
2296	0x69, 0x6e, 0x67, 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x85, 0x01,
2297	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x32, 0x35, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
2298	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2299	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d,
2300	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x08, 0x72,
2301	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xda, 0x41, 0x19, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x72,
2302	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d,
2303	0x61, 0x73, 0x6b, 0xca, 0x41, 0x1f, 0x0a, 0x0a, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2304	0x69, 0x70, 0x12, 0x11, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74,
2305	0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xed, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
2306	0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73,
2307	0x74, 0x12, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
2308	0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32,
2309	0x2e, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
2310	0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
2311	0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67,
2312	0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x47,
2313	0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61,
2314	0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x55,
2315	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
2316	0x32, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73,
2317	0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x2f, 0x6d,
2318	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x67, 0x65,
2319	0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x6e,
2320	0x69, 0x66, 0x65, 0x73, 0x74, 0x12, 0xce, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61,
2321	0x6c, 0x69, 0x7a, 0x65, 0x48, 0x75, 0x62, 0x12, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2322	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31,
2323	0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a,
2324	0x65, 0x48, 0x75, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x67, 0x6f,
2325	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75,
2326	0x62, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69,
2327	0x61, 0x6c, 0x69, 0x7a, 0x65, 0x48, 0x75, 0x62, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
2328	0x22, 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x22, 0x49, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
2329	0x68, 0x61, 0x32, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x3d, 0x70, 0x72, 0x6f,
2330	0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2331	0x73, 0x2f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
2332	0x68, 0x69, 0x70, 0x73, 0x7d, 0x3a, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65,
2333	0x48, 0x75, 0x62, 0x3a, 0x01, 0x2a, 0x1a, 0x49, 0xca, 0x41, 0x15, 0x67, 0x6b, 0x65, 0x68, 0x75,
2334	0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2335	0xd2, 0x41, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
2336	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
2337	0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
2338	0x6d, 0x42, 0xd9, 0x01, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2339	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31,
2340	0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x42, 0x0f, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
2341	0x69, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2342	0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
2343	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
2344	0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2f, 0x76, 0x31,
2345	0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x3b, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0xaa, 0x02, 0x1c,
2346	0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x47, 0x6b, 0x65,
2347	0x48, 0x75, 0x62, 0x2e, 0x56, 0x31, 0x41, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xca, 0x02, 0x1c, 0x47,
2348	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x47, 0x6b, 0x65, 0x48,
2349	0x75, 0x62, 0x5c, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0xea, 0x02, 0x1f, 0x47, 0x6f,
2350	0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x47, 0x6b, 0x65,
2351	0x48, 0x75, 0x62, 0x3a, 0x3a, 0x56, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x32, 0x62, 0x06, 0x70,
2352	0x72, 0x6f, 0x74, 0x6f, 0x33,
2353}
2354
2355var (
2356	file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescOnce sync.Once
2357	file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescData = file_google_cloud_gkehub_v1alpha2_membership_proto_rawDesc
2358)
2359
2360func file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescGZIP() []byte {
2361	file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescOnce.Do(func() {
2362		file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescData)
2363	})
2364	return file_google_cloud_gkehub_v1alpha2_membership_proto_rawDescData
2365}
2366
2367var file_google_cloud_gkehub_v1alpha2_membership_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
2368var file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
2369var file_google_cloud_gkehub_v1alpha2_membership_proto_goTypes = []interface{}{
2370	(Membership_InfrastructureType)(0),      // 0: google.cloud.gkehub.v1alpha2.Membership.InfrastructureType
2371	(MembershipState_Code)(0),               // 1: google.cloud.gkehub.v1alpha2.MembershipState.Code
2372	(*Membership)(nil),                      // 2: google.cloud.gkehub.v1alpha2.Membership
2373	(*MembershipEndpoint)(nil),              // 3: google.cloud.gkehub.v1alpha2.MembershipEndpoint
2374	(*KubernetesResource)(nil),              // 4: google.cloud.gkehub.v1alpha2.KubernetesResource
2375	(*ResourceOptions)(nil),                 // 5: google.cloud.gkehub.v1alpha2.ResourceOptions
2376	(*GkeCluster)(nil),                      // 6: google.cloud.gkehub.v1alpha2.GkeCluster
2377	(*KubernetesMetadata)(nil),              // 7: google.cloud.gkehub.v1alpha2.KubernetesMetadata
2378	(*Authority)(nil),                       // 8: google.cloud.gkehub.v1alpha2.Authority
2379	(*MembershipState)(nil),                 // 9: google.cloud.gkehub.v1alpha2.MembershipState
2380	(*ListMembershipsRequest)(nil),          // 10: google.cloud.gkehub.v1alpha2.ListMembershipsRequest
2381	(*ListMembershipsResponse)(nil),         // 11: google.cloud.gkehub.v1alpha2.ListMembershipsResponse
2382	(*GetMembershipRequest)(nil),            // 12: google.cloud.gkehub.v1alpha2.GetMembershipRequest
2383	(*CreateMembershipRequest)(nil),         // 13: google.cloud.gkehub.v1alpha2.CreateMembershipRequest
2384	(*DeleteMembershipRequest)(nil),         // 14: google.cloud.gkehub.v1alpha2.DeleteMembershipRequest
2385	(*UpdateMembershipRequest)(nil),         // 15: google.cloud.gkehub.v1alpha2.UpdateMembershipRequest
2386	(*GenerateConnectManifestRequest)(nil),  // 16: google.cloud.gkehub.v1alpha2.GenerateConnectManifestRequest
2387	(*GenerateConnectManifestResponse)(nil), // 17: google.cloud.gkehub.v1alpha2.GenerateConnectManifestResponse
2388	(*ConnectAgentResource)(nil),            // 18: google.cloud.gkehub.v1alpha2.ConnectAgentResource
2389	(*ResourceManifest)(nil),                // 19: google.cloud.gkehub.v1alpha2.ResourceManifest
2390	(*TypeMeta)(nil),                        // 20: google.cloud.gkehub.v1alpha2.TypeMeta
2391	(*InitializeHubRequest)(nil),            // 21: google.cloud.gkehub.v1alpha2.InitializeHubRequest
2392	(*InitializeHubResponse)(nil),           // 22: google.cloud.gkehub.v1alpha2.InitializeHubResponse
2393	(*OperationMetadata)(nil),               // 23: google.cloud.gkehub.v1alpha2.OperationMetadata
2394	nil,                                     // 24: google.cloud.gkehub.v1alpha2.Membership.LabelsEntry
2395	(*timestamppb.Timestamp)(nil),           // 25: google.protobuf.Timestamp
2396	(*fieldmaskpb.FieldMask)(nil),           // 26: google.protobuf.FieldMask
2397	(*longrunning.Operation)(nil),           // 27: google.longrunning.Operation
2398}
2399var file_google_cloud_gkehub_v1alpha2_membership_proto_depIdxs = []int32{
2400	24, // 0: google.cloud.gkehub.v1alpha2.Membership.labels:type_name -> google.cloud.gkehub.v1alpha2.Membership.LabelsEntry
2401	3,  // 1: google.cloud.gkehub.v1alpha2.Membership.endpoint:type_name -> google.cloud.gkehub.v1alpha2.MembershipEndpoint
2402	9,  // 2: google.cloud.gkehub.v1alpha2.Membership.state:type_name -> google.cloud.gkehub.v1alpha2.MembershipState
2403	25, // 3: google.cloud.gkehub.v1alpha2.Membership.create_time:type_name -> google.protobuf.Timestamp
2404	25, // 4: google.cloud.gkehub.v1alpha2.Membership.update_time:type_name -> google.protobuf.Timestamp
2405	25, // 5: google.cloud.gkehub.v1alpha2.Membership.delete_time:type_name -> google.protobuf.Timestamp
2406	8,  // 6: google.cloud.gkehub.v1alpha2.Membership.authority:type_name -> google.cloud.gkehub.v1alpha2.Authority
2407	25, // 7: google.cloud.gkehub.v1alpha2.Membership.last_connection_time:type_name -> google.protobuf.Timestamp
2408	0,  // 8: google.cloud.gkehub.v1alpha2.Membership.infrastructure_type:type_name -> google.cloud.gkehub.v1alpha2.Membership.InfrastructureType
2409	6,  // 9: google.cloud.gkehub.v1alpha2.MembershipEndpoint.gke_cluster:type_name -> google.cloud.gkehub.v1alpha2.GkeCluster
2410	7,  // 10: google.cloud.gkehub.v1alpha2.MembershipEndpoint.kubernetes_metadata:type_name -> google.cloud.gkehub.v1alpha2.KubernetesMetadata
2411	4,  // 11: google.cloud.gkehub.v1alpha2.MembershipEndpoint.kubernetes_resource:type_name -> google.cloud.gkehub.v1alpha2.KubernetesResource
2412	19, // 12: google.cloud.gkehub.v1alpha2.KubernetesResource.membership_resources:type_name -> google.cloud.gkehub.v1alpha2.ResourceManifest
2413	19, // 13: google.cloud.gkehub.v1alpha2.KubernetesResource.connect_resources:type_name -> google.cloud.gkehub.v1alpha2.ResourceManifest
2414	5,  // 14: google.cloud.gkehub.v1alpha2.KubernetesResource.resource_options:type_name -> google.cloud.gkehub.v1alpha2.ResourceOptions
2415	25, // 15: google.cloud.gkehub.v1alpha2.KubernetesMetadata.update_time:type_name -> google.protobuf.Timestamp
2416	1,  // 16: google.cloud.gkehub.v1alpha2.MembershipState.code:type_name -> google.cloud.gkehub.v1alpha2.MembershipState.Code
2417	2,  // 17: google.cloud.gkehub.v1alpha2.ListMembershipsResponse.resources:type_name -> google.cloud.gkehub.v1alpha2.Membership
2418	2,  // 18: google.cloud.gkehub.v1alpha2.CreateMembershipRequest.resource:type_name -> google.cloud.gkehub.v1alpha2.Membership
2419	26, // 19: google.cloud.gkehub.v1alpha2.UpdateMembershipRequest.update_mask:type_name -> google.protobuf.FieldMask
2420	2,  // 20: google.cloud.gkehub.v1alpha2.UpdateMembershipRequest.resource:type_name -> google.cloud.gkehub.v1alpha2.Membership
2421	18, // 21: google.cloud.gkehub.v1alpha2.GenerateConnectManifestResponse.manifest:type_name -> google.cloud.gkehub.v1alpha2.ConnectAgentResource
2422	20, // 22: google.cloud.gkehub.v1alpha2.ConnectAgentResource.type:type_name -> google.cloud.gkehub.v1alpha2.TypeMeta
2423	25, // 23: google.cloud.gkehub.v1alpha2.OperationMetadata.create_time:type_name -> google.protobuf.Timestamp
2424	25, // 24: google.cloud.gkehub.v1alpha2.OperationMetadata.end_time:type_name -> google.protobuf.Timestamp
2425	10, // 25: google.cloud.gkehub.v1alpha2.GkeHub.ListMemberships:input_type -> google.cloud.gkehub.v1alpha2.ListMembershipsRequest
2426	12, // 26: google.cloud.gkehub.v1alpha2.GkeHub.GetMembership:input_type -> google.cloud.gkehub.v1alpha2.GetMembershipRequest
2427	13, // 27: google.cloud.gkehub.v1alpha2.GkeHub.CreateMembership:input_type -> google.cloud.gkehub.v1alpha2.CreateMembershipRequest
2428	14, // 28: google.cloud.gkehub.v1alpha2.GkeHub.DeleteMembership:input_type -> google.cloud.gkehub.v1alpha2.DeleteMembershipRequest
2429	15, // 29: google.cloud.gkehub.v1alpha2.GkeHub.UpdateMembership:input_type -> google.cloud.gkehub.v1alpha2.UpdateMembershipRequest
2430	16, // 30: google.cloud.gkehub.v1alpha2.GkeHub.GenerateConnectManifest:input_type -> google.cloud.gkehub.v1alpha2.GenerateConnectManifestRequest
2431	21, // 31: google.cloud.gkehub.v1alpha2.GkeHub.InitializeHub:input_type -> google.cloud.gkehub.v1alpha2.InitializeHubRequest
2432	11, // 32: google.cloud.gkehub.v1alpha2.GkeHub.ListMemberships:output_type -> google.cloud.gkehub.v1alpha2.ListMembershipsResponse
2433	2,  // 33: google.cloud.gkehub.v1alpha2.GkeHub.GetMembership:output_type -> google.cloud.gkehub.v1alpha2.Membership
2434	27, // 34: google.cloud.gkehub.v1alpha2.GkeHub.CreateMembership:output_type -> google.longrunning.Operation
2435	27, // 35: google.cloud.gkehub.v1alpha2.GkeHub.DeleteMembership:output_type -> google.longrunning.Operation
2436	27, // 36: google.cloud.gkehub.v1alpha2.GkeHub.UpdateMembership:output_type -> google.longrunning.Operation
2437	17, // 37: google.cloud.gkehub.v1alpha2.GkeHub.GenerateConnectManifest:output_type -> google.cloud.gkehub.v1alpha2.GenerateConnectManifestResponse
2438	22, // 38: google.cloud.gkehub.v1alpha2.GkeHub.InitializeHub:output_type -> google.cloud.gkehub.v1alpha2.InitializeHubResponse
2439	32, // [32:39] is the sub-list for method output_type
2440	25, // [25:32] is the sub-list for method input_type
2441	25, // [25:25] is the sub-list for extension type_name
2442	25, // [25:25] is the sub-list for extension extendee
2443	0,  // [0:25] is the sub-list for field type_name
2444}
2445
2446func init() { file_google_cloud_gkehub_v1alpha2_membership_proto_init() }
2447func file_google_cloud_gkehub_v1alpha2_membership_proto_init() {
2448	if File_google_cloud_gkehub_v1alpha2_membership_proto != nil {
2449		return
2450	}
2451	if !protoimpl.UnsafeEnabled {
2452		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2453			switch v := v.(*Membership); i {
2454			case 0:
2455				return &v.state
2456			case 1:
2457				return &v.sizeCache
2458			case 2:
2459				return &v.unknownFields
2460			default:
2461				return nil
2462			}
2463		}
2464		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2465			switch v := v.(*MembershipEndpoint); i {
2466			case 0:
2467				return &v.state
2468			case 1:
2469				return &v.sizeCache
2470			case 2:
2471				return &v.unknownFields
2472			default:
2473				return nil
2474			}
2475		}
2476		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2477			switch v := v.(*KubernetesResource); i {
2478			case 0:
2479				return &v.state
2480			case 1:
2481				return &v.sizeCache
2482			case 2:
2483				return &v.unknownFields
2484			default:
2485				return nil
2486			}
2487		}
2488		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2489			switch v := v.(*ResourceOptions); i {
2490			case 0:
2491				return &v.state
2492			case 1:
2493				return &v.sizeCache
2494			case 2:
2495				return &v.unknownFields
2496			default:
2497				return nil
2498			}
2499		}
2500		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2501			switch v := v.(*GkeCluster); i {
2502			case 0:
2503				return &v.state
2504			case 1:
2505				return &v.sizeCache
2506			case 2:
2507				return &v.unknownFields
2508			default:
2509				return nil
2510			}
2511		}
2512		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2513			switch v := v.(*KubernetesMetadata); i {
2514			case 0:
2515				return &v.state
2516			case 1:
2517				return &v.sizeCache
2518			case 2:
2519				return &v.unknownFields
2520			default:
2521				return nil
2522			}
2523		}
2524		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2525			switch v := v.(*Authority); i {
2526			case 0:
2527				return &v.state
2528			case 1:
2529				return &v.sizeCache
2530			case 2:
2531				return &v.unknownFields
2532			default:
2533				return nil
2534			}
2535		}
2536		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2537			switch v := v.(*MembershipState); i {
2538			case 0:
2539				return &v.state
2540			case 1:
2541				return &v.sizeCache
2542			case 2:
2543				return &v.unknownFields
2544			default:
2545				return nil
2546			}
2547		}
2548		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2549			switch v := v.(*ListMembershipsRequest); i {
2550			case 0:
2551				return &v.state
2552			case 1:
2553				return &v.sizeCache
2554			case 2:
2555				return &v.unknownFields
2556			default:
2557				return nil
2558			}
2559		}
2560		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2561			switch v := v.(*ListMembershipsResponse); i {
2562			case 0:
2563				return &v.state
2564			case 1:
2565				return &v.sizeCache
2566			case 2:
2567				return &v.unknownFields
2568			default:
2569				return nil
2570			}
2571		}
2572		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2573			switch v := v.(*GetMembershipRequest); i {
2574			case 0:
2575				return &v.state
2576			case 1:
2577				return &v.sizeCache
2578			case 2:
2579				return &v.unknownFields
2580			default:
2581				return nil
2582			}
2583		}
2584		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2585			switch v := v.(*CreateMembershipRequest); i {
2586			case 0:
2587				return &v.state
2588			case 1:
2589				return &v.sizeCache
2590			case 2:
2591				return &v.unknownFields
2592			default:
2593				return nil
2594			}
2595		}
2596		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2597			switch v := v.(*DeleteMembershipRequest); i {
2598			case 0:
2599				return &v.state
2600			case 1:
2601				return &v.sizeCache
2602			case 2:
2603				return &v.unknownFields
2604			default:
2605				return nil
2606			}
2607		}
2608		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2609			switch v := v.(*UpdateMembershipRequest); i {
2610			case 0:
2611				return &v.state
2612			case 1:
2613				return &v.sizeCache
2614			case 2:
2615				return &v.unknownFields
2616			default:
2617				return nil
2618			}
2619		}
2620		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2621			switch v := v.(*GenerateConnectManifestRequest); i {
2622			case 0:
2623				return &v.state
2624			case 1:
2625				return &v.sizeCache
2626			case 2:
2627				return &v.unknownFields
2628			default:
2629				return nil
2630			}
2631		}
2632		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2633			switch v := v.(*GenerateConnectManifestResponse); i {
2634			case 0:
2635				return &v.state
2636			case 1:
2637				return &v.sizeCache
2638			case 2:
2639				return &v.unknownFields
2640			default:
2641				return nil
2642			}
2643		}
2644		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2645			switch v := v.(*ConnectAgentResource); i {
2646			case 0:
2647				return &v.state
2648			case 1:
2649				return &v.sizeCache
2650			case 2:
2651				return &v.unknownFields
2652			default:
2653				return nil
2654			}
2655		}
2656		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2657			switch v := v.(*ResourceManifest); i {
2658			case 0:
2659				return &v.state
2660			case 1:
2661				return &v.sizeCache
2662			case 2:
2663				return &v.unknownFields
2664			default:
2665				return nil
2666			}
2667		}
2668		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2669			switch v := v.(*TypeMeta); i {
2670			case 0:
2671				return &v.state
2672			case 1:
2673				return &v.sizeCache
2674			case 2:
2675				return &v.unknownFields
2676			default:
2677				return nil
2678			}
2679		}
2680		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2681			switch v := v.(*InitializeHubRequest); i {
2682			case 0:
2683				return &v.state
2684			case 1:
2685				return &v.sizeCache
2686			case 2:
2687				return &v.unknownFields
2688			default:
2689				return nil
2690			}
2691		}
2692		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
2693			switch v := v.(*InitializeHubResponse); i {
2694			case 0:
2695				return &v.state
2696			case 1:
2697				return &v.sizeCache
2698			case 2:
2699				return &v.unknownFields
2700			default:
2701				return nil
2702			}
2703		}
2704		file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
2705			switch v := v.(*OperationMetadata); i {
2706			case 0:
2707				return &v.state
2708			case 1:
2709				return &v.sizeCache
2710			case 2:
2711				return &v.unknownFields
2712			default:
2713				return nil
2714			}
2715		}
2716	}
2717	file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes[0].OneofWrappers = []interface{}{
2718		(*Membership_Endpoint)(nil),
2719	}
2720	type x struct{}
2721	out := protoimpl.TypeBuilder{
2722		File: protoimpl.DescBuilder{
2723			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2724			RawDescriptor: file_google_cloud_gkehub_v1alpha2_membership_proto_rawDesc,
2725			NumEnums:      2,
2726			NumMessages:   23,
2727			NumExtensions: 0,
2728			NumServices:   1,
2729		},
2730		GoTypes:           file_google_cloud_gkehub_v1alpha2_membership_proto_goTypes,
2731		DependencyIndexes: file_google_cloud_gkehub_v1alpha2_membership_proto_depIdxs,
2732		EnumInfos:         file_google_cloud_gkehub_v1alpha2_membership_proto_enumTypes,
2733		MessageInfos:      file_google_cloud_gkehub_v1alpha2_membership_proto_msgTypes,
2734	}.Build()
2735	File_google_cloud_gkehub_v1alpha2_membership_proto = out.File
2736	file_google_cloud_gkehub_v1alpha2_membership_proto_rawDesc = nil
2737	file_google_cloud_gkehub_v1alpha2_membership_proto_goTypes = nil
2738	file_google_cloud_gkehub_v1alpha2_membership_proto_depIdxs = nil
2739}
2740
2741// Reference imports to suppress errors if they are not otherwise used.
2742var _ context.Context
2743var _ grpc.ClientConnInterface
2744
2745// This is a compile-time assertion to ensure that this generated file
2746// is compatible with the grpc package it is being compiled against.
2747const _ = grpc.SupportPackageIsVersion6
2748
2749// GkeHubClient is the client API for GkeHub service.
2750//
2751// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
2752type GkeHubClient interface {
2753	// Lists Memberships in a given project and location.
2754	ListMemberships(ctx context.Context, in *ListMembershipsRequest, opts ...grpc.CallOption) (*ListMembershipsResponse, error)
2755	// Gets the details of a Membership.
2756	GetMembership(ctx context.Context, in *GetMembershipRequest, opts ...grpc.CallOption) (*Membership, error)
2757	// Adds a new Membership.
2758	CreateMembership(ctx context.Context, in *CreateMembershipRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2759	// Removes a Membership.
2760	DeleteMembership(ctx context.Context, in *DeleteMembershipRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2761	// Updates an existing Membership.
2762	UpdateMembership(ctx context.Context, in *UpdateMembershipRequest, opts ...grpc.CallOption) (*longrunning.Operation, error)
2763	// Generates the manifest for deployment of the GKE connect agent.
2764	GenerateConnectManifest(ctx context.Context, in *GenerateConnectManifestRequest, opts ...grpc.CallOption) (*GenerateConnectManifestResponse, error)
2765	// Initializes the Hub in this project, which includes creating the default
2766	// Hub Service Account and the Hub Workload Identity Pool. Initialization is
2767	// optional, and happens automatically when the first Membership is created.
2768	//
2769	// InitializeHub should be called when the first Membership cannot be
2770	// registered without these resources. A common example is granting the Hub
2771	// Service Account access to another project, which requires the account to
2772	// exist first.
2773	InitializeHub(ctx context.Context, in *InitializeHubRequest, opts ...grpc.CallOption) (*InitializeHubResponse, error)
2774}
2775
2776type gkeHubClient struct {
2777	cc grpc.ClientConnInterface
2778}
2779
2780func NewGkeHubClient(cc grpc.ClientConnInterface) GkeHubClient {
2781	return &gkeHubClient{cc}
2782}
2783
2784func (c *gkeHubClient) ListMemberships(ctx context.Context, in *ListMembershipsRequest, opts ...grpc.CallOption) (*ListMembershipsResponse, error) {
2785	out := new(ListMembershipsResponse)
2786	err := c.cc.Invoke(ctx, "/google.cloud.gkehub.v1alpha2.GkeHub/ListMemberships", in, out, opts...)
2787	if err != nil {
2788		return nil, err
2789	}
2790	return out, nil
2791}
2792
2793func (c *gkeHubClient) GetMembership(ctx context.Context, in *GetMembershipRequest, opts ...grpc.CallOption) (*Membership, error) {
2794	out := new(Membership)
2795	err := c.cc.Invoke(ctx, "/google.cloud.gkehub.v1alpha2.GkeHub/GetMembership", in, out, opts...)
2796	if err != nil {
2797		return nil, err
2798	}
2799	return out, nil
2800}
2801
2802func (c *gkeHubClient) CreateMembership(ctx context.Context, in *CreateMembershipRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2803	out := new(longrunning.Operation)
2804	err := c.cc.Invoke(ctx, "/google.cloud.gkehub.v1alpha2.GkeHub/CreateMembership", in, out, opts...)
2805	if err != nil {
2806		return nil, err
2807	}
2808	return out, nil
2809}
2810
2811func (c *gkeHubClient) DeleteMembership(ctx context.Context, in *DeleteMembershipRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2812	out := new(longrunning.Operation)
2813	err := c.cc.Invoke(ctx, "/google.cloud.gkehub.v1alpha2.GkeHub/DeleteMembership", in, out, opts...)
2814	if err != nil {
2815		return nil, err
2816	}
2817	return out, nil
2818}
2819
2820func (c *gkeHubClient) UpdateMembership(ctx context.Context, in *UpdateMembershipRequest, opts ...grpc.CallOption) (*longrunning.Operation, error) {
2821	out := new(longrunning.Operation)
2822	err := c.cc.Invoke(ctx, "/google.cloud.gkehub.v1alpha2.GkeHub/UpdateMembership", in, out, opts...)
2823	if err != nil {
2824		return nil, err
2825	}
2826	return out, nil
2827}
2828
2829func (c *gkeHubClient) GenerateConnectManifest(ctx context.Context, in *GenerateConnectManifestRequest, opts ...grpc.CallOption) (*GenerateConnectManifestResponse, error) {
2830	out := new(GenerateConnectManifestResponse)
2831	err := c.cc.Invoke(ctx, "/google.cloud.gkehub.v1alpha2.GkeHub/GenerateConnectManifest", in, out, opts...)
2832	if err != nil {
2833		return nil, err
2834	}
2835	return out, nil
2836}
2837
2838func (c *gkeHubClient) InitializeHub(ctx context.Context, in *InitializeHubRequest, opts ...grpc.CallOption) (*InitializeHubResponse, error) {
2839	out := new(InitializeHubResponse)
2840	err := c.cc.Invoke(ctx, "/google.cloud.gkehub.v1alpha2.GkeHub/InitializeHub", in, out, opts...)
2841	if err != nil {
2842		return nil, err
2843	}
2844	return out, nil
2845}
2846
2847// GkeHubServer is the server API for GkeHub service.
2848type GkeHubServer interface {
2849	// Lists Memberships in a given project and location.
2850	ListMemberships(context.Context, *ListMembershipsRequest) (*ListMembershipsResponse, error)
2851	// Gets the details of a Membership.
2852	GetMembership(context.Context, *GetMembershipRequest) (*Membership, error)
2853	// Adds a new Membership.
2854	CreateMembership(context.Context, *CreateMembershipRequest) (*longrunning.Operation, error)
2855	// Removes a Membership.
2856	DeleteMembership(context.Context, *DeleteMembershipRequest) (*longrunning.Operation, error)
2857	// Updates an existing Membership.
2858	UpdateMembership(context.Context, *UpdateMembershipRequest) (*longrunning.Operation, error)
2859	// Generates the manifest for deployment of the GKE connect agent.
2860	GenerateConnectManifest(context.Context, *GenerateConnectManifestRequest) (*GenerateConnectManifestResponse, error)
2861	// Initializes the Hub in this project, which includes creating the default
2862	// Hub Service Account and the Hub Workload Identity Pool. Initialization is
2863	// optional, and happens automatically when the first Membership is created.
2864	//
2865	// InitializeHub should be called when the first Membership cannot be
2866	// registered without these resources. A common example is granting the Hub
2867	// Service Account access to another project, which requires the account to
2868	// exist first.
2869	InitializeHub(context.Context, *InitializeHubRequest) (*InitializeHubResponse, error)
2870}
2871
2872// UnimplementedGkeHubServer can be embedded to have forward compatible implementations.
2873type UnimplementedGkeHubServer struct {
2874}
2875
2876func (*UnimplementedGkeHubServer) ListMemberships(context.Context, *ListMembershipsRequest) (*ListMembershipsResponse, error) {
2877	return nil, status.Errorf(codes.Unimplemented, "method ListMemberships not implemented")
2878}
2879func (*UnimplementedGkeHubServer) GetMembership(context.Context, *GetMembershipRequest) (*Membership, error) {
2880	return nil, status.Errorf(codes.Unimplemented, "method GetMembership not implemented")
2881}
2882func (*UnimplementedGkeHubServer) CreateMembership(context.Context, *CreateMembershipRequest) (*longrunning.Operation, error) {
2883	return nil, status.Errorf(codes.Unimplemented, "method CreateMembership not implemented")
2884}
2885func (*UnimplementedGkeHubServer) DeleteMembership(context.Context, *DeleteMembershipRequest) (*longrunning.Operation, error) {
2886	return nil, status.Errorf(codes.Unimplemented, "method DeleteMembership not implemented")
2887}
2888func (*UnimplementedGkeHubServer) UpdateMembership(context.Context, *UpdateMembershipRequest) (*longrunning.Operation, error) {
2889	return nil, status.Errorf(codes.Unimplemented, "method UpdateMembership not implemented")
2890}
2891func (*UnimplementedGkeHubServer) GenerateConnectManifest(context.Context, *GenerateConnectManifestRequest) (*GenerateConnectManifestResponse, error) {
2892	return nil, status.Errorf(codes.Unimplemented, "method GenerateConnectManifest not implemented")
2893}
2894func (*UnimplementedGkeHubServer) InitializeHub(context.Context, *InitializeHubRequest) (*InitializeHubResponse, error) {
2895	return nil, status.Errorf(codes.Unimplemented, "method InitializeHub not implemented")
2896}
2897
2898func RegisterGkeHubServer(s *grpc.Server, srv GkeHubServer) {
2899	s.RegisterService(&_GkeHub_serviceDesc, srv)
2900}
2901
2902func _GkeHub_ListMemberships_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2903	in := new(ListMembershipsRequest)
2904	if err := dec(in); err != nil {
2905		return nil, err
2906	}
2907	if interceptor == nil {
2908		return srv.(GkeHubServer).ListMemberships(ctx, in)
2909	}
2910	info := &grpc.UnaryServerInfo{
2911		Server:     srv,
2912		FullMethod: "/google.cloud.gkehub.v1alpha2.GkeHub/ListMemberships",
2913	}
2914	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2915		return srv.(GkeHubServer).ListMemberships(ctx, req.(*ListMembershipsRequest))
2916	}
2917	return interceptor(ctx, in, info, handler)
2918}
2919
2920func _GkeHub_GetMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2921	in := new(GetMembershipRequest)
2922	if err := dec(in); err != nil {
2923		return nil, err
2924	}
2925	if interceptor == nil {
2926		return srv.(GkeHubServer).GetMembership(ctx, in)
2927	}
2928	info := &grpc.UnaryServerInfo{
2929		Server:     srv,
2930		FullMethod: "/google.cloud.gkehub.v1alpha2.GkeHub/GetMembership",
2931	}
2932	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2933		return srv.(GkeHubServer).GetMembership(ctx, req.(*GetMembershipRequest))
2934	}
2935	return interceptor(ctx, in, info, handler)
2936}
2937
2938func _GkeHub_CreateMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2939	in := new(CreateMembershipRequest)
2940	if err := dec(in); err != nil {
2941		return nil, err
2942	}
2943	if interceptor == nil {
2944		return srv.(GkeHubServer).CreateMembership(ctx, in)
2945	}
2946	info := &grpc.UnaryServerInfo{
2947		Server:     srv,
2948		FullMethod: "/google.cloud.gkehub.v1alpha2.GkeHub/CreateMembership",
2949	}
2950	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2951		return srv.(GkeHubServer).CreateMembership(ctx, req.(*CreateMembershipRequest))
2952	}
2953	return interceptor(ctx, in, info, handler)
2954}
2955
2956func _GkeHub_DeleteMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2957	in := new(DeleteMembershipRequest)
2958	if err := dec(in); err != nil {
2959		return nil, err
2960	}
2961	if interceptor == nil {
2962		return srv.(GkeHubServer).DeleteMembership(ctx, in)
2963	}
2964	info := &grpc.UnaryServerInfo{
2965		Server:     srv,
2966		FullMethod: "/google.cloud.gkehub.v1alpha2.GkeHub/DeleteMembership",
2967	}
2968	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2969		return srv.(GkeHubServer).DeleteMembership(ctx, req.(*DeleteMembershipRequest))
2970	}
2971	return interceptor(ctx, in, info, handler)
2972}
2973
2974func _GkeHub_UpdateMembership_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2975	in := new(UpdateMembershipRequest)
2976	if err := dec(in); err != nil {
2977		return nil, err
2978	}
2979	if interceptor == nil {
2980		return srv.(GkeHubServer).UpdateMembership(ctx, in)
2981	}
2982	info := &grpc.UnaryServerInfo{
2983		Server:     srv,
2984		FullMethod: "/google.cloud.gkehub.v1alpha2.GkeHub/UpdateMembership",
2985	}
2986	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2987		return srv.(GkeHubServer).UpdateMembership(ctx, req.(*UpdateMembershipRequest))
2988	}
2989	return interceptor(ctx, in, info, handler)
2990}
2991
2992func _GkeHub_GenerateConnectManifest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2993	in := new(GenerateConnectManifestRequest)
2994	if err := dec(in); err != nil {
2995		return nil, err
2996	}
2997	if interceptor == nil {
2998		return srv.(GkeHubServer).GenerateConnectManifest(ctx, in)
2999	}
3000	info := &grpc.UnaryServerInfo{
3001		Server:     srv,
3002		FullMethod: "/google.cloud.gkehub.v1alpha2.GkeHub/GenerateConnectManifest",
3003	}
3004	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3005		return srv.(GkeHubServer).GenerateConnectManifest(ctx, req.(*GenerateConnectManifestRequest))
3006	}
3007	return interceptor(ctx, in, info, handler)
3008}
3009
3010func _GkeHub_InitializeHub_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
3011	in := new(InitializeHubRequest)
3012	if err := dec(in); err != nil {
3013		return nil, err
3014	}
3015	if interceptor == nil {
3016		return srv.(GkeHubServer).InitializeHub(ctx, in)
3017	}
3018	info := &grpc.UnaryServerInfo{
3019		Server:     srv,
3020		FullMethod: "/google.cloud.gkehub.v1alpha2.GkeHub/InitializeHub",
3021	}
3022	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
3023		return srv.(GkeHubServer).InitializeHub(ctx, req.(*InitializeHubRequest))
3024	}
3025	return interceptor(ctx, in, info, handler)
3026}
3027
3028var _GkeHub_serviceDesc = grpc.ServiceDesc{
3029	ServiceName: "google.cloud.gkehub.v1alpha2.GkeHub",
3030	HandlerType: (*GkeHubServer)(nil),
3031	Methods: []grpc.MethodDesc{
3032		{
3033			MethodName: "ListMemberships",
3034			Handler:    _GkeHub_ListMemberships_Handler,
3035		},
3036		{
3037			MethodName: "GetMembership",
3038			Handler:    _GkeHub_GetMembership_Handler,
3039		},
3040		{
3041			MethodName: "CreateMembership",
3042			Handler:    _GkeHub_CreateMembership_Handler,
3043		},
3044		{
3045			MethodName: "DeleteMembership",
3046			Handler:    _GkeHub_DeleteMembership_Handler,
3047		},
3048		{
3049			MethodName: "UpdateMembership",
3050			Handler:    _GkeHub_UpdateMembership_Handler,
3051		},
3052		{
3053			MethodName: "GenerateConnectManifest",
3054			Handler:    _GkeHub_GenerateConnectManifest_Handler,
3055		},
3056		{
3057			MethodName: "InitializeHub",
3058			Handler:    _GkeHub_InitializeHub_Handler,
3059		},
3060	},
3061	Streams:  []grpc.StreamDesc{},
3062	Metadata: "google/cloud/gkehub/v1alpha2/membership.proto",
3063}
3064