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

const (
	// Enum unspecified.
	SettingErrorEnum_UNSPECIFIED SettingErrorEnum_SettingError = 0
	// The received error code is not known in this version.
	SettingErrorEnum_UNKNOWN SettingErrorEnum_SettingError = 1
	// The campaign setting is not available for this Google Ads account.
	SettingErrorEnum_SETTING_TYPE_IS_NOT_AVAILABLE SettingErrorEnum_SettingError = 3
	// The setting is not compatible with the campaign.
	SettingErrorEnum_SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN SettingErrorEnum_SettingError = 4
	// The supplied TargetingSetting contains an invalid CriterionTypeGroup. See
	// CriterionTypeGroup documentation for CriterionTypeGroups allowed
	// in Campaign or AdGroup TargetingSettings.
	SettingErrorEnum_TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP SettingErrorEnum_SettingError = 5
	// TargetingSetting must not explicitly
	// set any of the Demographic CriterionTypeGroups (AGE_RANGE, GENDER,
	// PARENT, INCOME_RANGE) to false (it's okay to not set them at all, in
	// which case the system will set them to true automatically).
	SettingErrorEnum_TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL SettingErrorEnum_SettingError = 6
	// TargetingSetting cannot change any of
	// the Demographic CriterionTypeGroups (AGE_RANGE, GENDER, PARENT,
	// INCOME_RANGE) from true to false.
	SettingErrorEnum_TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP SettingErrorEnum_SettingError = 7
	// At least one feed id should be present.
	SettingErrorEnum_DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT SettingErrorEnum_SettingError = 8
	// The supplied DynamicSearchAdsSetting contains an invalid domain name.
	SettingErrorEnum_DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME SettingErrorEnum_SettingError = 9
	// The supplied DynamicSearchAdsSetting contains a subdomain name.
	SettingErrorEnum_DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME SettingErrorEnum_SettingError = 10
	// The supplied DynamicSearchAdsSetting contains an invalid language code.
	SettingErrorEnum_DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE SettingErrorEnum_SettingError = 11
	// TargetingSettings in search campaigns should not have
	// CriterionTypeGroup.PLACEMENT set to targetAll.
	SettingErrorEnum_TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN SettingErrorEnum_SettingError = 12
)

var SettingErrorEnum_SettingError_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	3:  "SETTING_TYPE_IS_NOT_AVAILABLE",
	4:  "SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN",
	5:  "TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP",
	6:  "TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL",
	7:  "TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP",
	8:  "DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT",
	9:  "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME",
	10: "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME",
	11: "DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE",
	12: "TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN",
}

var SettingErrorEnum_SettingError_value = map[string]int32{
	"UNSPECIFIED":                   0,
	"UNKNOWN":                       1,
	"SETTING_TYPE_IS_NOT_AVAILABLE": 3,
	"SETTING_TYPE_IS_NOT_COMPATIBLE_WITH_CAMPAIGN":                                             4,
	"TARGETING_SETTING_CONTAINS_INVALID_CRITERION_TYPE_GROUP":                                  5,
	"TARGETING_SETTING_DEMOGRAPHIC_CRITERION_TYPE_GROUPS_MUST_BE_SET_TO_TARGET_ALL":            6,
	"TARGETING_SETTING_CANNOT_CHANGE_TARGET_ALL_TO_FALSE_FOR_DEMOGRAPHIC_CRITERION_TYPE_GROUP": 7,
	"DYNAMIC_SEARCH_ADS_SETTING_AT_LEAST_ONE_FEED_ID_MUST_BE_PRESENT":                          8,
	"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_DOMAIN_NAME":                                  9,
	"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_SUBDOMAIN_NAME":                                       10,
	"DYNAMIC_SEARCH_ADS_SETTING_CONTAINS_INVALID_LANGUAGE_CODE":                                11,
	"TARGET_ALL_IS_NOT_ALLOWED_FOR_PLACEMENT_IN_SEARCH_CAMPAIGN":                               12,
}

func (x SettingErrorEnum_SettingError) String() string {
	return proto.EnumName(SettingErrorEnum_SettingError_name, int32(x))
}

