// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v3/enums/vanity_pharma_text.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

// Enum describing possible text.
type VanityPharmaTextEnum_VanityPharmaText int32

const (
	// Not specified.
	VanityPharmaTextEnum_UNSPECIFIED VanityPharmaTextEnum_VanityPharmaText = 0
	// Used for return value only. Represents value unknown in this version.
	VanityPharmaTextEnum_UNKNOWN VanityPharmaTextEnum_VanityPharmaText = 1
	// Prescription treatment website with website content in English.
	VanityPharmaTextEnum_PRESCRIPTION_TREATMENT_WEBSITE_EN VanityPharmaTextEnum_VanityPharmaText = 2
	// Prescription treatment website with website content in Spanish
	// (Sitio de tratamientos con receta).
	VanityPharmaTextEnum_PRESCRIPTION_TREATMENT_WEBSITE_ES VanityPharmaTextEnum_VanityPharmaText = 3
	// Prescription device website with website content in English.
	VanityPharmaTextEnum_PRESCRIPTION_DEVICE_WEBSITE_EN VanityPharmaTextEnum_VanityPharmaText = 4
	// Prescription device website with website content in Spanish (Sitio de
	// dispositivos con receta).
	VanityPharmaTextEnum_PRESCRIPTION_DEVICE_WEBSITE_ES VanityPharmaTextEnum_VanityPharmaText = 5
	// Medical device website with website content in English.
	VanityPharmaTextEnum_MEDICAL_DEVICE_WEBSITE_EN VanityPharmaTextEnum_VanityPharmaText = 6
	// Medical device website with website content in Spanish (Sitio de
	// dispositivos médicos).
	VanityPharmaTextEnum_MEDICAL_DEVICE_WEBSITE_ES VanityPharmaTextEnum_VanityPharmaText = 7
	// Preventative treatment website with website content in English.
	VanityPharmaTextEnum_PREVENTATIVE_TREATMENT_WEBSITE_EN VanityPharmaTextEnum_VanityPharmaText = 8
	// Preventative treatment website with website content in Spanish (Sitio de
	// tratamientos preventivos).
	VanityPharmaTextEnum_PREVENTATIVE_TREATMENT_WEBSITE_ES VanityPharmaTextEnum_VanityPharmaText = 9
	// Prescription contraception website with website content in English.
	VanityPharmaTextEnum_PRESCRIPTION_CONTRACEPTION_WEBSITE_EN VanityPharmaTextEnum_VanityPharmaText = 10
	// Prescription contraception website with website content in Spanish (Sitio
	// de anticonceptivos con receta).
	VanityPharmaTextEnum_PRESCRIPTION_CONTRACEPTION_WEBSITE_ES VanityPharmaTextEnum_VanityPharmaText = 11
	// Prescription vaccine website with website content in English.
	VanityPharmaTextEnum_PRESCRIPTION_VACCINE_WEBSITE_EN VanityPharmaTextEnum_VanityPharmaText = 12
	// Prescription vaccine website with website content in Spanish (Sitio de
	// vacunas con receta).
	VanityPharmaTextEnum_PRESCRIPTION_VACCINE_WEBSITE_ES VanityPharmaTextEnum_VanityPharmaText = 13
)

var VanityPharmaTextEnum_VanityPharmaText_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	2:  "PRESCRIPTION_TREATMENT_WEBSITE_EN",
	3:  "PRESCRIPTION_TREATMENT_WEBSITE_ES",
	4:  "PRESCRIPTION_DEVICE_WEBSITE_EN",
	5:  "PRESCRIPTION_DEVICE_WEBSITE_ES",
	6:  "MEDICAL_DEVICE_WEBSITE_EN",
	7:  "MEDICAL_DEVICE_WEBSITE_ES",
	8:  "PREVENTATIVE_TREATMENT_WEBSITE_EN",
	9:  "PREVENTATIVE_TREATMENT_WEBSITE_ES",
	10: "PRESCRIPTION_CONTRACEPTION_WEBSITE_EN",
	11: "PRESCRIPTION_CONTRACEPTION_WEBSITE_ES",
	12: "PRESCRIPTION_VACCINE_WEBSITE_EN",
	13: "PRESCRIPTION_VACCINE_WEBSITE_ES",
}

