// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: openapi/cbp/cbp.proto

package cbp

import (
	_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options"
	_ "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"
	unsafe "unsafe"
)

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 CreateProjectReq struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	Name           string                 `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	AwsCmekEnabled *bool                  `protobuf:"varint,2,opt,name=aws_cmek_enabled,json=awsCmekEnabled,proto3,oneof" json:"aws_cmek_enabled,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CreateProjectReq) Reset() {
	*x = CreateProjectReq{}
	mi := &file_openapi_cbp_cbp_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateProjectReq) ProtoMessage() {}

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

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

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

func (x *CreateProjectReq) GetAwsCmekEnabled() bool {
	if x != nil && x.AwsCmekEnabled != nil {
		return *x.AwsCmekEnabled
	}
	return false
}

type CreateProjectResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateProjectResp) Reset() {
	*x = CreateProjectResp{}
	mi := &file_openapi_cbp_cbp_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateProjectResp) ProtoMessage() {}

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

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

func (x *CreateProjectResp) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

type ListProjectsReq struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Page          uint32                 `protobuf:"varint,100,opt,name=page,proto3" json:"page,omitempty"`
	PageSize      uint32                 `protobuf:"varint,101,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProjectsReq) Reset() {
	*x = ListProjectsReq{}
	mi := &file_openapi_cbp_cbp_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProjectsReq) ProtoMessage() {}

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

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

func (x *ListProjectsReq) GetPage() uint32 {
	if x != nil {
		return x.Page
	}
	return 0
}

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

type ListProjectItem struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Id              uint64                 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
	OrgId           uint64                 `protobuf:"varint,2,opt,name=org_id,json=orgId,proto3" json:"org_id,omitempty"`
	Name            string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	ClusterCount    uint32                 `protobuf:"varint,4,opt,name=cluster_count,json=clusterCount,proto3" json:"cluster_count,omitempty"`
	UserCount       uint32                 `protobuf:"varint,5,opt,name=user_count,json=userCount,proto3" json:"user_count,omitempty"`
	CreateTimestamp uint64                 `protobuf:"varint,6,opt,name=create_timestamp,json=createTimestamp,proto3" json:"create_timestamp,omitempty"`
	AwsCmekEnabled  bool                   `protobuf:"varint,7,opt,name=aws_cmek_enabled,json=awsCmekEnabled,proto3" json:"aws_cmek_enabled,omitempty"`
	Type            string                 `protobuf:"bytes,8,opt,name=type,proto3" json:"type,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListProjectItem) Reset() {
	*x = ListProjectItem{}
	mi := &file_openapi_cbp_cbp_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProjectItem) ProtoMessage() {}

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

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

func (x *ListProjectItem) GetId() uint64 {
	if x != nil {
		return x.Id
	}
	return 0
}

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

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

func (x *ListProjectItem) GetClusterCount() uint32 {
	if x != nil {
		return x.ClusterCount
	}
	return 0
}

func (x *ListProjectItem) GetUserCount() uint32 {
	if x != nil {
		return x.UserCount
	}
	return 0
}

func (x *ListProjectItem) GetCreateTimestamp() uint64 {
	if x != nil {
		return x.CreateTimestamp
	}
	return 0
}

func (x *ListProjectItem) GetAwsCmekEnabled() bool {
	if x != nil {
		return x.AwsCmekEnabled
	}
	return false
}

func (x *ListProjectItem) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

type ListProjectsResp struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Items         []*ListProjectItem     `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"`
	Total         uint32                 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListProjectsResp) Reset() {
	*x = ListProjectsResp{}
	mi := &file_openapi_cbp_cbp_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListProjectsResp) ProtoMessage() {}

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

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

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

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

var File_openapi_cbp_cbp_proto protoreflect.FileDescriptor

