// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        (unknown)
// source: bff/cluster_management/v1beta2/services.proto

package cluster_managementv1beta2

import (
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
	v1beta1 "github.com/tidbcloud/tidb-management-service/api/spec/tidb_cloud_open_api/common/v1beta1"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type ListTidbsRequest_ViewMode int32

const (
	ListTidbsRequest_VIEW_MODE_UNSPECIFIED ListTidbsRequest_ViewMode = 0
	ListTidbsRequest_BASIC                 ListTidbsRequest_ViewMode = 1
	ListTidbsRequest_MINI                  ListTidbsRequest_ViewMode = 2
)

// Enum value maps for ListTidbsRequest_ViewMode.
var (
	ListTidbsRequest_ViewMode_name = map[int32]string{
		0: "VIEW_MODE_UNSPECIFIED",
		1: "BASIC",
		2: "MINI",
	}
	ListTidbsRequest_ViewMode_value = map[string]int32{
		"VIEW_MODE_UNSPECIFIED": 0,
		"BASIC":                 1,
		"MINI":                  2,
	}
)

func (x ListTidbsRequest_ViewMode) Enum() *ListTidbsRequest_ViewMode {
	p := new(ListTidbsRequest_ViewMode)
	*p = x
	return p
}

func (x ListTidbsRequest_ViewMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ListTidbsRequest_ViewMode) Descriptor() protoreflect.EnumDescriptor {
	return file_bff_cluster_management_v1beta2_services_proto_enumTypes[0].Descriptor()
}

func (ListTidbsRequest_ViewMode) Type() protoreflect.EnumType {
	return &file_bff_cluster_management_v1beta2_services_proto_enumTypes[0]
}

func (x ListTidbsRequest_ViewMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ListTidbsRequest_ViewMode.Descriptor instead.
func (ListTidbsRequest_ViewMode) EnumDescriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{0, 0}
}

type ListRegionsRequest_ViewMode int32

const (
	ListRegionsRequest_VIEW_MODE_UNSPECIFIED ListRegionsRequest_ViewMode = 0
	ListRegionsRequest_SERVICE_PLAN_GROUP    ListRegionsRequest_ViewMode = 1
	ListRegionsRequest_FLAT                  ListRegionsRequest_ViewMode = 2
)

// Enum value maps for ListRegionsRequest_ViewMode.
var (
	ListRegionsRequest_ViewMode_name = map[int32]string{
		0: "VIEW_MODE_UNSPECIFIED",
		1: "SERVICE_PLAN_GROUP",
		2: "FLAT",
	}
	ListRegionsRequest_ViewMode_value = map[string]int32{
		"VIEW_MODE_UNSPECIFIED": 0,
		"SERVICE_PLAN_GROUP":    1,
		"FLAT":                  2,
	}
)

func (x ListRegionsRequest_ViewMode) Enum() *ListRegionsRequest_ViewMode {
	p := new(ListRegionsRequest_ViewMode)
	*p = x
	return p
}

func (x ListRegionsRequest_ViewMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ListRegionsRequest_ViewMode) Descriptor() protoreflect.EnumDescriptor {
	return file_bff_cluster_management_v1beta2_services_proto_enumTypes[1].Descriptor()
}

func (ListRegionsRequest_ViewMode) Type() protoreflect.EnumType {
	return &file_bff_cluster_management_v1beta2_services_proto_enumTypes[1]
}

func (x ListRegionsRequest_ViewMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ListRegionsRequest_ViewMode.Descriptor instead.
func (ListRegionsRequest_ViewMode) EnumDescriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{10, 0}
}

type ProjectMigrationTask_State int32

const (
	ProjectMigrationTask_STATE_UNSPECIFIED ProjectMigrationTask_State = 0
	ProjectMigrationTask_PENDING           ProjectMigrationTask_State = 1
	ProjectMigrationTask_RUNNING           ProjectMigrationTask_State = 2
	ProjectMigrationTask_SUCCEED           ProjectMigrationTask_State = 3
	ProjectMigrationTask_FAILED            ProjectMigrationTask_State = 4
)

// Enum value maps for ProjectMigrationTask_State.
var (
	ProjectMigrationTask_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "PENDING",
		2: "RUNNING",
		3: "SUCCEED",
		4: "FAILED",
	}
	ProjectMigrationTask_State_value = map[string]int32{
		"STATE_UNSPECIFIED": 0,
		"PENDING":           1,
		"RUNNING":           2,
		"SUCCEED":           3,
		"FAILED":            4,
	}
)

func (x ProjectMigrationTask_State) Enum() *ProjectMigrationTask_State {
	p := new(ProjectMigrationTask_State)
	*p = x
	return p
}

func (x ProjectMigrationTask_State) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ProjectMigrationTask_State) Descriptor() protoreflect.EnumDescriptor {
	return file_bff_cluster_management_v1beta2_services_proto_enumTypes[2].Descriptor()
}

func (ProjectMigrationTask_State) Type() protoreflect.EnumType {
	return &file_bff_cluster_management_v1beta2_services_proto_enumTypes[2]
}

func (x ProjectMigrationTask_State) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ProjectMigrationTask_State.Descriptor instead.
func (ProjectMigrationTask_State) EnumDescriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{19, 0}
}

type ListTidbsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ServicePlans   []v1beta1.ServicePlan          `protobuf:"varint,1,rep,packed,name=service_plans,json=servicePlans,proto3,enum=tidb_cloud_open_api.common.v1beta1.ServicePlan" json:"service_plans,omitempty"`
	TidbIds        []string                       `protobuf:"bytes,3,rep,name=tidb_ids,json=tidbIds,proto3" json:"tidb_ids,omitempty"`
	CloudProviders []v1beta1.Region_CloudProvider `protobuf:"varint,4,rep,packed,name=cloud_providers,json=cloudProviders,proto3,enum=tidb_cloud_open_api.common.v1beta1.Region_CloudProvider" json:"cloud_providers,omitempty"`
	RegionIds      []string                       `protobuf:"bytes,5,rep,name=region_ids,json=regionIds,proto3" json:"region_ids,omitempty"`
	ProjectIds     []string                       `protobuf:"bytes,6,rep,name=project_ids,json=projectIds,proto3" json:"project_ids,omitempty"`
	Name           string                         `protobuf:"bytes,7,opt,name=name,proto3" json:"name,omitempty"`
	ViewMode       ListTidbsRequest_ViewMode      `protobuf:"varint,8,opt,name=view_mode,json=viewMode,proto3,enum=bff.cluster_management.v1beta2.ListTidbsRequest_ViewMode" json:"view_mode,omitempty"`
	Tags           []string                       `protobuf:"bytes,9,rep,name=tags,proto3" json:"tags,omitempty"`
	// If specified, only TiDBs of the given engine types are returned.
	EngineTypes []v1beta1.EngineType `protobuf:"varint,11,rep,packed,name=engine_types,json=engineTypes,proto3,enum=tidb_cloud_open_api.common.v1beta1.EngineType" json:"engine_types,omitempty"`
	// When true, for Dedicated clusters only, skip Regional Server enrichment in
	// ListClusters (global-layer metadata only). Ignored when view_mode is MINI.
	// Ignored for Serverless and NextGen service plans.
	// Default false preserves the current FullView list item shape.
	GlobalMetaOnly *bool  `protobuf:"varint,10,opt,name=global_meta_only,json=globalMetaOnly,proto3,oneof" json:"global_meta_only,omitempty"`
	PageSize       int32  `protobuf:"varint,100,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	PageToken      string `protobuf:"bytes,101,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	Skip           int32  `protobuf:"varint,102,opt,name=skip,proto3" json:"skip,omitempty"`
}

func (x *ListTidbsRequest) Reset() {
	*x = ListTidbsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[0]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListTidbsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTidbsRequest) ProtoMessage() {}

func (x *ListTidbsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[0]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListTidbsRequest.ProtoReflect.Descriptor instead.
func (*ListTidbsRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{0}
}

func (x *ListTidbsRequest) GetServicePlans() []v1beta1.ServicePlan {
	if x != nil {
		return x.ServicePlans
	}
	return nil
}

func (x *ListTidbsRequest) GetTidbIds() []string {
	if x != nil {
		return x.TidbIds
	}
	return nil
}

func (x *ListTidbsRequest) GetCloudProviders() []v1beta1.Region_CloudProvider {
	if x != nil {
		return x.CloudProviders
	}
	return nil
}

func (x *ListTidbsRequest) GetRegionIds() []string {
	if x != nil {
		return x.RegionIds
	}
	return nil
}

func (x *ListTidbsRequest) GetProjectIds() []string {
	if x != nil {
		return x.ProjectIds
	}
	return nil
}

func (x *ListTidbsRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *ListTidbsRequest) GetViewMode() ListTidbsRequest_ViewMode {
	if x != nil {
		return x.ViewMode
	}
	return ListTidbsRequest_VIEW_MODE_UNSPECIFIED
}

func (x *ListTidbsRequest) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *ListTidbsRequest) GetEngineTypes() []v1beta1.EngineType {
	if x != nil {
		return x.EngineTypes
	}
	return nil
}

func (x *ListTidbsRequest) GetGlobalMetaOnly() bool {
	if x != nil && x.GlobalMetaOnly != nil {
		return *x.GlobalMetaOnly
	}
	return false
}

