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

const (
	// Enum unspecified.
	FeedItemErrorEnum_UNSPECIFIED FeedItemErrorEnum_FeedItemError = 0
	// The received error code is not known in this version.
	FeedItemErrorEnum_UNKNOWN FeedItemErrorEnum_FeedItemError = 1
	// Cannot convert the feed attribute value from string to its real type.
	FeedItemErrorEnum_CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING FeedItemErrorEnum_FeedItemError = 2
	// Cannot operate on removed feed item.
	FeedItemErrorEnum_CANNOT_OPERATE_ON_REMOVED_FEED_ITEM FeedItemErrorEnum_FeedItemError = 3
	// Date time zone does not match the account's time zone.
	FeedItemErrorEnum_DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE FeedItemErrorEnum_FeedItemError = 4
	// Feed item with the key attributes could not be found.
	FeedItemErrorEnum_KEY_ATTRIBUTES_NOT_FOUND FeedItemErrorEnum_FeedItemError = 5
	// Url feed attribute value is not valid.
	FeedItemErrorEnum_INVALID_URL FeedItemErrorEnum_FeedItemError = 6
	// Some key attributes are missing.
	FeedItemErrorEnum_MISSING_KEY_ATTRIBUTES FeedItemErrorEnum_FeedItemError = 7
	// Feed item has same key attributes as another feed item.
	FeedItemErrorEnum_KEY_ATTRIBUTES_NOT_UNIQUE FeedItemErrorEnum_FeedItemError = 8
	// Cannot modify key attributes on an existing feed item.
	FeedItemErrorEnum_CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE FeedItemErrorEnum_FeedItemError = 9
	// The feed attribute value is too large.
	FeedItemErrorEnum_SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE FeedItemErrorEnum_FeedItemError = 10
)

var FeedItemErrorEnum_FeedItemError_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	2:  "CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING",
	3:  "CANNOT_OPERATE_ON_REMOVED_FEED_ITEM",
	4:  "DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE",
	5:  "KEY_ATTRIBUTES_NOT_FOUND",
	6:  "INVALID_URL",
	7:  "MISSING_KEY_ATTRIBUTES",
	8:  "KEY_ATTRIBUTES_NOT_UNIQUE",
	9:  "CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE",
	10: "SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE",
}

var FeedItemErrorEnum_FeedItemError_value = map[string]int32{
	"UNSPECIFIED": 0,
	"UNKNOWN":     1,
	"CANNOT_CONVERT_ATTRIBUTE_VALUE_FROM_STRING": 2,
	"CANNOT_OPERATE_ON_REMOVED_FEED_ITEM":        3,
	"DATE_TIME_MUST_BE_IN_ACCOUNT_TIME_ZONE":     4,
	"KEY_ATTRIBUTES_NOT_FOUND":                   5,
	"INVALID_URL":                                6,
	"MISSING_KEY_ATTRIBUTES":                     7,
	"KEY_ATTRIBUTES_NOT_UNIQUE":                  8,
	"CANNOT_MODIFY_KEY_ATTRIBUTE_VALUE":          9,
	"SIZE_TOO_LARGE_FOR_MULTI_VALUE_ATTRIBUTE":   10,
}

func (x FeedItemErrorEnum_FeedItemError) String() string {
	return proto.EnumName(FeedItemErrorEnum_FeedItemError_name, int32(x))
}

func (FeedItemErrorEnum_FeedItemError) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_ff8d93b72f70d82b, []int{0, 0}
}

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

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

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

var xxx_messageInfo_FeedItemErrorEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.errors.FeedItemErrorEnum_FeedItemError", FeedItemErrorEnum_FeedItemError_name, FeedItemErrorEnum_FeedItemError_value)
	proto.RegisterType((*FeedItemErrorEnum)(nil), "google.ads.googleads.v3.errors.FeedItemErrorEnum")
}

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

