// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v3.19.0
// source: automate-gateway/api/notifications/notifications.proto

// nolint: keeping this as-is for backwards-compat reasons (for now)

package notifications

import (
	context "context"
	_ "github.com/chef/automate/api/external/annotations/iam"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	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 Rule_Event int32

const (
	Rule_CCRFailure        Rule_Event = 0
	Rule_CCRSuccess        Rule_Event = 1
	Rule_ComplianceFailure Rule_Event = 2
	Rule_ComplianceSuccess Rule_Event = 3
)

// Enum value maps for Rule_Event.
var (
	Rule_Event_name = map[int32]string{
		0: "CCRFailure",
		1: "CCRSuccess",
		2: "ComplianceFailure",
		3: "ComplianceSuccess",
	}
	Rule_Event_value = map[string]int32{
		"CCRFailure":        0,
		"CCRSuccess":        1,
		"ComplianceFailure": 2,
		"ComplianceSuccess": 3,
	}
)

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

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

func (Rule_Event) Descriptor() protoreflect.EnumDescriptor {
	return file_automate_gateway_api_notifications_notifications_proto_enumTypes[0].Descriptor()
}

func (Rule_Event) Type() protoreflect.EnumType {
	return &file_automate_gateway_api_notifications_notifications_proto_enumTypes[0]
}

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

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

type SlackAlert struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*SlackAlert) ProtoMessage() {}

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

func (x *SlackAlert) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

type WebhookAlert struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Url           string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*WebhookAlert) ProtoMessage() {}

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

func (x *WebhookAlert) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

type ServiceNowAlert struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	Url                  string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	SecretId             string                 `protobuf:"bytes,2,opt,name=secret_id,json=secretId,proto3" json:"secret_id,omitempty"`
	CriticalControlsOnly bool                   `protobuf:"varint,3,opt,name=critical_controls_only,json=criticalControlsOnly,proto3" json:"critical_controls_only,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*ServiceNowAlert) ProtoMessage() {}

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

func (x *ServiceNowAlert) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *ServiceNowAlert) GetSecretId() string {
	if x != nil {
		return x.SecretId
	}
	return ""
}

func (x *ServiceNowAlert) GetCriticalControlsOnly() bool {
	if x != nil {
		return x.CriticalControlsOnly
	}
	return false
}

type Rule struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Id    string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Name  string                 `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	Event Rule_Event             `protobuf:"varint,3,opt,name=event,proto3,enum=chef.automate.api.notifications.Rule_Event" json:"event,omitempty"`
	// Types that are valid to be assigned to Action:
	//
	//	*Rule_SlackAlert
	//	*Rule_WebhookAlert
	//	*Rule_ServiceNowAlert
	Action        isRule_Action `protobuf_oneof:"action"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Rule) ProtoMessage() {}

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

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

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

func (x *Rule) GetEvent() Rule_Event {
	if x != nil {
		return x.Event
	}
	return Rule_CCRFailure
}

func (x *Rule) GetAction() isRule_Action {
	if x != nil {
		return x.Action
	}
	return nil
}

func (x *Rule) GetSlackAlert() *SlackAlert {
	if x != nil {
		if x, ok := x.Action.(*Rule_SlackAlert); ok {
			return x.SlackAlert
		}
	}
	return nil
}

func (x *Rule) GetWebhookAlert() *WebhookAlert {
	if x != nil {
		if x, ok := x.Action.(*Rule_WebhookAlert); ok {
			return x.WebhookAlert
		}
	}
	return nil
}

func (x *Rule) GetServiceNowAlert() *ServiceNowAlert {
	if x != nil {
		if x, ok := x.Action.(*Rule_ServiceNowAlert); ok {
			return x.ServiceNowAlert
		}
	}
	return nil
}

type isRule_Action interface {
	isRule_Action()
}

type Rule_SlackAlert struct {
	SlackAlert *SlackAlert `protobuf:"bytes,4,opt,name=SlackAlert,proto3,oneof"`
}

type Rule_WebhookAlert struct {
	WebhookAlert *WebhookAlert `protobuf:"bytes,5,opt,name=WebhookAlert,proto3,oneof"`
}

type Rule_ServiceNowAlert struct {
	ServiceNowAlert *ServiceNowAlert `protobuf:"bytes,6,opt,name=ServiceNowAlert,proto3,oneof"`
}

func (*Rule_SlackAlert) isRule_Action() {}

func (*Rule_WebhookAlert) isRule_Action() {}

func (*Rule_ServiceNowAlert) isRule_Action() {}

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

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

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

func (*RuleIdentifier) ProtoMessage() {}

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

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

type RuleUpdateRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Rule          *Rule                  `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"`
	Id            string                 `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleUpdateRequest) Reset() {
	*x = RuleUpdateRequest{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleUpdateRequest) ProtoMessage() {}

func (x *RuleUpdateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[5]
	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 RuleUpdateRequest.ProtoReflect.Descriptor instead.
func (*RuleUpdateRequest) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{5}
}

func (x *RuleUpdateRequest) GetRule() *Rule {
	if x != nil {
		return x.Rule
	}
	return nil
}

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

type RuleListRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleListRequest) Reset() {
	*x = RuleListRequest{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleListRequest) ProtoMessage() {}

func (x *RuleListRequest) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[6]
	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 RuleListRequest.ProtoReflect.Descriptor instead.
func (*RuleListRequest) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{6}
}

type RuleUpdateResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Messages      []string               `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleUpdateResponse) Reset() {
	*x = RuleUpdateResponse{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleUpdateResponse) ProtoMessage() {}

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

func (x *RuleUpdateResponse) GetMessages() []string {
	if x != nil {
		return x.Messages
	}
	return nil
}

type RuleDeleteResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Messages      []string               `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleDeleteResponse) Reset() {
	*x = RuleDeleteResponse{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleDeleteResponse) ProtoMessage() {}

func (x *RuleDeleteResponse) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[8]
	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 RuleDeleteResponse.ProtoReflect.Descriptor instead.
func (*RuleDeleteResponse) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{8}
}

func (x *RuleDeleteResponse) GetMessages() []string {
	if x != nil {
		return x.Messages
	}
	return nil
}

type RuleAddRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Rule          *Rule                  `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleAddRequest) Reset() {
	*x = RuleAddRequest{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleAddRequest) ProtoMessage() {}

func (x *RuleAddRequest) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[9]
	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 RuleAddRequest.ProtoReflect.Descriptor instead.
func (*RuleAddRequest) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{9}
}

