// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: yandex/cloud/trino/v1/resource_management.proto

package trino

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	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 ResourceGroupConfig_SchedulingPolicy int32

const (
	ResourceGroupConfig_SCHEDULING_POLICY_UNSPECIFIED ResourceGroupConfig_SchedulingPolicy = 0
	// Queued queries processed first-in-first-out, sub-groups take turns starting queries.
	ResourceGroupConfig_FAIR ResourceGroupConfig_SchedulingPolicy = 1
	// Queries selected stochastically by priority, sub-groups selected by schedulingWeight.
	ResourceGroupConfig_WEIGHTED ResourceGroupConfig_SchedulingPolicy = 2
	// Sub-groups selected by schedulingWeight and concurrency relative to their share.
	ResourceGroupConfig_WEIGHTED_FAIR ResourceGroupConfig_SchedulingPolicy = 3
	// Queued queries selected strictly by priority.
	ResourceGroupConfig_QUERY_PRIORITY ResourceGroupConfig_SchedulingPolicy = 4
)

// Enum value maps for ResourceGroupConfig_SchedulingPolicy.
var (
	ResourceGroupConfig_SchedulingPolicy_name = map[int32]string{
		0: "SCHEDULING_POLICY_UNSPECIFIED",
		1: "FAIR",
		2: "WEIGHTED",
		3: "WEIGHTED_FAIR",
		4: "QUERY_PRIORITY",
	}
	ResourceGroupConfig_SchedulingPolicy_value = map[string]int32{
		"SCHEDULING_POLICY_UNSPECIFIED": 0,
		"FAIR":                          1,
		"WEIGHTED":                      2,
		"WEIGHTED_FAIR":                 3,
		"QUERY_PRIORITY":                4,
	}
)

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

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

func (ResourceGroupConfig_SchedulingPolicy) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_trino_v1_resource_management_proto_enumTypes[0].Descriptor()
}

func (ResourceGroupConfig_SchedulingPolicy) Type() protoreflect.EnumType {
	return &file_yandex_cloud_trino_v1_resource_management_proto_enumTypes[0]
}

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

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

type SelectorRuleConfig_QueryType int32

const (
	SelectorRuleConfig_QUERY_TYPE_UNSPECIFIED SelectorRuleConfig_QueryType = 0
	SelectorRuleConfig_SELECT                 SelectorRuleConfig_QueryType = 1
	SelectorRuleConfig_EXPLAIN                SelectorRuleConfig_QueryType = 2
	SelectorRuleConfig_DESCRIBE               SelectorRuleConfig_QueryType = 3
	SelectorRuleConfig_INSERT                 SelectorRuleConfig_QueryType = 4
	SelectorRuleConfig_UPDATE                 SelectorRuleConfig_QueryType = 5
	SelectorRuleConfig_MERGE                  SelectorRuleConfig_QueryType = 6
	SelectorRuleConfig_DELETE                 SelectorRuleConfig_QueryType = 7
	SelectorRuleConfig_ANALYZE                SelectorRuleConfig_QueryType = 8
	SelectorRuleConfig_DATA_DEFINITION        SelectorRuleConfig_QueryType = 9
	SelectorRuleConfig_ALTER_TABLE_EXECUTE    SelectorRuleConfig_QueryType = 10
)

// Enum value maps for SelectorRuleConfig_QueryType.
var (
	SelectorRuleConfig_QueryType_name = map[int32]string{
		0:  "QUERY_TYPE_UNSPECIFIED",
		1:  "SELECT",
		2:  "EXPLAIN",
		3:  "DESCRIBE",
		4:  "INSERT",
		5:  "UPDATE",
		6:  "MERGE",
		7:  "DELETE",
		8:  "ANALYZE",
		9:  "DATA_DEFINITION",
		10: "ALTER_TABLE_EXECUTE",
	}
	SelectorRuleConfig_QueryType_value = map[string]int32{
		"QUERY_TYPE_UNSPECIFIED": 0,
		"SELECT":                 1,
		"EXPLAIN":                2,
		"DESCRIBE":               3,
		"INSERT":                 4,
		"UPDATE":                 5,
		"MERGE":                  6,
		"DELETE":                 7,
		"ANALYZE":                8,
		"DATA_DEFINITION":        9,
		"ALTER_TABLE_EXECUTE":    10,
	}
)

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

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