var fileDescriptor_ff8d93b72f70d82b = []byte{
	// 486 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x52, 0xdf, 0x8a, 0xd3, 0x4e,
	0x18, 0xfd, 0xb5, 0xfd, 0xb9, 0xab, 0xb3, 0x88, 0xe3, 0x5c, 0x88, 0x2e, 0xeb, 0x82, 0x15, 0xff,
	0xb0, 0x48, 0x72, 0x11, 0xaf, 0xe2, 0xd5, 0xb4, 0xf9, 0x52, 0x86, 0x6d, 0x66, 0x6a, 0x32, 0x13,
	0xd9, 0x52, 0xf8, 0xa8, 0x26, 0x86, 0xc2, 0x36, 0x29, 0x4d, 0xdc, 0x57, 0xf0, 0x3d, 0xbc, 0xf4,
	0x51, 0x7c, 0x14, 0xc1, 0x0b, 0xdf, 0x40, 0xd2, 0x69, 0x2b, 0x05, 0xf5, 0x2a, 0x87, 0x93, 0x73,
	0xce, 0x37, 0x33, 0xe7, 0x23, 0xaf, 0x8b, 0xaa, 0x2a, 0xae, 0x73, 0x77, 0x9e, 0xd5, 0xae, 0x85,
	0x2d, 0xba, 0xf1, 0xdc, 0x7c, 0xbd, 0xae, 0xd6, 0xb5, 0xfb, 0x31, 0xcf, 0x33, 0x5c, 0x34, 0xf9,
	0x12, 0x37, 0x84, 0xb3, 0x5a, 0x57, 0x4d, 0xc5, 0xce, 0xad, 0xd4, 0x99, 0x67, 0xb5, 0xb3, 0x77,
	0x39, 0x37, 0x9e, 0x63, 0x5d, 0xa7, 0x67, 0xbb, 0xd4, 0xd5, 0xc2, 0x9d, 0x97, 0x65, 0xd5, 0xcc,
	0x9b, 0x45, 0x55, 0xd6, 0xd6, 0xdd, 0xff, 0xdc, 0x23, 0xf7, 0xc3, 0x3c, 0xcf, 0x44, 0x93, 0x2f,
	0xa1, 0x35, 0x40, 0xf9, 0x69, 0xd9, 0xff, 0xd9, 0x25, 0x77, 0x0f, 0x58, 0x76, 0x8f, 0x9c, 0x18,
	0x99, 0x4c, 0x60, 0x28, 0x42, 0x01, 0x01, 0xfd, 0x8f, 0x9d, 0x90, 0x63, 0x23, 0x2f, 0xa5, 0x7a,
	0x27, 0x69, 0x87, 0x39, 0xe4, 0x62, 0xc8, 0xa5, 0x54, 0x1a, 0x87, 0x4a, 0xa6, 0x10, 0x6b, 0xe4,
	0x5a, 0xc7, 0x62, 0x60, 0x34, 0x60, 0xca, 0xc7, 0x06, 0x30, 0x8c, 0x55, 0x84, 0x89, 0x8e, 0x85,
	0x1c, 0xd1, 0x2e, 0x7b, 0x41, 0x9e, 0x6e, 0xf5, 0x6a, 0x02, 0x31, 0xd7, 0x80, 0x4a, 0x62, 0x0c,
	0x91, 0x4a, 0x21, 0xc0, 0x10, 0x20, 0x40, 0xa1, 0x21, 0xa2, 0x3d, 0x76, 0x41, 0x9e, 0x07, 0xed,
	0x6f, 0x2d, 0x22, 0xc0, 0xc8, 0x24, 0x1a, 0x07, 0x80, 0x42, 0x22, 0x1f, 0x0e, 0x95, 0x91, 0xda,
	0xf2, 0x53, 0x25, 0x81, 0xfe, 0xcf, 0xce, 0xc8, 0xc3, 0x4b, 0xb8, 0xfa, 0x3d, 0x39, 0xc1, 0x76,
	0x40, 0xa8, 0x8c, 0x0c, 0xe8, 0xad, 0xf6, 0x02, 0x42, 0xa6, 0x7c, 0x2c, 0x02, 0x34, 0xf1, 0x98,
	0x1e, 0xb1, 0x53, 0xf2, 0x20, 0x12, 0x49, 0x22, 0xe4, 0x08, 0x0f, 0x6d, 0xf4, 0x98, 0x3d, 0x26,
	0x8f, 0xfe, 0x10, 0x65, 0xa4, 0x78, 0x6b, 0x80, 0xde, 0x66, 0xcf, 0xc8, 0x93, 0xed, 0xf1, 0x23,
	0x15, 0x88, 0xf0, 0xea, 0x30, 0xc0, 0xde, 0x98, 0xde, 0x61, 0xaf, 0xc8, 0xcb, 0x44, 0x4c, 0x01,
	0xb5, 0x52, 0x38, 0xe6, 0xf1, 0x08, 0x30, 0x54, 0x31, 0x46, 0x66, 0xac, 0xc5, 0xf6, 0x55, 0xf6,
	0x1e, 0x4a, 0x06, 0x3f, 0x3a, 0xa4, 0xff, 0xa1, 0x5a, 0x3a, 0xff, 0xae, 0x73, 0xc0, 0x0e, 0x7a,
	0x99, 0xb4, 0x25, 0x4e, 0x3a, 0xd3, 0x60, 0xeb, 0x2a, 0xaa, 0xeb, 0x79, 0x59, 0x38, 0xd5, 0xba,
	0x70, 0x8b, 0xbc, 0xdc, 0x54, 0xbc, 0x5b, 0xa5, 0xd5, 0xa2, 0xfe, 0xdb, 0x66, 0xbd, 0xb1, 0x9f,
	0x2f, 0xdd, 0xde, 0x88, 0xf3, 0xaf, 0xdd, 0xf3, 0x91, 0x0d, 0xe3, 0x59, 0xed, 0x58, 0xd8, 0xa2,
	0xd4, 0x73, 0x36, 0x23, 0xeb, 0x6f, 0x3b, 0xc1, 0x8c, 0x67, 0xf5, 0x6c, 0x2f, 0x98, 0xa5, 0xde,
	0xcc, 0x0a, 0xbe, 0x77, 0xfb, 0x96, 0xf5, 0x7d, 0x9e, 0xd5, 0xbe, 0xbf, 0x97, 0xf8, 0x7e, 0xea,
	0xf9, 0xbe, 0x15, 0xbd, 0x3f, 0xda, 0x9c, 0xce, 0xfb, 0x15, 0x00, 0x00, 0xff, 0xff, 0xf5, 0x5a,
	0xb4, 0xe8, 0xf6, 0x02, 0x00, 0x00,
}