func (x *RuleAddRequest) GetRule() *Rule {
	if x != nil {
		return x.Rule
	}
	return nil
}

type RuleAddResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Messages      []string               `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	Id            string                 `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	Name          string                 `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	Rule          *Rule                  `protobuf:"bytes,4,opt,name=rule,proto3" json:"rule,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleAddResponse) Reset() {
	*x = RuleAddResponse{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleAddResponse) ProtoMessage() {}

func (x *RuleAddResponse) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[10]
	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 RuleAddResponse.ProtoReflect.Descriptor instead.
func (*RuleAddResponse) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{10}
}

func (x *RuleAddResponse) GetMessages() []string {
	if x != nil {
		return x.Messages
	}
	return nil
}

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

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

func (x *RuleAddResponse) GetRule() *Rule {
	if x != nil {
		return x.Rule
	}
	return nil
}

type RuleGetResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Messages      []string               `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	Rule          *Rule                  `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleGetResponse) Reset() {
	*x = RuleGetResponse{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleGetResponse) ProtoMessage() {}

func (x *RuleGetResponse) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[11]
	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 RuleGetResponse.ProtoReflect.Descriptor instead.
func (*RuleGetResponse) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{11}
}

func (x *RuleGetResponse) GetMessages() []string {
	if x != nil {
		return x.Messages
	}
	return nil
}

func (x *RuleGetResponse) GetRule() *Rule {
	if x != nil {
		return x.Rule
	}
	return nil
}

type RuleListResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Messages      []string               `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	Rules         []*Rule                `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuleListResponse) Reset() {
	*x = RuleListResponse{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RuleListResponse) ProtoMessage() {}

func (x *RuleListResponse) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[12]
	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 RuleListResponse.ProtoReflect.Descriptor instead.
func (*RuleListResponse) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{12}
}

func (x *RuleListResponse) GetMessages() []string {
	if x != nil {
		return x.Messages
	}
	return nil
}

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

type VersionRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VersionRequest) Reset() {
	*x = VersionRequest{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VersionRequest) ProtoMessage() {}

func (x *VersionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[13]
	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 VersionRequest.ProtoReflect.Descriptor instead.
func (*VersionRequest) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{13}
}

type VersionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Version       string                 `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *VersionResponse) Reset() {
	*x = VersionResponse{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*VersionResponse) ProtoMessage() {}

func (x *VersionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[14]
	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 VersionResponse.ProtoReflect.Descriptor instead.
func (*VersionResponse) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{14}
}

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

type UsernamePassword struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Username      string                 `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
	Password      string                 `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *UsernamePassword) Reset() {
	*x = UsernamePassword{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*UsernamePassword) ProtoMessage() {}

func (x *UsernamePassword) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[15]
	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 UsernamePassword.ProtoReflect.Descriptor instead.
func (*UsernamePassword) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{15}
}

func (x *UsernamePassword) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *UsernamePassword) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

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

func (x *SecretId) Reset() {
	*x = SecretId{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*SecretId) ProtoMessage() {}

func (x *SecretId) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[16]
	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 SecretId.ProtoReflect.Descriptor instead.
func (*SecretId) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{16}
}

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

type Empty struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Empty) Reset() {
	*x = Empty{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Empty) ProtoMessage() {}

func (x *Empty) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[17]
	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 Empty.ProtoReflect.Descriptor instead.
func (*Empty) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{17}
}

type URLValidationRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	Url   string                 `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Types that are valid to be assigned to Credentials:
	//
	//	*URLValidationRequest_UsernamePassword
	//	*URLValidationRequest_SecretId
	//	*URLValidationRequest_None
	Credentials   isURLValidationRequest_Credentials `protobuf_oneof:"credentials"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *URLValidationRequest) Reset() {
	*x = URLValidationRequest{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*URLValidationRequest) ProtoMessage() {}

func (x *URLValidationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[18]
	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 URLValidationRequest.ProtoReflect.Descriptor instead.
func (*URLValidationRequest) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{18}
}

func (x *URLValidationRequest) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *URLValidationRequest) GetCredentials() isURLValidationRequest_Credentials {
	if x != nil {
		return x.Credentials
	}
	return nil
}

func (x *URLValidationRequest) GetUsernamePassword() *UsernamePassword {
	if x != nil {
		if x, ok := x.Credentials.(*URLValidationRequest_UsernamePassword); ok {
			return x.UsernamePassword
		}
	}
	return nil
}

func (x *URLValidationRequest) GetSecretId() *SecretId {
	if x != nil {
		if x, ok := x.Credentials.(*URLValidationRequest_SecretId); ok {
			return x.SecretId
		}
	}
	return nil
}

func (x *URLValidationRequest) GetNone() *Empty {
	if x != nil {
		if x, ok := x.Credentials.(*URLValidationRequest_None); ok {
			return x.None
		}
	}
	return nil
}

type isURLValidationRequest_Credentials interface {
	isURLValidationRequest_Credentials()
}

type URLValidationRequest_UsernamePassword struct {
	UsernamePassword *UsernamePassword `protobuf:"bytes,2,opt,name=username_password,json=usernamePassword,proto3,oneof"`
}

type URLValidationRequest_SecretId struct {
	SecretId *SecretId `protobuf:"bytes,3,opt,name=secret_id,json=secretId,proto3,oneof"`
}

type URLValidationRequest_None struct {
	None *Empty `protobuf:"bytes,4,opt,name=none,proto3,oneof"`
}

func (*URLValidationRequest_UsernamePassword) isURLValidationRequest_Credentials() {}

func (*URLValidationRequest_SecretId) isURLValidationRequest_Credentials() {}

func (*URLValidationRequest_None) isURLValidationRequest_Credentials() {}

type URLValidationResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *URLValidationResponse) Reset() {
	*x = URLValidationResponse{}
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*URLValidationResponse) ProtoMessage() {}

func (x *URLValidationResponse) ProtoReflect() protoreflect.Message {
	mi := &file_automate_gateway_api_notifications_notifications_proto_msgTypes[19]
	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 URLValidationResponse.ProtoReflect.Descriptor instead.
func (*URLValidationResponse) Descriptor() ([]byte, []int) {
	return file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP(), []int{19}
}

var File_automate_gateway_api_notifications_notifications_proto protoreflect.FileDescriptor

const file_automate_gateway_api_notifications_notifications_proto_rawDesc = "" +
	"\n" +
	"6automate-gateway/api/notifications/notifications.proto\x12\x1fchef.automate.api.notifications\x1a\x1cgoogle/api/annotations.proto\x1a*external/annotations/iam/annotations.proto\"\x1e\n" +
	"\n" +
	"SlackAlert\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\" \n" +
	"\fWebhookAlert\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\"v\n" +
	"\x0fServiceNowAlert\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x1b\n" +
	"\tsecret_id\x18\x02 \x01(\tR\bsecretId\x124\n" +
	"\x16critical_controls_only\x18\x03 \x01(\bR\x14criticalControlsOnly\"\xd0\x03\n" +
	"\x04Rule\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x02 \x01(\tR\x04name\x12A\n" +
	"\x05event\x18\x03 \x01(\x0e2+.chef.automate.api.notifications.Rule.EventR\x05event\x12M\n" +
	"\n" +
	"SlackAlert\x18\x04 \x01(\v2+.chef.automate.api.notifications.SlackAlertH\x00R\n" +
	"SlackAlert\x12S\n" +
	"\fWebhookAlert\x18\x05 \x01(\v2-.chef.automate.api.notifications.WebhookAlertH\x00R\fWebhookAlert\x12\\\n" +
	"\x0fServiceNowAlert\x18\x06 \x01(\v20.chef.automate.api.notifications.ServiceNowAlertH\x00R\x0fServiceNowAlert\"U\n" +
	"\x05Event\x12\x0e\n" +
	"\n" +
	"CCRFailure\x10\x00\x12\x0e\n" +
	"\n" +
	"CCRSuccess\x10\x01\x12\x15\n" +
	"\x11ComplianceFailure\x10\x02\x12\x15\n" +
	"\x11ComplianceSuccess\x10\x03B\b\n" +
	"\x06action\" \n" +
	"\x0eRuleIdentifier\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"^\n" +
	"\x11RuleUpdateRequest\x129\n" +
	"\x04rule\x18\x02 \x01(\v2%.chef.automate.api.notifications.RuleR\x04rule\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\"\x11\n" +
	"\x0fRuleListRequest\"0\n" +
	"\x12RuleUpdateResponse\x12\x1a\n" +
	"\bmessages\x18\x01 \x03(\tR\bmessages\"0\n" +
	"\x12RuleDeleteResponse\x12\x1a\n" +
	"\bmessages\x18\x01 \x03(\tR\bmessages\"K\n" +
	"\x0eRuleAddRequest\x129\n" +
	"\x04rule\x18\x01 \x01(\v2%.chef.automate.api.notifications.RuleR\x04rule\"\x8c\x01\n" +
	"\x0fRuleAddResponse\x12\x1a\n" +
	"\bmessages\x18\x01 \x03(\tR\bmessages\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x129\n" +
	"\x04rule\x18\x04 \x01(\v2%.chef.automate.api.notifications.RuleR\x04rule\"h\n" +
	"\x0fRuleGetResponse\x12\x1a\n" +
	"\bmessages\x18\x01 \x03(\tR\bmessages\x129\n" +
	"\x04rule\x18\x02 \x01(\v2%.chef.automate.api.notifications.RuleR\x04rule\"k\n" +
	"\x10RuleListResponse\x12\x1a\n" +
	"\bmessages\x18\x01 \x03(\tR\bmessages\x12;\n" +
	"\x05rules\x18\x02 \x03(\v2%.chef.automate.api.notifications.RuleR\x05rules\"\x10\n" +
	"\x0eVersionRequest\"+\n" +
	"\x0fVersionResponse\x12\x18\n" +
	"\aversion\x18\x01 \x01(\tR\aversion\"J\n" +
	"\x10UsernamePassword\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\x02 \x01(\tR\bpassword\"\x1a\n" +
	"\bSecretId\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\"\a\n" +
	"\x05Empty\"\xa1\x02\n" +
	"\x14URLValidationRequest\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12`\n" +
	"\x11username_password\x18\x02 \x01(\v21.chef.automate.api.notifications.UsernamePasswordH\x00R\x10usernamePassword\x12H\n" +
	"\tsecret_id\x18\x03 \x01(\v2).chef.automate.api.notifications.SecretIdH\x00R\bsecretId\x12<\n" +
	"\x04none\x18\x04 \x01(\v2&.chef.automate.api.notifications.EmptyH\x00R\x04noneB\r\n" +
	"\vcredentials\"\x17\n" +
	"\x15URLValidationResponse2\x83\f\n" +
	"\rNotifications\x12\xcf\x01\n" +
	"\aAddRule\x12/.chef.automate.api.notifications.RuleAddRequest\x1a0.chef.automate.api.notifications.RuleAddResponse\"a\x8a\xb5\x187\n" +
	"\x13notifications:rules\x12 notifications:notifyRules:create\x82\xd3\xe4\x93\x02 :\x01*\"\x1b/api/v0/notifications/rules\x12\xdc\x01\n" +
	"\n" +
	"DeleteRule\x12/.chef.automate.api.notifications.RuleIdentifier\x1a3.chef.automate.api.notifications.RuleDeleteResponse\"h\x8a\xb5\x18<\n" +
	"\x18notifications:rules:{id}\x12 notifications:notifyRules:delete\x82\xd3\xe4\x93\x02\"* /api/v0/notifications/rules/{id}\x12\xe2\x01\n" +
	"\n" +
	"UpdateRule\x122.chef.automate.api.notifications.RuleUpdateRequest\x1a3.chef.automate.api.notifications.RuleUpdateResponse\"k\x8a\xb5\x18<\n" +
	"\x18notifications:rules:{id}\x12 notifications:notifyRules:update\x82\xd3\xe4\x93\x02%:\x01*\x1a /api/v0/notifications/rules/{id}\x12\xd3\x01\n" +
	"\aGetRule\x12/.chef.automate.api.notifications.RuleIdentifier\x1a0.chef.automate.api.notifications.RuleGetResponse\"e\x8a\xb5\x189\n" +
	"\x18notifications:rules:{id}\x12\x1dnotifications:notifyRules:get\x82\xd3\xe4\x93\x02\"\x12 /api/v0/notifications/rules/{id}\x12\xce\x01\n" +
	"\tListRules\x120.chef.automate.api.notifications.RuleListRequest\x1a1.chef.automate.api.notifications.RuleListResponse\"\\\x8a\xb5\x185\n" +
	"\x13notifications:rules\x12\x1enotifications:notifyRules:list\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v0/notifications/rules\x12\xe7\x01\n" +
	"\x0fValidateWebhook\x125.chef.automate.api.notifications.URLValidationRequest\x1a6.chef.automate.api.notifications.URLValidationResponse\"e\x8a\xb5\x189\n" +
	"\x13notifications:rules\x12\"notifications:notifyRules:validate\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/api/v0/notifications/webhook\x12\xca\x01\n" +
	"\aVersion\x12/.chef.automate.api.notifications.VersionRequest\x1a0.chef.automate.api.notifications.VersionResponse\"\\\x8a\xb5\x183\n" +
	"\x16system:service:version\x12\x19system:serviceVersion:get\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/v0/notifications/versionBHZFgithub.com/chef/automate/components/automate-gateway/api/notificationsb\x06proto3"

var (
	file_automate_gateway_api_notifications_notifications_proto_rawDescOnce sync.Once
	file_automate_gateway_api_notifications_notifications_proto_rawDescData []byte
)

func file_automate_gateway_api_notifications_notifications_proto_rawDescGZIP() []byte {
	file_automate_gateway_api_notifications_notifications_proto_rawDescOnce.Do(func() {
		file_automate_gateway_api_notifications_notifications_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_automate_gateway_api_notifications_notifications_proto_rawDesc), len(file_automate_gateway_api_notifications_notifications_proto_rawDesc)))
	})
	return file_automate_gateway_api_notifications_notifications_proto_rawDescData
}