func (x *ListTidbsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListTidbsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

func (x *ListTidbsRequest) GetSkip() int32 {
	if x != nil {
		return x.Skip
	}
	return 0
}

type ListTidbsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Tidbs         []*Tidb `protobuf:"bytes,1,rep,name=tidbs,proto3" json:"tidbs,omitempty"`
	TotalSize     int32   `protobuf:"varint,100,opt,name=total_size,json=totalSize,proto3" json:"total_size,omitempty"`
	NextPageToken string  `protobuf:"bytes,101,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}

func (x *ListTidbsResponse) Reset() {
	*x = ListTidbsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[1]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListTidbsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListTidbsResponse) ProtoMessage() {}

func (x *ListTidbsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[1]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListTidbsResponse.ProtoReflect.Descriptor instead.
func (*ListTidbsResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{1}
}

func (x *ListTidbsResponse) GetTidbs() []*Tidb {
	if x != nil {
		return x.Tidbs
	}
	return nil
}

func (x *ListTidbsResponse) GetTotalSize() int32 {
	if x != nil {
		return x.TotalSize
	}
	return 0
}

func (x *ListTidbsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

type GetTidbRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TidbId string `protobuf:"bytes,1,opt,name=tidb_id,json=tidbId,proto3" json:"tidb_id,omitempty"`
	// When true, for Dedicated clusters only, skip Regional Server enrichment and
	// return global-layer metadata only (no endpoints, scaling progress, etc.).
	// Ignored for Serverless and NextGen service plans.
	// Default false preserves the current FullView response shape.
	GlobalMetaOnly *bool `protobuf:"varint,2,opt,name=global_meta_only,json=globalMetaOnly,proto3,oneof" json:"global_meta_only,omitempty"`
}

func (x *GetTidbRequest) Reset() {
	*x = GetTidbRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[2]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetTidbRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetTidbRequest) ProtoMessage() {}

func (x *GetTidbRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[2]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetTidbRequest.ProtoReflect.Descriptor instead.
func (*GetTidbRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{2}
}

func (x *GetTidbRequest) GetTidbId() string {
	if x != nil {
		return x.TidbId
	}
	return ""
}

func (x *GetTidbRequest) GetGlobalMetaOnly() bool {
	if x != nil && x.GlobalMetaOnly != nil {
		return *x.GlobalMetaOnly
	}
	return false
}

type GetClusterInventoryRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetClusterInventoryRequest) Reset() {
	*x = GetClusterInventoryRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[3]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetClusterInventoryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetClusterInventoryRequest) ProtoMessage() {}

func (x *GetClusterInventoryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[3]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetClusterInventoryRequest.ProtoReflect.Descriptor instead.
func (*GetClusterInventoryRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{3}
}

type GetClusterInventoryResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Inventories []*ClusterInventoryItem `protobuf:"bytes,1,rep,name=inventories,proto3" json:"inventories,omitempty"`
}

func (x *GetClusterInventoryResponse) Reset() {
	*x = GetClusterInventoryResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[4]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetClusterInventoryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetClusterInventoryResponse) ProtoMessage() {}

func (x *GetClusterInventoryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[4]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetClusterInventoryResponse.ProtoReflect.Descriptor instead.
func (*GetClusterInventoryResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{4}
}

func (x *GetClusterInventoryResponse) GetInventories() []*ClusterInventoryItem {
	if x != nil {
		return x.Inventories
	}
	return nil
}

type ClusterInventoryItem struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ServicePlan  v1beta1.ServicePlan `protobuf:"varint,1,opt,name=service_plan,json=servicePlan,proto3,enum=tidb_cloud_open_api.common.v1beta1.ServicePlan" json:"service_plan,omitempty"`
	Limit        int32               `protobuf:"varint,2,opt,name=limit,proto3" json:"limit,omitempty"`
	CurrentCount int32               `protobuf:"varint,3,opt,name=current_count,json=currentCount,proto3" json:"current_count,omitempty"`
}

func (x *ClusterInventoryItem) Reset() {
	*x = ClusterInventoryItem{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[5]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ClusterInventoryItem) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ClusterInventoryItem) ProtoMessage() {}

func (x *ClusterInventoryItem) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[5]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ClusterInventoryItem.ProtoReflect.Descriptor instead.
func (*ClusterInventoryItem) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{5}
}

func (x *ClusterInventoryItem) GetServicePlan() v1beta1.ServicePlan {
	if x != nil {
		return x.ServicePlan
	}
	return v1beta1.ServicePlan(0)
}

func (x *ClusterInventoryItem) GetLimit() int32 {
	if x != nil {
		return x.Limit
	}
	return 0
}

func (x *ClusterInventoryItem) GetCurrentCount() int32 {
	if x != nil {
		return x.CurrentCount
	}
	return 0
}

type BindTagsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TidbId string   `protobuf:"bytes,1,opt,name=tidb_id,json=tidbId,proto3" json:"tidb_id,omitempty"`
	Tags   []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
}

func (x *BindTagsRequest) Reset() {
	*x = BindTagsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[6]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BindTagsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BindTagsRequest) ProtoMessage() {}

func (x *BindTagsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[6]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BindTagsRequest.ProtoReflect.Descriptor instead.
func (*BindTagsRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{6}
}

func (x *BindTagsRequest) GetTidbId() string {
	if x != nil {
		return x.TidbId
	}
	return ""
}

func (x *BindTagsRequest) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

type BindTagsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Tags []*v1beta1.Tag `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
}

func (x *BindTagsResponse) Reset() {
	*x = BindTagsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[7]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BindTagsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BindTagsResponse) ProtoMessage() {}

func (x *BindTagsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[7]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BindTagsResponse.ProtoReflect.Descriptor instead.
func (*BindTagsResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{7}
}

func (x *BindTagsResponse) GetTags() []*v1beta1.Tag {
	if x != nil {
		return x.Tags
	}
	return nil
}

type UnbindTagsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	TidbId string   `protobuf:"bytes,1,opt,name=tidb_id,json=tidbId,proto3" json:"tidb_id,omitempty"`
	Tags   []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
}

func (x *UnbindTagsRequest) Reset() {
	*x = UnbindTagsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[8]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UnbindTagsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnbindTagsRequest) ProtoMessage() {}