func (SelectorRuleConfig_QueryType) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_trino_v1_resource_management_proto_enumTypes[1].Descriptor()
}

func (SelectorRuleConfig_QueryType) Type() protoreflect.EnumType {
	return &file_yandex_cloud_trino_v1_resource_management_proto_enumTypes[1]
}

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

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

type ResourceManagementConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Resource groups configuration.
	ResourceGroups *ResourceGroupsConfig `protobuf:"bytes,1,opt,name=resource_groups,json=resourceGroups,proto3" json:"resource_groups,omitempty"`
	// Query management confiugration.
	Query         *QueryConfig `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResourceManagementConfig) ProtoMessage() {}

func (x *ResourceManagementConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_trino_v1_resource_management_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 ResourceManagementConfig.ProtoReflect.Descriptor instead.
func (*ResourceManagementConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_trino_v1_resource_management_proto_rawDescGZIP(), []int{0}
}

func (x *ResourceManagementConfig) GetResourceGroups() *ResourceGroupsConfig {
	if x != nil {
		return x.ResourceGroups
	}
	return nil
}

func (x *ResourceManagementConfig) GetQuery() *QueryConfig {
	if x != nil {
		return x.Query
	}
	return nil
}

type QueryConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Query properties.
	Properties    map[string]string `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*QueryConfig) ProtoMessage() {}

