...

Source file src/google.golang.org/genproto/googleapis/cloud/gkehub/v1alpha2/membership.pb.go

Documentation: google.golang.org/genproto/googleapis/cloud/gkehub/v1alpha2

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

View as plain text