func (x *UnbindTagsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[8]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnbindTagsRequest.ProtoReflect.Descriptor instead.
func (*UnbindTagsRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{8}
}

func (x *UnbindTagsRequest) GetTidbId() string {
	if x != nil {
		return x.TidbId
	}
	return ""
}

func (x *UnbindTagsRequest) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

type UnbindTagsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Tags []*v1beta1.Tag `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
}

func (x *UnbindTagsResponse) Reset() {
	*x = UnbindTagsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[9]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *UnbindTagsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*UnbindTagsResponse) ProtoMessage() {}

func (x *UnbindTagsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[9]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use UnbindTagsResponse.ProtoReflect.Descriptor instead.
func (*UnbindTagsResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{9}
}

func (x *UnbindTagsResponse) GetTags() []*v1beta1.Tag {
	if x != nil {
		return x.Tags
	}
	return nil
}

type ListRegionsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CloudProviders []v1beta1.Region_CloudProvider `protobuf:"varint,1,rep,packed,name=cloud_providers,json=cloudProviders,proto3,enum=tidb_cloud_open_api.common.v1beta1.Region_CloudProvider" json:"cloud_providers,omitempty"`
	ServicePlans   []v1beta1.ServicePlan          `protobuf:"varint,2,rep,packed,name=service_plans,json=servicePlans,proto3,enum=tidb_cloud_open_api.common.v1beta1.ServicePlan" json:"service_plans,omitempty"`
	ViewMode       ListRegionsRequest_ViewMode    `protobuf:"varint,3,opt,name=view_mode,json=viewMode,proto3,enum=bff.cluster_management.v1beta2.ListRegionsRequest_ViewMode" json:"view_mode,omitempty"`
}

func (x *ListRegionsRequest) Reset() {
	*x = ListRegionsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[10]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListRegionsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRegionsRequest) ProtoMessage() {}

func (x *ListRegionsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[10]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRegionsRequest.ProtoReflect.Descriptor instead.
func (*ListRegionsRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{10}
}

func (x *ListRegionsRequest) GetCloudProviders() []v1beta1.Region_CloudProvider {
	if x != nil {
		return x.CloudProviders
	}
	return nil
}

func (x *ListRegionsRequest) GetServicePlans() []v1beta1.ServicePlan {
	if x != nil {
		return x.ServicePlans
	}
	return nil
}

func (x *ListRegionsRequest) GetViewMode() ListRegionsRequest_ViewMode {
	if x != nil {
		return x.ViewMode
	}
	return ListRegionsRequest_VIEW_MODE_UNSPECIFIED
}

type ListRegionsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Types that are assignable to View:
	//
	//	*ListRegionsResponse_ServicePlanGroupView
	//	*ListRegionsResponse_FlatView_
	View isListRegionsResponse_View `protobuf_oneof:"view"`
}

func (x *ListRegionsResponse) Reset() {
	*x = ListRegionsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[11]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListRegionsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRegionsResponse) ProtoMessage() {}

func (x *ListRegionsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[11]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRegionsResponse.ProtoReflect.Descriptor instead.
func (*ListRegionsResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{11}
}

func (m *ListRegionsResponse) GetView() isListRegionsResponse_View {
	if m != nil {
		return m.View
	}
	return nil
}

func (x *ListRegionsResponse) GetServicePlanGroupView() *ListRegionsResponse_ServicePlanGroupedView {
	if x, ok := x.GetView().(*ListRegionsResponse_ServicePlanGroupView); ok {
		return x.ServicePlanGroupView
	}
	return nil
}

func (x *ListRegionsResponse) GetFlatView() *ListRegionsResponse_FlatView {
	if x, ok := x.GetView().(*ListRegionsResponse_FlatView_); ok {
		return x.FlatView
	}
	return nil
}

type isListRegionsResponse_View interface {
	isListRegionsResponse_View()
}

type ListRegionsResponse_ServicePlanGroupView struct {
	ServicePlanGroupView *ListRegionsResponse_ServicePlanGroupedView `protobuf:"bytes,1,opt,name=service_plan_group_view,json=servicePlanGroupView,proto3,oneof"`
}

type ListRegionsResponse_FlatView_ struct {
	FlatView *ListRegionsResponse_FlatView `protobuf:"bytes,2,opt,name=flat_view,json=flatView,proto3,oneof"`
}

func (*ListRegionsResponse_ServicePlanGroupView) isListRegionsResponse_View() {}

func (*ListRegionsResponse_FlatView_) isListRegionsResponse_View() {}

type ListCloudProvidersRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CloudProviders []v1beta1.Region_CloudProvider `protobuf:"varint,1,rep,packed,name=cloud_providers,json=cloudProviders,proto3,enum=tidb_cloud_open_api.common.v1beta1.Region_CloudProvider" json:"cloud_providers,omitempty"`
	ServicePlans   []v1beta1.ServicePlan          `protobuf:"varint,2,rep,packed,name=service_plans,json=servicePlans,proto3,enum=tidb_cloud_open_api.common.v1beta1.ServicePlan" json:"service_plans,omitempty"`
}

func (x *ListCloudProvidersRequest) Reset() {
	*x = ListCloudProvidersRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[12]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListCloudProvidersRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListCloudProvidersRequest) ProtoMessage() {}

func (x *ListCloudProvidersRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[12]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListCloudProvidersRequest.ProtoReflect.Descriptor instead.
func (*ListCloudProvidersRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{12}
}

func (x *ListCloudProvidersRequest) GetCloudProviders() []v1beta1.Region_CloudProvider {
	if x != nil {
		return x.CloudProviders
	}
	return nil
}

func (x *ListCloudProvidersRequest) GetServicePlans() []v1beta1.ServicePlan {
	if x != nil {
		return x.ServicePlans
	}
	return nil
}

type ListCloudProvidersResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	CloudProviders []*ListCloudProvidersResponse_GroupedCloudProvider `protobuf:"bytes,1,rep,name=cloud_providers,json=cloudProviders,proto3" json:"cloud_providers,omitempty"`
}

func (x *ListCloudProvidersResponse) Reset() {
	*x = ListCloudProvidersResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[13]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListCloudProvidersResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListCloudProvidersResponse) ProtoMessage() {}

func (x *ListCloudProvidersResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[13]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListCloudProvidersResponse.ProtoReflect.Descriptor instead.
func (*ListCloudProvidersResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{13}
}

func (x *ListCloudProvidersResponse) GetCloudProviders() []*ListCloudProvidersResponse_GroupedCloudProvider {
	if x != nil {
		return x.CloudProviders
	}
	return nil
}

// MoveTiDBRequest moves a single Starter or Essential tidb to a target project.
type MoveTiDBRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// tidb_id is the ID of the TiDB to move.
	TidbId string `protobuf:"bytes,1,opt,name=tidb_id,json=tidbId,proto3" json:"tidb_id,omitempty"`
	// target_project_id is the destination project.
	TargetProjectId string `protobuf:"bytes,2,opt,name=target_project_id,json=targetProjectId,proto3" json:"target_project_id,omitempty"`
	// new name of instance after move, if not provided, the name won't be changed.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
}

func (x *MoveTiDBRequest) Reset() {
	*x = MoveTiDBRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[14]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MoveTiDBRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoveTiDBRequest) ProtoMessage() {}

func (x *MoveTiDBRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[14]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MoveTiDBRequest.ProtoReflect.Descriptor instead.
func (*MoveTiDBRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{14}
}

func (x *MoveTiDBRequest) GetTidbId() string {
	if x != nil {
		return x.TidbId
	}
	return ""
}

func (x *MoveTiDBRequest) GetTargetProjectId() string {
	if x != nil {
		return x.TargetProjectId
	}
	return ""
}

func (x *MoveTiDBRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

type MoveTiDBResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// tidb is the moved tidb.
	Tidb *Tidb `protobuf:"bytes,1,opt,name=tidb,proto3" json:"tidb,omitempty"`
}

func (x *MoveTiDBResponse) Reset() {
	*x = MoveTiDBResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[15]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *MoveTiDBResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*MoveTiDBResponse) ProtoMessage() {}

func (x *MoveTiDBResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[15]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use MoveTiDBResponse.ProtoReflect.Descriptor instead.
func (*MoveTiDBResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{15}
}

func (x *MoveTiDBResponse) GetTidb() *Tidb {
	if x != nil {
		return x.Tidb
	}
	return nil
}

// BatchMoveTiDBsRequest moves multiple Starter/Essential TiDBs from one project to another.
// Max 1000 tidbs per request.
type BatchMoveTiDBsRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// source_project_id is the source project (required).
	SourceProjectId string `protobuf:"bytes,1,opt,name=source_project_id,json=sourceProjectId,proto3" json:"source_project_id,omitempty"`
	// target_project_id is the destination project (required).
	TargetProjectId string `protobuf:"bytes,2,opt,name=target_project_id,json=targetProjectId,proto3" json:"target_project_id,omitempty"`
	// service_plans filters which service plans to move (optional; default: all supported plans).
	ServicePlans []v1beta1.ServicePlan `protobuf:"varint,3,rep,packed,name=service_plans,json=servicePlans,proto3,enum=tidb_cloud_open_api.common.v1beta1.ServicePlan" json:"service_plans,omitempty"`
}

func (x *BatchMoveTiDBsRequest) Reset() {
	*x = BatchMoveTiDBsRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[16]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BatchMoveTiDBsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchMoveTiDBsRequest) ProtoMessage() {}

func (x *BatchMoveTiDBsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[16]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchMoveTiDBsRequest.ProtoReflect.Descriptor instead.
func (*BatchMoveTiDBsRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{16}
}

func (x *BatchMoveTiDBsRequest) GetSourceProjectId() string {
	if x != nil {
		return x.SourceProjectId
	}
	return ""
}

func (x *BatchMoveTiDBsRequest) GetTargetProjectId() string {
	if x != nil {
		return x.TargetProjectId
	}
	return ""
}

func (x *BatchMoveTiDBsRequest) GetServicePlans() []v1beta1.ServicePlan {
	if x != nil {
		return x.ServicePlans
	}
	return nil
}

type BatchMoveTiDBsResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// total is the number of TiDBs scheduled for migration.
	Total int32 `protobuf:"varint,1,opt,name=total,proto3" json:"total,omitempty"`
	// failed_tidb_ids lists the IDs of TiDBs that failed to move.
	FailedTidbIds []string `protobuf:"bytes,2,rep,name=failed_tidb_ids,json=failedTidbIds,proto3" json:"failed_tidb_ids,omitempty"`
	// success_tidb_ids lists the IDs of TiDBs that were successfully moved.
	SuccessTidbIds []string `protobuf:"bytes,3,rep,name=success_tidb_ids,json=successTidbIds,proto3" json:"success_tidb_ids,omitempty"`
}

func (x *BatchMoveTiDBsResponse) Reset() {
	*x = BatchMoveTiDBsResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[17]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *BatchMoveTiDBsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BatchMoveTiDBsResponse) ProtoMessage() {}

func (x *BatchMoveTiDBsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[17]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BatchMoveTiDBsResponse.ProtoReflect.Descriptor instead.
func (*BatchMoveTiDBsResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{17}
}

func (x *BatchMoveTiDBsResponse) GetTotal() int32 {
	if x != nil {
		return x.Total
	}
	return 0
}

func (x *BatchMoveTiDBsResponse) GetFailedTidbIds() []string {
	if x != nil {
		return x.FailedTidbIds
	}
	return nil
}

func (x *BatchMoveTiDBsResponse) GetSuccessTidbIds() []string {
	if x != nil {
		return x.SuccessTidbIds
	}
	return nil
}

type GetProjectMigrationTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields
}

func (x *GetProjectMigrationTaskRequest) Reset() {
	*x = GetProjectMigrationTaskRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[18]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *GetProjectMigrationTaskRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetProjectMigrationTaskRequest) ProtoMessage() {}

func (x *GetProjectMigrationTaskRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[18]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetProjectMigrationTaskRequest.ProtoReflect.Descriptor instead.
func (*GetProjectMigrationTaskRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{18}
}

type ProjectMigrationTask struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	OrgId      uint64                     `protobuf:"varint,1,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	State      ProjectMigrationTask_State `protobuf:"varint,2,opt,name=state,proto3,enum=bff.cluster_management.v1beta2.ProjectMigrationTask_State" json:"state,omitempty"`
	Migrations []*Migration               `protobuf:"bytes,3,rep,name=migrations,proto3" json:"migrations,omitempty"`
}