var file_automate_gateway_api_notifications_notifications_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_automate_gateway_api_notifications_notifications_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_automate_gateway_api_notifications_notifications_proto_goTypes = []any{
	(Rule_Event)(0),               // 0: chef.automate.api.notifications.Rule.Event
	(*SlackAlert)(nil),            // 1: chef.automate.api.notifications.SlackAlert
	(*WebhookAlert)(nil),          // 2: chef.automate.api.notifications.WebhookAlert
	(*ServiceNowAlert)(nil),       // 3: chef.automate.api.notifications.ServiceNowAlert
	(*Rule)(nil),                  // 4: chef.automate.api.notifications.Rule
	(*RuleIdentifier)(nil),        // 5: chef.automate.api.notifications.RuleIdentifier
	(*RuleUpdateRequest)(nil),     // 6: chef.automate.api.notifications.RuleUpdateRequest
	(*RuleListRequest)(nil),       // 7: chef.automate.api.notifications.RuleListRequest
	(*RuleUpdateResponse)(nil),    // 8: chef.automate.api.notifications.RuleUpdateResponse
	(*RuleDeleteResponse)(nil),    // 9: chef.automate.api.notifications.RuleDeleteResponse
	(*RuleAddRequest)(nil),        // 10: chef.automate.api.notifications.RuleAddRequest
	(*RuleAddResponse)(nil),       // 11: chef.automate.api.notifications.RuleAddResponse
	(*RuleGetResponse)(nil),       // 12: chef.automate.api.notifications.RuleGetResponse
	(*RuleListResponse)(nil),      // 13: chef.automate.api.notifications.RuleListResponse
	(*VersionRequest)(nil),        // 14: chef.automate.api.notifications.VersionRequest
	(*VersionResponse)(nil),       // 15: chef.automate.api.notifications.VersionResponse
	(*UsernamePassword)(nil),      // 16: chef.automate.api.notifications.UsernamePassword
	(*SecretId)(nil),              // 17: chef.automate.api.notifications.SecretId
	(*Empty)(nil),                 // 18: chef.automate.api.notifications.Empty
	(*URLValidationRequest)(nil),  // 19: chef.automate.api.notifications.URLValidationRequest
	(*URLValidationResponse)(nil), // 20: chef.automate.api.notifications.URLValidationResponse
}
var file_automate_gateway_api_notifications_notifications_proto_depIdxs = []int32{
	0,  // 0: chef.automate.api.notifications.Rule.event:type_name -> chef.automate.api.notifications.Rule.Event
	1,  // 1: chef.automate.api.notifications.Rule.SlackAlert:type_name -> chef.automate.api.notifications.SlackAlert
	2,  // 2: chef.automate.api.notifications.Rule.WebhookAlert:type_name -> chef.automate.api.notifications.WebhookAlert
	3,  // 3: chef.automate.api.notifications.Rule.ServiceNowAlert:type_name -> chef.automate.api.notifications.ServiceNowAlert
	4,  // 4: chef.automate.api.notifications.RuleUpdateRequest.rule:type_name -> chef.automate.api.notifications.Rule
	4,  // 5: chef.automate.api.notifications.RuleAddRequest.rule:type_name -> chef.automate.api.notifications.Rule
	4,  // 6: chef.automate.api.notifications.RuleAddResponse.rule:type_name -> chef.automate.api.notifications.Rule
	4,  // 7: chef.automate.api.notifications.RuleGetResponse.rule:type_name -> chef.automate.api.notifications.Rule
	4,  // 8: chef.automate.api.notifications.RuleListResponse.rules:type_name -> chef.automate.api.notifications.Rule
	16, // 9: chef.automate.api.notifications.URLValidationRequest.username_password:type_name -> chef.automate.api.notifications.UsernamePassword
	17, // 10: chef.automate.api.notifications.URLValidationRequest.secret_id:type_name -> chef.automate.api.notifications.SecretId
	18, // 11: chef.automate.api.notifications.URLValidationRequest.none:type_name -> chef.automate.api.notifications.Empty
	10, // 12: chef.automate.api.notifications.Notifications.AddRule:input_type -> chef.automate.api.notifications.RuleAddRequest
	5,  // 13: chef.automate.api.notifications.Notifications.DeleteRule:input_type -> chef.automate.api.notifications.RuleIdentifier
	6,  // 14: chef.automate.api.notifications.Notifications.UpdateRule:input_type -> chef.automate.api.notifications.RuleUpdateRequest
	5,  // 15: chef.automate.api.notifications.Notifications.GetRule:input_type -> chef.automate.api.notifications.RuleIdentifier
	7,  // 16: chef.automate.api.notifications.Notifications.ListRules:input_type -> chef.automate.api.notifications.RuleListRequest
	19, // 17: chef.automate.api.notifications.Notifications.ValidateWebhook:input_type -> chef.automate.api.notifications.URLValidationRequest
	14, // 18: chef.automate.api.notifications.Notifications.Version:input_type -> chef.automate.api.notifications.VersionRequest
	11, // 19: chef.automate.api.notifications.Notifications.AddRule:output_type -> chef.automate.api.notifications.RuleAddResponse
	9,  // 20: chef.automate.api.notifications.Notifications.DeleteRule:output_type -> chef.automate.api.notifications.RuleDeleteResponse
	8,  // 21: chef.automate.api.notifications.Notifications.UpdateRule:output_type -> chef.automate.api.notifications.RuleUpdateResponse
	12, // 22: chef.automate.api.notifications.Notifications.GetRule:output_type -> chef.automate.api.notifications.RuleGetResponse
	13, // 23: chef.automate.api.notifications.Notifications.ListRules:output_type -> chef.automate.api.notifications.RuleListResponse
	20, // 24: chef.automate.api.notifications.Notifications.ValidateWebhook:output_type -> chef.automate.api.notifications.URLValidationResponse
	15, // 25: chef.automate.api.notifications.Notifications.Version:output_type -> chef.automate.api.notifications.VersionResponse
	19, // [19:26] is the sub-list for method output_type
	12, // [12:19] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_automate_gateway_api_notifications_notifications_proto_init() }
func file_automate_gateway_api_notifications_notifications_proto_init() {
	if File_automate_gateway_api_notifications_notifications_proto != nil {
		return
	}
	file_automate_gateway_api_notifications_notifications_proto_msgTypes[3].OneofWrappers = []any{
		(*Rule_SlackAlert)(nil),
		(*Rule_WebhookAlert)(nil),
		(*Rule_ServiceNowAlert)(nil),
	}
	file_automate_gateway_api_notifications_notifications_proto_msgTypes[18].OneofWrappers = []any{
		(*URLValidationRequest_UsernamePassword)(nil),
		(*URLValidationRequest_SecretId)(nil),
		(*URLValidationRequest_None)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_automate_gateway_api_notifications_notifications_proto_rawDesc), len(file_automate_gateway_api_notifications_notifications_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_automate_gateway_api_notifications_notifications_proto_goTypes,
		DependencyIndexes: file_automate_gateway_api_notifications_notifications_proto_depIdxs,
		EnumInfos:         file_automate_gateway_api_notifications_notifications_proto_enumTypes,
		MessageInfos:      file_automate_gateway_api_notifications_notifications_proto_msgTypes,
	}.Build()
	File_automate_gateway_api_notifications_notifications_proto = out.File
	file_automate_gateway_api_notifications_notifications_proto_goTypes = nil
	file_automate_gateway_api_notifications_notifications_proto_depIdxs = nil
}

// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConnInterface

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion6

// NotificationsClient is the client API for Notifications service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type NotificationsClient interface {
	AddRule(ctx context.Context, in *RuleAddRequest, opts ...grpc.CallOption) (*RuleAddResponse, error)
	DeleteRule(ctx context.Context, in *RuleIdentifier, opts ...grpc.CallOption) (*RuleDeleteResponse, error)
	UpdateRule(ctx context.Context, in *RuleUpdateRequest, opts ...grpc.CallOption) (*RuleUpdateResponse, error)
	GetRule(ctx context.Context, in *RuleIdentifier, opts ...grpc.CallOption) (*RuleGetResponse, error)
	ListRules(ctx context.Context, in *RuleListRequest, opts ...grpc.CallOption) (*RuleListResponse, error)
	ValidateWebhook(ctx context.Context, in *URLValidationRequest, opts ...grpc.CallOption) (*URLValidationResponse, error)
	Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error)
}

