...

Source file src/google.golang.org/genproto/googleapis/cloud/gkehub/v1beta/feature.pb.go

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

     1  // Copyright 2021 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // Code generated by protoc-gen-go. DO NOT EDIT.
    16  // versions:
    17  // 	protoc-gen-go v1.26.0
    18  // 	protoc        v3.12.2
    19  // source: google/cloud/gkehub/v1beta/feature.proto
    20  
    21  package gkehub
    22  
    23  import (
    24  	reflect "reflect"
    25  	sync "sync"
    26  
    27  	_ "google.golang.org/genproto/googleapis/api/annotations"
    28  	v1beta1 "google.golang.org/genproto/googleapis/cloud/gkehub/configmanagement/v1beta"
    29  	v1beta2 "google.golang.org/genproto/googleapis/cloud/gkehub/metering/v1beta"
    30  	v1beta "google.golang.org/genproto/googleapis/cloud/gkehub/multiclusteringress/v1beta"
    31  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    32  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    33  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    34  )
    35  
    36  const (
    37  	// Verify that this generated code is sufficiently up-to-date.
    38  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    39  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    40  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    41  )
    42  
    43  // State describes the lifecycle status of a Feature.
    44  type FeatureResourceState_State int32
    45  
    46  const (
    47  	// State is unknown or not set.
    48  	FeatureResourceState_STATE_UNSPECIFIED FeatureResourceState_State = 0
    49  	// The Feature is being enabled, and the Feature resource is being created.
    50  	// Once complete, the corresponding Feature will be enabled in this Hub.
    51  	FeatureResourceState_ENABLING FeatureResourceState_State = 1
    52  	// The Feature is enabled in this Hub, and the Feature resource is fully
    53  	// available.
    54  	FeatureResourceState_ACTIVE FeatureResourceState_State = 2
    55  	// The Feature is being disabled in this Hub, and the Feature resource
    56  	// is being deleted.
    57  	FeatureResourceState_DISABLING FeatureResourceState_State = 3
    58  	// The Feature resource is being updated.
    59  	FeatureResourceState_UPDATING FeatureResourceState_State = 4
    60  	// The Feature resource is being updated by the Hub Service.
    61  	FeatureResourceState_SERVICE_UPDATING FeatureResourceState_State = 5
    62  )
    63  
    64  // Enum value maps for FeatureResourceState_State.
    65  var (
    66  	FeatureResourceState_State_name = map[int32]string{
    67  		0: "STATE_UNSPECIFIED",
    68  		1: "ENABLING",
    69  		2: "ACTIVE",
    70  		3: "DISABLING",
    71  		4: "UPDATING",
    72  		5: "SERVICE_UPDATING",
    73  	}
    74  	FeatureResourceState_State_value = map[string]int32{
    75  		"STATE_UNSPECIFIED": 0,
    76  		"ENABLING":          1,
    77  		"ACTIVE":            2,
    78  		"DISABLING":         3,
    79  		"UPDATING":          4,
    80  		"SERVICE_UPDATING":  5,
    81  	}
    82  )
    83  
    84  func (x FeatureResourceState_State) Enum() *FeatureResourceState_State {
    85  	p := new(FeatureResourceState_State)
    86  	*p = x
    87  	return p
    88  }
    89  
    90  func (x FeatureResourceState_State) String() string {
    91  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    92  }
    93  
    94  func (FeatureResourceState_State) Descriptor() protoreflect.EnumDescriptor {
    95  	return file_google_cloud_gkehub_v1beta_feature_proto_enumTypes[0].Descriptor()
    96  }
    97  
    98  func (FeatureResourceState_State) Type() protoreflect.EnumType {
    99  	return &file_google_cloud_gkehub_v1beta_feature_proto_enumTypes[0]
   100  }
   101  
   102  func (x FeatureResourceState_State) Number() protoreflect.EnumNumber {
   103  	return protoreflect.EnumNumber(x)
   104  }
   105  
   106  // Deprecated: Use FeatureResourceState_State.Descriptor instead.
   107  func (FeatureResourceState_State) EnumDescriptor() ([]byte, []int) {
   108  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{1, 0}
   109  }
   110  
   111  // Code represents a machine-readable, high-level status of the Feature.
   112  type FeatureState_Code int32
   113  
   114  const (
   115  	// Unknown or not set.
   116  	FeatureState_CODE_UNSPECIFIED FeatureState_Code = 0
   117  	// The Feature is operating normally.
   118  	FeatureState_OK FeatureState_Code = 1
   119  	// The Feature has encountered an issue, and is operating in a degraded
   120  	// state. The Feature may need intervention to return to normal operation.
   121  	// See the description and any associated Feature-specific details for more
   122  	// information.
   123  	FeatureState_WARNING FeatureState_Code = 2
   124  	// The Feature is not operating or is in a severely degraded state.
   125  	// The Feature may need intervention to return to normal operation.
   126  	// See the description and any associated Feature-specific details for more
   127  	// information.
   128  	FeatureState_ERROR FeatureState_Code = 3
   129  )
   130  
   131  // Enum value maps for FeatureState_Code.
   132  var (
   133  	FeatureState_Code_name = map[int32]string{
   134  		0: "CODE_UNSPECIFIED",
   135  		1: "OK",
   136  		2: "WARNING",
   137  		3: "ERROR",
   138  	}
   139  	FeatureState_Code_value = map[string]int32{
   140  		"CODE_UNSPECIFIED": 0,
   141  		"OK":               1,
   142  		"WARNING":          2,
   143  		"ERROR":            3,
   144  	}
   145  )
   146  
   147  func (x FeatureState_Code) Enum() *FeatureState_Code {
   148  	p := new(FeatureState_Code)
   149  	*p = x
   150  	return p
   151  }
   152  
   153  func (x FeatureState_Code) String() string {
   154  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   155  }
   156  
   157  func (FeatureState_Code) Descriptor() protoreflect.EnumDescriptor {
   158  	return file_google_cloud_gkehub_v1beta_feature_proto_enumTypes[1].Descriptor()
   159  }
   160  
   161  func (FeatureState_Code) Type() protoreflect.EnumType {
   162  	return &file_google_cloud_gkehub_v1beta_feature_proto_enumTypes[1]
   163  }
   164  
   165  func (x FeatureState_Code) Number() protoreflect.EnumNumber {
   166  	return protoreflect.EnumNumber(x)
   167  }
   168  
   169  // Deprecated: Use FeatureState_Code.Descriptor instead.
   170  func (FeatureState_Code) EnumDescriptor() ([]byte, []int) {
   171  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{2, 0}
   172  }
   173  
   174  // Feature represents the settings and status of any Hub Feature.
   175  type Feature struct {
   176  	state         protoimpl.MessageState
   177  	sizeCache     protoimpl.SizeCache
   178  	unknownFields protoimpl.UnknownFields
   179  
   180  	// Output only. The full, unique name of this Feature resource in the format
   181  	// `projects/*/locations/*/features/*`.
   182  	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
   183  	// GCP labels for this Feature.
   184  	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"`
   185  	// Output only. State of the Feature resource itself.
   186  	ResourceState *FeatureResourceState `protobuf:"bytes,3,opt,name=resource_state,json=resourceState,proto3" json:"resource_state,omitempty"`
   187  	// Optional. Hub-wide Feature configuration. If this Feature does not support any
   188  	// Hub-wide configuration, this field may be unused.
   189  	Spec *CommonFeatureSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"`
   190  	// Optional. Membership-specific configuration for this Feature. If this Feature does
   191  	// not support any per-Membership configuration, this field may be unused.
   192  	//
   193  	// The keys indicate which Membership the configuration is for, in the form:
   194  	//
   195  	//	projects/{p}/locations/{l}/memberships/{m}
   196  	//
   197  	// Where {p} is the project, {l} is a valid location and {m} is a valid
   198  	// Membership in this project at that location. {p} WILL match the Feature's
   199  	// project.
   200  	//
   201  	// {p} will always be returned as the project number, but the project ID is
   202  	// also accepted during input. If the same Membership is specified in the map
   203  	// twice (using the project ID form, and the project number form), exactly
   204  	// ONE of the entries will be saved, with no guarantees as to which. For this
   205  	// reason, it is recommended the same format be used for all entries when
   206  	// mutating a Feature.
   207  	MembershipSpecs map[string]*MembershipFeatureSpec `protobuf:"bytes,5,rep,name=membership_specs,json=membershipSpecs,proto3" json:"membership_specs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   208  	// Output only. The Hub-wide Feature state.
   209  	State *CommonFeatureState `protobuf:"bytes,6,opt,name=state,proto3" json:"state,omitempty"`
   210  	// Output only. Membership-specific Feature status. If this Feature does
   211  	// report any per-Membership status, this field may be unused.
   212  	//
   213  	// The keys indicate which Membership the state is for, in the form:
   214  	//
   215  	//	projects/{p}/locations/{l}/memberships/{m}
   216  	//
   217  	// Where {p} is the project number, {l} is a valid location and {m} is a valid
   218  	// Membership in this project at that location. {p} MUST match the Feature's
   219  	// project number.
   220  	MembershipStates map[string]*MembershipFeatureState `protobuf:"bytes,7,rep,name=membership_states,json=membershipStates,proto3" json:"membership_states,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
   221  	// Output only. When the Feature resource was created.
   222  	CreateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
   223  	// Output only. When the Feature resource was last updated.
   224  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   225  	// Output only. When the Feature resource was deleted.
   226  	DeleteTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
   227  }
   228  
   229  func (x *Feature) Reset() {
   230  	*x = Feature{}
   231  	if protoimpl.UnsafeEnabled {
   232  		mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[0]
   233  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   234  		ms.StoreMessageInfo(mi)
   235  	}
   236  }
   237  
   238  func (x *Feature) String() string {
   239  	return protoimpl.X.MessageStringOf(x)
   240  }
   241  
   242  func (*Feature) ProtoMessage() {}
   243  
   244  func (x *Feature) ProtoReflect() protoreflect.Message {
   245  	mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[0]
   246  	if protoimpl.UnsafeEnabled && x != nil {
   247  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   248  		if ms.LoadMessageInfo() == nil {
   249  			ms.StoreMessageInfo(mi)
   250  		}
   251  		return ms
   252  	}
   253  	return mi.MessageOf(x)
   254  }
   255  
   256  // Deprecated: Use Feature.ProtoReflect.Descriptor instead.
   257  func (*Feature) Descriptor() ([]byte, []int) {
   258  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{0}
   259  }
   260  
   261  func (x *Feature) GetName() string {
   262  	if x != nil {
   263  		return x.Name
   264  	}
   265  	return ""
   266  }
   267  
   268  func (x *Feature) GetLabels() map[string]string {
   269  	if x != nil {
   270  		return x.Labels
   271  	}
   272  	return nil
   273  }
   274  
   275  func (x *Feature) GetResourceState() *FeatureResourceState {
   276  	if x != nil {
   277  		return x.ResourceState
   278  	}
   279  	return nil
   280  }
   281  
   282  func (x *Feature) GetSpec() *CommonFeatureSpec {
   283  	if x != nil {
   284  		return x.Spec
   285  	}
   286  	return nil
   287  }
   288  
   289  func (x *Feature) GetMembershipSpecs() map[string]*MembershipFeatureSpec {
   290  	if x != nil {
   291  		return x.MembershipSpecs
   292  	}
   293  	return nil
   294  }
   295  
   296  func (x *Feature) GetState() *CommonFeatureState {
   297  	if x != nil {
   298  		return x.State
   299  	}
   300  	return nil
   301  }
   302  
   303  func (x *Feature) GetMembershipStates() map[string]*MembershipFeatureState {
   304  	if x != nil {
   305  		return x.MembershipStates
   306  	}
   307  	return nil
   308  }
   309  
   310  func (x *Feature) GetCreateTime() *timestamppb.Timestamp {
   311  	if x != nil {
   312  		return x.CreateTime
   313  	}
   314  	return nil
   315  }
   316  
   317  func (x *Feature) GetUpdateTime() *timestamppb.Timestamp {
   318  	if x != nil {
   319  		return x.UpdateTime
   320  	}
   321  	return nil
   322  }
   323  
   324  func (x *Feature) GetDeleteTime() *timestamppb.Timestamp {
   325  	if x != nil {
   326  		return x.DeleteTime
   327  	}
   328  	return nil
   329  }
   330  
   331  // FeatureResourceState describes the state of a Feature *resource* in the
   332  // GkeHub API. See `FeatureState` for the "running state" of the Feature in the
   333  // Hub and across Memberships.
   334  type FeatureResourceState struct {
   335  	state         protoimpl.MessageState
   336  	sizeCache     protoimpl.SizeCache
   337  	unknownFields protoimpl.UnknownFields
   338  
   339  	// The current state of the Feature resource in the Hub API.
   340  	State FeatureResourceState_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.gkehub.v1beta.FeatureResourceState_State" json:"state,omitempty"`
   341  }
   342  
   343  func (x *FeatureResourceState) Reset() {
   344  	*x = FeatureResourceState{}
   345  	if protoimpl.UnsafeEnabled {
   346  		mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[1]
   347  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   348  		ms.StoreMessageInfo(mi)
   349  	}
   350  }
   351  
   352  func (x *FeatureResourceState) String() string {
   353  	return protoimpl.X.MessageStringOf(x)
   354  }
   355  
   356  func (*FeatureResourceState) ProtoMessage() {}
   357  
   358  func (x *FeatureResourceState) ProtoReflect() protoreflect.Message {
   359  	mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[1]
   360  	if protoimpl.UnsafeEnabled && x != nil {
   361  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   362  		if ms.LoadMessageInfo() == nil {
   363  			ms.StoreMessageInfo(mi)
   364  		}
   365  		return ms
   366  	}
   367  	return mi.MessageOf(x)
   368  }
   369  
   370  // Deprecated: Use FeatureResourceState.ProtoReflect.Descriptor instead.
   371  func (*FeatureResourceState) Descriptor() ([]byte, []int) {
   372  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{1}
   373  }
   374  
   375  func (x *FeatureResourceState) GetState() FeatureResourceState_State {
   376  	if x != nil {
   377  		return x.State
   378  	}
   379  	return FeatureResourceState_STATE_UNSPECIFIED
   380  }
   381  
   382  // FeatureState describes the high-level state of a Feature. It may be used to
   383  // describe a Feature's state at the environ-level, or per-membershop, depending
   384  // on the context.
   385  type FeatureState struct {
   386  	state         protoimpl.MessageState
   387  	sizeCache     protoimpl.SizeCache
   388  	unknownFields protoimpl.UnknownFields
   389  
   390  	// The high-level, machine-readable status of this Feature.
   391  	Code FeatureState_Code `protobuf:"varint,1,opt,name=code,proto3,enum=google.cloud.gkehub.v1beta.FeatureState_Code" json:"code,omitempty"`
   392  	// A human-readable description of the current status.
   393  	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
   394  	// The time this status and any related Feature-specific details were updated.
   395  	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
   396  }
   397  
   398  func (x *FeatureState) Reset() {
   399  	*x = FeatureState{}
   400  	if protoimpl.UnsafeEnabled {
   401  		mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[2]
   402  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   403  		ms.StoreMessageInfo(mi)
   404  	}
   405  }
   406  
   407  func (x *FeatureState) String() string {
   408  	return protoimpl.X.MessageStringOf(x)
   409  }
   410  
   411  func (*FeatureState) ProtoMessage() {}
   412  
   413  func (x *FeatureState) ProtoReflect() protoreflect.Message {
   414  	mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[2]
   415  	if protoimpl.UnsafeEnabled && x != nil {
   416  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   417  		if ms.LoadMessageInfo() == nil {
   418  			ms.StoreMessageInfo(mi)
   419  		}
   420  		return ms
   421  	}
   422  	return mi.MessageOf(x)
   423  }
   424  
   425  // Deprecated: Use FeatureState.ProtoReflect.Descriptor instead.
   426  func (*FeatureState) Descriptor() ([]byte, []int) {
   427  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{2}
   428  }
   429  
   430  func (x *FeatureState) GetCode() FeatureState_Code {
   431  	if x != nil {
   432  		return x.Code
   433  	}
   434  	return FeatureState_CODE_UNSPECIFIED
   435  }
   436  
   437  func (x *FeatureState) GetDescription() string {
   438  	if x != nil {
   439  		return x.Description
   440  	}
   441  	return ""
   442  }
   443  
   444  func (x *FeatureState) GetUpdateTime() *timestamppb.Timestamp {
   445  	if x != nil {
   446  		return x.UpdateTime
   447  	}
   448  	return nil
   449  }
   450  
   451  // CommonFeatureSpec contains Hub-wide configuration information
   452  type CommonFeatureSpec struct {
   453  	state         protoimpl.MessageState
   454  	sizeCache     protoimpl.SizeCache
   455  	unknownFields protoimpl.UnknownFields
   456  
   457  	// Types that are assignable to FeatureSpec:
   458  	//
   459  	//	*CommonFeatureSpec_Multiclusteringress
   460  	FeatureSpec isCommonFeatureSpec_FeatureSpec `protobuf_oneof:"feature_spec"`
   461  }
   462  
   463  func (x *CommonFeatureSpec) Reset() {
   464  	*x = CommonFeatureSpec{}
   465  	if protoimpl.UnsafeEnabled {
   466  		mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[3]
   467  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   468  		ms.StoreMessageInfo(mi)
   469  	}
   470  }
   471  
   472  func (x *CommonFeatureSpec) String() string {
   473  	return protoimpl.X.MessageStringOf(x)
   474  }
   475  
   476  func (*CommonFeatureSpec) ProtoMessage() {}
   477  
   478  func (x *CommonFeatureSpec) ProtoReflect() protoreflect.Message {
   479  	mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[3]
   480  	if protoimpl.UnsafeEnabled && x != nil {
   481  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   482  		if ms.LoadMessageInfo() == nil {
   483  			ms.StoreMessageInfo(mi)
   484  		}
   485  		return ms
   486  	}
   487  	return mi.MessageOf(x)
   488  }
   489  
   490  // Deprecated: Use CommonFeatureSpec.ProtoReflect.Descriptor instead.
   491  func (*CommonFeatureSpec) Descriptor() ([]byte, []int) {
   492  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{3}
   493  }
   494  
   495  func (m *CommonFeatureSpec) GetFeatureSpec() isCommonFeatureSpec_FeatureSpec {
   496  	if m != nil {
   497  		return m.FeatureSpec
   498  	}
   499  	return nil
   500  }
   501  
   502  func (x *CommonFeatureSpec) GetMulticlusteringress() *v1beta.FeatureSpec {
   503  	if x, ok := x.GetFeatureSpec().(*CommonFeatureSpec_Multiclusteringress); ok {
   504  		return x.Multiclusteringress
   505  	}
   506  	return nil
   507  }
   508  
   509  type isCommonFeatureSpec_FeatureSpec interface {
   510  	isCommonFeatureSpec_FeatureSpec()
   511  }
   512  
   513  type CommonFeatureSpec_Multiclusteringress struct {
   514  	// Multicluster Ingress-specific spec.
   515  	Multiclusteringress *v1beta.FeatureSpec `protobuf:"bytes,102,opt,name=multiclusteringress,proto3,oneof"`
   516  }
   517  
   518  func (*CommonFeatureSpec_Multiclusteringress) isCommonFeatureSpec_FeatureSpec() {}
   519  
   520  // CommonFeatureState contains Hub-wide Feature status information.
   521  type CommonFeatureState struct {
   522  	state         protoimpl.MessageState
   523  	sizeCache     protoimpl.SizeCache
   524  	unknownFields protoimpl.UnknownFields
   525  
   526  	// Output only. The "running state" of the Feature in this Hub.
   527  	State *FeatureState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
   528  }
   529  
   530  func (x *CommonFeatureState) Reset() {
   531  	*x = CommonFeatureState{}
   532  	if protoimpl.UnsafeEnabled {
   533  		mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[4]
   534  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   535  		ms.StoreMessageInfo(mi)
   536  	}
   537  }
   538  
   539  func (x *CommonFeatureState) String() string {
   540  	return protoimpl.X.MessageStringOf(x)
   541  }
   542  
   543  func (*CommonFeatureState) ProtoMessage() {}
   544  
   545  func (x *CommonFeatureState) ProtoReflect() protoreflect.Message {
   546  	mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[4]
   547  	if protoimpl.UnsafeEnabled && x != nil {
   548  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   549  		if ms.LoadMessageInfo() == nil {
   550  			ms.StoreMessageInfo(mi)
   551  		}
   552  		return ms
   553  	}
   554  	return mi.MessageOf(x)
   555  }
   556  
   557  // Deprecated: Use CommonFeatureState.ProtoReflect.Descriptor instead.
   558  func (*CommonFeatureState) Descriptor() ([]byte, []int) {
   559  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{4}
   560  }
   561  
   562  func (x *CommonFeatureState) GetState() *FeatureState {
   563  	if x != nil {
   564  		return x.State
   565  	}
   566  	return nil
   567  }
   568  
   569  // MembershipFeatureSpec contains configuration information for a single
   570  // Membership.
   571  type MembershipFeatureSpec struct {
   572  	state         protoimpl.MessageState
   573  	sizeCache     protoimpl.SizeCache
   574  	unknownFields protoimpl.UnknownFields
   575  
   576  	// Types that are assignable to FeatureSpec:
   577  	//
   578  	//	*MembershipFeatureSpec_Configmanagement
   579  	FeatureSpec isMembershipFeatureSpec_FeatureSpec `protobuf_oneof:"feature_spec"`
   580  }
   581  
   582  func (x *MembershipFeatureSpec) Reset() {
   583  	*x = MembershipFeatureSpec{}
   584  	if protoimpl.UnsafeEnabled {
   585  		mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[5]
   586  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   587  		ms.StoreMessageInfo(mi)
   588  	}
   589  }
   590  
   591  func (x *MembershipFeatureSpec) String() string {
   592  	return protoimpl.X.MessageStringOf(x)
   593  }
   594  
   595  func (*MembershipFeatureSpec) ProtoMessage() {}
   596  
   597  func (x *MembershipFeatureSpec) ProtoReflect() protoreflect.Message {
   598  	mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[5]
   599  	if protoimpl.UnsafeEnabled && x != nil {
   600  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   601  		if ms.LoadMessageInfo() == nil {
   602  			ms.StoreMessageInfo(mi)
   603  		}
   604  		return ms
   605  	}
   606  	return mi.MessageOf(x)
   607  }
   608  
   609  // Deprecated: Use MembershipFeatureSpec.ProtoReflect.Descriptor instead.
   610  func (*MembershipFeatureSpec) Descriptor() ([]byte, []int) {
   611  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{5}
   612  }
   613  
   614  func (m *MembershipFeatureSpec) GetFeatureSpec() isMembershipFeatureSpec_FeatureSpec {
   615  	if m != nil {
   616  		return m.FeatureSpec
   617  	}
   618  	return nil
   619  }
   620  
   621  func (x *MembershipFeatureSpec) GetConfigmanagement() *v1beta1.MembershipSpec {
   622  	if x, ok := x.GetFeatureSpec().(*MembershipFeatureSpec_Configmanagement); ok {
   623  		return x.Configmanagement
   624  	}
   625  	return nil
   626  }
   627  
   628  type isMembershipFeatureSpec_FeatureSpec interface {
   629  	isMembershipFeatureSpec_FeatureSpec()
   630  }
   631  
   632  type MembershipFeatureSpec_Configmanagement struct {
   633  	// Config Management-specific spec.
   634  	Configmanagement *v1beta1.MembershipSpec `protobuf:"bytes,106,opt,name=configmanagement,proto3,oneof"`
   635  }
   636  
   637  func (*MembershipFeatureSpec_Configmanagement) isMembershipFeatureSpec_FeatureSpec() {}
   638  
   639  // MembershipFeatureState contains Feature status information for a single
   640  // Membership.
   641  type MembershipFeatureState struct {
   642  	state         protoimpl.MessageState
   643  	sizeCache     protoimpl.SizeCache
   644  	unknownFields protoimpl.UnknownFields
   645  
   646  	// Types that are assignable to FeatureState:
   647  	//
   648  	//	*MembershipFeatureState_Metering
   649  	//	*MembershipFeatureState_Configmanagement
   650  	FeatureState isMembershipFeatureState_FeatureState `protobuf_oneof:"feature_state"`
   651  	// The high-level state of this Feature for a single membership.
   652  	State *FeatureState `protobuf:"bytes,1,opt,name=state,proto3" json:"state,omitempty"`
   653  }
   654  
   655  func (x *MembershipFeatureState) Reset() {
   656  	*x = MembershipFeatureState{}
   657  	if protoimpl.UnsafeEnabled {
   658  		mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[6]
   659  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   660  		ms.StoreMessageInfo(mi)
   661  	}
   662  }
   663  
   664  func (x *MembershipFeatureState) String() string {
   665  	return protoimpl.X.MessageStringOf(x)
   666  }
   667  
   668  func (*MembershipFeatureState) ProtoMessage() {}
   669  
   670  func (x *MembershipFeatureState) ProtoReflect() protoreflect.Message {
   671  	mi := &file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[6]
   672  	if protoimpl.UnsafeEnabled && x != nil {
   673  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   674  		if ms.LoadMessageInfo() == nil {
   675  			ms.StoreMessageInfo(mi)
   676  		}
   677  		return ms
   678  	}
   679  	return mi.MessageOf(x)
   680  }
   681  
   682  // Deprecated: Use MembershipFeatureState.ProtoReflect.Descriptor instead.
   683  func (*MembershipFeatureState) Descriptor() ([]byte, []int) {
   684  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP(), []int{6}
   685  }
   686  
   687  func (m *MembershipFeatureState) GetFeatureState() isMembershipFeatureState_FeatureState {
   688  	if m != nil {
   689  		return m.FeatureState
   690  	}
   691  	return nil
   692  }
   693  
   694  func (x *MembershipFeatureState) GetMetering() *v1beta2.MembershipState {
   695  	if x, ok := x.GetFeatureState().(*MembershipFeatureState_Metering); ok {
   696  		return x.Metering
   697  	}
   698  	return nil
   699  }
   700  
   701  func (x *MembershipFeatureState) GetConfigmanagement() *v1beta1.MembershipState {
   702  	if x, ok := x.GetFeatureState().(*MembershipFeatureState_Configmanagement); ok {
   703  		return x.Configmanagement
   704  	}
   705  	return nil
   706  }
   707  
   708  func (x *MembershipFeatureState) GetState() *FeatureState {
   709  	if x != nil {
   710  		return x.State
   711  	}
   712  	return nil
   713  }
   714  
   715  type isMembershipFeatureState_FeatureState interface {
   716  	isMembershipFeatureState_FeatureState()
   717  }
   718  
   719  type MembershipFeatureState_Metering struct {
   720  	// Metering-specific spec.
   721  	Metering *v1beta2.MembershipState `protobuf:"bytes,104,opt,name=metering,proto3,oneof"`
   722  }
   723  
   724  type MembershipFeatureState_Configmanagement struct {
   725  	// Config Management-specific state.
   726  	Configmanagement *v1beta1.MembershipState `protobuf:"bytes,106,opt,name=configmanagement,proto3,oneof"`
   727  }
   728  
   729  func (*MembershipFeatureState_Metering) isMembershipFeatureState_FeatureState() {}
   730  
   731  func (*MembershipFeatureState_Configmanagement) isMembershipFeatureState_FeatureState() {}
   732  
   733  var File_google_cloud_gkehub_v1beta_feature_proto protoreflect.FileDescriptor
   734  
   735  var file_google_cloud_gkehub_v1beta_feature_proto_rawDesc = []byte{
   736  	0x0a, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x67,
   737  	0x6b, 0x65, 0x68, 0x75, 0x62, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x66, 0x65, 0x61,
   738  	0x74, 0x75, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67, 0x6f, 0x6f, 0x67,
   739  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e,
   740  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
   741  	0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f,
   742  	0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
   743  	0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f,
   744  	0x74, 0x6f, 0x1a, 0x42, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   745  	0x2f, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x63,
   746  	0x6f, 0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f,
   747  	0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
   748  	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63,
   749  	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2f, 0x76, 0x31, 0x62, 0x65,
   750  	0x74, 0x61, 0x2f, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2f, 0x6d, 0x65, 0x74, 0x65,
   751  	0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x48, 0x67, 0x6f, 0x6f, 0x67,
   752  	0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2f,
   753  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x6c, 0x75, 0x73,
   754  	0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69,
   755  	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70,
   756  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
   757  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
   758  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x84, 0x09, 0x0a, 0x07, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72,
   759  	0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
   760  	0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x6c, 0x61,
   761  	0x62, 0x65, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f,
   762  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62,
   763  	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e,
   764  	0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62,
   765  	0x65, 0x6c, 0x73, 0x12, 0x5c, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
   766  	0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f,
   767  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75,
   768  	0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
   769  	0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0,
   770  	0x41, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74,
   771  	0x65, 0x12, 0x46, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32,
   772  	0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67,
   773  	0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x43, 0x6f, 0x6d,
   774  	0x6d, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03,
   775  	0xe0, 0x41, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x68, 0x0a, 0x10, 0x6d, 0x65, 0x6d,
   776  	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x05, 0x20,
   777  	0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f,
   778  	0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
   779  	0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73,
   780  	0x68, 0x69, 0x70, 0x53, 0x70, 0x65, 0x63, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0,
   781  	0x41, 0x01, 0x52, 0x0f, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x70,
   782  	0x65, 0x63, 0x73, 0x12, 0x49, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01,
   783  	0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
   784  	0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e,
   785  	0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61,
   786  	0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x6b,
   787  	0x0a, 0x11, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x5f, 0x73, 0x74, 0x61,
   788  	0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
   789  	0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e,
   790  	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x4d,
   791  	0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45,
   792  	0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65,
   793  	0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x63,
   794  	0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b,
   795  	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
   796  	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
   797  	0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a,
   798  	0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01,
   799  	0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   800  	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03,
   801  	0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12,
   802  	0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0a,
   803  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
   804  	0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
   805  	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d,
   806  	0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
   807  	0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
   808  	0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
   809  	0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x75, 0x0a, 0x14,
   810  	0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x70, 0x65, 0x63, 0x73, 0x45,
   811  	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
   812  	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x47, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
   813  	0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
   814  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65,
   815  	0x74, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x65, 0x61,
   816  	0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a,
   817  	0x02, 0x38, 0x01, 0x1a, 0x77, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69,
   818  	0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03,
   819  	0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x48,
   820  	0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e,
   821  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65,
   822  	0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65,
   823  	0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74,
   824  	0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x5e, 0xea, 0x41,
   825  	0x5b, 0x0a, 0x1d, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   826  	0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
   827  	0x12, 0x3a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
   828  	0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b,
   829  	0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72,
   830  	0x65, 0x73, 0x2f, 0x7b, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x7d, 0x22, 0xd1, 0x01, 0x0a,
   831  	0x14, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
   832  	0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01,
   833  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   834  	0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
   835  	0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
   836  	0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
   837  	0x61, 0x74, 0x65, 0x22, 0x6b, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x15, 0x0a, 0x11,
   838  	0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
   839  	0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x41, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10,
   840  	0x01, 0x12, 0x0a, 0x0a, 0x06, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x02, 0x12, 0x0d, 0x0a,
   841  	0x09, 0x44, 0x49, 0x53, 0x41, 0x42, 0x4c, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08,
   842  	0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45,
   843  	0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x05,
   844  	0x22, 0xee, 0x01, 0x0a, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74,
   845  	0x65, 0x12, 0x41, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
   846  	0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67,
   847  	0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61,
   848  	0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x43, 0x6f, 0x64, 0x65, 0x52, 0x04,
   849  	0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
   850  	0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
   851  	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
   852  	0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
   853  	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
   854  	0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54,
   855  	0x69, 0x6d, 0x65, 0x22, 0x3c, 0x0a, 0x04, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43,
   856  	0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10,
   857  	0x00, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x41, 0x52,
   858  	0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10,
   859  	0x03, 0x22, 0x94, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74,
   860  	0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6f, 0x0a, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69,
   861  	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x66,
   862  	0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
   863  	0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x6d, 0x75, 0x6c, 0x74, 0x69,
   864  	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x76,
   865  	0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65,
   866  	0x63, 0x48, 0x00, 0x52, 0x13, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
   867  	0x72, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
   868  	0x75, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0x59, 0x0a, 0x12, 0x43, 0x6f, 0x6d, 0x6d,
   869  	0x6f, 0x6e, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x43,
   870  	0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e,
   871  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65,
   872  	0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x46, 0x65, 0x61, 0x74, 0x75,
   873  	0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x74,
   874  	0x61, 0x74, 0x65, 0x22, 0x92, 0x01, 0x0a, 0x15, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68,
   875  	0x69, 0x70, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x69, 0x0a,
   876  	0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
   877  	0x74, 0x18, 0x6a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
   878  	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
   879  	0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76,
   880  	0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70,
   881  	0x53, 0x70, 0x65, 0x63, 0x48, 0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61,
   882  	0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x0e, 0x0a, 0x0c, 0x66, 0x65, 0x61, 0x74,
   883  	0x75, 0x72, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x22, 0xa9, 0x02, 0x0a, 0x16, 0x4d, 0x65, 0x6d,
   884  	0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74,
   885  	0x61, 0x74, 0x65, 0x12, 0x52, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x18,
   886  	0x68, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63,
   887  	0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x6d, 0x65, 0x74, 0x65,
   888  	0x72, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e, 0x4d, 0x65, 0x6d, 0x62,
   889  	0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48, 0x00, 0x52, 0x08, 0x6d,
   890  	0x65, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x6a, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69,
   891  	0x67, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x6a, 0x20, 0x01, 0x28,
   892  	0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
   893  	0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61,
   894  	0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e,
   895  	0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x68, 0x69, 0x70, 0x53, 0x74, 0x61, 0x74, 0x65, 0x48,
   896  	0x00, 0x52, 0x10, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
   897  	0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01,
   898  	0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
   899  	0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x2e,
   900  	0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74,
   901  	0x61, 0x74, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x73,
   902  	0x74, 0x61, 0x74, 0x65, 0x42, 0xcc, 0x01, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
   903  	0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62,
   904  	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x42, 0x0c, 0x46, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65,
   905  	0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
   906  	0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72,
   907  	0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63,
   908  	0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0x2f, 0x76, 0x31, 0x62, 0x65,
   909  	0x74, 0x61, 0x3b, 0x67, 0x6b, 0x65, 0x68, 0x75, 0x62, 0xaa, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67,
   910  	0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x47, 0x6b, 0x65, 0x48, 0x75, 0x62, 0x2e,
   911  	0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0xca, 0x02, 0x1a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c,
   912  	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x47, 0x6b, 0x65, 0x48, 0x75, 0x62, 0x5c, 0x56, 0x31, 0x62,
   913  	0x65, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c,
   914  	0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x47, 0x6b, 0x65, 0x48, 0x75, 0x62, 0x3a, 0x3a, 0x56, 0x31, 0x62,
   915  	0x65, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   916  }
   917  
   918  var (
   919  	file_google_cloud_gkehub_v1beta_feature_proto_rawDescOnce sync.Once
   920  	file_google_cloud_gkehub_v1beta_feature_proto_rawDescData = file_google_cloud_gkehub_v1beta_feature_proto_rawDesc
   921  )
   922  
   923  func file_google_cloud_gkehub_v1beta_feature_proto_rawDescGZIP() []byte {
   924  	file_google_cloud_gkehub_v1beta_feature_proto_rawDescOnce.Do(func() {
   925  		file_google_cloud_gkehub_v1beta_feature_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_gkehub_v1beta_feature_proto_rawDescData)
   926  	})
   927  	return file_google_cloud_gkehub_v1beta_feature_proto_rawDescData
   928  }
   929  
   930  var file_google_cloud_gkehub_v1beta_feature_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
   931  var file_google_cloud_gkehub_v1beta_feature_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
   932  var file_google_cloud_gkehub_v1beta_feature_proto_goTypes = []interface{}{
   933  	(FeatureResourceState_State)(0), // 0: google.cloud.gkehub.v1beta.FeatureResourceState.State
   934  	(FeatureState_Code)(0),          // 1: google.cloud.gkehub.v1beta.FeatureState.Code
   935  	(*Feature)(nil),                 // 2: google.cloud.gkehub.v1beta.Feature
   936  	(*FeatureResourceState)(nil),    // 3: google.cloud.gkehub.v1beta.FeatureResourceState
   937  	(*FeatureState)(nil),            // 4: google.cloud.gkehub.v1beta.FeatureState
   938  	(*CommonFeatureSpec)(nil),       // 5: google.cloud.gkehub.v1beta.CommonFeatureSpec
   939  	(*CommonFeatureState)(nil),      // 6: google.cloud.gkehub.v1beta.CommonFeatureState
   940  	(*MembershipFeatureSpec)(nil),   // 7: google.cloud.gkehub.v1beta.MembershipFeatureSpec
   941  	(*MembershipFeatureState)(nil),  // 8: google.cloud.gkehub.v1beta.MembershipFeatureState
   942  	nil,                             // 9: google.cloud.gkehub.v1beta.Feature.LabelsEntry
   943  	nil,                             // 10: google.cloud.gkehub.v1beta.Feature.MembershipSpecsEntry
   944  	nil,                             // 11: google.cloud.gkehub.v1beta.Feature.MembershipStatesEntry
   945  	(*timestamppb.Timestamp)(nil),   // 12: google.protobuf.Timestamp
   946  	(*v1beta.FeatureSpec)(nil),      // 13: google.cloud.gkehub.multiclusteringress.v1beta.FeatureSpec
   947  	(*v1beta1.MembershipSpec)(nil),  // 14: google.cloud.gkehub.configmanagement.v1beta.MembershipSpec
   948  	(*v1beta2.MembershipState)(nil), // 15: google.cloud.gkehub.metering.v1beta.MembershipState
   949  	(*v1beta1.MembershipState)(nil), // 16: google.cloud.gkehub.configmanagement.v1beta.MembershipState
   950  }
   951  var file_google_cloud_gkehub_v1beta_feature_proto_depIdxs = []int32{
   952  	9,  // 0: google.cloud.gkehub.v1beta.Feature.labels:type_name -> google.cloud.gkehub.v1beta.Feature.LabelsEntry
   953  	3,  // 1: google.cloud.gkehub.v1beta.Feature.resource_state:type_name -> google.cloud.gkehub.v1beta.FeatureResourceState
   954  	5,  // 2: google.cloud.gkehub.v1beta.Feature.spec:type_name -> google.cloud.gkehub.v1beta.CommonFeatureSpec
   955  	10, // 3: google.cloud.gkehub.v1beta.Feature.membership_specs:type_name -> google.cloud.gkehub.v1beta.Feature.MembershipSpecsEntry
   956  	6,  // 4: google.cloud.gkehub.v1beta.Feature.state:type_name -> google.cloud.gkehub.v1beta.CommonFeatureState
   957  	11, // 5: google.cloud.gkehub.v1beta.Feature.membership_states:type_name -> google.cloud.gkehub.v1beta.Feature.MembershipStatesEntry
   958  	12, // 6: google.cloud.gkehub.v1beta.Feature.create_time:type_name -> google.protobuf.Timestamp
   959  	12, // 7: google.cloud.gkehub.v1beta.Feature.update_time:type_name -> google.protobuf.Timestamp
   960  	12, // 8: google.cloud.gkehub.v1beta.Feature.delete_time:type_name -> google.protobuf.Timestamp
   961  	0,  // 9: google.cloud.gkehub.v1beta.FeatureResourceState.state:type_name -> google.cloud.gkehub.v1beta.FeatureResourceState.State
   962  	1,  // 10: google.cloud.gkehub.v1beta.FeatureState.code:type_name -> google.cloud.gkehub.v1beta.FeatureState.Code
   963  	12, // 11: google.cloud.gkehub.v1beta.FeatureState.update_time:type_name -> google.protobuf.Timestamp
   964  	13, // 12: google.cloud.gkehub.v1beta.CommonFeatureSpec.multiclusteringress:type_name -> google.cloud.gkehub.multiclusteringress.v1beta.FeatureSpec
   965  	4,  // 13: google.cloud.gkehub.v1beta.CommonFeatureState.state:type_name -> google.cloud.gkehub.v1beta.FeatureState
   966  	14, // 14: google.cloud.gkehub.v1beta.MembershipFeatureSpec.configmanagement:type_name -> google.cloud.gkehub.configmanagement.v1beta.MembershipSpec
   967  	15, // 15: google.cloud.gkehub.v1beta.MembershipFeatureState.metering:type_name -> google.cloud.gkehub.metering.v1beta.MembershipState
   968  	16, // 16: google.cloud.gkehub.v1beta.MembershipFeatureState.configmanagement:type_name -> google.cloud.gkehub.configmanagement.v1beta.MembershipState
   969  	4,  // 17: google.cloud.gkehub.v1beta.MembershipFeatureState.state:type_name -> google.cloud.gkehub.v1beta.FeatureState
   970  	7,  // 18: google.cloud.gkehub.v1beta.Feature.MembershipSpecsEntry.value:type_name -> google.cloud.gkehub.v1beta.MembershipFeatureSpec
   971  	8,  // 19: google.cloud.gkehub.v1beta.Feature.MembershipStatesEntry.value:type_name -> google.cloud.gkehub.v1beta.MembershipFeatureState
   972  	20, // [20:20] is the sub-list for method output_type
   973  	20, // [20:20] is the sub-list for method input_type
   974  	20, // [20:20] is the sub-list for extension type_name
   975  	20, // [20:20] is the sub-list for extension extendee
   976  	0,  // [0:20] is the sub-list for field type_name
   977  }
   978  
   979  func init() { file_google_cloud_gkehub_v1beta_feature_proto_init() }
   980  func file_google_cloud_gkehub_v1beta_feature_proto_init() {
   981  	if File_google_cloud_gkehub_v1beta_feature_proto != nil {
   982  		return
   983  	}
   984  	if !protoimpl.UnsafeEnabled {
   985  		file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   986  			switch v := v.(*Feature); i {
   987  			case 0:
   988  				return &v.state
   989  			case 1:
   990  				return &v.sizeCache
   991  			case 2:
   992  				return &v.unknownFields
   993  			default:
   994  				return nil
   995  			}
   996  		}
   997  		file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   998  			switch v := v.(*FeatureResourceState); i {
   999  			case 0:
  1000  				return &v.state
  1001  			case 1:
  1002  				return &v.sizeCache
  1003  			case 2:
  1004  				return &v.unknownFields
  1005  			default:
  1006  				return nil
  1007  			}
  1008  		}
  1009  		file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1010  			switch v := v.(*FeatureState); i {
  1011  			case 0:
  1012  				return &v.state
  1013  			case 1:
  1014  				return &v.sizeCache
  1015  			case 2:
  1016  				return &v.unknownFields
  1017  			default:
  1018  				return nil
  1019  			}
  1020  		}
  1021  		file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1022  			switch v := v.(*CommonFeatureSpec); i {
  1023  			case 0:
  1024  				return &v.state
  1025  			case 1:
  1026  				return &v.sizeCache
  1027  			case 2:
  1028  				return &v.unknownFields
  1029  			default:
  1030  				return nil
  1031  			}
  1032  		}
  1033  		file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1034  			switch v := v.(*CommonFeatureState); i {
  1035  			case 0:
  1036  				return &v.state
  1037  			case 1:
  1038  				return &v.sizeCache
  1039  			case 2:
  1040  				return &v.unknownFields
  1041  			default:
  1042  				return nil
  1043  			}
  1044  		}
  1045  		file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1046  			switch v := v.(*MembershipFeatureSpec); i {
  1047  			case 0:
  1048  				return &v.state
  1049  			case 1:
  1050  				return &v.sizeCache
  1051  			case 2:
  1052  				return &v.unknownFields
  1053  			default:
  1054  				return nil
  1055  			}
  1056  		}
  1057  		file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1058  			switch v := v.(*MembershipFeatureState); i {
  1059  			case 0:
  1060  				return &v.state
  1061  			case 1:
  1062  				return &v.sizeCache
  1063  			case 2:
  1064  				return &v.unknownFields
  1065  			default:
  1066  				return nil
  1067  			}
  1068  		}
  1069  	}
  1070  	file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[3].OneofWrappers = []interface{}{
  1071  		(*CommonFeatureSpec_Multiclusteringress)(nil),
  1072  	}
  1073  	file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[5].OneofWrappers = []interface{}{
  1074  		(*MembershipFeatureSpec_Configmanagement)(nil),
  1075  	}
  1076  	file_google_cloud_gkehub_v1beta_feature_proto_msgTypes[6].OneofWrappers = []interface{}{
  1077  		(*MembershipFeatureState_Metering)(nil),
  1078  		(*MembershipFeatureState_Configmanagement)(nil),
  1079  	}
  1080  	type x struct{}
  1081  	out := protoimpl.TypeBuilder{
  1082  		File: protoimpl.DescBuilder{
  1083  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1084  			RawDescriptor: file_google_cloud_gkehub_v1beta_feature_proto_rawDesc,
  1085  			NumEnums:      2,
  1086  			NumMessages:   10,
  1087  			NumExtensions: 0,
  1088  			NumServices:   0,
  1089  		},
  1090  		GoTypes:           file_google_cloud_gkehub_v1beta_feature_proto_goTypes,
  1091  		DependencyIndexes: file_google_cloud_gkehub_v1beta_feature_proto_depIdxs,
  1092  		EnumInfos:         file_google_cloud_gkehub_v1beta_feature_proto_enumTypes,
  1093  		MessageInfos:      file_google_cloud_gkehub_v1beta_feature_proto_msgTypes,
  1094  	}.Build()
  1095  	File_google_cloud_gkehub_v1beta_feature_proto = out.File
  1096  	file_google_cloud_gkehub_v1beta_feature_proto_rawDesc = nil
  1097  	file_google_cloud_gkehub_v1beta_feature_proto_goTypes = nil
  1098  	file_google_cloud_gkehub_v1beta_feature_proto_depIdxs = nil
  1099  }
  1100  

View as plain text