// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v3/errors/multiplier_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 multiplier errors.
type MultiplierErrorEnum_MultiplierError int32

const (
	// Enum unspecified.
	MultiplierErrorEnum_UNSPECIFIED MultiplierErrorEnum_MultiplierError = 0
	// The received error code is not known in this version.
	MultiplierErrorEnum_UNKNOWN MultiplierErrorEnum_MultiplierError = 1
	// Multiplier value is too high
	MultiplierErrorEnum_MULTIPLIER_TOO_HIGH MultiplierErrorEnum_MultiplierError = 2
	// Multiplier value is too low
	MultiplierErrorEnum_MULTIPLIER_TOO_LOW MultiplierErrorEnum_MultiplierError = 3
	// Too many fractional digits
	MultiplierErrorEnum_TOO_MANY_FRACTIONAL_DIGITS MultiplierErrorEnum_MultiplierError = 4
	// A multiplier cannot be set for this bidding strategy
	MultiplierErrorEnum_MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY MultiplierErrorEnum_MultiplierError = 5
	// A multiplier cannot be set when there is no base bid (e.g., content max
	// cpc)
	MultiplierErrorEnum_MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING MultiplierErrorEnum_MultiplierError = 6
	// A bid multiplier must be specified
	MultiplierErrorEnum_NO_MULTIPLIER_SPECIFIED MultiplierErrorEnum_MultiplierError = 7
	// Multiplier causes bid to exceed daily budget
	MultiplierErrorEnum_MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET MultiplierErrorEnum_MultiplierError = 8
	// Multiplier causes bid to exceed monthly budget
	MultiplierErrorEnum_MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET MultiplierErrorEnum_MultiplierError = 9
	// Multiplier causes bid to exceed custom budget
	MultiplierErrorEnum_MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET MultiplierErrorEnum_MultiplierError = 10
	// Multiplier causes bid to exceed maximum allowed bid
	MultiplierErrorEnum_MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID MultiplierErrorEnum_MultiplierError = 11
	// Multiplier causes bid to become less than the minimum bid allowed
	MultiplierErrorEnum_BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER MultiplierErrorEnum_MultiplierError = 12
	// Multiplier type (cpc vs. cpm) needs to match campaign's bidding strategy
	MultiplierErrorEnum_MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH MultiplierErrorEnum_MultiplierError = 13
)

var MultiplierErrorEnum_MultiplierError_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	2:  "MULTIPLIER_TOO_HIGH",
	3:  "MULTIPLIER_TOO_LOW",
	4:  "TOO_MANY_FRACTIONAL_DIGITS",
	5:  "MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY",
	6:  "MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING",
	7:  "NO_MULTIPLIER_SPECIFIED",
	8:  "MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET",
	9:  "MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET",
	10: "MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET",
	11: "MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID",
	12: "BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER",
	13: "MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH",
}

var MultiplierErrorEnum_MultiplierError_value = map[string]int32{
	"UNSPECIFIED":                0,
	"UNKNOWN":                    1,
	"MULTIPLIER_TOO_HIGH":        2,
	"MULTIPLIER_TOO_LOW":         3,
	"TOO_MANY_FRACTIONAL_DIGITS": 4,
	"MULTIPLIER_NOT_ALLOWED_FOR_BIDDING_STRATEGY":     5,
	"MULTIPLIER_NOT_ALLOWED_WHEN_BASE_BID_IS_MISSING": 6,
	"NO_MULTIPLIER_SPECIFIED":                         7,
	"MULTIPLIER_CAUSES_BID_TO_EXCEED_DAILY_BUDGET":    8,
	"MULTIPLIER_CAUSES_BID_TO_EXCEED_MONTHLY_BUDGET":  9,
	"MULTIPLIER_CAUSES_BID_TO_EXCEED_CUSTOM_BUDGET":   10,
	"MULTIPLIER_CAUSES_BID_TO_EXCEED_MAX_ALLOWED_BID": 11,
	"BID_LESS_THAN_MIN_ALLOWED_BID_WITH_MULTIPLIER":   12,
	"MULTIPLIER_AND_BIDDING_STRATEGY_TYPE_MISMATCH":   13,
}