const file_openapi_cbp_cbp_proto_rawDesc = "" +
	"\n" +
	"\x15openapi/cbp/cbp.proto\x12\aopenapi\x1a\x1cgoogle/api/annotations.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xf7\x03\n" +
	"\x10CreateProjectReq\x12=\n" +
	"\x04name\x18\x01 \x01(\tB)\x92A&2\x18The name of the project.J\n" +
	"\"Project0\"R\x04name\x12\xb7\x02\n" +
	"\x10aws_cmek_enabled\x18\x02 \x01(\bB\x87\x02\x92A\x83\x022\xf2\x01Flag that indicates whether to enable AWS Customer-Managed Encryption Keys.\n" +
	"\n" +
	"Currently this feature is only available upon request. If you need to try out this feature, contact [support](https://docs.pingcap.com/tidbcloud/tidb-cloud-support).:\x05falseJ\x05falseH\x00R\x0eawsCmekEnabled\x88\x01\x01:U\x92AR\n" +
	"P*\x10CreateProjectReq25CreateProjectReq is the request for creating project.\xd2\x01\x04nameB\x13\n" +
	"\x11_aws_cmek_enabled\"\x9d\x01\n" +
	"\x11CreateProjectResp\x120\n" +
	"\x02id\x18\x01 \x01(\x04B \x92A\x1d2\x16The ID of the project.J\x03\"1\"R\x02id:V\x92AS\n" +
	"Q*\x11CreateProjectResp27CreateProjectResp is the response for creating project.\xd2\x01\x02id\"\xf0\x01\n" +
	"\x0fListProjectsReq\x12<\n" +
	"\x04page\x18d \x01(\rB(\x92A%2\x14The number of pages.:\x011J\x011i\x00\x00\x00\x00\x00\x00\xf0?R\x04page\x12F\n" +
	"\tpage_size\x18e \x01(\rB)\x92A&2\x13The size of a page.:\x0210J\x0210i\x00\x00\x00\x00\x00\x00\xf0?R\bpageSize:W\x92AT\n" +
	"R*\x0fListProjectsReq2?ListProjectsReq is the request for getting accessible projects.\"\x98\f\n" +
	"\x0fListProjectItem\x120\n" +
	"\x02id\x18\x01 \x01(\x04B \x92A\x1d2\x16The ID of the project.J\x03\"1\"R\x02id\x12d\n" +
	"\x06org_id\x18\x02 \x01(\x04BM\x92AJ2CThe ID of the TiDB Cloud organization to which the project belongs.J\x03\"1\"R\x05orgId\x12D\n" +
	"\x04name\x18\x03 \x01(\tB0\x92A-2\x18The name of the project.J\x11\"default_project\"R\x04name\x12g\n" +
	"\rcluster_count\x18\x04 \x01(\rBB\x92A?2:The number of TiDB Cloud clusters deployed in the project.J\x014R\fclusterCount\x12K\n" +
	"\n" +
	"user_count\x18\x05 \x01(\rB,\x92A)2#The number of users in the project.J\x0210R\tuserCount\x12\x92\x01\n" +
	"\x10create_timestamp\x18\x06 \x01(\x04Bg\x92Ad2HThe creation time of the cluster in Unix timestamp seconds (epoch time).J\f\"1656991448\"\xa2\x02\ttimestampR\x0fcreateTimestamp\x12\xbb\x03\n" +
	"\x10aws_cmek_enabled\x18\a \x01(\bB\x90\x03\x92A\x8c\x032\xfb\x02Flag that indicates whether to enable AWS Customer-Managed Encryption Keys (CMEK). For more information, see [Encryption at Rest using CMEK](https://docs.pingcap.com/tidbcloud/tidb-cloud-encrypt-cmek).\n" +
	"\n" +
	"**Note:** Currently, this feature is only available upon request. If you need to try out this feature, contact [support](https://docs.pingcap.com/tidbcloud/tidb-cloud-support).:\x05falseJ\x05falseR\x0eawsCmekEnabled\x12\xdb\x03\n" +
	"\x04type\x18\b \x01(\tB\xc6\x03\x92A\xc2\x032\xb2\x03The type of the project. For more information, see [Project Migration FAQ for TiDB X Instances](https://docs.pingcap.com/tidbcloud/tidbx-instance-move-faq/?plan=starter#what-project-types-are-available-in-tidb-cloud). Possible values are:\n" +
	"- `dedicated`: a project for TiDB Cloud Dedicated clusters.\n" +
	"- `tidbx`: a project for TiDB X instances.\n" +
	"- `tidbx_virtual`: a virtual project for TiDB X instances not grouped in any TiDB X project.J\v\"dedicated\"R\x04type:@\x92A=\n" +
	";*\x0fListProjectItem2(ListProjectItem is the item of projects.\"\x9c\x02\n" +
	"\x10ListProjectsResp\x12V\n" +
	"\x05items\x18\x01 \x03(\v2\x18.openapi.ListProjectItemB&\x92A#2!The items of accessible projects.R\x05items\x12F\n" +
	"\x05total\x18\x02 \x01(\rB0\x92A-2(The total number of accessible projects.J\x011R\x05total:h\x92Ae\n" +
	"c*\x0fGetProjectsResp2@GetProjectsResp is the response for getting accessible projects.\xd2\x01\x05total\xd2\x01\x05items2\xc1\x02\n" +
	"\aProject\x12\x8c\x01\n" +
	"\rCreateProject\x12\x19.openapi.CreateProjectReq\x1a\x1a.openapi.CreateProjectResp\"D\x92A\"\x12\x11Create a project.*\rCreateProject\x82\xd3\xe4\x93\x02\x19:\x01*\"\x14/api/v1beta/projects\x12\x91\x01\n" +
	"\fListProjects\x12\x18.openapi.ListProjectsReq\x1a\x19.openapi.ListProjectsResp\"L\x92A-\x12\x1dList all accessible projects.*\fListProjects\x82\xd3\xe4\x93\x02\x16\x12\x14/api/v1beta/projects\x1a\x13\x92A\x10\x12\x0eList projects.B.Z,github.com/tidbcloud/idl/pbgen/proto/cbp;cbpb\x06proto3"