func (SettingErrorEnum_SettingError) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_92dd27a02f2d7da1, []int{0, 0}
}

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

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

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

var xxx_messageInfo_SettingErrorEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.errors.SettingErrorEnum_SettingError", SettingErrorEnum_SettingError_name, SettingErrorEnum_SettingError_value)
	proto.RegisterType((*SettingErrorEnum)(nil), "google.ads.googleads.v3.errors.SettingErrorEnum")
}

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

var fileDescriptor_92dd27a02f2d7da1 = []byte{
	// 551 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x93, 0xe1, 0x6a, 0x13, 0x41,
	0x10, 0xc7, 0x6d, 0x6b, 0x5b, 0xdd, 0x16, 0x3c, 0xf7, 0xa3, 0x68, 0xc1, 0x7c, 0x96, 0x8b, 0x34,
	0xa0, 0x78, 0x45, 0x65, 0x72, 0x37, 0xb9, 0x2c, 0xee, 0xed, 0x9e, 0xb7, 0x9b, 0xd4, 0x4a, 0x60,
	0x88, 0x26, 0x1c, 0x81, 0xf6, 0xae, 0xe4, 0x62, 0x1f, 0xc8, 0x4f, 0xe2, 0x3b, 0xf8, 0x02, 0x3e,
	0x8a, 0xf8, 0x10, 0x72, 0xb7, 0x26, 0x04, 0x1a, 0xab, 0x7e, 0xca, 0x64, 0xf9, 0xff, 0xfe, 0xff,
	0xb9, 0x61, 0x86, 0x1d, 0xe7, 0x65, 0x99, 0x9f, 0x4f, 0xdb, 0xe3, 0x49, 0xd5, 0x76, 0x65, 0x5d,
	0x5d, 0x75, 0xda, 0xd3, 0xf9, 0xbc, 0x9c, 0x57, 0xed, 0x6a, 0xba, 0x58, 0xcc, 0x8a, 0x9c, 0x9a,
	0xbf, 0xfe, 0xe5, 0xbc, 0x5c, 0x94, 0xfc, 0xc8, 0x09, 0xfd, 0xf1, 0xa4, 0xf2, 0x57, 0x8c, 0x7f,
	0xd5, 0xf1, 0x1d, 0xf3, 0xe0, 0xe1, 0xd2, 0xf3, 0x72, 0xd6, 0x1e, 0x17, 0x45, 0xb9, 0x18, 0x2f,
	0x66, 0x65, 0x51, 0x39, 0xba, 0xf5, 0x6d, 0x97, 0x79, 0xc6, 0xb9, 0x62, 0xad, 0xc7, 0xe2, 0xd3,
	0x45, 0xeb, 0xcb, 0x2e, 0x3b, 0x5c, 0x7f, 0xe4, 0xf7, 0xd8, 0xc1, 0x40, 0x99, 0x14, 0x43, 0xd1,
	0x13, 0x18, 0x79, 0xb7, 0xf8, 0x01, 0xdb, 0x1f, 0xa8, 0x37, 0x4a, 0x9f, 0x2a, 0x6f, 0x8b, 0x3f,
	0x66, 0x8f, 0x0c, 0x5a, 0x2b, 0x54, 0x4c, 0xf6, 0x2c, 0x45, 0x12, 0x86, 0x94, 0xb6, 0x04, 0x43,
	0x10, 0x12, 0xba, 0x12, 0xbd, 0x1d, 0xfe, 0x94, 0x3d, 0xd9, 0x24, 0x09, 0x75, 0x92, 0x82, 0x15,
	0x5d, 0x89, 0x74, 0x2a, 0x6c, 0x9f, 0x42, 0x48, 0x52, 0x10, 0xb1, 0xf2, 0x6e, 0xf3, 0x13, 0xf6,
	0xdc, 0x42, 0x16, 0x63, 0xc3, 0x2c, 0xd9, 0x50, 0x2b, 0x0b, 0x42, 0x19, 0x12, 0x6a, 0x08, 0x52,
	0x44, 0x14, 0x66, 0xc2, 0x62, 0x26, 0xb4, 0x72, 0xb6, 0x71, 0xa6, 0x07, 0xa9, 0xb7, 0xcb, 0xdf,
	0xb2, 0xe4, 0x3a, 0x1c, 0x61, 0xa2, 0xe3, 0x0c, 0xd2, 0xbe, 0x08, 0x37, 0x72, 0x86, 0x92, 0x81,
	0xb1, 0xd4, 0xc5, 0x9a, 0x20, 0xab, 0xc9, 0x59, 0x10, 0x48, 0xe9, 0xed, 0xf1, 0x11, 0x7b, 0xb7,
	0xa1, 0x1f, 0x50, 0xcd, 0x67, 0xf4, 0x41, 0xc5, 0xb8, 0xa6, 0xaf, 0xe9, 0x1e, 0x48, 0x83, 0xd4,
	0xd3, 0xd9, 0x5f, 0x83, 0xbd, 0x7d, 0x1e, 0xb2, 0xd7, 0xd1, 0x99, 0x82, 0x44, 0x84, 0x64, 0x10,
	0xb2, 0xb0, 0x4f, 0x10, 0x99, 0x55, 0x0c, 0x58, 0x92, 0x08, 0xc6, 0x92, 0x56, 0x48, 0x3d, 0xc4,
	0x88, 0x44, 0xb4, 0x6a, 0x36, 0xcd, 0xd0, 0xa0, 0xb2, 0xde, 0x9d, 0x7a, 0x64, 0x37, 0x98, 0x5c,
	0x9b, 0x5d, 0xa4, 0x13, 0x10, 0x8a, 0x14, 0x24, 0xe8, 0xdd, 0xe5, 0xcf, 0xd8, 0xf1, 0xbf, 0xc0,
	0x66, 0xd0, 0x5d, 0xe7, 0x18, 0x7f, 0xc9, 0x5e, 0xfc, 0x4f, 0xa8, 0x04, 0x15, 0x0f, 0x20, 0x46,
	0x0a, 0x75, 0x84, 0xde, 0x01, 0x7f, 0xc5, 0x82, 0xb5, 0xb1, 0x2d, 0x37, 0x47, 0x4a, 0x7d, 0x8a,
	0x51, 0x33, 0xbc, 0x54, 0x42, 0x88, 0x09, 0x2a, 0x4b, 0x42, 0x2d, 0x13, 0x56, 0x6b, 0x72, 0xd8,
	0xfd, 0xb9, 0xc5, 0x5a, 0x1f, 0xcb, 0x0b, 0xff, 0xe6, 0x23, 0xe8, 0xde, 0x5f, 0x5f, 0xe7, 0xb4,
	0xde, 0xfc, 0x74, 0xeb, 0x7d, 0xf4, 0x1b, 0xca, 0xcb, 0xf3, 0x71, 0x91, 0xfb, 0xe5, 0x3c, 0x6f,
	0xe7, 0xd3, 0xa2, 0xb9, 0x8b, 0xe5, 0xf5, 0x5d, 0xce, 0xaa, 0x3f, 0x1d, 0xe3, 0x89, 0xfb, 0xf9,
	0xbc, 0xbd, 0x13, 0x03, 0x7c, 0xdd, 0x3e, 0x8a, 0x9d, 0x19, 0x4c, 0x2a, 0xdf, 0x95, 0x75, 0x35,
	0xec, 0xf8, 0x4d, 0x64, 0xf5, 0x7d, 0x29, 0x18, 0xc1, 0xa4, 0x1a, 0xad, 0x04, 0xa3, 0x61, 0x67,
	0xe4, 0x04, 0x3f, 0xb6, 0x5b, 0xee, 0x35, 0x08, 0x60, 0x52, 0x05, 0xc1, 0x4a, 0x12, 0x04, 0xc3,
	0x4e, 0x10, 0x38, 0xd1, 0x87, 0xbd, 0xa6, 0xbb, 0xce, 0xaf, 0x00, 0x00, 0x00, 0xff, 0xff, 0x51,
	0x92, 0x3e, 0xf8, 0x29, 0x04, 0x00, 0x00,
}
