// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.34.2
// 	protoc        v3.21.12
// source: yandex/cloud/smartwebsecurity/v1/waf/waf_profile.proto

package smartwebsecurity

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	v1 "github.com/yandex-cloud/go-genproto/yandex/cloud/smartwebsecurity/v1"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

// Action to perform if maximum size of body exceeded.
type WafProfile_AnalyzeRequestBody_Action int32

const (
	WafProfile_AnalyzeRequestBody_ACTION_UNSPECIFIED WafProfile_AnalyzeRequestBody_Action = 0
	// Ignore request.
	WafProfile_AnalyzeRequestBody_IGNORE WafProfile_AnalyzeRequestBody_Action = 1
	// Deny request.
	WafProfile_AnalyzeRequestBody_DENY WafProfile_AnalyzeRequestBody_Action = 2
)

// Enum value maps for WafProfile_AnalyzeRequestBody_Action.
var (
	WafProfile_AnalyzeRequestBody_Action_name = map[int32]string{
		0: "ACTION_UNSPECIFIED",
		1: "IGNORE",
		2: "DENY",
	}
	WafProfile_AnalyzeRequestBody_Action_value = map[string]int32{
		"ACTION_UNSPECIFIED": 0,
		"IGNORE":             1,
		"DENY":               2,
	}
)

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

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

func (WafProfile_AnalyzeRequestBody_Action) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_enumTypes[0].Descriptor()
}

