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

// Types of recommendations.
type RecommendationTypeEnum_RecommendationType int32

const (
	// Not specified.
	RecommendationTypeEnum_UNSPECIFIED RecommendationTypeEnum_RecommendationType = 0
	// Used for return value only. Represents value unknown in this version.
	RecommendationTypeEnum_UNKNOWN RecommendationTypeEnum_RecommendationType = 1
	// Budget recommendation for budget constrained campaigns.
	RecommendationTypeEnum_CAMPAIGN_BUDGET RecommendationTypeEnum_RecommendationType = 2
	// Keyword recommendation.
	RecommendationTypeEnum_KEYWORD RecommendationTypeEnum_RecommendationType = 3
	// Recommendation to add a new text ad.
	RecommendationTypeEnum_TEXT_AD RecommendationTypeEnum_RecommendationType = 4
	// Recommendation to update a campaign to use a Target CPA bidding strategy.
	RecommendationTypeEnum_TARGET_CPA_OPT_IN RecommendationTypeEnum_RecommendationType = 5
	// Recommendation to update a campaign to use the Maximize Conversions
	// bidding strategy.
	RecommendationTypeEnum_MAXIMIZE_CONVERSIONS_OPT_IN RecommendationTypeEnum_RecommendationType = 6
	// Recommendation to enable Enhanced Cost Per Click for a campaign.
	RecommendationTypeEnum_ENHANCED_CPC_OPT_IN RecommendationTypeEnum_RecommendationType = 7
	// Recommendation to start showing your campaign's ads on Google Search
	// Partners Websites.
	RecommendationTypeEnum_SEARCH_PARTNERS_OPT_IN RecommendationTypeEnum_RecommendationType = 8
	// Recommendation to update a campaign to use a Maximize Clicks bidding
	// strategy.
	RecommendationTypeEnum_MAXIMIZE_CLICKS_OPT_IN RecommendationTypeEnum_RecommendationType = 9
	// Recommendation to start using the "Optimize" ad rotation setting for the
	// given ad group.
	RecommendationTypeEnum_OPTIMIZE_AD_ROTATION RecommendationTypeEnum_RecommendationType = 10
	// Recommendation to add callout extensions to a campaign.
	RecommendationTypeEnum_CALLOUT_EXTENSION RecommendationTypeEnum_RecommendationType = 11
	// Recommendation to add sitelink extensions to a campaign.
	RecommendationTypeEnum_SITELINK_EXTENSION RecommendationTypeEnum_RecommendationType = 12
	// Recommendation to add call extensions to a campaign.
	RecommendationTypeEnum_CALL_EXTENSION RecommendationTypeEnum_RecommendationType = 13
	// Recommendation to change an existing keyword from one match type to a
	// broader match type.
	RecommendationTypeEnum_KEYWORD_MATCH_TYPE RecommendationTypeEnum_RecommendationType = 14
	// Recommendation to move unused budget from one budget to a constrained
	// budget.
	RecommendationTypeEnum_MOVE_UNUSED_BUDGET RecommendationTypeEnum_RecommendationType = 15
)

var RecommendationTypeEnum_RecommendationType_name = map[int32]string{
	0:  "UNSPECIFIED",
	1:  "UNKNOWN",
	2:  "CAMPAIGN_BUDGET",
	3:  "KEYWORD",
	4:  "TEXT_AD",
	5:  "TARGET_CPA_OPT_IN",
	6:  "MAXIMIZE_CONVERSIONS_OPT_IN",
	7:  "ENHANCED_CPC_OPT_IN",
	8:  "SEARCH_PARTNERS_OPT_IN",
	9:  "MAXIMIZE_CLICKS_OPT_IN",
	10: "OPTIMIZE_AD_ROTATION",
	11: "CALLOUT_EXTENSION",
	12: "SITELINK_EXTENSION",
	13: "CALL_EXTENSION",
	14: "KEYWORD_MATCH_TYPE",
	15: "MOVE_UNUSED_BUDGET",
}