var VanityPharmaTextEnum_VanityPharmaText_value = map[string]int32{
	"UNSPECIFIED":                           0,
	"UNKNOWN":                               1,
	"PRESCRIPTION_TREATMENT_WEBSITE_EN":     2,
	"PRESCRIPTION_TREATMENT_WEBSITE_ES":     3,
	"PRESCRIPTION_DEVICE_WEBSITE_EN":        4,
	"PRESCRIPTION_DEVICE_WEBSITE_ES":        5,
	"MEDICAL_DEVICE_WEBSITE_EN":             6,
	"MEDICAL_DEVICE_WEBSITE_ES":             7,
	"PREVENTATIVE_TREATMENT_WEBSITE_EN":     8,
	"PREVENTATIVE_TREATMENT_WEBSITE_ES":     9,
	"PRESCRIPTION_CONTRACEPTION_WEBSITE_EN": 10,
	"PRESCRIPTION_CONTRACEPTION_WEBSITE_ES": 11,
	"PRESCRIPTION_VACCINE_WEBSITE_EN":       12,
	"PRESCRIPTION_VACCINE_WEBSITE_ES":       13,
}

func (x VanityPharmaTextEnum_VanityPharmaText) String() string {
	return proto.EnumName(VanityPharmaTextEnum_VanityPharmaText_name, int32(x))
}

func (VanityPharmaTextEnum_VanityPharmaText) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_3ab6b0da50d44ae9, []int{0, 0}
}

// The text that will be displayed in display URL of the text ad when website
// description is the selected display mode for vanity pharma URLs.
type VanityPharmaTextEnum struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_VanityPharmaTextEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.enums.VanityPharmaTextEnum_VanityPharmaText", VanityPharmaTextEnum_VanityPharmaText_name, VanityPharmaTextEnum_VanityPharmaText_value)
	proto.RegisterType((*VanityPharmaTextEnum)(nil), "google.ads.googleads.v3.enums.VanityPharmaTextEnum")
}

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

