// Code generated by protoc-gen-go. DO NOT EDIT.
// source: google/ads/googleads/v2/resources/ad_group_ad.proto

package resources

import (
	fmt "fmt"
	math "math"

	proto "github.com/golang/protobuf/proto"
	wrappers "github.com/golang/protobuf/ptypes/wrappers"
	common "google.golang.org/genproto/googleapis/ads/googleads/v2/common"
	enums "google.golang.org/genproto/googleapis/ads/googleads/v2/enums"
	_ "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

// An ad group ad.
type AdGroupAd struct {
	// The resource name of the ad.
	// Ad group ad resource names have the form:
	//
	// `customers/{customer_id}/adGroupAds/{ad_group_id}~{ad_id}`
	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
	// The status of the ad.
	Status enums.AdGroupAdStatusEnum_AdGroupAdStatus `protobuf:"varint,3,opt,name=status,proto3,enum=google.ads.googleads.v2.enums.AdGroupAdStatusEnum_AdGroupAdStatus" json:"status,omitempty"`
	// The ad group to which the ad belongs.
	AdGroup *wrappers.StringValue `protobuf:"bytes,4,opt,name=ad_group,json=adGroup,proto3" json:"ad_group,omitempty"`
	// The ad.
	Ad *Ad `protobuf:"bytes,5,opt,name=ad,proto3" json:"ad,omitempty"`
	// Policy information for the ad.
	PolicySummary *AdGroupAdPolicySummary `protobuf:"bytes,6,opt,name=policy_summary,json=policySummary,proto3" json:"policy_summary,omitempty"`
	// Overall ad strength for this ad group ad.
	AdStrength           enums.AdStrengthEnum_AdStrength `protobuf:"varint,7,opt,name=ad_strength,json=adStrength,proto3,enum=google.ads.googleads.v2.enums.AdStrengthEnum_AdStrength" json:"ad_strength,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                        `json:"-"`
	XXX_unrecognized     []byte                          `json:"-"`
	XXX_sizecache        int32                           `json:"-"`
}

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

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

var xxx_messageInfo_AdGroupAd proto.InternalMessageInfo

func (m *AdGroupAd) GetResourceName() string {
	if m != nil {
		return m.ResourceName
	}
	return ""
}

func (m *AdGroupAd) GetStatus() enums.AdGroupAdStatusEnum_AdGroupAdStatus {
	if m != nil {
		return m.Status
	}
	return enums.AdGroupAdStatusEnum_UNSPECIFIED
}

func (m *AdGroupAd) GetAdGroup() *wrappers.StringValue {
	if m != nil {
		return m.AdGroup
	}
	return nil
}

func (m *AdGroupAd) GetAd() *Ad {
	if m != nil {
		return m.Ad
	}
	return nil
}

func (m *AdGroupAd) GetPolicySummary() *AdGroupAdPolicySummary {
	if m != nil {
		return m.PolicySummary
	}
	return nil
}

func (m *AdGroupAd) GetAdStrength() enums.AdStrengthEnum_AdStrength {
	if m != nil {
		return m.AdStrength
	}
	return enums.AdStrengthEnum_UNSPECIFIED
}

// Contains policy information for an ad.
type AdGroupAdPolicySummary struct {
	// The list of policy findings for this ad.
	PolicyTopicEntries []*common.PolicyTopicEntry `protobuf:"bytes,1,rep,name=policy_topic_entries,json=policyTopicEntries,proto3" json:"policy_topic_entries,omitempty"`
	// Where in the review process this ad is.
	ReviewStatus enums.PolicyReviewStatusEnum_PolicyReviewStatus `protobuf:"varint,2,opt,name=review_status,json=reviewStatus,proto3,enum=google.ads.googleads.v2.enums.PolicyReviewStatusEnum_PolicyReviewStatus" json:"review_status,omitempty"`
	// The overall approval status of this ad, calculated based on the status of
	// its individual policy topic entries.
	ApprovalStatus       enums.PolicyApprovalStatusEnum_PolicyApprovalStatus `protobuf:"varint,3,opt,name=approval_status,json=approvalStatus,proto3,enum=google.ads.googleads.v2.enums.PolicyApprovalStatusEnum_PolicyApprovalStatus" json:"approval_status,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                                            `json:"-"`
	XXX_unrecognized     []byte                                              `json:"-"`
	XXX_sizecache        int32                                               `json:"-"`
}

func (m *AdGroupAdPolicySummary) Reset()         { *m = AdGroupAdPolicySummary{} }
func (m *AdGroupAdPolicySummary) String() string { return proto.CompactTextString(m) }
func (*AdGroupAdPolicySummary) ProtoMessage()    {}
func (*AdGroupAdPolicySummary) Descriptor() ([]byte, []int) {
	return fileDescriptor_b6e817cb3b35f678, []int{1}
}

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

var xxx_messageInfo_AdGroupAdPolicySummary proto.InternalMessageInfo

func (m *AdGroupAdPolicySummary) GetPolicyTopicEntries() []*common.PolicyTopicEntry {
	if m != nil {
		return m.PolicyTopicEntries
	}
	return nil
}

func (m *AdGroupAdPolicySummary) GetReviewStatus() enums.PolicyReviewStatusEnum_PolicyReviewStatus {
	if m != nil {
		return m.ReviewStatus
	}
	return enums.PolicyReviewStatusEnum_UNSPECIFIED
}

func (m *AdGroupAdPolicySummary) GetApprovalStatus() enums.PolicyApprovalStatusEnum_PolicyApprovalStatus {
	if m != nil {
		return m.ApprovalStatus
	}
	return enums.PolicyApprovalStatusEnum_UNSPECIFIED
}

func init() {
	proto.RegisterType((*AdGroupAd)(nil), "google.ads.googleads.v2.resources.AdGroupAd")
	proto.RegisterType((*AdGroupAdPolicySummary)(nil), "google.ads.googleads.v2.resources.AdGroupAdPolicySummary")
}

func init() {
	proto.RegisterFile("google/ads/googleads/v2/resources/ad_group_ad.proto", fileDescriptor_b6e817cb3b35f678)
}

var fileDescriptor_b6e817cb3b35f678 = []byte{
	// 591 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x53, 0xdf, 0x6a, 0xdb, 0x3e,
	0x18, 0xc5, 0xce, 0xef, 0x97, 0xae, 0xca, 0x9a, 0x81, 0x19, 0xc3, 0x94, 0x32, 0xd2, 0x8e, 0x40,
	0xd8, 0x40, 0x1e, 0x2e, 0xdb, 0x3a, 0xef, 0xca, 0x81, 0x92, 0x31, 0xc6, 0x28, 0xce, 0x08, 0xac,
	0x04, 0x3c, 0x25, 0xd2, 0x3c, 0x43, 0x2c, 0x09, 0xc9, 0x4e, 0xc9, 0xeb, 0xec, 0x72, 0x6f, 0xb0,
	0x57, 0xd8, 0x63, 0xec, 0x72, 0xaf, 0xb0, 0x9b, 0x61, 0x4b, 0x72, 0xe3, 0x76, 0x69, 0x72, 0xf7,
	0x7d, 0xd2, 0x39, 0xe7, 0xfb, 0xa3, 0x23, 0x70, 0x9a, 0x30, 0x96, 0x2c, 0x88, 0x87, 0xb0, 0xf4,
	0x54, 0x58, 0x46, 0x4b, 0xdf, 0x13, 0x44, 0xb2, 0x42, 0xcc, 0x89, 0xf4, 0x10, 0x8e, 0x13, 0xc1,
	0x0a, 0x1e, 0x23, 0x0c, 0xb9, 0x60, 0x39, 0x73, 0x8e, 0x15, 0x12, 0x22, 0x2c, 0x61, 0x4d, 0x82,
	0x4b, 0x1f, 0xd6, 0xa4, 0xc3, 0x67, 0x9b, 0x74, 0xe7, 0x2c, 0xcb, 0x18, 0xf5, 0x38, 0x5b, 0xa4,
	0xf3, 0x95, 0xd2, 0x3b, 0x7c, 0xb9, 0x09, 0x4c, 0x68, 0x91, 0x35, 0x1a, 0x88, 0x65, 0x8e, 0xf2,
	0x42, 0x6a, 0x9e, 0xb7, 0x95, 0x27, 0x73, 0x41, 0x68, 0x92, 0x7f, 0xd5, 0x84, 0xe0, 0x6e, 0x82,
	0x6a, 0x2a, 0x46, 0x9c, 0x0b, 0xb6, 0x44, 0x8b, 0x66, 0xb1, 0xb3, 0x9d, 0xb8, 0x82, 0x2c, 0x53,
	0x72, 0xd5, 0x64, 0x3e, 0xdd, 0x65, 0xc7, 0x1a, 0xfb, 0x58, 0x63, 0xab, 0x6c, 0x56, 0x7c, 0xf1,
	0xae, 0x04, 0xe2, 0x9c, 0x08, 0xa3, 0x75, 0x64, 0xb4, 0x78, 0xea, 0x21, 0x4a, 0x59, 0x8e, 0xf2,
	0x94, 0x51, 0x7d, 0x7b, 0xf2, 0xa3, 0x05, 0xf6, 0x43, 0x3c, 0x2a, 0x97, 0x15, 0x62, 0xe7, 0x09,
	0x38, 0x30, 0x15, 0x62, 0x8a, 0x32, 0xe2, 0x5a, 0x3d, 0x6b, 0xb0, 0x1f, 0xdd, 0x37, 0x87, 0x1f,
	0x50, 0x46, 0x9c, 0x4b, 0xd0, 0x56, 0xcd, 0xba, 0xad, 0x9e, 0x35, 0xe8, 0xfa, 0x43, 0xb8, 0xe9,
	0x71, 0xab, 0x39, 0x61, 0x2d, 0x3f, 0xae, 0x58, 0xe7, 0xb4, 0xc8, 0x6e, 0x9e, 0x45, 0x5a, 0xd1,
	0x79, 0x05, 0xee, 0x99, 0xb7, 0x73, 0xff, 0xeb, 0x59, 0x83, 0x8e, 0x7f, 0x64, 0xd4, 0xcd, 0x7c,
	0x70, 0x9c, 0x8b, 0x94, 0x26, 0x13, 0xb4, 0x28, 0x48, 0xb4, 0x87, 0x94, 0x90, 0xf3, 0x02, 0xd8,
	0x08, 0xbb, 0xff, 0x57, 0x94, 0x3e, 0xdc, 0xea, 0x36, 0x18, 0xe2, 0xc8, 0x46, 0xd8, 0xf9, 0x0c,
	0xba, 0xfa, 0x19, 0x64, 0x91, 0x65, 0x48, 0xac, 0xdc, 0x76, 0x25, 0xf1, 0x7a, 0x27, 0x09, 0x3d,
	0xc3, 0x45, 0xa5, 0x30, 0x56, 0x02, 0xd1, 0x01, 0x5f, 0x4f, 0x9d, 0x4f, 0xa0, 0xb3, 0xe6, 0x2a,
	0x77, 0xaf, 0x5a, 0xd9, 0xd9, 0xd6, 0x95, 0x8d, 0x35, 0x41, 0x6f, 0xcb, 0xa4, 0x11, 0x40, 0x75,
	0x7c, 0xf2, 0xcb, 0x06, 0x8f, 0xfe, 0xdd, 0x84, 0x33, 0x03, 0x0f, 0xf5, 0x5c, 0x39, 0xe3, 0xe9,
	0x3c, 0x26, 0x34, 0x17, 0x29, 0x91, 0xae, 0xd5, 0x6b, 0x0d, 0x3a, 0xfe, 0xf3, 0x8d, 0xe5, 0xd5,
	0x5f, 0x83, 0x4a, 0xec, 0x63, 0x49, 0x3d, 0xa7, 0xb9, 0x58, 0x45, 0x0e, 0x6f, 0x9e, 0xa4, 0x44,
	0x3a, 0x59, 0x69, 0x96, 0x35, 0xef, 0xba, 0x76, 0x35, 0xdb, 0xdb, 0x2d, 0xb3, 0x29, 0xed, 0xa8,
	0x62, 0xae, 0x39, 0xe2, 0xf6, 0x71, 0x69, 0xbb, 0xeb, 0xcc, 0x29, 0xc0, 0x83, 0x1b, 0xdf, 0x4c,
	0xfb, 0xef, 0xfd, 0x4e, 0x05, 0x43, 0xcd, 0xbd, 0x55, 0xb2, 0x79, 0x11, 0x75, 0x51, 0x23, 0x1f,
	0xfe, 0xb1, 0x40, 0x7f, 0xce, 0xb2, 0xed, 0x7e, 0x18, 0x76, 0xaf, 0xdf, 0xa2, 0xb4, 0xea, 0x85,
	0x75, 0xf9, 0x4e, 0x93, 0x12, 0xb6, 0x40, 0x34, 0x81, 0x4c, 0x24, 0x5e, 0x42, 0x68, 0x65, 0x64,
	0xf3, 0xad, 0x79, 0x2a, 0xef, 0xf8, 0xe5, 0x6f, 0xea, 0xe8, 0x9b, 0xdd, 0x1a, 0x85, 0xe1, 0x77,
	0xfb, 0x78, 0xa4, 0x24, 0x43, 0x2c, 0xa1, 0x0a, 0xcb, 0x68, 0xe2, 0xc3, 0xc8, 0x20, 0x7f, 0x1a,
	0xcc, 0x34, 0xc4, 0x72, 0x5a, 0x63, 0xa6, 0x13, 0x7f, 0x5a, 0x63, 0x7e, 0xdb, 0x7d, 0x75, 0x11,
	0x04, 0x21, 0x96, 0x41, 0x50, 0xa3, 0x82, 0x60, 0xe2, 0x07, 0x41, 0x8d, 0x9b, 0xb5, 0xab, 0x66,
	0x4f, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, 0xc4, 0xfa, 0x1f, 0x7c, 0xf5, 0x05, 0x00, 0x00,
}