func (WafProfile_AnalyzeRequestBody_Action) Type() protoreflect.EnumType {
	return &file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_enumTypes[0]
}

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

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

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

	// ID of the WAF profile.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// ID of the folder that the WAF profile belongs to.
	FolderId string `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// ID of the cloud that the WAF profile belongs to.
	CloudId string `protobuf:"bytes,3,opt,name=cloud_id,json=cloudId,proto3" json:"cloud_id,omitempty"`
	// Name of the WAF profile. The name is unique within the folder. 1-50 characters long.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Optional description of the WAF profile.
	Description string `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	// Labels as “ key:value “ pairs. Maximum of 64 per resource.
	Labels map[string]string `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
	// Creation timestamp in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format.
	CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// Settings for each rule in rule set.
	Rules []*WafProfileRule `protobuf:"bytes,9,rep,name=rules,proto3" json:"rules,omitempty"`
	// List of exclusion rules. See [Rules](/docs/smartwebsecurity/concepts/waf#exclusion-rules).
	ExclusionRules []*WafProfileExclusionRule `protobuf:"bytes,10,rep,name=exclusion_rules,json=exclusionRules,proto3" json:"exclusion_rules,omitempty"`
	// Types that are assignable to RuleSet:
	//
	//	*WafProfile_CoreRuleSet_
	RuleSet isWafProfile_RuleSet `protobuf_oneof:"rule_set"`
	// Parameters for request body analyzer.
	AnalyzeRequestBody *WafProfile_AnalyzeRequestBody `protobuf:"bytes,12,opt,name=analyze_request_body,json=analyzeRequestBody,proto3" json:"analyze_request_body,omitempty"`
}

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

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

func (*WafProfile) ProtoMessage() {}

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

func (x *WafProfile) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *WafProfile) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *WafProfile) GetCloudId() string {
	if x != nil {
		return x.CloudId
	}
	return ""
}

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

func (x *WafProfile) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *WafProfile) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *WafProfile) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *WafProfile) GetRules() []*WafProfileRule {
	if x != nil {
		return x.Rules
	}
	return nil
}

func (x *WafProfile) GetExclusionRules() []*WafProfileExclusionRule {
	if x != nil {
		return x.ExclusionRules
	}
	return nil
}

func (m *WafProfile) GetRuleSet() isWafProfile_RuleSet {
	if m != nil {
		return m.RuleSet
	}
	return nil
}

func (x *WafProfile) GetCoreRuleSet() *WafProfile_CoreRuleSet {
	if x, ok := x.GetRuleSet().(*WafProfile_CoreRuleSet_); ok {
		return x.CoreRuleSet
	}
	return nil
}

func (x *WafProfile) GetAnalyzeRequestBody() *WafProfile_AnalyzeRequestBody {
	if x != nil {
		return x.AnalyzeRequestBody
	}
	return nil
}

type isWafProfile_RuleSet interface {
	isWafProfile_RuleSet()
}

type WafProfile_CoreRuleSet_ struct {
	// Core rule set settings. See [Basic rule set](/docs/smartwebsecurity/concepts/waf#rules-set) for details.
	CoreRuleSet *WafProfile_CoreRuleSet `protobuf:"bytes,11,opt,name=core_rule_set,json=coreRuleSet,proto3,oneof"`
}

func (*WafProfile_CoreRuleSet_) isWafProfile_RuleSet() {}

// WafProfileRule object. Determines settings for each rule_id in rule set.
type WafProfileRule struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Rule ID.
	RuleId string `protobuf:"bytes,1,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"`
	// Determines is it rule enabled or not.
	IsEnabled bool `protobuf:"varint,2,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"`
	// Determines is it rule blocking or not.
	IsBlocking bool `protobuf:"varint,3,opt,name=is_blocking,json=isBlocking,proto3" json:"is_blocking,omitempty"`
}

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

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

func (*WafProfileRule) ProtoMessage() {}

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

func (x *WafProfileRule) GetRuleId() string {
	if x != nil {
		return x.RuleId
	}
	return ""
}

func (x *WafProfileRule) GetIsEnabled() bool {
	if x != nil {
		return x.IsEnabled
	}
	return false
}

func (x *WafProfileRule) GetIsBlocking() bool {
	if x != nil {
		return x.IsBlocking
	}
	return false
}

// A WafProfileExclusionRule object. See [Exclusion rules](/docs/smartwebsecurity/concepts/waf#exclusion-rules).
type WafProfileExclusionRule struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Name of exclusion rule.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional description of the rule. 0-512 characters long.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// The condition for matching traffic.
	Condition *v1.Condition `protobuf:"bytes,3,opt,name=condition,proto3" json:"condition,omitempty"`
	// Exclude rules.
	ExcludeRules *WafProfileExclusionRule_ExcludeRules `protobuf:"bytes,4,opt,name=exclude_rules,json=excludeRules,proto3" json:"exclude_rules,omitempty"`
	// Records the fact that an exception rule is triggered.
	LogExcluded bool `protobuf:"varint,5,opt,name=log_excluded,json=logExcluded,proto3" json:"log_excluded,omitempty"`
}

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

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

func (*WafProfileExclusionRule) ProtoMessage() {}

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

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

func (x *WafProfileExclusionRule) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *WafProfileExclusionRule) GetCondition() *v1.Condition {
	if x != nil {
		return x.Condition
	}
	return nil
}

func (x *WafProfileExclusionRule) GetExcludeRules() *WafProfileExclusionRule_ExcludeRules {
	if x != nil {
		return x.ExcludeRules
	}
	return nil
}

func (x *WafProfileExclusionRule) GetLogExcluded() bool {
	if x != nil {
		return x.LogExcluded
	}
	return false
}

// A RuleSet object. Determines name and version of rule set.
type RuleSet struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Name of rule set.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Version of rule set.
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
}

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

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

func (*RuleSet) ProtoMessage() {}

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

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

func (x *RuleSet) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

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

	// Anomaly score.
	// Enter an integer within the range of 2 and 10000.
	// The higher this value, the more likely it is that the request that satisfies the rule is an attack.
	// See [Rules](/docs/smartwebsecurity/concepts/waf#anomaly) for more details.
	InboundAnomalyScore int64 `protobuf:"varint,1,opt,name=inbound_anomaly_score,json=inboundAnomalyScore,proto3" json:"inbound_anomaly_score,omitempty"`
	// Paranoia level.
	// Enter an integer within the range of 1 and 4.
	// Paranoia level classifies rules according to their aggression. The higher the paranoia level, the better your protection,
	// but also the higher the probability of WAF false positives.
	// See [Rules](/docs/smartwebsecurity/concepts/waf#paranoia) for more details.
	// NOTE: this option has no effect on enabling or disabling rules.
	// it is used only as recommendation for user to enable all rules with paranoia_level <= this value.
	ParanoiaLevel int64 `protobuf:"varint,2,opt,name=paranoia_level,json=paranoiaLevel,proto3" json:"paranoia_level,omitempty"`
	// Rule set.
	RuleSet *RuleSet `protobuf:"bytes,3,opt,name=rule_set,json=ruleSet,proto3" json:"rule_set,omitempty"`
}

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

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

func (*WafProfile_CoreRuleSet) ProtoMessage() {}

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

func (x *WafProfile_CoreRuleSet) GetInboundAnomalyScore() int64 {
	if x != nil {
		return x.InboundAnomalyScore
	}
	return 0
}

func (x *WafProfile_CoreRuleSet) GetParanoiaLevel() int64 {
	if x != nil {
		return x.ParanoiaLevel
	}
	return 0
}

func (x *WafProfile_CoreRuleSet) GetRuleSet() *RuleSet {
	if x != nil {
		return x.RuleSet
	}
	return nil
}

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

	// Possible to turn analyzer on and turn if off.
	IsEnabled bool `protobuf:"varint,1,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"`
	// Maximum size of body to pass to analyzer. In kilobytes.
	SizeLimit int64 `protobuf:"varint,2,opt,name=size_limit,json=sizeLimit,proto3" json:"size_limit,omitempty"`
	// Action to perform if maximum size of body exceeded.
	SizeLimitAction WafProfile_AnalyzeRequestBody_Action `protobuf:"varint,3,opt,name=size_limit_action,json=sizeLimitAction,proto3,enum=yandex.cloud.smartwebsecurity.v1.waf.WafProfile_AnalyzeRequestBody_Action" json:"size_limit_action,omitempty"`
}

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

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

func (*WafProfile_AnalyzeRequestBody) ProtoMessage() {}

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

func (x *WafProfile_AnalyzeRequestBody) GetIsEnabled() bool {
	if x != nil {
		return x.IsEnabled
	}
	return false
}

func (x *WafProfile_AnalyzeRequestBody) GetSizeLimit() int64 {
	if x != nil {
		return x.SizeLimit
	}
	return 0
}

func (x *WafProfile_AnalyzeRequestBody) GetSizeLimitAction() WafProfile_AnalyzeRequestBody_Action {
	if x != nil {
		return x.SizeLimitAction
	}
	return WafProfile_AnalyzeRequestBody_ACTION_UNSPECIFIED
}

// Determines list of excluded rules.
type WafProfileExclusionRule_ExcludeRules struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	// Set this option true to exclude all rules.
	ExcludeAll bool `protobuf:"varint,1,opt,name=exclude_all,json=excludeAll,proto3" json:"exclude_all,omitempty"`
	// List of rules to exclude.
	RuleIds []string `protobuf:"bytes,2,rep,name=rule_ids,json=ruleIds,proto3" json:"rule_ids,omitempty"`
}

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

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

func (*WafProfileExclusionRule_ExcludeRules) ProtoMessage() {}

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

func (x *WafProfileExclusionRule_ExcludeRules) GetExcludeAll() bool {
	if x != nil {
		return x.ExcludeAll
	}
	return false
}

func (x *WafProfileExclusionRule_ExcludeRules) GetRuleIds() []string {
	if x != nil {
		return x.RuleIds
	}
	return nil
}

var File_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto protoreflect.FileDescriptor

var file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDesc = []byte{
	0x0a, 0x36, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73,
	0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f,
	0x76, 0x31, 0x2f, 0x77, 0x61, 0x66, 0x2f, 0x77, 0x61, 0x66, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69,
	0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73,
	0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x77, 0x61, 0x66, 0x1a, 0x1f,
	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
	0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
	0x1d, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x76, 0x61,
	0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37,
	0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x73, 0x6d, 0x61,
	0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2f, 0x76, 0x31,
	0x2f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c,
	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfc, 0x0a, 0x0a, 0x0a, 0x57, 0x61, 0x66, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x14, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x09,
	0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42,
	0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52, 0x08, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12,
	0x1f, 0x0a, 0x08, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52, 0x07, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x64,
	0x12, 0x3e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a,
	0xe8, 0xc7, 0x31, 0x01, 0xf2, 0xc7, 0x31, 0x1a, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30,
	0x2d, 0x39, 0x5d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x2d, 0x5f, 0x2e,
	0x5d, 0x2a, 0x8a, 0xc8, 0x31, 0x04, 0x31, 0x2d, 0x35, 0x30, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x2b, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
	0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x09, 0x8a, 0xc8, 0x31, 0x05, 0x3c, 0x3d, 0x35, 0x31, 0x32,
	0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x91, 0x01,
	0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c,
	0x2e, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d,
	0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76,
	0x31, 0x2e, 0x77, 0x61, 0x66, 0x2e, 0x57, 0x61, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
	0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x3b, 0xf2, 0xc7,
	0x31, 0x0b, 0x5b, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x7a, 0x5d, 0x2a, 0x82, 0xc8, 0x31,
	0x04, 0x3c, 0x3d, 0x36, 0x34, 0x8a, 0xc8, 0x31, 0x04, 0x3c, 0x3d, 0x36, 0x33, 0xb2, 0xc8, 0x31,
	0x18, 0x12, 0x10, 0x5b, 0x61, 0x2d, 0x7a, 0x5d, 0x5b, 0x2d, 0x5f, 0x30, 0x2d, 0x39, 0x61, 0x2d,
	0x7a, 0x5d, 0x2a, 0x1a, 0x04, 0x31, 0x2d, 0x36, 0x33, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
	0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
	0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x4a, 0x0a, 0x05,
	0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x79, 0x61,
	0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d, 0x61, 0x72, 0x74,
	0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x77,
	0x61, 0x66, 0x2e, 0x57, 0x61, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x75, 0x6c,
	0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x0f, 0x65, 0x78, 0x63, 0x6c,
	0x75, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28,
	0x0b, 0x32, 0x3d, 0x2e, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
	0x2e, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74,
	0x79, 0x2e, 0x76, 0x31, 0x2e, 0x77, 0x61, 0x66, 0x2e, 0x57, 0x61, 0x66, 0x50, 0x72, 0x6f, 0x66,
	0x69, 0x6c, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65,
	0x52, 0x0e, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73,
	0x12, 0x62, 0x0a, 0x0d, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65,
	0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78,
	0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73,
	0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x77, 0x61, 0x66, 0x2e, 0x57,
	0x61, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x52, 0x75,
	0x6c, 0x65, 0x53, 0x65, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x52, 0x75, 0x6c,
	0x65, 0x53, 0x65, 0x74, 0x12, 0x75, 0x0a, 0x14, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f,
	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x43, 0x2e, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69,
	0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x77, 0x61, 0x66, 0x2e, 0x57, 0x61, 0x66, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x2e, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75,
	0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x12, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65,
	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x1a, 0x39, 0x0a, 0x0b, 0x4c,
	0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
	0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
	0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
	0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0xd2, 0x01, 0x0a, 0x0b, 0x43, 0x6f, 0x72, 0x65, 0x52,
	0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x3f, 0x0a, 0x15, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e,
	0x64, 0x5f, 0x61, 0x6e, 0x6f, 0x6d, 0x61, 0x6c, 0x79, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 0x0b, 0xfa, 0xc7, 0x31, 0x07, 0x32, 0x2d, 0x31, 0x30, 0x30,
	0x30, 0x30, 0x52, 0x13, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x41, 0x6e, 0x6f, 0x6d, 0x61,
	0x6c, 0x79, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x32, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6e,
	0x6f, 0x69, 0x61, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42,
	0x0b, 0xfa, 0xc7, 0x31, 0x07, 0x31, 0x2c, 0x32, 0x2c, 0x33, 0x2c, 0x34, 0x52, 0x0d, 0x70, 0x61,
	0x72, 0x61, 0x6e, 0x6f, 0x69, 0x61, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x4e, 0x0a, 0x08, 0x72,
	0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e,
	0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d, 0x61,
	0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31,
	0x2e, 0x77, 0x61, 0x66, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x42, 0x04, 0xe8, 0xc7,
	0x31, 0x01, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x1a, 0xa0, 0x02, 0x0a, 0x12,
	0x41, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f,
	0x64, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65,
	0x64, 0x12, 0x3b, 0x0a, 0x0a, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
	0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x1c, 0xfa, 0xc7, 0x31, 0x18, 0x30, 0x2c, 0x38, 0x2c, 0x31,
	0x36, 0x2c, 0x33, 0x32, 0x2c, 0x36, 0x34, 0x2c, 0x31, 0x32, 0x38, 0x2c, 0x32, 0x35, 0x36, 0x2c,
	0x35, 0x31, 0x32, 0x52, 0x09, 0x73, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x76,
	0x0a, 0x11, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x5f, 0x61, 0x63, 0x74,
	0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4a, 0x2e, 0x79, 0x61, 0x6e, 0x64,
	0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65,
	0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x77, 0x61, 0x66,
	0x2e, 0x57, 0x61, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x41, 0x6e, 0x61, 0x6c,
	0x79, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x2e, 0x41,
	0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x69, 0x7a, 0x65, 0x4c, 0x69, 0x6d, 0x69, 0x74,
	0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x36, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e,
	0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
	0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x49, 0x47, 0x4e, 0x4f,
	0x52, 0x45, 0x10, 0x01, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x45, 0x4e, 0x59, 0x10, 0x02, 0x42, 0x10,
	0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x12, 0x04, 0xc0, 0xc1, 0x31, 0x01,
	0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0x6f, 0x0a, 0x0e, 0x57, 0x61, 0x66, 0x50, 0x72, 0x6f,
	0x66, 0x69, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65,
	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52,
	0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e,
	0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x45,
	0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x62, 0x6c, 0x6f,
	0x63, 0x6b, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x42,
	0x6c, 0x6f, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x22, 0x91, 0x03, 0x0a, 0x17, 0x57, 0x61, 0x66, 0x50,
	0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52,
	0x75, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a,
	0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01,
	0x28, 0x09, 0x42, 0x09, 0x8a, 0xc8, 0x31, 0x05, 0x3c, 0x3d, 0x35, 0x31, 0x32, 0x52, 0x0b, 0x64,
	0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x09, 0x63, 0x6f,
	0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
	0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d, 0x61,
	0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31,
	0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64,
	0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x75, 0x0a, 0x0d, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65,
	0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4a, 0x2e, 0x79,
	0x61, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x73, 0x6d, 0x61, 0x72,
	0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e,
	0x77, 0x61, 0x66, 0x2e, 0x57, 0x61, 0x66, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x45, 0x78,
	0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x45, 0x78, 0x63, 0x6c,
	0x75, 0x64, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x42, 0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52, 0x0c,
	0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c,
	0x6c, 0x6f, 0x67, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01,
	0x28, 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x67, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x1a,
	0x4a, 0x0a, 0x0c, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12,
	0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x6c, 0x6c, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x6c, 0x6c,
	0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03,
	0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x22, 0x43, 0x0a, 0x07, 0x52,
	0x75, 0x6c, 0x65, 0x53, 0x65, 0x74, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
	0x12, 0x1e, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x42, 0x04, 0xe8, 0xc7, 0x31, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
	0x42, 0x85, 0x01, 0x0a, 0x28, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
	0x64, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65,
	0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x76, 0x31, 0x2e, 0x77, 0x61, 0x66, 0x5a, 0x59, 0x67,
	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78,
	0x2d, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x67, 0x6f, 0x2d, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x2f, 0x79, 0x61, 0x6e, 0x64, 0x65, 0x78, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
	0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79,
	0x2f, 0x76, 0x31, 0x2f, 0x77, 0x61, 0x66, 0x3b, 0x73, 0x6d, 0x61, 0x72, 0x74, 0x77, 0x65, 0x62,
	0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var (
	file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDescOnce sync.Once
	file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDescData = file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDesc
)

func file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDescGZIP() []byte {
	file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDescData = protoimpl.X.CompressGZIP(file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDescData)
	})
	return file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDescData
}

var file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_goTypes = []any{
	(WafProfile_AnalyzeRequestBody_Action)(0),    // 0: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.AnalyzeRequestBody.Action
	(*WafProfile)(nil),                           // 1: yandex.cloud.smartwebsecurity.v1.waf.WafProfile
	(*WafProfileRule)(nil),                       // 2: yandex.cloud.smartwebsecurity.v1.waf.WafProfileRule
	(*WafProfileExclusionRule)(nil),              // 3: yandex.cloud.smartwebsecurity.v1.waf.WafProfileExclusionRule
	(*RuleSet)(nil),                              // 4: yandex.cloud.smartwebsecurity.v1.waf.RuleSet
	nil,                                          // 5: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.LabelsEntry
	(*WafProfile_CoreRuleSet)(nil),               // 6: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.CoreRuleSet
	(*WafProfile_AnalyzeRequestBody)(nil),        // 7: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.AnalyzeRequestBody
	(*WafProfileExclusionRule_ExcludeRules)(nil), // 8: yandex.cloud.smartwebsecurity.v1.waf.WafProfileExclusionRule.ExcludeRules
	(*timestamppb.Timestamp)(nil),                // 9: google.protobuf.Timestamp
	(*v1.Condition)(nil),                         // 10: yandex.cloud.smartwebsecurity.v1.Condition
}
var file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_depIdxs = []int32{
	5,  // 0: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.labels:type_name -> yandex.cloud.smartwebsecurity.v1.waf.WafProfile.LabelsEntry
	9,  // 1: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.created_at:type_name -> google.protobuf.Timestamp
	2,  // 2: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.rules:type_name -> yandex.cloud.smartwebsecurity.v1.waf.WafProfileRule
	3,  // 3: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.exclusion_rules:type_name -> yandex.cloud.smartwebsecurity.v1.waf.WafProfileExclusionRule
	6,  // 4: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.core_rule_set:type_name -> yandex.cloud.smartwebsecurity.v1.waf.WafProfile.CoreRuleSet
	7,  // 5: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.analyze_request_body:type_name -> yandex.cloud.smartwebsecurity.v1.waf.WafProfile.AnalyzeRequestBody
	10, // 6: yandex.cloud.smartwebsecurity.v1.waf.WafProfileExclusionRule.condition:type_name -> yandex.cloud.smartwebsecurity.v1.Condition
	8,  // 7: yandex.cloud.smartwebsecurity.v1.waf.WafProfileExclusionRule.exclude_rules:type_name -> yandex.cloud.smartwebsecurity.v1.waf.WafProfileExclusionRule.ExcludeRules
	4,  // 8: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.CoreRuleSet.rule_set:type_name -> yandex.cloud.smartwebsecurity.v1.waf.RuleSet
	0,  // 9: yandex.cloud.smartwebsecurity.v1.waf.WafProfile.AnalyzeRequestBody.size_limit_action:type_name -> yandex.cloud.smartwebsecurity.v1.waf.WafProfile.AnalyzeRequestBody.Action
	10, // [10:10] is the sub-list for method output_type
	10, // [10:10] is the sub-list for method input_type
	10, // [10:10] is the sub-list for extension type_name
	10, // [10:10] is the sub-list for extension extendee
	0,  // [0:10] is the sub-list for field type_name
}

func init() { file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_init() }
func file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_init() {
	if File_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto != nil {
		return
	}
	if !protoimpl.UnsafeEnabled {
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[0].Exporter = func(v any, i int) any {
			switch v := v.(*WafProfile); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[1].Exporter = func(v any, i int) any {
			switch v := v.(*WafProfileRule); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[2].Exporter = func(v any, i int) any {
			switch v := v.(*WafProfileExclusionRule); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[3].Exporter = func(v any, i int) any {
			switch v := v.(*RuleSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[5].Exporter = func(v any, i int) any {
			switch v := v.(*WafProfile_CoreRuleSet); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[6].Exporter = func(v any, i int) any {
			switch v := v.(*WafProfile_AnalyzeRequestBody); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
		file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[7].Exporter = func(v any, i int) any {
			switch v := v.(*WafProfileExclusionRule_ExcludeRules); i {
			case 0:
				return &v.state
			case 1:
				return &v.sizeCache
			case 2:
				return &v.unknownFields
			default:
				return nil
			}
		}
	}
	file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes[0].OneofWrappers = []any{
		(*WafProfile_CoreRuleSet_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDesc,
			NumEnums:      1,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_msgTypes,
	}.Build()
	File_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto = out.File
	file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_rawDesc = nil
	file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_goTypes = nil
	file_yandex_cloud_smartwebsecurity_v1_waf_waf_profile_proto_depIdxs = nil
}