func (x *ProjectMigrationTask) Reset() {
	*x = ProjectMigrationTask{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[19]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ProjectMigrationTask) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProjectMigrationTask) ProtoMessage() {}

func (x *ProjectMigrationTask) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[19]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProjectMigrationTask.ProtoReflect.Descriptor instead.
func (*ProjectMigrationTask) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{19}
}

func (x *ProjectMigrationTask) GetOrgId() uint64 {
	if x != nil {
		return x.OrgId
	}
	return 0
}

func (x *ProjectMigrationTask) GetState() ProjectMigrationTask_State {
	if x != nil {
		return x.State
	}
	return ProjectMigrationTask_STATE_UNSPECIFIED
}

func (x *ProjectMigrationTask) GetMigrations() []*Migration {
	if x != nil {
		return x.Migrations
	}
	return nil
}

type Migration struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	SourceProjectId      uint64 `protobuf:"varint,1,opt,name=source_project_id,json=sourceProjectId,proto3" json:"source_project_id,omitempty"`
	SourceProjectName    string `protobuf:"bytes,2,opt,name=source_project_name,json=sourceProjectName,proto3" json:"source_project_name,omitempty"`
	TargetProjectId      uint64 `protobuf:"varint,3,opt,name=target_project_id,json=targetProjectId,proto3" json:"target_project_id,omitempty"`
	TargetProjectName    string `protobuf:"bytes,4,opt,name=target_project_name,json=targetProjectName,proto3" json:"target_project_name,omitempty"`
	CountInSourceProject uint64 `protobuf:"varint,5,opt,name=count_in_source_project,json=countInSourceProject,proto3" json:"count_in_source_project,omitempty"`
	CountInTargetProject uint64 `protobuf:"varint,6,opt,name=count_in_target_project,json=countInTargetProject,proto3" json:"count_in_target_project,omitempty"`
}

func (x *Migration) Reset() {
	*x = Migration{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[20]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *Migration) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Migration) ProtoMessage() {}

func (x *Migration) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[20]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Migration.ProtoReflect.Descriptor instead.
func (*Migration) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{20}
}

func (x *Migration) GetSourceProjectId() uint64 {
	if x != nil {
		return x.SourceProjectId
	}
	return 0
}

func (x *Migration) GetSourceProjectName() string {
	if x != nil {
		return x.SourceProjectName
	}
	return ""
}

func (x *Migration) GetTargetProjectId() uint64 {
	if x != nil {
		return x.TargetProjectId
	}
	return 0
}

func (x *Migration) GetTargetProjectName() string {
	if x != nil {
		return x.TargetProjectName
	}
	return ""
}

func (x *Migration) GetCountInSourceProject() uint64 {
	if x != nil {
		return x.CountInSourceProject
	}
	return 0
}

func (x *Migration) GetCountInTargetProject() uint64 {
	if x != nil {
		return x.CountInTargetProject
	}
	return 0
}

type ApproveProjectMigrationTaskRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Migrations []*Migration `protobuf:"bytes,3,rep,name=migrations,proto3" json:"migrations,omitempty"`
}

func (x *ApproveProjectMigrationTaskRequest) Reset() {
	*x = ApproveProjectMigrationTaskRequest{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[21]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ApproveProjectMigrationTaskRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ApproveProjectMigrationTaskRequest) ProtoMessage() {}

func (x *ApproveProjectMigrationTaskRequest) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[21]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApproveProjectMigrationTaskRequest.ProtoReflect.Descriptor instead.
func (*ApproveProjectMigrationTaskRequest) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{21}
}

func (x *ApproveProjectMigrationTaskRequest) GetMigrations() []*Migration {
	if x != nil {
		return x.Migrations
	}
	return nil
}

type ApproveProjectMigrationTaskResponse struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Task *ProjectMigrationTask `protobuf:"bytes,1,opt,name=task,proto3" json:"task,omitempty"`
}

func (x *ApproveProjectMigrationTaskResponse) Reset() {
	*x = ApproveProjectMigrationTaskResponse{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[22]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ApproveProjectMigrationTaskResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ApproveProjectMigrationTaskResponse) ProtoMessage() {}

func (x *ApproveProjectMigrationTaskResponse) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[22]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ApproveProjectMigrationTaskResponse.ProtoReflect.Descriptor instead.
func (*ApproveProjectMigrationTaskResponse) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{22}
}

func (x *ApproveProjectMigrationTaskResponse) GetTask() *ProjectMigrationTask {
	if x != nil {
		return x.Task
	}
	return nil
}