func (x *QueryConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_trino_v1_resource_management_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 QueryConfig.ProtoReflect.Descriptor instead.
func (*QueryConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_trino_v1_resource_management_proto_rawDescGZIP(), []int{1}
}

func (x *QueryConfig) GetProperties() map[string]string {
	if x != nil {
		return x.Properties
	}
	return nil
}

type ResourceGroupsConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Root resource groups configuration.
	RootGroups []*ResourceGroupConfig `protobuf:"bytes,1,rep,name=root_groups,json=rootGroups,proto3" json:"root_groups,omitempty"`
	// Selector rules for routing queries to resource groups.
	Selectors []*SelectorRuleConfig `protobuf:"bytes,2,rep,name=selectors,proto3" json:"selectors,omitempty"`
	// Period for CPU quota calculations.
	CpuQuotaPeriod string `protobuf:"bytes,3,opt,name=cpu_quota_period,json=cpuQuotaPeriod,proto3" json:"cpu_quota_period,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*ResourceGroupsConfig) ProtoMessage() {}

func (x *ResourceGroupsConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_trino_v1_resource_management_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 ResourceGroupsConfig.ProtoReflect.Descriptor instead.
func (*ResourceGroupsConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_trino_v1_resource_management_proto_rawDescGZIP(), []int{2}
}

func (x *ResourceGroupsConfig) GetRootGroups() []*ResourceGroupConfig {
	if x != nil {
		return x.RootGroups
	}
	return nil
}

func (x *ResourceGroupsConfig) GetSelectors() []*SelectorRuleConfig {
	if x != nil {
		return x.Selectors
	}
	return nil
}

func (x *ResourceGroupsConfig) GetCpuQuotaPeriod() string {
	if x != nil {
		return x.CpuQuotaPeriod
	}
	return ""
}

type ResourceGroupConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Resource group name.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Maximum number of queued queries.
	MaxQueued int64 `protobuf:"varint,2,opt,name=max_queued,json=maxQueued,proto3" json:"max_queued,omitempty"`
	// Number of concurrently running queries after which new queries only run if peer groups are below soft limits.
	SoftConcurrencyLimit int64 `protobuf:"varint,3,opt,name=soft_concurrency_limit,json=softConcurrencyLimit,proto3" json:"soft_concurrency_limit,omitempty"`
	// Maximum number of queries that can run concurrently.
	HardConcurrencyLimit int64 `protobuf:"varint,4,opt,name=hard_concurrency_limit,json=hardConcurrencyLimit,proto3" json:"hard_concurrency_limit,omitempty"`
	// Maximum amount of distributed memory this group can use.
	SoftMemoryLimit string `protobuf:"bytes,5,opt,name=soft_memory_limit,json=softMemoryLimit,proto3" json:"soft_memory_limit,omitempty"`
	// Maximum CPU time per period this group can use before applying penalty to running queries (requires hard_cpu_limit).
	SoftCpuLimit string `protobuf:"bytes,6,opt,name=soft_cpu_limit,json=softCpuLimit,proto3" json:"soft_cpu_limit,omitempty"`
	// Maximum CPU time per period this group can use.
	HardCpuLimit string `protobuf:"bytes,7,opt,name=hard_cpu_limit,json=hardCpuLimit,proto3" json:"hard_cpu_limit,omitempty"`
	// Policy for selecting queued queries and sub-group eligibility.
	SchedulingPolicy ResourceGroupConfig_SchedulingPolicy `protobuf:"varint,8,opt,name=scheduling_policy,json=schedulingPolicy,proto3,enum=yandex.cloud.trino.v1.ResourceGroupConfig_SchedulingPolicy" json:"scheduling_policy,omitempty"`
	// Weight for weighted and weighted_fair scheduling policies.
	SchedulingWeight int64 `protobuf:"varint,9,opt,name=scheduling_weight,json=schedulingWeight,proto3" json:"scheduling_weight,omitempty"`
	// List of sub-groups.
	SubGroups     []*ResourceGroupConfig `protobuf:"bytes,11,rep,name=sub_groups,json=subGroups,proto3" json:"sub_groups,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*ResourceGroupConfig) ProtoMessage() {}

func (x *ResourceGroupConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_trino_v1_resource_management_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 ResourceGroupConfig.ProtoReflect.Descriptor instead.
func (*ResourceGroupConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_trino_v1_resource_management_proto_rawDescGZIP(), []int{3}
}

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

func (x *ResourceGroupConfig) GetMaxQueued() int64 {
	if x != nil {
		return x.MaxQueued
	}
	return 0
}

func (x *ResourceGroupConfig) GetSoftConcurrencyLimit() int64 {
	if x != nil {
		return x.SoftConcurrencyLimit
	}
	return 0
}

func (x *ResourceGroupConfig) GetHardConcurrencyLimit() int64 {
	if x != nil {
		return x.HardConcurrencyLimit
	}
	return 0
}

func (x *ResourceGroupConfig) GetSoftMemoryLimit() string {
	if x != nil {
		return x.SoftMemoryLimit
	}
	return ""
}

func (x *ResourceGroupConfig) GetSoftCpuLimit() string {
	if x != nil {
		return x.SoftCpuLimit
	}
	return ""
}

func (x *ResourceGroupConfig) GetHardCpuLimit() string {
	if x != nil {
		return x.HardCpuLimit
	}
	return ""
}

func (x *ResourceGroupConfig) GetSchedulingPolicy() ResourceGroupConfig_SchedulingPolicy {
	if x != nil {
		return x.SchedulingPolicy
	}
	return ResourceGroupConfig_SCHEDULING_POLICY_UNSPECIFIED
}

func (x *ResourceGroupConfig) GetSchedulingWeight() int64 {
	if x != nil {
		return x.SchedulingWeight
	}
	return 0
}

func (x *ResourceGroupConfig) GetSubGroups() []*ResourceGroupConfig {
	if x != nil {
		return x.SubGroups
	}
	return nil
}

type SelectorRuleConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Regex to match against username.
	User string `protobuf:"bytes,1,opt,name=user,proto3" json:"user,omitempty"`
	// Regex to match against user groups.
	UserGroup string `protobuf:"bytes,4,opt,name=user_group,json=userGroup,proto3" json:"user_group,omitempty"`
	// Regex to match against query source.
	Source string `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"`
	// Type of query to match.
	QueryType SelectorRuleConfig_QueryType `protobuf:"varint,6,opt,name=query_type,json=queryType,proto3,enum=yandex.cloud.trino.v1.SelectorRuleConfig_QueryType" json:"query_type,omitempty"`
	// Tags that must all be present in the query's client tags.
	ClientTags []string `protobuf:"bytes,7,rep,name=client_tags,json=clientTags,proto3" json:"client_tags,omitempty"`
	// Target resource group name.
	Group         string `protobuf:"bytes,8,opt,name=group,proto3" json:"group,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SelectorRuleConfig) ProtoMessage() {}

func (x *SelectorRuleConfig) ProtoReflect() protoreflect.Message {
	mi := &file_yandex_cloud_trino_v1_resource_management_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 SelectorRuleConfig.ProtoReflect.Descriptor instead.
func (*SelectorRuleConfig) Descriptor() ([]byte, []int) {
	return file_yandex_cloud_trino_v1_resource_management_proto_rawDescGZIP(), []int{4}
}

func (x *SelectorRuleConfig) GetUser() string {
	if x != nil {
		return x.User
	}
	return ""
}

func (x *SelectorRuleConfig) GetUserGroup() string {
	if x != nil {
		return x.UserGroup
	}
	return ""
}

func (x *SelectorRuleConfig) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *SelectorRuleConfig) GetQueryType() SelectorRuleConfig_QueryType {
	if x != nil {
		return x.QueryType
	}
	return SelectorRuleConfig_QUERY_TYPE_UNSPECIFIED
}

func (x *SelectorRuleConfig) GetClientTags() []string {
	if x != nil {
		return x.ClientTags
	}
	return nil
}

func (x *SelectorRuleConfig) GetGroup() string {
	if x != nil {
		return x.Group
	}
	return ""
}

var File_yandex_cloud_trino_v1_resource_management_proto protoreflect.FileDescriptor

const file_yandex_cloud_trino_v1_resource_management_proto_rawDesc = "" +
	"\n" +
	"/yandex/cloud/trino/v1/resource_management.proto\x12\x15yandex.cloud.trino.v1\x1a\x1dyandex/cloud/validation.proto\"\xaa\x01\n" +
	"\x18ResourceManagementConfig\x12T\n" +
	"\x0fresource_groups\x18\x01 \x01(\v2+.yandex.cloud.trino.v1.ResourceGroupsConfigR\x0eresourceGroups\x128\n" +
	"\x05query\x18\x02 \x01(\v2\".yandex.cloud.trino.v1.QueryConfigR\x05query\"\xa0\x01\n" +
	"\vQueryConfig\x12R\n" +
	"\n" +
	"properties\x18\x01 \x03(\v22.yandex.cloud.trino.v1.QueryConfig.PropertiesEntryR\n" +
	"properties\x1a=\n" +
	"\x0fPropertiesEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xe6\x01\n" +
	"\x14ResourceGroupsConfig\x12S\n" +
	"\vroot_groups\x18\x01 \x03(\v2*.yandex.cloud.trino.v1.ResourceGroupConfigB\x06\x82\xc81\x02>0R\n" +
	"rootGroups\x12O\n" +
	"\tselectors\x18\x02 \x03(\v2).yandex.cloud.trino.v1.SelectorRuleConfigB\x06\x82\xc81\x02>0R\tselectors\x12(\n" +
	"\x10cpu_quota_period\x18\x03 \x01(\tR\x0ecpuQuotaPeriod\"\xa0\x05\n" +
	"\x13ResourceGroupConfig\x12\x18\n" +
	"\x04name\x18\x01 \x01(\tB\x04\xe8\xc71\x01R\x04name\x12%\n" +
	"\n" +
	"max_queued\x18\x02 \x01(\x03B\x06\xfa\xc71\x02>0R\tmaxQueued\x124\n" +
	"\x16soft_concurrency_limit\x18\x03 \x01(\x03R\x14softConcurrencyLimit\x12<\n" +
	"\x16hard_concurrency_limit\x18\x04 \x01(\x03B\x06\xfa\xc71\x02>0R\x14hardConcurrencyLimit\x12*\n" +
	"\x11soft_memory_limit\x18\x05 \x01(\tR\x0fsoftMemoryLimit\x12$\n" +
	"\x0esoft_cpu_limit\x18\x06 \x01(\tR\fsoftCpuLimit\x12$\n" +
	"\x0ehard_cpu_limit\x18\a \x01(\tR\fhardCpuLimit\x12h\n" +
	"\x11scheduling_policy\x18\b \x01(\x0e2;.yandex.cloud.trino.v1.ResourceGroupConfig.SchedulingPolicyR\x10schedulingPolicy\x12+\n" +
	"\x11scheduling_weight\x18\t \x01(\x03R\x10schedulingWeight\x12I\n" +
	"\n" +
	"sub_groups\x18\v \x03(\v2*.yandex.cloud.trino.v1.ResourceGroupConfigR\tsubGroups\"t\n" +
	"\x10SchedulingPolicy\x12!\n" +
	"\x1dSCHEDULING_POLICY_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04FAIR\x10\x01\x12\f\n" +
	"\bWEIGHTED\x10\x02\x12\x11\n" +
	"\rWEIGHTED_FAIR\x10\x03\x12\x12\n" +
	"\x0eQUERY_PRIORITY\x10\x04J\x04\b\n" +
	"\x10\v\"\xb7\x03\n" +
	"\x12SelectorRuleConfig\x12\x12\n" +
	"\x04user\x18\x01 \x01(\tR\x04user\x12\x1d\n" +
	"\n" +
	"user_group\x18\x04 \x01(\tR\tuserGroup\x12\x16\n" +
	"\x06source\x18\x05 \x01(\tR\x06source\x12R\n" +
	"\n" +
	"query_type\x18\x06 \x01(\x0e23.yandex.cloud.trino.v1.SelectorRuleConfig.QueryTypeR\tqueryType\x12\x1f\n" +
	"\vclient_tags\x18\a \x03(\tR\n" +
	"clientTags\x12\x1a\n" +
	"\x05group\x18\b \x01(\tB\x04\xe8\xc71\x01R\x05group\"\xb8\x01\n" +
	"\tQueryType\x12\x1a\n" +
	"\x16QUERY_TYPE_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06SELECT\x10\x01\x12\v\n" +
	"\aEXPLAIN\x10\x02\x12\f\n" +
	"\bDESCRIBE\x10\x03\x12\n" +
	"\n" +
	"\x06INSERT\x10\x04\x12\n" +
	"\n" +
	"\x06UPDATE\x10\x05\x12\t\n" +
	"\x05MERGE\x10\x06\x12\n" +
	"\n" +
	"\x06DELETE\x10\a\x12\v\n" +
	"\aANALYZE\x10\b\x12\x13\n" +
	"\x0fDATA_DEFINITION\x10\t\x12\x17\n" +
	"\x13ALTER_TABLE_EXECUTE\x10\n" +
	"J\x04\b\x02\x10\x03J\x04\b\x03\x10\x04B\\\n" +
	"\x19yandex.cloud.api.trino.v1Z?github.com/yandex-cloud/go-genproto/yandex/cloud/trino/v1;trinob\x06proto3"

var (
	file_yandex_cloud_trino_v1_resource_management_proto_rawDescOnce sync.Once
	file_yandex_cloud_trino_v1_resource_management_proto_rawDescData []byte
)

func file_yandex_cloud_trino_v1_resource_management_proto_rawDescGZIP() []byte {
	file_yandex_cloud_trino_v1_resource_management_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_trino_v1_resource_management_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_trino_v1_resource_management_proto_rawDesc), len(file_yandex_cloud_trino_v1_resource_management_proto_rawDesc)))
	})
	return file_yandex_cloud_trino_v1_resource_management_proto_rawDescData
}

var file_yandex_cloud_trino_v1_resource_management_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_yandex_cloud_trino_v1_resource_management_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_yandex_cloud_trino_v1_resource_management_proto_goTypes = []any{
	(ResourceGroupConfig_SchedulingPolicy)(0), // 0: yandex.cloud.trino.v1.ResourceGroupConfig.SchedulingPolicy
	(SelectorRuleConfig_QueryType)(0),         // 1: yandex.cloud.trino.v1.SelectorRuleConfig.QueryType
	(*ResourceManagementConfig)(nil),          // 2: yandex.cloud.trino.v1.ResourceManagementConfig
	(*QueryConfig)(nil),                       // 3: yandex.cloud.trino.v1.QueryConfig
	(*ResourceGroupsConfig)(nil),              // 4: yandex.cloud.trino.v1.ResourceGroupsConfig
	(*ResourceGroupConfig)(nil),               // 5: yandex.cloud.trino.v1.ResourceGroupConfig
	(*SelectorRuleConfig)(nil),                // 6: yandex.cloud.trino.v1.SelectorRuleConfig
	nil,                                       // 7: yandex.cloud.trino.v1.QueryConfig.PropertiesEntry
}
var file_yandex_cloud_trino_v1_resource_management_proto_depIdxs = []int32{
	4, // 0: yandex.cloud.trino.v1.ResourceManagementConfig.resource_groups:type_name -> yandex.cloud.trino.v1.ResourceGroupsConfig
	3, // 1: yandex.cloud.trino.v1.ResourceManagementConfig.query:type_name -> yandex.cloud.trino.v1.QueryConfig
	7, // 2: yandex.cloud.trino.v1.QueryConfig.properties:type_name -> yandex.cloud.trino.v1.QueryConfig.PropertiesEntry
	5, // 3: yandex.cloud.trino.v1.ResourceGroupsConfig.root_groups:type_name -> yandex.cloud.trino.v1.ResourceGroupConfig
	6, // 4: yandex.cloud.trino.v1.ResourceGroupsConfig.selectors:type_name -> yandex.cloud.trino.v1.SelectorRuleConfig
	0, // 5: yandex.cloud.trino.v1.ResourceGroupConfig.scheduling_policy:type_name -> yandex.cloud.trino.v1.ResourceGroupConfig.SchedulingPolicy
	5, // 6: yandex.cloud.trino.v1.ResourceGroupConfig.sub_groups:type_name -> yandex.cloud.trino.v1.ResourceGroupConfig
	1, // 7: yandex.cloud.trino.v1.SelectorRuleConfig.query_type:type_name -> yandex.cloud.trino.v1.SelectorRuleConfig.QueryType
	8, // [8:8] is the sub-list for method output_type
	8, // [8:8] is the sub-list for method input_type
	8, // [8:8] is the sub-list for extension type_name
	8, // [8:8] is the sub-list for extension extendee
	0, // [0:8] is the sub-list for field type_name
}

func init() { file_yandex_cloud_trino_v1_resource_management_proto_init() }
func file_yandex_cloud_trino_v1_resource_management_proto_init() {
	if File_yandex_cloud_trino_v1_resource_management_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_trino_v1_resource_management_proto_rawDesc), len(file_yandex_cloud_trino_v1_resource_management_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   6,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_trino_v1_resource_management_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_trino_v1_resource_management_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_trino_v1_resource_management_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_trino_v1_resource_management_proto_msgTypes,
	}.Build()
	File_yandex_cloud_trino_v1_resource_management_proto = out.File
	file_yandex_cloud_trino_v1_resource_management_proto_goTypes = nil
	file_yandex_cloud_trino_v1_resource_management_proto_depIdxs = nil
}
