// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v3/errors/custom_interest_error.proto

package errors

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	_ "google.golang.org/genproto/googleapis/api/annotations"
)

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package

// Enum describing possible custom interest errors.
type CustomInterestErrorEnum_CustomInterestError int32

const (
	// Enum unspecified.
	CustomInterestErrorEnum_UNSPECIFIED CustomInterestErrorEnum_CustomInterestError = 0
	// The received error code is not known in this version.
	CustomInterestErrorEnum_UNKNOWN CustomInterestErrorEnum_CustomInterestError = 1
	// Duplicate custom interest name ignoring case.
	CustomInterestErrorEnum_NAME_ALREADY_USED CustomInterestErrorEnum_CustomInterestError = 2
	// In the remove custom interest member operation, both member ID and
	// pair [type, parameter] are not present.
	CustomInterestErrorEnum_CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE CustomInterestErrorEnum_CustomInterestError = 3
	// The pair of [type, parameter] does not exist.
	CustomInterestErrorEnum_TYPE_AND_PARAMETER_NOT_FOUND CustomInterestErrorEnum_CustomInterestError = 4
	// The pair of [type, parameter] already exists.
	CustomInterestErrorEnum_TYPE_AND_PARAMETER_ALREADY_EXISTED CustomInterestErrorEnum_CustomInterestError = 5
	// Unsupported custom interest member type.
	CustomInterestErrorEnum_INVALID_CUSTOM_INTEREST_MEMBER_TYPE CustomInterestErrorEnum_CustomInterestError = 6
	// Cannot remove a custom interest while it's still being targeted.
	CustomInterestErrorEnum_CANNOT_REMOVE_WHILE_IN_USE CustomInterestErrorEnum_CustomInterestError = 7
	// Cannot mutate custom interest type.
	CustomInterestErrorEnum_CANNOT_CHANGE_TYPE CustomInterestErrorEnum_CustomInterestError = 8
)

var CustomInterestErrorEnum_CustomInterestError_name = map[int32]string{
	0: "UNSPECIFIED",
	1: "UNKNOWN",
	2: "NAME_ALREADY_USED",
	3: "CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE",
	4: "TYPE_AND_PARAMETER_NOT_FOUND",
	5: "TYPE_AND_PARAMETER_ALREADY_EXISTED",
	6: "INVALID_CUSTOM_INTEREST_MEMBER_TYPE",
	7: "CANNOT_REMOVE_WHILE_IN_USE",
	8: "CANNOT_CHANGE_TYPE",
}

var CustomInterestErrorEnum_CustomInterestError_value = map[string]int32{
	"UNSPECIFIED":       0,
	"UNKNOWN":           1,
	"NAME_ALREADY_USED": 2,
	"CUSTOM_INTEREST_MEMBER_ID_AND_TYPE_PARAMETER_NOT_PRESENT_IN_REMOVE": 3,
	"TYPE_AND_PARAMETER_NOT_FOUND":                                       4,
	"TYPE_AND_PARAMETER_ALREADY_EXISTED":                                 5,
	"INVALID_CUSTOM_INTEREST_MEMBER_TYPE":                                6,
	"CANNOT_REMOVE_WHILE_IN_USE":                                         7,
	"CANNOT_CHANGE_TYPE":                                                 8,
}

func (x CustomInterestErrorEnum_CustomInterestError) String() string {
	return proto.EnumName(CustomInterestErrorEnum_CustomInterestError_name, int32(x))
}

func (CustomInterestErrorEnum_CustomInterestError) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_a0cf933f9a939ad1, []int{0, 0}
}

// Container for enum describing possible custom interest errors.
type CustomInterestErrorEnum struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (m *CustomInterestErrorEnum) Reset()         { *m = CustomInterestErrorEnum{} }
func (m *CustomInterestErrorEnum) String() string { return proto.CompactTextString(m) }
func (*CustomInterestErrorEnum) ProtoMessage()    {}
func (*CustomInterestErrorEnum) Descriptor() ([]byte, []int) {
	return fileDescriptor_a0cf933f9a939ad1, []int{0}
}