var RecommendationTypeEnum_RecommendationType_value = map[string]int32{
	"UNSPECIFIED":                 0,
	"UNKNOWN":                     1,
	"CAMPAIGN_BUDGET":             2,
	"KEYWORD":                     3,
	"TEXT_AD":                     4,
	"TARGET_CPA_OPT_IN":           5,
	"MAXIMIZE_CONVERSIONS_OPT_IN": 6,
	"ENHANCED_CPC_OPT_IN":         7,
	"SEARCH_PARTNERS_OPT_IN":      8,
	"MAXIMIZE_CLICKS_OPT_IN":      9,
	"OPTIMIZE_AD_ROTATION":        10,
	"CALLOUT_EXTENSION":           11,
	"SITELINK_EXTENSION":          12,
	"CALL_EXTENSION":              13,
	"KEYWORD_MATCH_TYPE":          14,
	"MOVE_UNUSED_BUDGET":          15,
}

func (x RecommendationTypeEnum_RecommendationType) String() string {
	return proto.EnumName(RecommendationTypeEnum_RecommendationType_name, int32(x))
}

func (RecommendationTypeEnum_RecommendationType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_9494f455c4c1913e, []int{0, 0}
}

// Container for enum describing types of recommendations.
type RecommendationTypeEnum struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

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

var xxx_messageInfo_RecommendationTypeEnum proto.InternalMessageInfo

func init() {
	proto.RegisterEnum("google.ads.googleads.v3.enums.RecommendationTypeEnum_RecommendationType", RecommendationTypeEnum_RecommendationType_name, RecommendationTypeEnum_RecommendationType_value)
	proto.RegisterType((*RecommendationTypeEnum)(nil), "google.ads.googleads.v3.enums.RecommendationTypeEnum")
}

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