type ListRegionsResponse_ServicePlanGroupedView struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Items []*ListRegionsResponse_ServicePlanGroup `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
}

func (x *ListRegionsResponse_ServicePlanGroupedView) Reset() {
	*x = ListRegionsResponse_ServicePlanGroupedView{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[23]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListRegionsResponse_ServicePlanGroupedView) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRegionsResponse_ServicePlanGroupedView) ProtoMessage() {}

func (x *ListRegionsResponse_ServicePlanGroupedView) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[23]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRegionsResponse_ServicePlanGroupedView.ProtoReflect.Descriptor instead.
func (*ListRegionsResponse_ServicePlanGroupedView) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{11, 0}
}

func (x *ListRegionsResponse_ServicePlanGroupedView) GetItems() []*ListRegionsResponse_ServicePlanGroup {
	if x != nil {
		return x.Items
	}
	return nil
}

type ListRegionsResponse_FlatView struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Regions []*v1beta1.Region `protobuf:"bytes,1,rep,name=regions,proto3" json:"regions,omitempty"`
}

func (x *ListRegionsResponse_FlatView) Reset() {
	*x = ListRegionsResponse_FlatView{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[24]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListRegionsResponse_FlatView) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRegionsResponse_FlatView) ProtoMessage() {}

func (x *ListRegionsResponse_FlatView) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[24]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRegionsResponse_FlatView.ProtoReflect.Descriptor instead.
func (*ListRegionsResponse_FlatView) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{11, 1}
}

func (x *ListRegionsResponse_FlatView) GetRegions() []*v1beta1.Region {
	if x != nil {
		return x.Regions
	}
	return nil
}

type ListRegionsResponse_ServicePlanGroup struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ServicePlan v1beta1.ServicePlan `protobuf:"varint,1,opt,name=service_plan,json=servicePlan,proto3,enum=tidb_cloud_open_api.common.v1beta1.ServicePlan" json:"service_plan,omitempty"`
	Regions     []*v1beta1.Region   `protobuf:"bytes,2,rep,name=regions,proto3" json:"regions,omitempty"`
}

func (x *ListRegionsResponse_ServicePlanGroup) Reset() {
	*x = ListRegionsResponse_ServicePlanGroup{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[25]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListRegionsResponse_ServicePlanGroup) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRegionsResponse_ServicePlanGroup) ProtoMessage() {}

func (x *ListRegionsResponse_ServicePlanGroup) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[25]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRegionsResponse_ServicePlanGroup.ProtoReflect.Descriptor instead.
func (*ListRegionsResponse_ServicePlanGroup) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{11, 2}
}

func (x *ListRegionsResponse_ServicePlanGroup) GetServicePlan() v1beta1.ServicePlan {
	if x != nil {
		return x.ServicePlan
	}
	return v1beta1.ServicePlan(0)
}

func (x *ListRegionsResponse_ServicePlanGroup) GetRegions() []*v1beta1.Region {
	if x != nil {
		return x.Regions
	}
	return nil
}

type ListCloudProvidersResponse_GroupedCloudProvider struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	ServicePlan    v1beta1.ServicePlan            `protobuf:"varint,1,opt,name=service_plan,json=servicePlan,proto3,enum=tidb_cloud_open_api.common.v1beta1.ServicePlan" json:"service_plan,omitempty"`
	CloudProviders []v1beta1.Region_CloudProvider `protobuf:"varint,3,rep,packed,name=cloud_providers,json=cloudProviders,proto3,enum=tidb_cloud_open_api.common.v1beta1.Region_CloudProvider" json:"cloud_providers,omitempty"`
}

func (x *ListCloudProvidersResponse_GroupedCloudProvider) Reset() {
	*x = ListCloudProvidersResponse_GroupedCloudProvider{}
	if protoimpl.UnsafeEnabled {
		mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[26]
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		ms.StoreMessageInfo(mi)
	}
}

func (x *ListCloudProvidersResponse_GroupedCloudProvider) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListCloudProvidersResponse_GroupedCloudProvider) ProtoMessage() {}

func (x *ListCloudProvidersResponse_GroupedCloudProvider) ProtoReflect() protoreflect.Message {
	mi := &file_bff_cluster_management_v1beta2_services_proto_msgTypes[26]
	if protoimpl.UnsafeEnabled && x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListCloudProvidersResponse_GroupedCloudProvider.ProtoReflect.Descriptor instead.
func (*ListCloudProvidersResponse_GroupedCloudProvider) Descriptor() ([]byte, []int) {
	return file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP(), []int{13, 0}
}

func (x *ListCloudProvidersResponse_GroupedCloudProvider) GetServicePlan() v1beta1.ServicePlan {
	if x != nil {
		return x.ServicePlan
	}
	return v1beta1.ServicePlan(0)
}

func (x *ListCloudProvidersResponse_GroupedCloudProvider) GetCloudProviders() []v1beta1.Region_CloudProvider {
	if x != nil {
		return x.CloudProviders
	}
	return nil
}

var File_bff_cluster_management_v1beta2_services_proto protoreflect.FileDescriptor

var file_bff_cluster_management_v1beta2_services_proto_rawDesc = []byte{
	0x0a, 0x2d, 0x62, 0x66, 0x66, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61,
	0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
	0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
	0x1e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e,
	0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x1a,
	0x2e, 0x62, 0x66, 0x66, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e,
	0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2f,
	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f,
	0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
	0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61,
	0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e,
	0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34,
	0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f,
	0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
	0x61, 0x31, 0x2f, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
	0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x74, 0x69,
	0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70,
	0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
	0x2f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x06, 0x0a, 0x10, 0x4c,
	0x69, 0x73, 0x74, 0x54, 0x69, 0x64, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
	0x59, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73,
	0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d,
	0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76,
	0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x1e, 0x0a, 0x08, 0x74, 0x69,
	0x64, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
	0x01, 0x52, 0x07, 0x74, 0x69, 0x64, 0x62, 0x49, 0x64, 0x73, 0x12, 0x66, 0x0a, 0x0f, 0x63, 0x6c,
	0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20,
	0x03, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e,
	0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x03, 0xe0,
	0x41, 0x01, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73,
	0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
	0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
	0x52, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
	0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f,
	0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
	0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69,
	0x64, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4d,
	0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x76, 0x69, 0x65, 0x77, 0x4d, 0x6f,
	0x64, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09,
	0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x56, 0x0a, 0x0c, 0x65,
	0x6e, 0x67, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28,
	0x0e, 0x32, 0x2e, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f,
	0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76,
	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70,
	0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x65, 0x6e, 0x67, 0x69, 0x6e, 0x65, 0x54, 0x79,
	0x70, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6d, 0x65,
	0x74, 0x61, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0,
	0x41, 0x01, 0x48, 0x00, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61,
	0x4f, 0x6e, 0x6c, 0x79, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f,
	0x73, 0x69, 0x7a, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
	0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67,
	0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x65, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
	0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x17, 0x0a,
	0x04, 0x73, 0x6b, 0x69, 0x70, 0x18, 0x66, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01,
	0x52, 0x04, 0x73, 0x6b, 0x69, 0x70, 0x22, 0x3a, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f,
	0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f,
	0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a,
	0x05, 0x42, 0x41, 0x53, 0x49, 0x43, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x4d, 0x49, 0x4e, 0x49,
	0x10, 0x02, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6d, 0x65,
	0x74, 0x61, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x96, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74,
	0x54, 0x69, 0x64, 0x62, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a,
	0x05, 0x74, 0x69, 0x64, 0x62, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62,
	0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x54, 0x69,
	0x64, 0x62, 0x52, 0x05, 0x74, 0x69, 0x64, 0x62, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x6f, 0x74,
	0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x74,
	0x6f, 0x74, 0x61, 0x6c, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74,
	0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x65, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
	0x22, 0x77, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x64, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x69, 0x64, 0x62, 0x49, 0x64,
	0x12, 0x32, 0x0a, 0x10, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x5f,
	0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48,
	0x00, 0x52, 0x0e, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x4d, 0x65, 0x74, 0x61, 0x4f, 0x6e, 0x6c,
	0x79, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f,
	0x6d, 0x65, 0x74, 0x61, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x1c, 0x0a, 0x1a, 0x47, 0x65, 0x74,
	0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x75, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74,
	0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x62, 0x66,
	0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x49, 0x74, 0x65,
	0x6d, 0x52, 0x0b, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x22, 0xb4,
	0x01, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74,
	0x6f, 0x72, 0x79, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x57, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e,
	0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f,
	0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74,
	0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x03,
	0xe0, 0x41, 0x03, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e,
	0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42,
	0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x63,
	0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74,
	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x48, 0x0a, 0x0f, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x69, 0x64, 0x62,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
	0x74, 0x69, 0x64, 0x62, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02,
	0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22,
	0x4f, 0x0a, 0x10, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
	0x6e, 0x73, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x27, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f,
	0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76,
	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73,
	0x22, 0x4a, 0x0a, 0x11, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65,
	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x69, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x69, 0x64,
	0x62, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x51, 0x0a, 0x12,
	0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x12, 0x3b, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
	0x32, 0x27, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70,
	0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31,
	0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22,
	0xff, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52,
	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f,
	0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0e, 0x32,
	0x38, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65,
	0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62,
	0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x75,
	0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x12, 0x59,
	0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18,
	0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
	0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x12, 0x5d, 0x0a, 0x09, 0x76, 0x69, 0x65,
	0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x62,
	0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69,
	0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x2e, 0x56, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08,
	0x76, 0x69, 0x65, 0x77, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0x47, 0x0a, 0x08, 0x56, 0x69, 0x65, 0x77,
	0x4d, 0x6f, 0x64, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x4d, 0x4f, 0x44,
	0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12,
	0x16, 0x0a, 0x12, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f,
	0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x4c, 0x41, 0x54, 0x10,
	0x02, 0x22, 0xf7, 0x04, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x17, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
	0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x62, 0x66,
	0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x47, 0x72, 0x6f, 0x75,
	0x70, 0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x48, 0x00, 0x52, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x56, 0x69, 0x65, 0x77, 0x12,
	0x5b, 0x0a, 0x09, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x76, 0x69, 0x65, 0x77, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65,
	0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x46, 0x6c, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77,
	0x48, 0x00, 0x52, 0x08, 0x66, 0x6c, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x1a, 0x74, 0x0a, 0x16,
	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70,
	0x65, 0x64, 0x56, 0x69, 0x65, 0x77, 0x12, 0x5a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76,
	0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f,
	0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x05, 0x69, 0x74, 0x65,
	0x6d, 0x73, 0x1a, 0x50, 0x0a, 0x08, 0x46, 0x6c, 0x61, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x44,
	0x0a, 0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
	0x2a, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65,
	0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62,
	0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x67,
	0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xac, 0x01, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x50, 0x6c, 0x61, 0x6e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x52, 0x0a, 0x0c, 0x73, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
	0x2f, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65,
	0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62,
	0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e,
	0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x44, 0x0a,
	0x07, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a,
	0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e,
	0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65,
	0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x72, 0x65, 0x67, 0x69,
	0x6f, 0x6e, 0x73, 0x42, 0x06, 0x0a, 0x04, 0x76, 0x69, 0x65, 0x77, 0x22, 0xde, 0x01, 0x0a, 0x19,
	0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x66, 0x0a, 0x0f, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03,
	0x28, 0x0e, 0x32, 0x38, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f,
	0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e,
	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
	0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41,
	0x01, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x73, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61,
	0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f,
	0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63,
	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c,
	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0xe6, 0x02, 0x0a,
	0x1a, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64,
	0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x78, 0x0a, 0x0f, 0x63,
	0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31,
	0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x2e, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x73, 0x1a, 0xcd, 0x01, 0x0a, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x65,
	0x64, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x52,
	0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
	0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
	0x65, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c,
	0x61, 0x6e, 0x12, 0x61, 0x0a, 0x0f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x74, 0x69,
	0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70,
	0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31,
	0x2e, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x0e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76,
	0x69, 0x64, 0x65, 0x72, 0x73, 0x22, 0x79, 0x0a, 0x0f, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x44,
	0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x69, 0x64, 0x62,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
	0x74, 0x69, 0x64, 0x62, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74,
	0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x72,
	0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x22, 0x4c, 0x0a, 0x10, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x04, 0x74, 0x69, 0x64, 0x62, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x24, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65,
	0x74, 0x61, 0x32, 0x2e, 0x54, 0x69, 0x64, 0x62, 0x52, 0x04, 0x74, 0x69, 0x64, 0x62, 0x22, 0xd4,
	0x01, 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x44, 0x42,
	0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x74, 0x61, 0x72,
	0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67, 0x65,
	0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x59, 0x0a, 0x0d, 0x73, 0x65,
	0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
	0x0e, 0x32, 0x2f, 0x2e, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x6f,
	0x70, 0x65, 0x6e, 0x5f, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76,
	0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x6c,
	0x61, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
	0x50, 0x6c, 0x61, 0x6e, 0x73, 0x22, 0x80, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d,
	0x6f, 0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
	0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52,
	0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x26, 0x0a, 0x0f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64,
	0x5f, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
	0x0d, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x54, 0x69, 0x64, 0x62, 0x49, 0x64, 0x73, 0x12, 0x28,
	0x0a, 0x10, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x69,
	0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73,
	0x73, 0x54, 0x69, 0x64, 0x62, 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x50,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
	0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xac, 0x02, 0x0a, 0x14, 0x50,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54,
	0x61, 0x73, 0x6b, 0x12, 0x1a, 0x0a, 0x06, 0x6f, 0x72, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
	0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x72, 0x67, 0x49, 0x64, 0x12,
	0x55, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a,
	0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e,
	0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
	0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x54, 0x61, 0x73, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
	0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x62, 0x66, 0x66,
	0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x51, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
	0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
	0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e,
	0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x02,
	0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0a, 0x0a,
	0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x22, 0xcf, 0x02, 0x0a, 0x09, 0x4d, 0x69,
	0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63,
	0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50,
	0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x33, 0x0a, 0x13, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x73, 0x6f, 0x75, 0x72,
	0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2f, 0x0a,
	0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f,
	0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x74,
	0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x12, 0x33,
	0x0a, 0x13, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01,
	0x52, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e,
	0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x17, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x5f,
	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x05,
	0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74,
	0x49, 0x6e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12,
	0x3a, 0x0a, 0x17, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x69, 0x6e, 0x5f, 0x74, 0x61, 0x72, 0x67,
	0x65, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04,
	0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x14, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x6e, 0x54, 0x61,
	0x72, 0x67, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x74, 0x0a, 0x22, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
	0x74, 0x12, 0x4e, 0x0a, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
	0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73,
	0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76,
	0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x22, 0x6f, 0x0a, 0x23, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b,
	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x61, 0x73, 0x6b,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e,
	0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d,
	0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x04, 0x74, 0x61,
	0x73, 0x6b, 0x32, 0xe4, 0x0b, 0x0a, 0x0b, 0x54, 0x69, 0x44, 0x42, 0x53, 0x65, 0x72, 0x76, 0x69,
	0x63, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x64, 0x62, 0x73,
	0x12, 0x30, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
	0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x64, 0x62, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
	0x73, 0x74, 0x1a, 0x31, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65,
	0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x69, 0x64, 0x62, 0x73, 0x52, 0x65, 0x73,
	0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x08, 0x12, 0x06, 0x2f,
	0x74, 0x69, 0x64, 0x62, 0x73, 0x12, 0x79, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x54, 0x69, 0x64, 0x62,
	0x12, 0x2e, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
	0x32, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x69, 0x64, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
	0x1a, 0x24, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
	0x32, 0x2e, 0x54, 0x69, 0x64, 0x62, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10,
	0x2f, 0x74, 0x69, 0x64, 0x62, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x69, 0x64, 0x7d,
	0x12, 0xa8, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49,
	0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3a, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
	0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75,
	0x73, 0x74, 0x65, 0x72, 0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71,
	0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74,
	0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31,
	0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x49, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
	0x65, 0x22, 0x18, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x74, 0x69, 0x64, 0x62,
	0x73, 0x3a, 0x69, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x93, 0x01, 0x0a, 0x08,
	0x42, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12, 0x2f, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63,
	0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e,
	0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x54, 0x61,
	0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x62, 0x66, 0x66, 0x2e,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x42, 0x69, 0x6e, 0x64, 0x54,
	0x61, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4,
	0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, 0x19, 0x2f, 0x74, 0x69, 0x64, 0x62, 0x73, 0x2f, 0x7b,
	0x74, 0x69, 0x64, 0x62, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67,
	0x73, 0x12, 0x9b, 0x01, 0x0a, 0x0a, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73,
	0x12, 0x31, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d,
	0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61,
	0x32, 0x2e, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65,
	0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62,
	0x65, 0x74, 0x61, 0x32, 0x2e, 0x55, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x52,
	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a,
	0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x74, 0x69, 0x64, 0x62, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x64, 0x62,
	0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x75, 0x6e, 0x62, 0x69, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x73, 0x12,
	0xb2, 0x01, 0x0a, 0x08, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x12, 0x2f, 0x2e, 0x62,
	0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d, 0x6f,
	0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e,
	0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61,
	0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4d,
	0x6f, 0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
	0x43, 0x92, 0x41, 0x20, 0x12, 0x1e, 0x4d, 0x6f, 0x76, 0x65, 0x20, 0x61, 0x20, 0x74, 0x69, 0x64,
	0x62, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f,
	0x6a, 0x65, 0x63, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f,
	0x74, 0x69, 0x64, 0x62, 0x73, 0x2f, 0x7b, 0x74, 0x69, 0x64, 0x62, 0x5f, 0x69, 0x64, 0x7d, 0x3a,
	0x6d, 0x6f, 0x76, 0x65, 0x12, 0xc4, 0x01, 0x0a, 0x0e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f,
	0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x73, 0x12, 0x35, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f,
	0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36,
	0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e,
	0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e,
	0x42, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x54, 0x69, 0x44, 0x42, 0x73, 0x52, 0x65,
	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x92, 0x41, 0x25, 0x12, 0x23, 0x42, 0x61, 0x74,
	0x63, 0x68, 0x20, 0x6d, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x69, 0x64, 0x62, 0x73, 0x20, 0x74, 0x6f,
	0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x74, 0x69, 0x64, 0x62,
	0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0xab, 0x01, 0x0a, 0x17,
	0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74,
	0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x3e, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x6a,
	0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c,
	0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74,
	0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
	0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x22, 0x1a, 0x82,
	0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2d,
	0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xcd, 0x01, 0x0a, 0x1b, 0x41, 0x70,
	0x70, 0x72, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72,
	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x42, 0x2e, 0x62, 0x66, 0x66, 0x2e,
	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x41, 0x70, 0x70, 0x72, 0x6f,
	0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e,
	0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61,
	0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x41,
	0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x69, 0x67,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
	0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f,
	0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2d, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x69, 0x6f,
	0x6e, 0x3a, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x32, 0xff, 0x02, 0x0a, 0x0d, 0x52, 0x65,
	0x67, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9d, 0x01, 0x0a, 0x0b,
	0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x62, 0x66,
	0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65,
	0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73,
	0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
	0x33, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61,
	0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
	0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70,
	0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x92, 0x41, 0x12, 0x12, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x20,
	0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02,
	0x0a, 0x12, 0x08, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x12,
	0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
	0x72, 0x73, 0x12, 0x39, 0x2e, 0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65,
	0x74, 0x61, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f,
	0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e,
	0x62, 0x66, 0x66, 0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61,
	0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x2e, 0x4c,
	0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72,
	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x92, 0x41, 0x1a, 0x12, 0x18,
	0x4c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x70,
	0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b,
	0x2f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x43, 0x6c, 0x6f,
	0x75, 0x64, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x73, 0x42, 0x92, 0x03, 0x92, 0x41,
	0x56, 0x0a, 0x03, 0x32, 0x2e, 0x30, 0x12, 0x42, 0x0a, 0x1a, 0x54, 0x69, 0x44, 0x42, 0x20, 0x43,
	0x6c, 0x6f, 0x75, 0x64, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65,
	0x20, 0x41, 0x50, 0x49, 0x12, 0x1b, 0x54, 0x69, 0x44, 0x42, 0x20, 0x43, 0x6c, 0x6f, 0x75, 0x64,
	0x20, 0x4f, 0x6e, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x6f, 0x6c, 0x65, 0x20, 0x41, 0x50, 0x49,
	0x2e, 0x32, 0x07, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x22, 0x08, 0x2f, 0x76, 0x31, 0x62,
	0x65, 0x74, 0x61, 0x32, 0x2a, 0x01, 0x02, 0x0a, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x62, 0x66, 0x66,
	0x2e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d,
	0x65, 0x6e, 0x74, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0x42, 0x0d, 0x53, 0x65, 0x72,
	0x76, 0x69, 0x63, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x6e, 0x67, 0x69,
	0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, 0x69, 0x64, 0x62, 0x63, 0x6c, 0x6f,
	0x75, 0x64, 0x2f, 0x74, 0x69, 0x64, 0x62, 0x2d, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65,
	0x6e, 0x74, 0x2d, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73,
	0x70, 0x65, 0x63, 0x2f, 0x62, 0x66, 0x66, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f,
	0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74,
	0x61, 0x32, 0x3b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67,
	0x65, 0x6d, 0x65, 0x6e, 0x74, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32, 0xa2, 0x02, 0x03, 0x42,
	0x43, 0x58, 0xaa, 0x02, 0x1d, 0x42, 0x66, 0x66, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x56, 0x31, 0x62, 0x65, 0x74,
	0x61, 0x32, 0xca, 0x02, 0x1d, 0x42, 0x66, 0x66, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
	0x61, 0x32, 0xe2, 0x02, 0x29, 0x42, 0x66, 0x66, 0x5c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72,
	0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74,
	0x61, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02,
	0x1f, 0x42, 0x66, 0x66, 0x3a, 0x3a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x61, 0x6e,
	0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x32,
	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_bff_cluster_management_v1beta2_services_proto_rawDescOnce sync.Once
	file_bff_cluster_management_v1beta2_services_proto_rawDescData = file_bff_cluster_management_v1beta2_services_proto_rawDesc
)

func file_bff_cluster_management_v1beta2_services_proto_rawDescGZIP() []byte {
	file_bff_cluster_management_v1beta2_services_proto_rawDescOnce.Do(func() {
		file_bff_cluster_management_v1beta2_services_proto_rawDescData = protoimpl.X.CompressGZIP(file_bff_cluster_management_v1beta2_services_proto_rawDescData)
	})
	return file_bff_cluster_management_v1beta2_services_proto_rawDescData
}

var file_bff_cluster_management_v1beta2_services_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_bff_cluster_management_v1beta2_services_proto_msgTypes = make([]protoimpl.MessageInfo, 27)
var file_bff_cluster_management_v1beta2_services_proto_goTypes = []any{
	(ListTidbsRequest_ViewMode)(0),                          // 0: bff.cluster_management.v1beta2.ListTidbsRequest.ViewMode
	(ListRegionsRequest_ViewMode)(0),                        // 1: bff.cluster_management.v1beta2.ListRegionsRequest.ViewMode
	(ProjectMigrationTask_State)(0),                         // 2: bff.cluster_management.v1beta2.ProjectMigrationTask.State
	(*ListTidbsRequest)(nil),                                // 3: bff.cluster_management.v1beta2.ListTidbsRequest
	(*ListTidbsResponse)(nil),                               // 4: bff.cluster_management.v1beta2.ListTidbsResponse
	(*GetTidbRequest)(nil),                                  // 5: bff.cluster_management.v1beta2.GetTidbRequest
	(*GetClusterInventoryRequest)(nil),                      // 6: bff.cluster_management.v1beta2.GetClusterInventoryRequest
	(*GetClusterInventoryResponse)(nil),                     // 7: bff.cluster_management.v1beta2.GetClusterInventoryResponse
	(*ClusterInventoryItem)(nil),                            // 8: bff.cluster_management.v1beta2.ClusterInventoryItem
	(*BindTagsRequest)(nil),                                 // 9: bff.cluster_management.v1beta2.BindTagsRequest
	(*BindTagsResponse)(nil),                                // 10: bff.cluster_management.v1beta2.BindTagsResponse
	(*UnbindTagsRequest)(nil),                               // 11: bff.cluster_management.v1beta2.UnbindTagsRequest
	(*UnbindTagsResponse)(nil),                              // 12: bff.cluster_management.v1beta2.UnbindTagsResponse
	(*ListRegionsRequest)(nil),                              // 13: bff.cluster_management.v1beta2.ListRegionsRequest
	(*ListRegionsResponse)(nil),                             // 14: bff.cluster_management.v1beta2.ListRegionsResponse
	(*ListCloudProvidersRequest)(nil),                       // 15: bff.cluster_management.v1beta2.ListCloudProvidersRequest
	(*ListCloudProvidersResponse)(nil),                      // 16: bff.cluster_management.v1beta2.ListCloudProvidersResponse
	(*MoveTiDBRequest)(nil),                                 // 17: bff.cluster_management.v1beta2.MoveTiDBRequest
	(*MoveTiDBResponse)(nil),                                // 18: bff.cluster_management.v1beta2.MoveTiDBResponse
	(*BatchMoveTiDBsRequest)(nil),                           // 19: bff.cluster_management.v1beta2.BatchMoveTiDBsRequest
	(*BatchMoveTiDBsResponse)(nil),                          // 20: bff.cluster_management.v1beta2.BatchMoveTiDBsResponse
	(*GetProjectMigrationTaskRequest)(nil),                  // 21: bff.cluster_management.v1beta2.GetProjectMigrationTaskRequest
	(*ProjectMigrationTask)(nil),                            // 22: bff.cluster_management.v1beta2.ProjectMigrationTask
	(*Migration)(nil),                                       // 23: bff.cluster_management.v1beta2.Migration
	(*ApproveProjectMigrationTaskRequest)(nil),              // 24: bff.cluster_management.v1beta2.ApproveProjectMigrationTaskRequest
	(*ApproveProjectMigrationTaskResponse)(nil),             // 25: bff.cluster_management.v1beta2.ApproveProjectMigrationTaskResponse
	(*ListRegionsResponse_ServicePlanGroupedView)(nil),      // 26: bff.cluster_management.v1beta2.ListRegionsResponse.ServicePlanGroupedView
	(*ListRegionsResponse_FlatView)(nil),                    // 27: bff.cluster_management.v1beta2.ListRegionsResponse.FlatView
	(*ListRegionsResponse_ServicePlanGroup)(nil),            // 28: bff.cluster_management.v1beta2.ListRegionsResponse.ServicePlanGroup
	(*ListCloudProvidersResponse_GroupedCloudProvider)(nil), // 29: bff.cluster_management.v1beta2.ListCloudProvidersResponse.GroupedCloudProvider
	(v1beta1.ServicePlan)(0),                                // 30: tidb_cloud_open_api.common.v1beta1.ServicePlan
	(v1beta1.Region_CloudProvider)(0),                       // 31: tidb_cloud_open_api.common.v1beta1.Region.CloudProvider
	(v1beta1.EngineType)(0),                                 // 32: tidb_cloud_open_api.common.v1beta1.EngineType
	(*Tidb)(nil),                                            // 33: bff.cluster_management.v1beta2.Tidb
	(*v1beta1.Tag)(nil),                                     // 34: tidb_cloud_open_api.common.v1beta1.Tag
	(*v1beta1.Region)(nil),                                  // 35: tidb_cloud_open_api.common.v1beta1.Region
}
var file_bff_cluster_management_v1beta2_services_proto_depIdxs = []int32{
	30, // 0: bff.cluster_management.v1beta2.ListTidbsRequest.service_plans:type_name -> tidb_cloud_open_api.common.v1beta1.ServicePlan
	31, // 1: bff.cluster_management.v1beta2.ListTidbsRequest.cloud_providers:type_name -> tidb_cloud_open_api.common.v1beta1.Region.CloudProvider
	0,  // 2: bff.cluster_management.v1beta2.ListTidbsRequest.view_mode:type_name -> bff.cluster_management.v1beta2.ListTidbsRequest.ViewMode
	32, // 3: bff.cluster_management.v1beta2.ListTidbsRequest.engine_types:type_name -> tidb_cloud_open_api.common.v1beta1.EngineType
	33, // 4: bff.cluster_management.v1beta2.ListTidbsResponse.tidbs:type_name -> bff.cluster_management.v1beta2.Tidb
	8,  // 5: bff.cluster_management.v1beta2.GetClusterInventoryResponse.inventories:type_name -> bff.cluster_management.v1beta2.ClusterInventoryItem
	30, // 6: bff.cluster_management.v1beta2.ClusterInventoryItem.service_plan:type_name -> tidb_cloud_open_api.common.v1beta1.ServicePlan
	34, // 7: bff.cluster_management.v1beta2.BindTagsResponse.tags:type_name -> tidb_cloud_open_api.common.v1beta1.Tag
	34, // 8: bff.cluster_management.v1beta2.UnbindTagsResponse.tags:type_name -> tidb_cloud_open_api.common.v1beta1.Tag
	31, // 9: bff.cluster_management.v1beta2.ListRegionsRequest.cloud_providers:type_name -> tidb_cloud_open_api.common.v1beta1.Region.CloudProvider
	30, // 10: bff.cluster_management.v1beta2.ListRegionsRequest.service_plans:type_name -> tidb_cloud_open_api.common.v1beta1.ServicePlan
	1,  // 11: bff.cluster_management.v1beta2.ListRegionsRequest.view_mode:type_name -> bff.cluster_management.v1beta2.ListRegionsRequest.ViewMode
	26, // 12: bff.cluster_management.v1beta2.ListRegionsResponse.service_plan_group_view:type_name -> bff.cluster_management.v1beta2.ListRegionsResponse.ServicePlanGroupedView
	27, // 13: bff.cluster_management.v1beta2.ListRegionsResponse.flat_view:type_name -> bff.cluster_management.v1beta2.ListRegionsResponse.FlatView
	31, // 14: bff.cluster_management.v1beta2.ListCloudProvidersRequest.cloud_providers:type_name -> tidb_cloud_open_api.common.v1beta1.Region.CloudProvider
	30, // 15: bff.cluster_management.v1beta2.ListCloudProvidersRequest.service_plans:type_name -> tidb_cloud_open_api.common.v1beta1.ServicePlan
	29, // 16: bff.cluster_management.v1beta2.ListCloudProvidersResponse.cloud_providers:type_name -> bff.cluster_management.v1beta2.ListCloudProvidersResponse.GroupedCloudProvider
	33, // 17: bff.cluster_management.v1beta2.MoveTiDBResponse.tidb:type_name -> bff.cluster_management.v1beta2.Tidb
	30, // 18: bff.cluster_management.v1beta2.BatchMoveTiDBsRequest.service_plans:type_name -> tidb_cloud_open_api.common.v1beta1.ServicePlan
	2,  // 19: bff.cluster_management.v1beta2.ProjectMigrationTask.state:type_name -> bff.cluster_management.v1beta2.ProjectMigrationTask.State
	23, // 20: bff.cluster_management.v1beta2.ProjectMigrationTask.migrations:type_name -> bff.cluster_management.v1beta2.Migration
	23, // 21: bff.cluster_management.v1beta2.ApproveProjectMigrationTaskRequest.migrations:type_name -> bff.cluster_management.v1beta2.Migration
	22, // 22: bff.cluster_management.v1beta2.ApproveProjectMigrationTaskResponse.task:type_name -> bff.cluster_management.v1beta2.ProjectMigrationTask
	28, // 23: bff.cluster_management.v1beta2.ListRegionsResponse.ServicePlanGroupedView.items:type_name -> bff.cluster_management.v1beta2.ListRegionsResponse.ServicePlanGroup
	35, // 24: bff.cluster_management.v1beta2.ListRegionsResponse.FlatView.regions:type_name -> tidb_cloud_open_api.common.v1beta1.Region
	30, // 25: bff.cluster_management.v1beta2.ListRegionsResponse.ServicePlanGroup.service_plan:type_name -> tidb_cloud_open_api.common.v1beta1.ServicePlan
	35, // 26: bff.cluster_management.v1beta2.ListRegionsResponse.ServicePlanGroup.regions:type_name -> tidb_cloud_open_api.common.v1beta1.Region
	30, // 27: bff.cluster_management.v1beta2.ListCloudProvidersResponse.GroupedCloudProvider.service_plan:type_name -> tidb_cloud_open_api.common.v1beta1.ServicePlan
	31, // 28: bff.cluster_management.v1beta2.ListCloudProvidersResponse.GroupedCloudProvider.cloud_providers:type_name -> tidb_cloud_open_api.common.v1beta1.Region.CloudProvider
	3,  // 29: bff.cluster_management.v1beta2.TiDBService.ListTidbs:input_type -> bff.cluster_management.v1beta2.ListTidbsRequest
	5,  // 30: bff.cluster_management.v1beta2.TiDBService.GetTidb:input_type -> bff.cluster_management.v1beta2.GetTidbRequest
	6,  // 31: bff.cluster_management.v1beta2.TiDBService.GetClusterInventory:input_type -> bff.cluster_management.v1beta2.GetClusterInventoryRequest
	9,  // 32: bff.cluster_management.v1beta2.TiDBService.BindTags:input_type -> bff.cluster_management.v1beta2.BindTagsRequest
	11, // 33: bff.cluster_management.v1beta2.TiDBService.UnbindTags:input_type -> bff.cluster_management.v1beta2.UnbindTagsRequest
	17, // 34: bff.cluster_management.v1beta2.TiDBService.MoveTiDB:input_type -> bff.cluster_management.v1beta2.MoveTiDBRequest
	19, // 35: bff.cluster_management.v1beta2.TiDBService.BatchMoveTiDBs:input_type -> bff.cluster_management.v1beta2.BatchMoveTiDBsRequest
	21, // 36: bff.cluster_management.v1beta2.TiDBService.GetProjectMigrationTask:input_type -> bff.cluster_management.v1beta2.GetProjectMigrationTaskRequest
	24, // 37: bff.cluster_management.v1beta2.TiDBService.ApproveProjectMigrationTask:input_type -> bff.cluster_management.v1beta2.ApproveProjectMigrationTaskRequest
	13, // 38: bff.cluster_management.v1beta2.RegionService.ListRegions:input_type -> bff.cluster_management.v1beta2.ListRegionsRequest
	15, // 39: bff.cluster_management.v1beta2.RegionService.ListCloudProviders:input_type -> bff.cluster_management.v1beta2.ListCloudProvidersRequest
	4,  // 40: bff.cluster_management.v1beta2.TiDBService.ListTidbs:output_type -> bff.cluster_management.v1beta2.ListTidbsResponse
	33, // 41: bff.cluster_management.v1beta2.TiDBService.GetTidb:output_type -> bff.cluster_management.v1beta2.Tidb
	7,  // 42: bff.cluster_management.v1beta2.TiDBService.GetClusterInventory:output_type -> bff.cluster_management.v1beta2.GetClusterInventoryResponse
	10, // 43: bff.cluster_management.v1beta2.TiDBService.BindTags:output_type -> bff.cluster_management.v1beta2.BindTagsResponse
	12, // 44: bff.cluster_management.v1beta2.TiDBService.UnbindTags:output_type -> bff.cluster_management.v1beta2.UnbindTagsResponse
	18, // 45: bff.cluster_management.v1beta2.TiDBService.MoveTiDB:output_type -> bff.cluster_management.v1beta2.MoveTiDBResponse
	20, // 46: bff.cluster_management.v1beta2.TiDBService.BatchMoveTiDBs:output_type -> bff.cluster_management.v1beta2.BatchMoveTiDBsResponse
	22, // 47: bff.cluster_management.v1beta2.TiDBService.GetProjectMigrationTask:output_type -> bff.cluster_management.v1beta2.ProjectMigrationTask
	25, // 48: bff.cluster_management.v1beta2.TiDBService.ApproveProjectMigrationTask:output_type -> bff.cluster_management.v1beta2.ApproveProjectMigrationTaskResponse
	14, // 49: bff.cluster_management.v1beta2.RegionService.ListRegions:output_type -> bff.cluster_management.v1beta2.ListRegionsResponse
	16, // 50: bff.cluster_management.v1beta2.RegionService.ListCloudProviders:output_type -> bff.cluster_management.v1beta2.ListCloudProvidersResponse
	40, // [40:51] is the sub-list for method output_type
	29, // [29:40] is the sub-list for method input_type
	29, // [29:29] is the sub-list for extension type_name
	29, // [29:29] is the sub-list for extension extendee
	0,  // [0:29] is the sub-list for field type_name
}

func init() { file_bff_cluster_management_v1beta2_services_proto_init() }
func file_bff_cluster_management_v1beta2_services_proto_init() {
	if File_bff_cluster_management_v1beta2_services_proto != nil {
		return
	}
	file_bff_cluster_management_v1beta2_resources_proto_init()
	if !protoimpl.UnsafeEnabled {
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*ListTidbsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*ListTidbsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*GetTidbRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*GetClusterInventoryRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[4].Exporter = func(v any, i int) any {
			switch v := v.(*GetClusterInventoryResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*ClusterInventoryItem); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*BindTagsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*BindTagsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[8].Exporter = func(v any, i int) any {
			switch v := v.(*UnbindTagsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[9].Exporter = func(v any, i int) any {
			switch v := v.(*UnbindTagsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[10].Exporter = func(v any, i int) any {
			switch v := v.(*ListRegionsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[11].Exporter = func(v any, i int) any {
			switch v := v.(*ListRegionsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[12].Exporter = func(v any, i int) any {
			switch v := v.(*ListCloudProvidersRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[13].Exporter = func(v any, i int) any {
			switch v := v.(*ListCloudProvidersResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[14].Exporter = func(v any, i int) any {
			switch v := v.(*MoveTiDBRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[15].Exporter = func(v any, i int) any {
			switch v := v.(*MoveTiDBResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[16].Exporter = func(v any, i int) any {
			switch v := v.(*BatchMoveTiDBsRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[17].Exporter = func(v any, i int) any {
			switch v := v.(*BatchMoveTiDBsResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[18].Exporter = func(v any, i int) any {
			switch v := v.(*GetProjectMigrationTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[19].Exporter = func(v any, i int) any {
			switch v := v.(*ProjectMigrationTask); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[20].Exporter = func(v any, i int) any {
			switch v := v.(*Migration); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[21].Exporter = func(v any, i int) any {
			switch v := v.(*ApproveProjectMigrationTaskRequest); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[22].Exporter = func(v any, i int) any {
			switch v := v.(*ApproveProjectMigrationTaskResponse); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[23].Exporter = func(v any, i int) any {
			switch v := v.(*ListRegionsResponse_ServicePlanGroupedView); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[24].Exporter = func(v any, i int) any {
			switch v := v.(*ListRegionsResponse_FlatView); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[25].Exporter = func(v any, i int) any {
			switch v := v.(*ListRegionsResponse_ServicePlanGroup); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_bff_cluster_management_v1beta2_services_proto_msgTypes[26].Exporter = func(v any, i int) any {
			switch v := v.(*ListCloudProvidersResponse_GroupedCloudProvider); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_bff_cluster_management_v1beta2_services_proto_msgTypes[0].OneofWrappers = []any{}
	file_bff_cluster_management_v1beta2_services_proto_msgTypes[2].OneofWrappers = []any{}
	file_bff_cluster_management_v1beta2_services_proto_msgTypes[11].OneofWrappers = []any{
		(*ListRegionsResponse_ServicePlanGroupView)(nil),
		(*ListRegionsResponse_FlatView_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_bff_cluster_management_v1beta2_services_proto_rawDesc,
			NumEnums:      3,
			NumMessages:   27,
			NumExtensions: 0,
			NumServices:   2,
		},
		GoTypes:           file_bff_cluster_management_v1beta2_services_proto_goTypes,
		DependencyIndexes: file_bff_cluster_management_v1beta2_services_proto_depIdxs,
		EnumInfos:         file_bff_cluster_management_v1beta2_services_proto_enumTypes,
		MessageInfos:      file_bff_cluster_management_v1beta2_services_proto_msgTypes,
	}.Build()
	File_bff_cluster_management_v1beta2_services_proto = out.File
	file_bff_cluster_management_v1beta2_services_proto_rawDesc = nil
	file_bff_cluster_management_v1beta2_services_proto_goTypes = nil
	file_bff_cluster_management_v1beta2_services_proto_depIdxs = nil
}