func (x MultiplierErrorEnum_MultiplierError) String() string {
	return proto.EnumName(MultiplierErrorEnum_MultiplierError_name, int32(x))
}

func (MultiplierErrorEnum_MultiplierError) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_6fca1f045fa667f7, []int{0, 0}
}

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

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

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

var xxx_messageInfo_MultiplierErrorEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.errors.MultiplierErrorEnum_MultiplierError", MultiplierErrorEnum_MultiplierError_name, MultiplierErrorEnum_MultiplierError_value)
	proto.RegisterType((*MultiplierErrorEnum)(nil), "google.ads.googleads.v3.errors.MultiplierErrorEnum")
}

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

var fileDescriptor_6fca1f045fa667f7 = []byte{
	// 521 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x93, 0xc1, 0x8e, 0xd3, 0x30,
	0x10, 0x86, 0x69, 0xb7, 0xec, 0x82, 0x0b, 0x5a, 0xcb, 0x8b, 0x58, 0x69, 0x41, 0x3d, 0xf4, 0x0a,
	0x24, 0x40, 0xc4, 0x25, 0x9c, 0x9c, 0xd8, 0x4d, 0x2c, 0x12, 0xbb, 0xaa, 0x9d, 0x76, 0x8b, 0x2a,
	0x59, 0x85, 0x56, 0x51, 0xa5, 0x36, 0xa9, 0x92, 0xee, 0x3e, 0x10, 0x47, 0x5e, 0x80, 0x77, 0xe0,
	0xc2, 0x7b, 0x70, 0xe1, 0x15, 0x50, 0x6a, 0xda, 0xad, 0x02, 0xcb, 0x9e, 0x32, 0x19, 0xff, 0xdf,
	0x8c, 0x67, 0xf4, 0x1b, 0xbc, 0x4b, 0xf3, 0x3c, 0x5d, 0xce, 0xed, 0xe9, 0xac, 0xb4, 0x4d, 0x58,
	0x45, 0xd7, 0x8e, 0x3d, 0x2f, 0x8a, 0xbc, 0x28, 0xed, 0xd5, 0xd5, 0x72, 0xb3, 0x58, 0x2f, 0x17,
	0xf3, 0x42, 0x6f, 0x33, 0xd6, 0xba, 0xc8, 0x37, 0x39, 0xea, 0x18, 0xad, 0x35, 0x9d, 0x95, 0xd6,
	0x1e, 0xb3, 0xae, 0x1d, 0xcb, 0x60, 0x17, 0xcf, 0x77, 0x65, 0xd7, 0x0b, 0x7b, 0x9a, 0x65, 0xf9,
	0x66, 0xba, 0x59, 0xe4, 0x59, 0x69, 0xe8, 0xee, 0x8f, 0x16, 0x38, 0x8b, 0xf7, 0x85, 0x69, 0x85,
	0xd0, 0xec, 0x6a, 0xd5, 0xfd, 0xd6, 0x02, 0xa7, 0xb5, 0x3c, 0x3a, 0x05, 0xed, 0x84, 0xcb, 0x3e,
	0xf5, 0x59, 0x8f, 0x51, 0x02, 0xef, 0xa1, 0x36, 0x38, 0x49, 0xf8, 0x07, 0x2e, 0x46, 0x1c, 0x36,
	0xd0, 0x39, 0x38, 0x8b, 0x93, 0x48, 0xb1, 0x7e, 0xc4, 0xe8, 0x40, 0x2b, 0x21, 0x74, 0xc8, 0x82,
	0x10, 0x36, 0xd1, 0x53, 0x80, 0x6a, 0x07, 0x91, 0x18, 0xc1, 0x23, 0xd4, 0x01, 0x17, 0xd5, 0x4f,
	0x8c, 0xf9, 0x58, 0xf7, 0x06, 0xd8, 0x57, 0x4c, 0x70, 0x1c, 0x69, 0xc2, 0x02, 0xa6, 0x24, 0x6c,
	0x21, 0x1b, 0xbc, 0x38, 0xe0, 0xb8, 0x50, 0x1a, 0x47, 0x91, 0x18, 0x51, 0xa2, 0x7b, 0x62, 0xa0,
	0x3d, 0x46, 0x08, 0xe3, 0x81, 0x96, 0x6a, 0x80, 0x15, 0x0d, 0xc6, 0xf0, 0x3e, 0x72, 0x80, 0x7d,
	0x0b, 0x30, 0x0a, 0x29, 0xd7, 0x1e, 0x96, 0xb4, 0xc2, 0x34, 0x93, 0x3a, 0x66, 0x52, 0x32, 0x1e,
	0xc0, 0x63, 0xf4, 0x0c, 0x9c, 0x73, 0xa1, 0x0f, 0xb8, 0x9b, 0x01, 0x4f, 0xd0, 0x6b, 0xf0, 0xf2,
	0xe0, 0xc4, 0xc7, 0x89, 0xa4, 0x72, 0x5b, 0x42, 0x09, 0x4d, 0x2f, 0x7d, 0x4a, 0x89, 0x26, 0x98,
	0x45, 0x63, 0xed, 0x25, 0x24, 0xa0, 0x0a, 0x3e, 0x40, 0x6f, 0x81, 0x75, 0x17, 0x11, 0x0b, 0xae,
	0xc2, 0x1b, 0xe6, 0x21, 0x7a, 0x03, 0x5e, 0xdd, 0xc5, 0xf8, 0x89, 0x54, 0x22, 0xde, 0x21, 0xa0,
	0x36, 0xea, 0xbf, 0xdb, 0xe0, 0xcb, 0xfd, 0xfc, 0x1e, 0x23, 0xb0, 0x5d, 0xf5, 0xa9, 0x24, 0x11,
	0x95, 0x52, 0xab, 0x10, 0x73, 0x1d, 0x33, 0x7e, 0x28, 0xd1, 0x23, 0xa6, 0xc2, 0x83, 0x55, 0xc0,
	0x47, 0xb5, 0xab, 0x61, 0x4e, 0xfe, 0xda, 0xbb, 0x56, 0xe3, 0x3e, 0xad, 0xf6, 0x19, 0x63, 0xe5,
	0x87, 0xf0, 0xb1, 0xf7, 0xab, 0x01, 0xba, 0x9f, 0xf3, 0x95, 0xf5, 0x7f, 0x5b, 0x7a, 0x4f, 0x6a,
	0xee, 0xea, 0x57, 0x76, 0xec, 0x37, 0x3e, 0x92, 0x3f, 0x5c, 0x9a, 0x2f, 0xa7, 0x59, 0x6a, 0xe5,
	0x45, 0x6a, 0xa7, 0xf3, 0x6c, 0x6b, 0xd6, 0xdd, 0xab, 0x58, 0x2f, 0xca, 0xdb, 0x1e, 0xc9, 0x7b,
	0xf3, 0xf9, 0xd2, 0x3c, 0x0a, 0x30, 0xfe, 0xda, 0xec, 0x04, 0xa6, 0x18, 0x9e, 0x95, 0x96, 0x09,
	0xab, 0x68, 0xe8, 0x58, 0xdb, 0x96, 0xe5, 0xf7, 0x9d, 0x60, 0x82, 0x67, 0xe5, 0x64, 0x2f, 0x98,
	0x0c, 0x9d, 0x89, 0x11, 0xfc, 0x6c, 0x76, 0x4d, 0xd6, 0x75, 0xf1, 0xac, 0x74, 0xdd, 0xbd, 0xc4,
	0x75, 0x87, 0x8e, 0xeb, 0x1a, 0xd1, 0xa7, 0xe3, 0xed, 0xed, 0x9c, 0xdf, 0x01, 0x00, 0x00, 0xff,
	0xff, 0x59, 0x40, 0x32, 0xd8, 0xc1, 0x03, 0x00, 0x00,
}