var fileDescriptor_9494f455c4c1913e = []byte{
	// 492 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x92, 0xd1, 0x6e, 0xd3, 0x30,
	0x14, 0x86, 0x59, 0x0b, 0x1b, 0xb8, 0xb0, 0x06, 0x0f, 0x3a, 0x34, 0x98, 0xd0, 0xf6, 0x00, 0xc9,
	0x45, 0x2e, 0x90, 0xc2, 0x95, 0xeb, 0x98, 0xd6, 0x6a, 0x6b, 0x5b, 0x89, 0xd3, 0x75, 0x53, 0x25,
	0xab, 0x2c, 0x51, 0x54, 0x69, 0x89, 0xa3, 0xa6, 0x9b, 0xb4, 0xd7, 0xe0, 0x11, 0xb8, 0xe4, 0x51,
	0x78, 0x14, 0xc4, 0x3d, 0xb7, 0xc8, 0xc9, 0x12, 0x86, 0x26, 0xb8, 0x89, 0x4e, 0xce, 0xf7, 0xff,
	0xbf, 0x4e, 0x72, 0x0e, 0xf8, 0x90, 0x6a, 0x9d, 0x5e, 0x25, 0xce, 0x2a, 0x2e, 0x9d, 0xba, 0x34,
	0xd5, 0x8d, 0xeb, 0x24, 0xf9, 0x75, 0x56, 0x3a, 0x9b, 0xe4, 0x52, 0x67, 0x59, 0x92, 0xc7, 0xab,
	0xed, 0x5a, 0xe7, 0x6a, 0x7b, 0x5b, 0x24, 0x76, 0xb1, 0xd1, 0x5b, 0x0d, 0x8f, 0x6b, 0xb5, 0xbd,
	0x8a, 0x4b, 0xbb, 0x35, 0xda, 0x37, 0xae, 0x5d, 0x19, 0x8f, 0xde, 0x35, 0xb9, 0xc5, 0xda, 0x59,
	0xe5, 0xb9, 0xde, 0x56, 0x01, 0x65, 0x6d, 0x3e, 0xfd, 0xd2, 0x05, 0x83, 0xe0, 0xaf, 0x68, 0x79,
	0x5b, 0x24, 0x24, 0xbf, 0xce, 0x4e, 0x7f, 0x75, 0x00, 0x7c, 0x88, 0x60, 0x1f, 0xf4, 0x22, 0x16,
	0x0a, 0x82, 0xe9, 0x27, 0x4a, 0x7c, 0xeb, 0x11, 0xec, 0x81, 0xbd, 0x88, 0x4d, 0x18, 0x3f, 0x63,
	0xd6, 0x0e, 0x3c, 0x00, 0x7d, 0x8c, 0x66, 0x02, 0xd1, 0x11, 0x53, 0xc3, 0xc8, 0x1f, 0x11, 0x69,
	0x75, 0x8c, 0x62, 0x42, 0xce, 0xcf, 0x78, 0xe0, 0x5b, 0x5d, 0xf3, 0x22, 0xc9, 0x42, 0x2a, 0xe4,
	0x5b, 0x8f, 0xe1, 0x6b, 0xf0, 0x52, 0xa2, 0x60, 0x44, 0xa4, 0xc2, 0x02, 0x29, 0x2e, 0xa4, 0xa2,
	0xcc, 0x7a, 0x02, 0xdf, 0x83, 0xb7, 0x33, 0xb4, 0xa0, 0x33, 0x7a, 0x41, 0x14, 0xe6, 0x6c, 0x4e,
	0x82, 0x90, 0x72, 0x16, 0x36, 0x82, 0x5d, 0x78, 0x08, 0x0e, 0x08, 0x1b, 0x23, 0x86, 0x89, 0xaf,
	0xb0, 0xc0, 0x0d, 0xd8, 0x83, 0x47, 0x60, 0x10, 0x12, 0x14, 0xe0, 0xb1, 0x12, 0x28, 0x90, 0x8c,
	0x04, 0xad, 0xe9, 0xa9, 0x61, 0x7f, 0x52, 0xa7, 0x14, 0x4f, 0x5a, 0xf6, 0x0c, 0xbe, 0x01, 0xaf,
	0xb8, 0x90, 0x35, 0x43, 0xbe, 0x0a, 0xb8, 0x44, 0x92, 0x72, 0x66, 0x01, 0x33, 0x22, 0x46, 0xd3,
	0x29, 0x8f, 0xa4, 0x22, 0x0b, 0x49, 0x98, 0x99, 0xc4, 0xea, 0xc1, 0x01, 0x80, 0x21, 0x95, 0x64,
	0x4a, 0xd9, 0xe4, 0x5e, 0xff, 0x39, 0x84, 0x60, 0xdf, 0xc8, 0xef, 0xf5, 0x5e, 0x18, 0xed, 0xdd,
	0xf7, 0xab, 0x19, 0x92, 0x78, 0xac, 0xe4, 0xb9, 0x20, 0xd6, 0xbe, 0xe9, 0xcf, 0xf8, 0x9c, 0xa8,
	0x88, 0x45, 0x21, 0xf1, 0x9b, 0xff, 0xd5, 0x1f, 0xfe, 0xdc, 0x01, 0x27, 0x97, 0x3a, 0xb3, 0xff,
	0xbb, 0xd8, 0xe1, 0xe1, 0xc3, 0xe5, 0x08, 0xb3, 0x53, 0xb1, 0x73, 0x31, 0xbc, 0x73, 0xa6, 0xfa,
	0x6a, 0x95, 0xa7, 0xb6, 0xde, 0xa4, 0x4e, 0x9a, 0xe4, 0xd5, 0xc6, 0x9b, 0xdb, 0x2a, 0xd6, 0xe5,
	0x3f, 0x4e, 0xed, 0x63, 0xf5, 0xfc, 0xda, 0xe9, 0x8e, 0x10, 0xfa, 0xd6, 0x39, 0x1e, 0xd5, 0x51,
	0x28, 0x2e, 0xed, 0xba, 0x34, 0xd5, 0xdc, 0xb5, 0xcd, 0x8d, 0x94, 0xdf, 0x1b, 0xbe, 0x44, 0x71,
	0xb9, 0x6c, 0xf9, 0x72, 0xee, 0x2e, 0x2b, 0xfe, 0xa3, 0x73, 0x52, 0x37, 0x3d, 0x0f, 0xc5, 0xa5,
	0xe7, 0xb5, 0x0a, 0xcf, 0x9b, 0xbb, 0x9e, 0x57, 0x69, 0x3e, 0xef, 0x56, 0x83, 0xb9, 0xbf, 0x03,
	0x00, 0x00, 0xff, 0xff, 0xcd, 0x45, 0xb5, 0x80, 0x02, 0x03, 0x00, 0x00,
}
