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

package enums

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

// Enumerates display upload product types.
type DisplayUploadProductTypeEnum_DisplayUploadProductType int32

const (
	// Not specified.
	DisplayUploadProductTypeEnum_UNSPECIFIED DisplayUploadProductTypeEnum_DisplayUploadProductType = 0
	// The value is unknown in this version.
	DisplayUploadProductTypeEnum_UNKNOWN DisplayUploadProductTypeEnum_DisplayUploadProductType = 1
	// HTML5 upload ad. This product type requires the upload_media_bundle
	// field in DisplayUploadAdInfo to be set.
	DisplayUploadProductTypeEnum_HTML5_UPLOAD_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 2
	// Dynamic HTML5 education ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in an education campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_EDUCATION_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 3
	// Dynamic HTML5 flight ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a flight campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_FLIGHT_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 4
	// Dynamic HTML5 hotel and rental ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a hotel campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_HOTEL_RENTAL_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 5
	// Dynamic HTML5 job ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a job campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_JOB_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 6
	// Dynamic HTML5 local ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a local campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_LOCAL_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 7
	// Dynamic HTML5 real estate ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a real estate campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_REAL_ESTATE_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 8
	// Dynamic HTML5 custom ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a custom campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_CUSTOM_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 9
	// Dynamic HTML5 travel ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a travel campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_TRAVEL_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 10
	// Dynamic HTML5 hotel ad. This product type requires the
	// upload_media_bundle field in DisplayUploadAdInfo to be set. Can only be
	// used in a hotel campaign.
	DisplayUploadProductTypeEnum_DYNAMIC_HTML5_HOTEL_AD DisplayUploadProductTypeEnum_DisplayUploadProductType = 11
)

var DisplayUploadProductTypeEnum_DisplayUploadProductType_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	2:  "HTML5_UPLOAD_AD",
	3:  "DYNAMIC_HTML5_EDUCATION_AD",
	4:  "DYNAMIC_HTML5_FLIGHT_AD",
	5:  "DYNAMIC_HTML5_HOTEL_RENTAL_AD",
	6:  "DYNAMIC_HTML5_JOB_AD",
	7:  "DYNAMIC_HTML5_LOCAL_AD",
	8:  "DYNAMIC_HTML5_REAL_ESTATE_AD",
	9:  "DYNAMIC_HTML5_CUSTOM_AD",
	10: "DYNAMIC_HTML5_TRAVEL_AD",
	11: "DYNAMIC_HTML5_HOTEL_AD",
}

var DisplayUploadProductTypeEnum_DisplayUploadProductType_value = map[string]int32{
	"UNSPECIFIED":                   0,
	"UNKNOWN":                       1,
	"HTML5_UPLOAD_AD":               2,
	"DYNAMIC_HTML5_EDUCATION_AD":    3,
	"DYNAMIC_HTML5_FLIGHT_AD":       4,
	"DYNAMIC_HTML5_HOTEL_RENTAL_AD": 5,
	"DYNAMIC_HTML5_JOB_AD":          6,
	"DYNAMIC_HTML5_LOCAL_AD":        7,
	"DYNAMIC_HTML5_REAL_ESTATE_AD":  8,
	"DYNAMIC_HTML5_CUSTOM_AD":       9,
	"DYNAMIC_HTML5_TRAVEL_AD":       10,
	"DYNAMIC_HTML5_HOTEL_AD":        11,
}

func (x DisplayUploadProductTypeEnum_DisplayUploadProductType) String() string {
	return proto.EnumName(DisplayUploadProductTypeEnum_DisplayUploadProductType_name, int32(x))
}

func (DisplayUploadProductTypeEnum_DisplayUploadProductType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_167ffb3f75d13ef8, []int{0, 0}
}

// Container for display upload product types. Product types that have the word
// "DYNAMIC" in them must be associated with a campaign that has a dynamic
// remarketing feed. See https://support.google.com/google-ads/answer/6053288
// for more info about dynamic remarketing. Other product types are regarded
// as "static" and do not have this requirement.
type DisplayUploadProductTypeEnum struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_DisplayUploadProductTypeEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.enums.DisplayUploadProductTypeEnum_DisplayUploadProductType", DisplayUploadProductTypeEnum_DisplayUploadProductType_name, DisplayUploadProductTypeEnum_DisplayUploadProductType_value)
	proto.RegisterType((*DisplayUploadProductTypeEnum)(nil), "google.ads.googleads.v3.enums.DisplayUploadProductTypeEnum")
}

func init() {
	proto.RegisterFile("google/ads/googleads/v3/enums/display_upload_product_type.proto", fileDescriptor_167ffb3f75d13ef8)
}