func (m *CustomInterestErrorEnum) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_CustomInterestErrorEnum.Unmarshal(m, b)
}
func (m *CustomInterestErrorEnum) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_CustomInterestErrorEnum.Marshal(b, m, deterministic)
}
func (m *CustomInterestErrorEnum) XXX_Merge(src proto.Message) {
	xxx_messageInfo_CustomInterestErrorEnum.Merge(m, src)
}
func (m *CustomInterestErrorEnum) XXX_Size() int {
	return xxx_messageInfo_CustomInterestErrorEnum.Size(m)
}
func (m *CustomInterestErrorEnum) XXX_DiscardUnknown() {
	xxx_messageInfo_CustomInterestErrorEnum.DiscardUnknown(m)
}

var xxx_messageInfo_CustomInterestErrorEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.errors.CustomInterestErrorEnum_CustomInterestError", CustomInterestErrorEnum_CustomInterestError_name, CustomInterestErrorEnum_CustomInterestError_value)
	proto.RegisterType((*CustomInterestErrorEnum)(nil), "google.ads.googleads.v3.errors.CustomInterestErrorEnum")
}

func init() {
	proto.RegisterFile("google/ads/googleads/v3/errors/custom_interest_error.proto", fileDescriptor_a0cf933f9a939ad1)
}