type notificationsClient struct {
	cc grpc.ClientConnInterface
}

func NewNotificationsClient(cc grpc.ClientConnInterface) NotificationsClient {
	return &notificationsClient{cc}
}

func (c *notificationsClient) AddRule(ctx context.Context, in *RuleAddRequest, opts ...grpc.CallOption) (*RuleAddResponse, error) {
	out := new(RuleAddResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.notifications.Notifications/AddRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *notificationsClient) DeleteRule(ctx context.Context, in *RuleIdentifier, opts ...grpc.CallOption) (*RuleDeleteResponse, error) {
	out := new(RuleDeleteResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.notifications.Notifications/DeleteRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *notificationsClient) UpdateRule(ctx context.Context, in *RuleUpdateRequest, opts ...grpc.CallOption) (*RuleUpdateResponse, error) {
	out := new(RuleUpdateResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.notifications.Notifications/UpdateRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *notificationsClient) GetRule(ctx context.Context, in *RuleIdentifier, opts ...grpc.CallOption) (*RuleGetResponse, error) {
	out := new(RuleGetResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.notifications.Notifications/GetRule", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *notificationsClient) ListRules(ctx context.Context, in *RuleListRequest, opts ...grpc.CallOption) (*RuleListResponse, error) {
	out := new(RuleListResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.notifications.Notifications/ListRules", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *notificationsClient) ValidateWebhook(ctx context.Context, in *URLValidationRequest, opts ...grpc.CallOption) (*URLValidationResponse, error) {
	out := new(URLValidationResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.notifications.Notifications/ValidateWebhook", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *notificationsClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) {
	out := new(VersionResponse)
	err := c.cc.Invoke(ctx, "/chef.automate.api.notifications.Notifications/Version", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// NotificationsServer is the server API for Notifications service.
type NotificationsServer interface {
	AddRule(context.Context, *RuleAddRequest) (*RuleAddResponse, error)
	DeleteRule(context.Context, *RuleIdentifier) (*RuleDeleteResponse, error)
	UpdateRule(context.Context, *RuleUpdateRequest) (*RuleUpdateResponse, error)
	GetRule(context.Context, *RuleIdentifier) (*RuleGetResponse, error)
	ListRules(context.Context, *RuleListRequest) (*RuleListResponse, error)
	ValidateWebhook(context.Context, *URLValidationRequest) (*URLValidationResponse, error)
	Version(context.Context, *VersionRequest) (*VersionResponse, error)
}

// UnimplementedNotificationsServer can be embedded to have forward compatible implementations.
type UnimplementedNotificationsServer struct {
}

func (*UnimplementedNotificationsServer) AddRule(context.Context, *RuleAddRequest) (*RuleAddResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AddRule not implemented")
}
func (*UnimplementedNotificationsServer) DeleteRule(context.Context, *RuleIdentifier) (*RuleDeleteResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteRule not implemented")
}
func (*UnimplementedNotificationsServer) UpdateRule(context.Context, *RuleUpdateRequest) (*RuleUpdateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateRule not implemented")
}
func (*UnimplementedNotificationsServer) GetRule(context.Context, *RuleIdentifier) (*RuleGetResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRule not implemented")
}
func (*UnimplementedNotificationsServer) ListRules(context.Context, *RuleListRequest) (*RuleListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListRules not implemented")
}
func (*UnimplementedNotificationsServer) ValidateWebhook(context.Context, *URLValidationRequest) (*URLValidationResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ValidateWebhook not implemented")
}
func (*UnimplementedNotificationsServer) Version(context.Context, *VersionRequest) (*VersionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Version not implemented")
}

func RegisterNotificationsServer(s *grpc.Server, srv NotificationsServer) {
	s.RegisterService(&_Notifications_serviceDesc, srv)
}

func _Notifications_AddRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RuleAddRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NotificationsServer).AddRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.notifications.Notifications/AddRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NotificationsServer).AddRule(ctx, req.(*RuleAddRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Notifications_DeleteRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RuleIdentifier)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NotificationsServer).DeleteRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.notifications.Notifications/DeleteRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NotificationsServer).DeleteRule(ctx, req.(*RuleIdentifier))
	}
	return interceptor(ctx, in, info, handler)
}

func _Notifications_UpdateRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RuleUpdateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NotificationsServer).UpdateRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.notifications.Notifications/UpdateRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NotificationsServer).UpdateRule(ctx, req.(*RuleUpdateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Notifications_GetRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RuleIdentifier)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NotificationsServer).GetRule(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.notifications.Notifications/GetRule",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NotificationsServer).GetRule(ctx, req.(*RuleIdentifier))
	}
	return interceptor(ctx, in, info, handler)
}