var fileDescriptor_3ab6b0da50d44ae9 = []byte{
	// 429 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x92, 0x41, 0x6e, 0x13, 0x31,
	0x18, 0x85, 0x49, 0x52, 0x5a, 0x70, 0x40, 0x58, 0x23, 0x58, 0x80, 0x08, 0x28, 0x41, 0x5d, 0xb0,
	0xf1, 0x2c, 0x46, 0x62, 0x61, 0x56, 0x8e, 0x63, 0x2a, 0x0b, 0xea, 0x8c, 0x62, 0xd7, 0x95, 0x50,
	0xa4, 0x91, 0x61, 0x46, 0x43, 0xa4, 0xc6, 0x8e, 0xe2, 0x69, 0x54, 0xce, 0xc0, 0x2d, 0x58, 0x72,
	0x14, 0x8e, 0xd2, 0x25, 0x27, 0x40, 0xf1, 0x34, 0x51, 0x53, 0xb5, 0x4d, 0x36, 0xa3, 0x7f, 0xfc,
	0xbe, 0xf7, 0xf4, 0xff, 0xd2, 0x03, 0x1f, 0x4a, 0xe7, 0xca, 0xb3, 0x22, 0x36, 0xb9, 0x8f, 0xeb,
	0x71, 0x39, 0x2d, 0x92, 0xb8, 0xb0, 0xe7, 0x53, 0x1f, 0x2f, 0x8c, 0x9d, 0x54, 0x3f, 0xb3, 0xd9,
	0x0f, 0x33, 0x9f, 0x9a, 0xac, 0x2a, 0x2e, 0x2a, 0x34, 0x9b, 0xbb, 0xca, 0x45, 0x9d, 0x1a, 0x46,
	0x26, 0xf7, 0x68, 0xed, 0x43, 0x8b, 0x04, 0x05, 0xdf, 0xab, 0xd7, 0xab, 0xd8, 0xd9, 0x24, 0x36,
	0xd6, 0xba, 0xca, 0x54, 0x13, 0x67, 0x7d, 0x6d, 0xee, 0xfd, 0xda, 0x03, 0xcf, 0x75, 0x48, 0x4e,
	0x43, 0xb0, 0x2a, 0x2e, 0x2a, 0x66, 0xcf, 0xa7, 0xbd, 0x7f, 0x2d, 0x00, 0x6f, 0x0a, 0xd1, 0x33,
	0xd0, 0x3e, 0x11, 0x32, 0x65, 0x94, 0x7f, 0xe2, 0x6c, 0x00, 0x1f, 0x44, 0x6d, 0x70, 0x70, 0x22,
	0x3e, 0x8b, 0xe1, 0xa9, 0x80, 0x8d, 0xe8, 0x10, 0x74, 0xd3, 0x11, 0x93, 0x74, 0xc4, 0x53, 0xc5,
	0x87, 0x22, 0x53, 0x23, 0x46, 0xd4, 0x31, 0x13, 0x2a, 0x3b, 0x65, 0x7d, 0xc9, 0x15, 0xcb, 0x98,
	0x80, 0xcd, 0x5d, 0x30, 0x09, 0x5b, 0x51, 0x0f, 0xbc, 0xd9, 0xc0, 0x06, 0x4c, 0x73, 0xca, 0xae,
	0x47, 0xed, 0x6d, 0x65, 0x24, 0x7c, 0x18, 0x75, 0xc0, 0xcb, 0x63, 0x36, 0xe0, 0x94, 0x7c, 0xb9,
	0x25, 0x62, 0xff, 0x3e, 0x59, 0xc2, 0x83, 0xab, 0x65, 0x35, 0x13, 0x8a, 0x28, 0xae, 0xd9, 0xed,
	0x37, 0x3d, 0xda, 0x05, 0x93, 0xf0, 0x71, 0xf4, 0x1e, 0x1c, 0x6e, 0xec, 0x4b, 0x87, 0x42, 0x8d,
	0x08, 0x65, 0xf5, 0xdf, 0xb5, 0x44, 0xb0, 0x2b, 0x2a, 0x61, 0x3b, 0x7a, 0x07, 0xde, 0x6e, 0xa0,
	0x9a, 0x50, 0xca, 0xc5, 0xc6, 0x9d, 0x4f, 0xb6, 0x43, 0x12, 0x3e, 0xed, 0x5f, 0x36, 0x40, 0xf7,
	0xbb, 0x9b, 0xa2, 0x7b, 0x1b, 0xd5, 0x7f, 0x71, 0xb3, 0x17, 0xe9, 0xb2, 0x4a, 0x69, 0xe3, 0x6b,
	0xff, 0xca, 0x57, 0xba, 0x33, 0x63, 0x4b, 0xe4, 0xe6, 0x65, 0x5c, 0x16, 0x36, 0x14, 0x6d, 0xd5,
	0xe8, 0xd9, 0xc4, 0xdf, 0x51, 0xf0, 0x8f, 0xe1, 0xfb, 0xbb, 0xd9, 0x3a, 0x22, 0xe4, 0x4f, 0xb3,
	0x73, 0x54, 0x47, 0x91, 0xdc, 0xa3, 0x7a, 0x5c, 0x4e, 0x3a, 0x41, 0xcb, 0x72, 0xfa, 0xbf, 0x2b,
	0x7d, 0x4c, 0x72, 0x3f, 0x5e, 0xeb, 0x63, 0x9d, 0x8c, 0x83, 0x7e, 0xd9, 0xec, 0xd6, 0x8f, 0x18,
	0x93, 0xdc, 0x63, 0xbc, 0x26, 0x30, 0xd6, 0x09, 0xc6, 0x81, 0xf9, 0xb6, 0x1f, 0x16, 0x4b, 0xfe,
	0x07, 0x00, 0x00, 0xff, 0xff, 0x34, 0x69, 0x54, 0xfc, 0x78, 0x03, 0x00, 0x00,
}