var (
	file_openapi_cbp_cbp_proto_rawDescOnce sync.Once
	file_openapi_cbp_cbp_proto_rawDescData []byte
)

func file_openapi_cbp_cbp_proto_rawDescGZIP() []byte {
	file_openapi_cbp_cbp_proto_rawDescOnce.Do(func() {
		file_openapi_cbp_cbp_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_openapi_cbp_cbp_proto_rawDesc), len(file_openapi_cbp_cbp_proto_rawDesc)))
	})
	return file_openapi_cbp_cbp_proto_rawDescData
}

var file_openapi_cbp_cbp_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
var file_openapi_cbp_cbp_proto_goTypes = []any{
	(*CreateProjectReq)(nil),  // 0: openapi.CreateProjectReq
	(*CreateProjectResp)(nil), // 1: openapi.CreateProjectResp
	(*ListProjectsReq)(nil),   // 2: openapi.ListProjectsReq
	(*ListProjectItem)(nil),   // 3: openapi.ListProjectItem
	(*ListProjectsResp)(nil),  // 4: openapi.ListProjectsResp
}
var file_openapi_cbp_cbp_proto_depIdxs = []int32{
	3, // 0: openapi.ListProjectsResp.items:type_name -> openapi.ListProjectItem
	0, // 1: openapi.Project.CreateProject:input_type -> openapi.CreateProjectReq
	2, // 2: openapi.Project.ListProjects:input_type -> openapi.ListProjectsReq
	1, // 3: openapi.Project.CreateProject:output_type -> openapi.CreateProjectResp
	4, // 4: openapi.Project.ListProjects:output_type -> openapi.ListProjectsResp
	3, // [3:5] is the sub-list for method output_type
	1, // [1:3] is the sub-list for method input_type
	1, // [1:1] is the sub-list for extension type_name
	1, // [1:1] is the sub-list for extension extendee
	0, // [0:1] is the sub-list for field type_name
}

func init() { file_openapi_cbp_cbp_proto_init() }
func file_openapi_cbp_cbp_proto_init() {
	if File_openapi_cbp_cbp_proto != nil {
		return
	}
	file_openapi_cbp_cbp_proto_msgTypes[0].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_openapi_cbp_cbp_proto_rawDesc), len(file_openapi_cbp_cbp_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   5,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_openapi_cbp_cbp_proto_goTypes,
		DependencyIndexes: file_openapi_cbp_cbp_proto_depIdxs,
		MessageInfos:      file_openapi_cbp_cbp_proto_msgTypes,
	}.Build()
	File_openapi_cbp_cbp_proto = out.File
	file_openapi_cbp_cbp_proto_goTypes = nil
	file_openapi_cbp_cbp_proto_depIdxs = nil
}