func _Notifications_ListRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RuleListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NotificationsServer).ListRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.notifications.Notifications/ListRules",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NotificationsServer).ListRules(ctx, req.(*RuleListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Notifications_ValidateWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(URLValidationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NotificationsServer).ValidateWebhook(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.notifications.Notifications/ValidateWebhook",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NotificationsServer).ValidateWebhook(ctx, req.(*URLValidationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Notifications_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(VersionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(NotificationsServer).Version(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/chef.automate.api.notifications.Notifications/Version",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(NotificationsServer).Version(ctx, req.(*VersionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var _Notifications_serviceDesc = grpc.ServiceDesc{
	ServiceName: "chef.automate.api.notifications.Notifications",
	HandlerType: (*NotificationsServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "AddRule",
			Handler:    _Notifications_AddRule_Handler,
		},
		{
			MethodName: "DeleteRule",
			Handler:    _Notifications_DeleteRule_Handler,
		},
		{
			MethodName: "UpdateRule",
			Handler:    _Notifications_UpdateRule_Handler,
		},
		{
			MethodName: "GetRule",
			Handler:    _Notifications_GetRule_Handler,
		},
		{
			MethodName: "ListRules",
			Handler:    _Notifications_ListRules_Handler,
		},
		{
			MethodName: "ValidateWebhook",
			Handler:    _Notifications_ValidateWebhook_Handler,
		},
		{
			MethodName: "Version",
			Handler:    _Notifications_Version_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "automate-gateway/api/notifications/notifications.proto",
}