var fileDescriptor_167ffb3f75d13ef8 = []byte{
	// 440 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0x41, 0x8e, 0xd3, 0x30,
	0x14, 0x86, 0x69, 0x06, 0x66, 0xc0, 0x5d, 0x4c, 0x65, 0x10, 0x8c, 0x4a, 0x8b, 0xe8, 0x1c, 0xc0,
	0x59, 0x44, 0x6c, 0xc2, 0x02, 0xb9, 0x89, 0xa7, 0x0d, 0xa4, 0x49, 0xd4, 0x3a, 0x45, 0xa0, 0x4a,
	0x51, 0x18, 0x47, 0x51, 0xa5, 0x36, 0xb6, 0xea, 0xb4, 0x52, 0xaf, 0xc3, 0x92, 0xa3, 0x70, 0x05,
	0x6e, 0xc0, 0x92, 0x35, 0x0b, 0x64, 0x9b, 0x56, 0x8a, 0xaa, 0xce, 0xc6, 0x7a, 0xf2, 0xf7, 0xbf,
	0xff, 0x3d, 0xe9, 0x7f, 0xe0, 0x43, 0xc9, 0x79, 0xb9, 0x2a, 0xec, 0x9c, 0x49, 0xdb, 0x94, 0xaa,
	0xda, 0x39, 0x76, 0x51, 0x6d, 0xd7, 0xd2, 0x66, 0x4b, 0x29, 0x56, 0xf9, 0x3e, 0xdb, 0x8a, 0x15,
	0xcf, 0x59, 0x26, 0x36, 0x9c, 0x6d, 0xef, 0xeb, 0xac, 0xde, 0x8b, 0x02, 0x89, 0x0d, 0xaf, 0x39,
	0xec, 0x9b, 0x2e, 0x94, 0x33, 0x89, 0x8e, 0x06, 0x68, 0xe7, 0x20, 0x6d, 0xd0, 0xed, 0x1d, 0xfc,
	0xc5, 0xd2, 0xce, 0xab, 0x8a, 0xd7, 0x79, 0xbd, 0xe4, 0x95, 0x34, 0xcd, 0xb7, 0x7f, 0x2d, 0xd0,
	0xf3, 0xcd, 0x88, 0x54, 0x4f, 0x48, 0xcc, 0x00, 0xba, 0x17, 0x05, 0xa9, 0xb6, 0xeb, 0xdb, 0x5f,
	0x16, 0xb8, 0x39, 0x27, 0x80, 0xd7, 0xa0, 0x9d, 0x46, 0xb3, 0x84, 0x78, 0xc1, 0x5d, 0x40, 0xfc,
	0xce, 0x23, 0xd8, 0x06, 0x57, 0x69, 0xf4, 0x29, 0x8a, 0x3f, 0x47, 0x9d, 0x16, 0x7c, 0x0e, 0xae,
	0xc7, 0x74, 0x12, 0xbe, 0xcb, 0xd2, 0x24, 0x8c, 0xb1, 0x9f, 0x61, 0xbf, 0x63, 0xc1, 0x37, 0xa0,
	0xeb, 0x7f, 0x89, 0xf0, 0x24, 0xf0, 0x32, 0x03, 0x89, 0x9f, 0x7a, 0x98, 0x06, 0x71, 0xa4, 0xf8,
	0x05, 0x7c, 0x0d, 0x5e, 0x35, 0xf9, 0x5d, 0x18, 0x8c, 0xc6, 0x54, 0xc1, 0xc7, 0x70, 0x00, 0xfa,
	0x4d, 0x38, 0x8e, 0x29, 0x09, 0xb3, 0x29, 0x89, 0x28, 0x0e, 0x95, 0xe4, 0x09, 0xbc, 0x01, 0x2f,
	0x9a, 0x92, 0x8f, 0xf1, 0x50, 0x91, 0x4b, 0xd8, 0x05, 0x2f, 0x9b, 0x24, 0x8c, 0x3d, 0xd3, 0x75,
	0x05, 0xdf, 0x82, 0x5e, 0x93, 0x4d, 0x09, 0x0e, 0x33, 0x32, 0xa3, 0x98, 0x12, 0xa5, 0x78, 0x7a,
	0xba, 0x97, 0x97, 0xce, 0x68, 0x3c, 0x51, 0xf0, 0xd9, 0x29, 0xa4, 0x53, 0x3c, 0x27, 0xda, 0x1b,
	0x9c, 0xce, 0x35, 0x4b, 0x63, 0xbf, 0xd3, 0x1e, 0xfe, 0x69, 0x81, 0xc1, 0x3d, 0x5f, 0xa3, 0x07,
	0x23, 0x1c, 0xf6, 0xcf, 0x05, 0x90, 0xa8, 0x0c, 0x93, 0xd6, 0xd7, 0xe1, 0xff, 0xfe, 0x92, 0xaf,
	0xf2, 0xaa, 0x44, 0x7c, 0x53, 0xda, 0x65, 0x51, 0xe9, 0x84, 0x0f, 0x37, 0x25, 0x96, 0xf2, 0xcc,
	0x89, 0xbd, 0xd7, 0xef, 0x77, 0xeb, 0x62, 0x84, 0xf1, 0x0f, 0xab, 0x3f, 0x32, 0x56, 0x98, 0x49,
	0x64, 0x4a, 0x55, 0xcd, 0x1d, 0xa4, 0xae, 0x41, 0xfe, 0x3c, 0xf0, 0x05, 0x66, 0x72, 0x71, 0xe4,
	0x8b, 0xb9, 0xb3, 0xd0, 0xfc, 0xb7, 0x35, 0x30, 0x9f, 0xae, 0x8b, 0x99, 0x74, 0xdd, 0xa3, 0xc2,
	0x75, 0xe7, 0x8e, 0xeb, 0x6a, 0xcd, 0xb7, 0x4b, 0xbd, 0x98, 0xf3, 0x2f, 0x00, 0x00, 0xff, 0xff,
	0x2b, 0xce, 0x78, 0x56, 0xfa, 0x02, 0x00, 0x00,
}