var fileDescriptor_a0cf933f9a939ad1 = []byte{
	// 447 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x4f, 0x6e, 0xd4, 0x30,
	0x18, 0xc5, 0x69, 0x0a, 0x2d, 0x72, 0x17, 0x04, 0x23, 0xfe, 0xa8, 0xaa, 0x46, 0x28, 0x48, 0xb0,
	0x4b, 0x16, 0xd9, 0x99, 0x95, 0x27, 0xfe, 0x66, 0x6a, 0x31, 0x71, 0xa2, 0xfc, 0x2b, 0x45, 0x23,
	0x59, 0xa1, 0x89, 0xa2, 0x91, 0x3a, 0xf1, 0x28, 0x4e, 0x7b, 0x20, 0x96, 0xdc, 0x81, 0x0b, 0x70,
	0x03, 0xae, 0xc0, 0x96, 0x0b, 0xa0, 0xc4, 0x33, 0x23, 0x21, 0x4d, 0x59, 0xe5, 0xc9, 0x7e, 0xbf,
	0xe7, 0xa7, 0x7c, 0x1f, 0x22, 0x8d, 0x52, 0xcd, 0x6d, 0xed, 0x95, 0x95, 0xf6, 0x8c, 0x1c, 0xd4,
	0xbd, 0xef, 0xd5, 0x5d, 0xa7, 0x3a, 0xed, 0xdd, 0xdc, 0xe9, 0x5e, 0xad, 0xe5, 0xaa, 0xed, 0xeb,
	0xae, 0xd6, 0xbd, 0x1c, 0x8f, 0xdd, 0x4d, 0xa7, 0x7a, 0x85, 0x27, 0x06, 0x70, 0xcb, 0x4a, 0xbb,
	0x7b, 0xd6, 0xbd, 0xf7, 0x5d, 0xc3, 0x9e, 0x5f, 0xec, 0xb2, 0x37, 0x2b, 0xaf, 0x6c, 0x5b, 0xd5,
	0x97, 0xfd, 0x4a, 0xb5, 0xda, 0xd0, 0xce, 0x2f, 0x0b, 0xbd, 0x0e, 0xc6, 0x74, 0xbe, 0x0d, 0x87,
	0x01, 0x83, 0xf6, 0x6e, 0xed, 0xfc, 0xb0, 0xd0, 0x8b, 0x03, 0x77, 0xf8, 0x19, 0x3a, 0xcb, 0x45,
	0x1a, 0x43, 0xc0, 0x67, 0x1c, 0x98, 0xfd, 0x08, 0x9f, 0xa1, 0xd3, 0x5c, 0x7c, 0x12, 0xd1, 0x95,
	0xb0, 0x8f, 0xf0, 0x4b, 0xf4, 0x5c, 0xd0, 0x10, 0x24, 0x5d, 0x24, 0x40, 0xd9, 0xb5, 0xcc, 0x53,
	0x60, 0xb6, 0x85, 0x67, 0x68, 0x1a, 0xe4, 0x69, 0x16, 0x85, 0x92, 0x8b, 0x0c, 0x12, 0x48, 0x33,
	0x19, 0x42, 0x38, 0x85, 0x44, 0x72, 0x26, 0xa9, 0x60, 0x32, 0xbb, 0x8e, 0x41, 0xc6, 0x34, 0xa1,
	0x21, 0x64, 0x90, 0x48, 0x11, 0x65, 0x32, 0x4e, 0x20, 0x05, 0x91, 0x49, 0x2e, 0x64, 0x02, 0x61,
	0x54, 0x80, 0x7d, 0x8c, 0xdf, 0xa2, 0x8b, 0xd1, 0x39, 0x20, 0xff, 0xba, 0x67, 0x51, 0x2e, 0x98,
	0xfd, 0x18, 0xbf, 0x47, 0xce, 0x01, 0xc7, 0xae, 0x0e, 0x7c, 0xe6, 0x69, 0x06, 0xcc, 0x7e, 0x82,
	0x3f, 0xa0, 0x77, 0x5c, 0x14, 0x74, 0xc1, 0x99, 0x7c, 0xa0, 0xd9, 0x10, 0x63, 0x9f, 0xe0, 0x09,
	0x3a, 0x0f, 0xa8, 0x18, 0x9e, 0x30, 0x2d, 0xe4, 0xd5, 0x25, 0x5f, 0xc0, 0xd0, 0x2a, 0x4f, 0xc1,
	0x3e, 0xc5, 0xaf, 0x10, 0xde, 0xde, 0x07, 0x97, 0x54, 0xcc, 0xc1, 0x70, 0x4f, 0xa7, 0x7f, 0x8e,
	0x90, 0x73, 0xa3, 0xd6, 0xee, 0xff, 0x07, 0x34, 0x7d, 0x73, 0xe0, 0x1f, 0xc7, 0xc3, 0x70, 0xe2,
	0xa3, 0x2f, 0x6c, 0xcb, 0x36, 0xea, 0xb6, 0x6c, 0x1b, 0x57, 0x75, 0x8d, 0xd7, 0xd4, 0xed, 0x38,
	0xba, 0xdd, 0xa2, 0x6c, 0x56, 0xfa, 0xa1, 0xbd, 0xf9, 0x68, 0x3e, 0xdf, 0xac, 0xe3, 0x39, 0xa5,
	0xdf, 0xad, 0xc9, 0xdc, 0x84, 0xd1, 0x4a, 0xbb, 0x46, 0x0e, 0xaa, 0xf0, 0xdd, 0xf1, 0x49, 0xfd,
	0x73, 0x67, 0x58, 0xd2, 0x4a, 0x2f, 0xf7, 0x86, 0x65, 0xe1, 0x2f, 0x8d, 0xe1, 0xb7, 0xe5, 0x98,
	0x53, 0x42, 0x68, 0xa5, 0x09, 0xd9, 0x5b, 0x08, 0x29, 0x7c, 0x42, 0x8c, 0xe9, 0xeb, 0xc9, 0xd8,
	0xce, 0xff, 0x1b, 0x00, 0x00, 0xff, 0xff, 0x53, 0x0c, 0x86, 0xf2, 0xd4, 0x02, 0x00, 0x00,
}
