1// Copyright 2020 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.13.0
19// source: google/ads/googleads/v3/services/recommendation_service.proto
20
21package services
22
23import (
24	context "context"
25	reflect "reflect"
26	sync "sync"
27
28	proto "github.com/golang/protobuf/proto"
29	common "google.golang.org/genproto/googleapis/ads/googleads/v3/common"
30	enums "google.golang.org/genproto/googleapis/ads/googleads/v3/enums"
31	resources "google.golang.org/genproto/googleapis/ads/googleads/v3/resources"
32	_ "google.golang.org/genproto/googleapis/api/annotations"
33	status "google.golang.org/genproto/googleapis/rpc/status"
34	grpc "google.golang.org/grpc"
35	codes "google.golang.org/grpc/codes"
36	status1 "google.golang.org/grpc/status"
37	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
38	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
39	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
40)
41
42const (
43	// Verify that this generated code is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
45	// Verify that runtime/protoimpl is sufficiently up-to-date.
46	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
47)
48
49// This is a compile-time assertion that a sufficiently up-to-date version
50// of the legacy proto package is being used.
51const _ = proto.ProtoPackageIsVersion4
52
53// Request message for [RecommendationService.GetRecommendation][google.ads.googleads.v3.services.RecommendationService.GetRecommendation].
54type GetRecommendationRequest struct {
55	state         protoimpl.MessageState
56	sizeCache     protoimpl.SizeCache
57	unknownFields protoimpl.UnknownFields
58
59	// Required. The resource name of the recommendation to fetch.
60	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
61}
62
63func (x *GetRecommendationRequest) Reset() {
64	*x = GetRecommendationRequest{}
65	if protoimpl.UnsafeEnabled {
66		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[0]
67		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
68		ms.StoreMessageInfo(mi)
69	}
70}
71
72func (x *GetRecommendationRequest) String() string {
73	return protoimpl.X.MessageStringOf(x)
74}
75
76func (*GetRecommendationRequest) ProtoMessage() {}
77
78func (x *GetRecommendationRequest) ProtoReflect() protoreflect.Message {
79	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[0]
80	if protoimpl.UnsafeEnabled && x != nil {
81		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
82		if ms.LoadMessageInfo() == nil {
83			ms.StoreMessageInfo(mi)
84		}
85		return ms
86	}
87	return mi.MessageOf(x)
88}
89
90// Deprecated: Use GetRecommendationRequest.ProtoReflect.Descriptor instead.
91func (*GetRecommendationRequest) Descriptor() ([]byte, []int) {
92	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{0}
93}
94
95func (x *GetRecommendationRequest) GetResourceName() string {
96	if x != nil {
97		return x.ResourceName
98	}
99	return ""
100}
101
102// Request message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v3.services.RecommendationService.ApplyRecommendation].
103type ApplyRecommendationRequest struct {
104	state         protoimpl.MessageState
105	sizeCache     protoimpl.SizeCache
106	unknownFields protoimpl.UnknownFields
107
108	// Required. The ID of the customer with the recommendation.
109	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
110	// Required. The list of operations to apply recommendations.
111	// If partial_failure=false all recommendations should be of the same type
112	// There is a limit of 100 operations per request.
113	Operations []*ApplyRecommendationOperation `protobuf:"bytes,2,rep,name=operations,proto3" json:"operations,omitempty"`
114	// If true, successful operations will be carried out and invalid
115	// operations will return errors. If false, operations will be carried
116	// out as a transaction if and only if they are all valid.
117	// Default is false.
118	PartialFailure bool `protobuf:"varint,3,opt,name=partial_failure,json=partialFailure,proto3" json:"partial_failure,omitempty"`
119}
120
121func (x *ApplyRecommendationRequest) Reset() {
122	*x = ApplyRecommendationRequest{}
123	if protoimpl.UnsafeEnabled {
124		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[1]
125		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
126		ms.StoreMessageInfo(mi)
127	}
128}
129
130func (x *ApplyRecommendationRequest) String() string {
131	return protoimpl.X.MessageStringOf(x)
132}
133
134func (*ApplyRecommendationRequest) ProtoMessage() {}
135
136func (x *ApplyRecommendationRequest) ProtoReflect() protoreflect.Message {
137	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[1]
138	if protoimpl.UnsafeEnabled && x != nil {
139		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
140		if ms.LoadMessageInfo() == nil {
141			ms.StoreMessageInfo(mi)
142		}
143		return ms
144	}
145	return mi.MessageOf(x)
146}
147
148// Deprecated: Use ApplyRecommendationRequest.ProtoReflect.Descriptor instead.
149func (*ApplyRecommendationRequest) Descriptor() ([]byte, []int) {
150	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{1}
151}
152
153func (x *ApplyRecommendationRequest) GetCustomerId() string {
154	if x != nil {
155		return x.CustomerId
156	}
157	return ""
158}
159
160func (x *ApplyRecommendationRequest) GetOperations() []*ApplyRecommendationOperation {
161	if x != nil {
162		return x.Operations
163	}
164	return nil
165}
166
167func (x *ApplyRecommendationRequest) GetPartialFailure() bool {
168	if x != nil {
169		return x.PartialFailure
170	}
171	return false
172}
173
174// Information about the operation to apply a recommendation and any parameters
175// to customize it.
176type ApplyRecommendationOperation struct {
177	state         protoimpl.MessageState
178	sizeCache     protoimpl.SizeCache
179	unknownFields protoimpl.UnknownFields
180
181	// The resource name of the recommendation to apply.
182	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
183	// Parameters to use when applying the recommendation.
184	//
185	// Types that are assignable to ApplyParameters:
186	//	*ApplyRecommendationOperation_CampaignBudget
187	//	*ApplyRecommendationOperation_TextAd
188	//	*ApplyRecommendationOperation_Keyword
189	//	*ApplyRecommendationOperation_TargetCpaOptIn
190	//	*ApplyRecommendationOperation_CalloutExtension
191	//	*ApplyRecommendationOperation_CallExtension
192	//	*ApplyRecommendationOperation_SitelinkExtension
193	//	*ApplyRecommendationOperation_MoveUnusedBudget
194	ApplyParameters isApplyRecommendationOperation_ApplyParameters `protobuf_oneof:"apply_parameters"`
195}
196
197func (x *ApplyRecommendationOperation) Reset() {
198	*x = ApplyRecommendationOperation{}
199	if protoimpl.UnsafeEnabled {
200		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[2]
201		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
202		ms.StoreMessageInfo(mi)
203	}
204}
205
206func (x *ApplyRecommendationOperation) String() string {
207	return protoimpl.X.MessageStringOf(x)
208}
209
210func (*ApplyRecommendationOperation) ProtoMessage() {}
211
212func (x *ApplyRecommendationOperation) ProtoReflect() protoreflect.Message {
213	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[2]
214	if protoimpl.UnsafeEnabled && x != nil {
215		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
216		if ms.LoadMessageInfo() == nil {
217			ms.StoreMessageInfo(mi)
218		}
219		return ms
220	}
221	return mi.MessageOf(x)
222}
223
224// Deprecated: Use ApplyRecommendationOperation.ProtoReflect.Descriptor instead.
225func (*ApplyRecommendationOperation) Descriptor() ([]byte, []int) {
226	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2}
227}
228
229func (x *ApplyRecommendationOperation) GetResourceName() string {
230	if x != nil {
231		return x.ResourceName
232	}
233	return ""
234}
235
236func (m *ApplyRecommendationOperation) GetApplyParameters() isApplyRecommendationOperation_ApplyParameters {
237	if m != nil {
238		return m.ApplyParameters
239	}
240	return nil
241}
242
243func (x *ApplyRecommendationOperation) GetCampaignBudget() *ApplyRecommendationOperation_CampaignBudgetParameters {
244	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_CampaignBudget); ok {
245		return x.CampaignBudget
246	}
247	return nil
248}
249
250func (x *ApplyRecommendationOperation) GetTextAd() *ApplyRecommendationOperation_TextAdParameters {
251	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_TextAd); ok {
252		return x.TextAd
253	}
254	return nil
255}
256
257func (x *ApplyRecommendationOperation) GetKeyword() *ApplyRecommendationOperation_KeywordParameters {
258	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_Keyword); ok {
259		return x.Keyword
260	}
261	return nil
262}
263
264func (x *ApplyRecommendationOperation) GetTargetCpaOptIn() *ApplyRecommendationOperation_TargetCpaOptInParameters {
265	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_TargetCpaOptIn); ok {
266		return x.TargetCpaOptIn
267	}
268	return nil
269}
270
271func (x *ApplyRecommendationOperation) GetCalloutExtension() *ApplyRecommendationOperation_CalloutExtensionParameters {
272	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_CalloutExtension); ok {
273		return x.CalloutExtension
274	}
275	return nil
276}
277
278func (x *ApplyRecommendationOperation) GetCallExtension() *ApplyRecommendationOperation_CallExtensionParameters {
279	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_CallExtension); ok {
280		return x.CallExtension
281	}
282	return nil
283}
284
285func (x *ApplyRecommendationOperation) GetSitelinkExtension() *ApplyRecommendationOperation_SitelinkExtensionParameters {
286	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_SitelinkExtension); ok {
287		return x.SitelinkExtension
288	}
289	return nil
290}
291
292func (x *ApplyRecommendationOperation) GetMoveUnusedBudget() *ApplyRecommendationOperation_MoveUnusedBudgetParameters {
293	if x, ok := x.GetApplyParameters().(*ApplyRecommendationOperation_MoveUnusedBudget); ok {
294		return x.MoveUnusedBudget
295	}
296	return nil
297}
298
299type isApplyRecommendationOperation_ApplyParameters interface {
300	isApplyRecommendationOperation_ApplyParameters()
301}
302
303type ApplyRecommendationOperation_CampaignBudget struct {
304	// Optional parameters to use when applying a campaign budget
305	// recommendation.
306	CampaignBudget *ApplyRecommendationOperation_CampaignBudgetParameters `protobuf:"bytes,2,opt,name=campaign_budget,json=campaignBudget,proto3,oneof"`
307}
308
309type ApplyRecommendationOperation_TextAd struct {
310	// Optional parameters to use when applying a text ad recommendation.
311	TextAd *ApplyRecommendationOperation_TextAdParameters `protobuf:"bytes,3,opt,name=text_ad,json=textAd,proto3,oneof"`
312}
313
314type ApplyRecommendationOperation_Keyword struct {
315	// Optional parameters to use when applying keyword recommendation.
316	Keyword *ApplyRecommendationOperation_KeywordParameters `protobuf:"bytes,4,opt,name=keyword,proto3,oneof"`
317}
318
319type ApplyRecommendationOperation_TargetCpaOptIn struct {
320	// Optional parameters to use when applying target CPA opt-in
321	// recommendation.
322	TargetCpaOptIn *ApplyRecommendationOperation_TargetCpaOptInParameters `protobuf:"bytes,5,opt,name=target_cpa_opt_in,json=targetCpaOptIn,proto3,oneof"`
323}
324
325type ApplyRecommendationOperation_CalloutExtension struct {
326	// Parameters to use when applying callout extension recommendation.
327	CalloutExtension *ApplyRecommendationOperation_CalloutExtensionParameters `protobuf:"bytes,6,opt,name=callout_extension,json=calloutExtension,proto3,oneof"`
328}
329
330type ApplyRecommendationOperation_CallExtension struct {
331	// Parameters to use when applying call extension recommendation.
332	CallExtension *ApplyRecommendationOperation_CallExtensionParameters `protobuf:"bytes,7,opt,name=call_extension,json=callExtension,proto3,oneof"`
333}
334
335type ApplyRecommendationOperation_SitelinkExtension struct {
336	// Parameters to use when applying sitelink extension recommendation.
337	SitelinkExtension *ApplyRecommendationOperation_SitelinkExtensionParameters `protobuf:"bytes,8,opt,name=sitelink_extension,json=sitelinkExtension,proto3,oneof"`
338}
339
340type ApplyRecommendationOperation_MoveUnusedBudget struct {
341	// Parameters to use when applying move unused budget recommendation.
342	MoveUnusedBudget *ApplyRecommendationOperation_MoveUnusedBudgetParameters `protobuf:"bytes,9,opt,name=move_unused_budget,json=moveUnusedBudget,proto3,oneof"`
343}
344
345func (*ApplyRecommendationOperation_CampaignBudget) isApplyRecommendationOperation_ApplyParameters() {
346}
347
348func (*ApplyRecommendationOperation_TextAd) isApplyRecommendationOperation_ApplyParameters() {}
349
350func (*ApplyRecommendationOperation_Keyword) isApplyRecommendationOperation_ApplyParameters() {}
351
352func (*ApplyRecommendationOperation_TargetCpaOptIn) isApplyRecommendationOperation_ApplyParameters() {
353}
354
355func (*ApplyRecommendationOperation_CalloutExtension) isApplyRecommendationOperation_ApplyParameters() {
356}
357
358func (*ApplyRecommendationOperation_CallExtension) isApplyRecommendationOperation_ApplyParameters() {}
359
360func (*ApplyRecommendationOperation_SitelinkExtension) isApplyRecommendationOperation_ApplyParameters() {
361}
362
363func (*ApplyRecommendationOperation_MoveUnusedBudget) isApplyRecommendationOperation_ApplyParameters() {
364}
365
366// Response message for [RecommendationService.ApplyRecommendation][google.ads.googleads.v3.services.RecommendationService.ApplyRecommendation].
367type ApplyRecommendationResponse struct {
368	state         protoimpl.MessageState
369	sizeCache     protoimpl.SizeCache
370	unknownFields protoimpl.UnknownFields
371
372	// Results of operations to apply recommendations.
373	Results []*ApplyRecommendationResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
374	// Errors that pertain to operation failures in the partial failure mode.
375	// Returned only when partial_failure = true and all errors occur inside the
376	// operations. If any errors occur outside the operations (e.g. auth errors)
377	// we return the RPC level error.
378	PartialFailureError *status.Status `protobuf:"bytes,2,opt,name=partial_failure_error,json=partialFailureError,proto3" json:"partial_failure_error,omitempty"`
379}
380
381func (x *ApplyRecommendationResponse) Reset() {
382	*x = ApplyRecommendationResponse{}
383	if protoimpl.UnsafeEnabled {
384		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[3]
385		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
386		ms.StoreMessageInfo(mi)
387	}
388}
389
390func (x *ApplyRecommendationResponse) String() string {
391	return protoimpl.X.MessageStringOf(x)
392}
393
394func (*ApplyRecommendationResponse) ProtoMessage() {}
395
396func (x *ApplyRecommendationResponse) ProtoReflect() protoreflect.Message {
397	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[3]
398	if protoimpl.UnsafeEnabled && x != nil {
399		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
400		if ms.LoadMessageInfo() == nil {
401			ms.StoreMessageInfo(mi)
402		}
403		return ms
404	}
405	return mi.MessageOf(x)
406}
407
408// Deprecated: Use ApplyRecommendationResponse.ProtoReflect.Descriptor instead.
409func (*ApplyRecommendationResponse) Descriptor() ([]byte, []int) {
410	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{3}
411}
412
413func (x *ApplyRecommendationResponse) GetResults() []*ApplyRecommendationResult {
414	if x != nil {
415		return x.Results
416	}
417	return nil
418}
419
420func (x *ApplyRecommendationResponse) GetPartialFailureError() *status.Status {
421	if x != nil {
422		return x.PartialFailureError
423	}
424	return nil
425}
426
427// The result of applying a recommendation.
428type ApplyRecommendationResult struct {
429	state         protoimpl.MessageState
430	sizeCache     protoimpl.SizeCache
431	unknownFields protoimpl.UnknownFields
432
433	// Returned for successful applies.
434	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
435}
436
437func (x *ApplyRecommendationResult) Reset() {
438	*x = ApplyRecommendationResult{}
439	if protoimpl.UnsafeEnabled {
440		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[4]
441		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
442		ms.StoreMessageInfo(mi)
443	}
444}
445
446func (x *ApplyRecommendationResult) String() string {
447	return protoimpl.X.MessageStringOf(x)
448}
449
450func (*ApplyRecommendationResult) ProtoMessage() {}
451
452func (x *ApplyRecommendationResult) ProtoReflect() protoreflect.Message {
453	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[4]
454	if protoimpl.UnsafeEnabled && x != nil {
455		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
456		if ms.LoadMessageInfo() == nil {
457			ms.StoreMessageInfo(mi)
458		}
459		return ms
460	}
461	return mi.MessageOf(x)
462}
463
464// Deprecated: Use ApplyRecommendationResult.ProtoReflect.Descriptor instead.
465func (*ApplyRecommendationResult) Descriptor() ([]byte, []int) {
466	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{4}
467}
468
469func (x *ApplyRecommendationResult) GetResourceName() string {
470	if x != nil {
471		return x.ResourceName
472	}
473	return ""
474}
475
476// Request message for [RecommendationService.DismissRecommendation][google.ads.googleads.v3.services.RecommendationService.DismissRecommendation].
477type DismissRecommendationRequest struct {
478	state         protoimpl.MessageState
479	sizeCache     protoimpl.SizeCache
480	unknownFields protoimpl.UnknownFields
481
482	// Required. The ID of the customer with the recommendation.
483	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
484	// Required. The list of operations to dismiss recommendations.
485	// If partial_failure=false all recommendations should be of the same type
486	// There is a limit of 100 operations per request.
487	Operations []*DismissRecommendationRequest_DismissRecommendationOperation `protobuf:"bytes,3,rep,name=operations,proto3" json:"operations,omitempty"`
488	// If true, successful operations will be carried out and invalid
489	// operations will return errors. If false, operations will be carried in a
490	// single transaction if and only if they are all valid.
491	// Default is false.
492	PartialFailure bool `protobuf:"varint,2,opt,name=partial_failure,json=partialFailure,proto3" json:"partial_failure,omitempty"`
493}
494
495func (x *DismissRecommendationRequest) Reset() {
496	*x = DismissRecommendationRequest{}
497	if protoimpl.UnsafeEnabled {
498		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[5]
499		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
500		ms.StoreMessageInfo(mi)
501	}
502}
503
504func (x *DismissRecommendationRequest) String() string {
505	return protoimpl.X.MessageStringOf(x)
506}
507
508func (*DismissRecommendationRequest) ProtoMessage() {}
509
510func (x *DismissRecommendationRequest) ProtoReflect() protoreflect.Message {
511	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[5]
512	if protoimpl.UnsafeEnabled && x != nil {
513		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
514		if ms.LoadMessageInfo() == nil {
515			ms.StoreMessageInfo(mi)
516		}
517		return ms
518	}
519	return mi.MessageOf(x)
520}
521
522// Deprecated: Use DismissRecommendationRequest.ProtoReflect.Descriptor instead.
523func (*DismissRecommendationRequest) Descriptor() ([]byte, []int) {
524	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{5}
525}
526
527func (x *DismissRecommendationRequest) GetCustomerId() string {
528	if x != nil {
529		return x.CustomerId
530	}
531	return ""
532}
533
534func (x *DismissRecommendationRequest) GetOperations() []*DismissRecommendationRequest_DismissRecommendationOperation {
535	if x != nil {
536		return x.Operations
537	}
538	return nil
539}
540
541func (x *DismissRecommendationRequest) GetPartialFailure() bool {
542	if x != nil {
543		return x.PartialFailure
544	}
545	return false
546}
547
548// Response message for [RecommendationService.DismissRecommendation][google.ads.googleads.v3.services.RecommendationService.DismissRecommendation].
549type DismissRecommendationResponse struct {
550	state         protoimpl.MessageState
551	sizeCache     protoimpl.SizeCache
552	unknownFields protoimpl.UnknownFields
553
554	// Results of operations to dismiss recommendations.
555	Results []*DismissRecommendationResponse_DismissRecommendationResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
556	// Errors that pertain to operation failures in the partial failure mode.
557	// Returned only when partial_failure = true and all errors occur inside the
558	// operations. If any errors occur outside the operations (e.g. auth errors)
559	// we return the RPC level error.
560	PartialFailureError *status.Status `protobuf:"bytes,2,opt,name=partial_failure_error,json=partialFailureError,proto3" json:"partial_failure_error,omitempty"`
561}
562
563func (x *DismissRecommendationResponse) Reset() {
564	*x = DismissRecommendationResponse{}
565	if protoimpl.UnsafeEnabled {
566		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[6]
567		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
568		ms.StoreMessageInfo(mi)
569	}
570}
571
572func (x *DismissRecommendationResponse) String() string {
573	return protoimpl.X.MessageStringOf(x)
574}
575
576func (*DismissRecommendationResponse) ProtoMessage() {}
577
578func (x *DismissRecommendationResponse) ProtoReflect() protoreflect.Message {
579	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[6]
580	if protoimpl.UnsafeEnabled && x != nil {
581		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
582		if ms.LoadMessageInfo() == nil {
583			ms.StoreMessageInfo(mi)
584		}
585		return ms
586	}
587	return mi.MessageOf(x)
588}
589
590// Deprecated: Use DismissRecommendationResponse.ProtoReflect.Descriptor instead.
591func (*DismissRecommendationResponse) Descriptor() ([]byte, []int) {
592	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{6}
593}
594
595func (x *DismissRecommendationResponse) GetResults() []*DismissRecommendationResponse_DismissRecommendationResult {
596	if x != nil {
597		return x.Results
598	}
599	return nil
600}
601
602func (x *DismissRecommendationResponse) GetPartialFailureError() *status.Status {
603	if x != nil {
604		return x.PartialFailureError
605	}
606	return nil
607}
608
609// Parameters to use when applying a campaign budget recommendation.
610type ApplyRecommendationOperation_CampaignBudgetParameters struct {
611	state         protoimpl.MessageState
612	sizeCache     protoimpl.SizeCache
613	unknownFields protoimpl.UnknownFields
614
615	// New budget amount to set for target budget resource. This is a required
616	// field.
617	NewBudgetAmountMicros *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=new_budget_amount_micros,json=newBudgetAmountMicros,proto3" json:"new_budget_amount_micros,omitempty"`
618}
619
620func (x *ApplyRecommendationOperation_CampaignBudgetParameters) Reset() {
621	*x = ApplyRecommendationOperation_CampaignBudgetParameters{}
622	if protoimpl.UnsafeEnabled {
623		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[7]
624		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
625		ms.StoreMessageInfo(mi)
626	}
627}
628
629func (x *ApplyRecommendationOperation_CampaignBudgetParameters) String() string {
630	return protoimpl.X.MessageStringOf(x)
631}
632
633func (*ApplyRecommendationOperation_CampaignBudgetParameters) ProtoMessage() {}
634
635func (x *ApplyRecommendationOperation_CampaignBudgetParameters) ProtoReflect() protoreflect.Message {
636	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[7]
637	if protoimpl.UnsafeEnabled && x != nil {
638		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
639		if ms.LoadMessageInfo() == nil {
640			ms.StoreMessageInfo(mi)
641		}
642		return ms
643	}
644	return mi.MessageOf(x)
645}
646
647// Deprecated: Use ApplyRecommendationOperation_CampaignBudgetParameters.ProtoReflect.Descriptor instead.
648func (*ApplyRecommendationOperation_CampaignBudgetParameters) Descriptor() ([]byte, []int) {
649	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 0}
650}
651
652func (x *ApplyRecommendationOperation_CampaignBudgetParameters) GetNewBudgetAmountMicros() *wrapperspb.Int64Value {
653	if x != nil {
654		return x.NewBudgetAmountMicros
655	}
656	return nil
657}
658
659// Parameters to use when applying a text ad recommendation.
660type ApplyRecommendationOperation_TextAdParameters struct {
661	state         protoimpl.MessageState
662	sizeCache     protoimpl.SizeCache
663	unknownFields protoimpl.UnknownFields
664
665	// New ad to add to recommended ad group. All necessary fields need to be
666	// set in this message. This is a required field.
667	Ad *resources.Ad `protobuf:"bytes,1,opt,name=ad,proto3" json:"ad,omitempty"`
668}
669
670func (x *ApplyRecommendationOperation_TextAdParameters) Reset() {
671	*x = ApplyRecommendationOperation_TextAdParameters{}
672	if protoimpl.UnsafeEnabled {
673		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[8]
674		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
675		ms.StoreMessageInfo(mi)
676	}
677}
678
679func (x *ApplyRecommendationOperation_TextAdParameters) String() string {
680	return protoimpl.X.MessageStringOf(x)
681}
682
683func (*ApplyRecommendationOperation_TextAdParameters) ProtoMessage() {}
684
685func (x *ApplyRecommendationOperation_TextAdParameters) ProtoReflect() protoreflect.Message {
686	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[8]
687	if protoimpl.UnsafeEnabled && x != nil {
688		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
689		if ms.LoadMessageInfo() == nil {
690			ms.StoreMessageInfo(mi)
691		}
692		return ms
693	}
694	return mi.MessageOf(x)
695}
696
697// Deprecated: Use ApplyRecommendationOperation_TextAdParameters.ProtoReflect.Descriptor instead.
698func (*ApplyRecommendationOperation_TextAdParameters) Descriptor() ([]byte, []int) {
699	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 1}
700}
701
702func (x *ApplyRecommendationOperation_TextAdParameters) GetAd() *resources.Ad {
703	if x != nil {
704		return x.Ad
705	}
706	return nil
707}
708
709// Parameters to use when applying keyword recommendation.
710type ApplyRecommendationOperation_KeywordParameters struct {
711	state         protoimpl.MessageState
712	sizeCache     protoimpl.SizeCache
713	unknownFields protoimpl.UnknownFields
714
715	// The ad group resource to add keyword to. This is a required field.
716	AdGroup *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=ad_group,json=adGroup,proto3" json:"ad_group,omitempty"`
717	// The match type of the keyword. This is a required field.
718	MatchType enums.KeywordMatchTypeEnum_KeywordMatchType `protobuf:"varint,2,opt,name=match_type,json=matchType,proto3,enum=google.ads.googleads.v3.enums.KeywordMatchTypeEnum_KeywordMatchType" json:"match_type,omitempty"`
719	// Optional, CPC bid to set for the keyword. If not set, keyword will use
720	// bid based on bidding strategy used by target ad group.
721	CpcBidMicros *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=cpc_bid_micros,json=cpcBidMicros,proto3" json:"cpc_bid_micros,omitempty"`
722}
723
724func (x *ApplyRecommendationOperation_KeywordParameters) Reset() {
725	*x = ApplyRecommendationOperation_KeywordParameters{}
726	if protoimpl.UnsafeEnabled {
727		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[9]
728		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
729		ms.StoreMessageInfo(mi)
730	}
731}
732
733func (x *ApplyRecommendationOperation_KeywordParameters) String() string {
734	return protoimpl.X.MessageStringOf(x)
735}
736
737func (*ApplyRecommendationOperation_KeywordParameters) ProtoMessage() {}
738
739func (x *ApplyRecommendationOperation_KeywordParameters) ProtoReflect() protoreflect.Message {
740	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[9]
741	if protoimpl.UnsafeEnabled && x != nil {
742		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
743		if ms.LoadMessageInfo() == nil {
744			ms.StoreMessageInfo(mi)
745		}
746		return ms
747	}
748	return mi.MessageOf(x)
749}
750
751// Deprecated: Use ApplyRecommendationOperation_KeywordParameters.ProtoReflect.Descriptor instead.
752func (*ApplyRecommendationOperation_KeywordParameters) Descriptor() ([]byte, []int) {
753	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 2}
754}
755
756func (x *ApplyRecommendationOperation_KeywordParameters) GetAdGroup() *wrapperspb.StringValue {
757	if x != nil {
758		return x.AdGroup
759	}
760	return nil
761}
762
763func (x *ApplyRecommendationOperation_KeywordParameters) GetMatchType() enums.KeywordMatchTypeEnum_KeywordMatchType {
764	if x != nil {
765		return x.MatchType
766	}
767	return enums.KeywordMatchTypeEnum_UNSPECIFIED
768}
769
770func (x *ApplyRecommendationOperation_KeywordParameters) GetCpcBidMicros() *wrapperspb.Int64Value {
771	if x != nil {
772		return x.CpcBidMicros
773	}
774	return nil
775}
776
777// Parameters to use when applying Target CPA recommendation.
778type ApplyRecommendationOperation_TargetCpaOptInParameters struct {
779	state         protoimpl.MessageState
780	sizeCache     protoimpl.SizeCache
781	unknownFields protoimpl.UnknownFields
782
783	// Average CPA to use for Target CPA bidding strategy. This is a required
784	// field.
785	TargetCpaMicros *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=target_cpa_micros,json=targetCpaMicros,proto3" json:"target_cpa_micros,omitempty"`
786	// Optional, budget amount to set for the campaign.
787	NewCampaignBudgetAmountMicros *wrapperspb.Int64Value `protobuf:"bytes,2,opt,name=new_campaign_budget_amount_micros,json=newCampaignBudgetAmountMicros,proto3" json:"new_campaign_budget_amount_micros,omitempty"`
788}
789
790func (x *ApplyRecommendationOperation_TargetCpaOptInParameters) Reset() {
791	*x = ApplyRecommendationOperation_TargetCpaOptInParameters{}
792	if protoimpl.UnsafeEnabled {
793		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[10]
794		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
795		ms.StoreMessageInfo(mi)
796	}
797}
798
799func (x *ApplyRecommendationOperation_TargetCpaOptInParameters) String() string {
800	return protoimpl.X.MessageStringOf(x)
801}
802
803func (*ApplyRecommendationOperation_TargetCpaOptInParameters) ProtoMessage() {}
804
805func (x *ApplyRecommendationOperation_TargetCpaOptInParameters) ProtoReflect() protoreflect.Message {
806	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[10]
807	if protoimpl.UnsafeEnabled && x != nil {
808		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
809		if ms.LoadMessageInfo() == nil {
810			ms.StoreMessageInfo(mi)
811		}
812		return ms
813	}
814	return mi.MessageOf(x)
815}
816
817// Deprecated: Use ApplyRecommendationOperation_TargetCpaOptInParameters.ProtoReflect.Descriptor instead.
818func (*ApplyRecommendationOperation_TargetCpaOptInParameters) Descriptor() ([]byte, []int) {
819	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 3}
820}
821
822func (x *ApplyRecommendationOperation_TargetCpaOptInParameters) GetTargetCpaMicros() *wrapperspb.Int64Value {
823	if x != nil {
824		return x.TargetCpaMicros
825	}
826	return nil
827}
828
829func (x *ApplyRecommendationOperation_TargetCpaOptInParameters) GetNewCampaignBudgetAmountMicros() *wrapperspb.Int64Value {
830	if x != nil {
831		return x.NewCampaignBudgetAmountMicros
832	}
833	return nil
834}
835
836// Parameters to use when applying callout extension recommendation.
837type ApplyRecommendationOperation_CalloutExtensionParameters struct {
838	state         protoimpl.MessageState
839	sizeCache     protoimpl.SizeCache
840	unknownFields protoimpl.UnknownFields
841
842	// Callout extensions to be added. This is a required field.
843	CalloutExtensions []*common.CalloutFeedItem `protobuf:"bytes,1,rep,name=callout_extensions,json=calloutExtensions,proto3" json:"callout_extensions,omitempty"`
844}
845
846func (x *ApplyRecommendationOperation_CalloutExtensionParameters) Reset() {
847	*x = ApplyRecommendationOperation_CalloutExtensionParameters{}
848	if protoimpl.UnsafeEnabled {
849		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[11]
850		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
851		ms.StoreMessageInfo(mi)
852	}
853}
854
855func (x *ApplyRecommendationOperation_CalloutExtensionParameters) String() string {
856	return protoimpl.X.MessageStringOf(x)
857}
858
859func (*ApplyRecommendationOperation_CalloutExtensionParameters) ProtoMessage() {}
860
861func (x *ApplyRecommendationOperation_CalloutExtensionParameters) ProtoReflect() protoreflect.Message {
862	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[11]
863	if protoimpl.UnsafeEnabled && x != nil {
864		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
865		if ms.LoadMessageInfo() == nil {
866			ms.StoreMessageInfo(mi)
867		}
868		return ms
869	}
870	return mi.MessageOf(x)
871}
872
873// Deprecated: Use ApplyRecommendationOperation_CalloutExtensionParameters.ProtoReflect.Descriptor instead.
874func (*ApplyRecommendationOperation_CalloutExtensionParameters) Descriptor() ([]byte, []int) {
875	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 4}
876}
877
878func (x *ApplyRecommendationOperation_CalloutExtensionParameters) GetCalloutExtensions() []*common.CalloutFeedItem {
879	if x != nil {
880		return x.CalloutExtensions
881	}
882	return nil
883}
884
885// Parameters to use when applying call extension recommendation.
886type ApplyRecommendationOperation_CallExtensionParameters struct {
887	state         protoimpl.MessageState
888	sizeCache     protoimpl.SizeCache
889	unknownFields protoimpl.UnknownFields
890
891	// Call extensions to be added. This is a required field.
892	CallExtensions []*common.CallFeedItem `protobuf:"bytes,1,rep,name=call_extensions,json=callExtensions,proto3" json:"call_extensions,omitempty"`
893}
894
895func (x *ApplyRecommendationOperation_CallExtensionParameters) Reset() {
896	*x = ApplyRecommendationOperation_CallExtensionParameters{}
897	if protoimpl.UnsafeEnabled {
898		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[12]
899		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
900		ms.StoreMessageInfo(mi)
901	}
902}
903
904func (x *ApplyRecommendationOperation_CallExtensionParameters) String() string {
905	return protoimpl.X.MessageStringOf(x)
906}
907
908func (*ApplyRecommendationOperation_CallExtensionParameters) ProtoMessage() {}
909
910func (x *ApplyRecommendationOperation_CallExtensionParameters) ProtoReflect() protoreflect.Message {
911	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[12]
912	if protoimpl.UnsafeEnabled && x != nil {
913		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
914		if ms.LoadMessageInfo() == nil {
915			ms.StoreMessageInfo(mi)
916		}
917		return ms
918	}
919	return mi.MessageOf(x)
920}
921
922// Deprecated: Use ApplyRecommendationOperation_CallExtensionParameters.ProtoReflect.Descriptor instead.
923func (*ApplyRecommendationOperation_CallExtensionParameters) Descriptor() ([]byte, []int) {
924	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 5}
925}
926
927func (x *ApplyRecommendationOperation_CallExtensionParameters) GetCallExtensions() []*common.CallFeedItem {
928	if x != nil {
929		return x.CallExtensions
930	}
931	return nil
932}
933
934// Parameters to use when applying sitelink extension recommendation.
935type ApplyRecommendationOperation_SitelinkExtensionParameters struct {
936	state         protoimpl.MessageState
937	sizeCache     protoimpl.SizeCache
938	unknownFields protoimpl.UnknownFields
939
940	// Sitelink extensions to be added. This is a required field.
941	SitelinkExtensions []*common.SitelinkFeedItem `protobuf:"bytes,1,rep,name=sitelink_extensions,json=sitelinkExtensions,proto3" json:"sitelink_extensions,omitempty"`
942}
943
944func (x *ApplyRecommendationOperation_SitelinkExtensionParameters) Reset() {
945	*x = ApplyRecommendationOperation_SitelinkExtensionParameters{}
946	if protoimpl.UnsafeEnabled {
947		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[13]
948		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
949		ms.StoreMessageInfo(mi)
950	}
951}
952
953func (x *ApplyRecommendationOperation_SitelinkExtensionParameters) String() string {
954	return protoimpl.X.MessageStringOf(x)
955}
956
957func (*ApplyRecommendationOperation_SitelinkExtensionParameters) ProtoMessage() {}
958
959func (x *ApplyRecommendationOperation_SitelinkExtensionParameters) ProtoReflect() protoreflect.Message {
960	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[13]
961	if protoimpl.UnsafeEnabled && x != nil {
962		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963		if ms.LoadMessageInfo() == nil {
964			ms.StoreMessageInfo(mi)
965		}
966		return ms
967	}
968	return mi.MessageOf(x)
969}
970
971// Deprecated: Use ApplyRecommendationOperation_SitelinkExtensionParameters.ProtoReflect.Descriptor instead.
972func (*ApplyRecommendationOperation_SitelinkExtensionParameters) Descriptor() ([]byte, []int) {
973	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 6}
974}
975
976func (x *ApplyRecommendationOperation_SitelinkExtensionParameters) GetSitelinkExtensions() []*common.SitelinkFeedItem {
977	if x != nil {
978		return x.SitelinkExtensions
979	}
980	return nil
981}
982
983// Parameters to use when applying move unused budget recommendation.
984type ApplyRecommendationOperation_MoveUnusedBudgetParameters struct {
985	state         protoimpl.MessageState
986	sizeCache     protoimpl.SizeCache
987	unknownFields protoimpl.UnknownFields
988
989	// Budget amount to move from excess budget to constrained budget. This is
990	// a required field.
991	BudgetMicrosToMove *wrapperspb.Int64Value `protobuf:"bytes,1,opt,name=budget_micros_to_move,json=budgetMicrosToMove,proto3" json:"budget_micros_to_move,omitempty"`
992}
993
994func (x *ApplyRecommendationOperation_MoveUnusedBudgetParameters) Reset() {
995	*x = ApplyRecommendationOperation_MoveUnusedBudgetParameters{}
996	if protoimpl.UnsafeEnabled {
997		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[14]
998		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
999		ms.StoreMessageInfo(mi)
1000	}
1001}
1002
1003func (x *ApplyRecommendationOperation_MoveUnusedBudgetParameters) String() string {
1004	return protoimpl.X.MessageStringOf(x)
1005}
1006
1007func (*ApplyRecommendationOperation_MoveUnusedBudgetParameters) ProtoMessage() {}
1008
1009func (x *ApplyRecommendationOperation_MoveUnusedBudgetParameters) ProtoReflect() protoreflect.Message {
1010	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[14]
1011	if protoimpl.UnsafeEnabled && x != nil {
1012		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1013		if ms.LoadMessageInfo() == nil {
1014			ms.StoreMessageInfo(mi)
1015		}
1016		return ms
1017	}
1018	return mi.MessageOf(x)
1019}
1020
1021// Deprecated: Use ApplyRecommendationOperation_MoveUnusedBudgetParameters.ProtoReflect.Descriptor instead.
1022func (*ApplyRecommendationOperation_MoveUnusedBudgetParameters) Descriptor() ([]byte, []int) {
1023	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{2, 7}
1024}
1025
1026func (x *ApplyRecommendationOperation_MoveUnusedBudgetParameters) GetBudgetMicrosToMove() *wrapperspb.Int64Value {
1027	if x != nil {
1028		return x.BudgetMicrosToMove
1029	}
1030	return nil
1031}
1032
1033// Operation to dismiss a single recommendation identified by resource_name.
1034type DismissRecommendationRequest_DismissRecommendationOperation struct {
1035	state         protoimpl.MessageState
1036	sizeCache     protoimpl.SizeCache
1037	unknownFields protoimpl.UnknownFields
1038
1039	// The resource name of the recommendation to dismiss.
1040	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
1041}
1042
1043func (x *DismissRecommendationRequest_DismissRecommendationOperation) Reset() {
1044	*x = DismissRecommendationRequest_DismissRecommendationOperation{}
1045	if protoimpl.UnsafeEnabled {
1046		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[15]
1047		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1048		ms.StoreMessageInfo(mi)
1049	}
1050}
1051
1052func (x *DismissRecommendationRequest_DismissRecommendationOperation) String() string {
1053	return protoimpl.X.MessageStringOf(x)
1054}
1055
1056func (*DismissRecommendationRequest_DismissRecommendationOperation) ProtoMessage() {}
1057
1058func (x *DismissRecommendationRequest_DismissRecommendationOperation) ProtoReflect() protoreflect.Message {
1059	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[15]
1060	if protoimpl.UnsafeEnabled && x != nil {
1061		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1062		if ms.LoadMessageInfo() == nil {
1063			ms.StoreMessageInfo(mi)
1064		}
1065		return ms
1066	}
1067	return mi.MessageOf(x)
1068}
1069
1070// Deprecated: Use DismissRecommendationRequest_DismissRecommendationOperation.ProtoReflect.Descriptor instead.
1071func (*DismissRecommendationRequest_DismissRecommendationOperation) Descriptor() ([]byte, []int) {
1072	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{5, 0}
1073}
1074
1075func (x *DismissRecommendationRequest_DismissRecommendationOperation) GetResourceName() string {
1076	if x != nil {
1077		return x.ResourceName
1078	}
1079	return ""
1080}
1081
1082// The result of dismissing a recommendation.
1083type DismissRecommendationResponse_DismissRecommendationResult struct {
1084	state         protoimpl.MessageState
1085	sizeCache     protoimpl.SizeCache
1086	unknownFields protoimpl.UnknownFields
1087
1088	// Returned for successful dismissals.
1089	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
1090}
1091
1092func (x *DismissRecommendationResponse_DismissRecommendationResult) Reset() {
1093	*x = DismissRecommendationResponse_DismissRecommendationResult{}
1094	if protoimpl.UnsafeEnabled {
1095		mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[16]
1096		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1097		ms.StoreMessageInfo(mi)
1098	}
1099}
1100
1101func (x *DismissRecommendationResponse_DismissRecommendationResult) String() string {
1102	return protoimpl.X.MessageStringOf(x)
1103}
1104
1105func (*DismissRecommendationResponse_DismissRecommendationResult) ProtoMessage() {}
1106
1107func (x *DismissRecommendationResponse_DismissRecommendationResult) ProtoReflect() protoreflect.Message {
1108	mi := &file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[16]
1109	if protoimpl.UnsafeEnabled && x != nil {
1110		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1111		if ms.LoadMessageInfo() == nil {
1112			ms.StoreMessageInfo(mi)
1113		}
1114		return ms
1115	}
1116	return mi.MessageOf(x)
1117}
1118
1119// Deprecated: Use DismissRecommendationResponse_DismissRecommendationResult.ProtoReflect.Descriptor instead.
1120func (*DismissRecommendationResponse_DismissRecommendationResult) Descriptor() ([]byte, []int) {
1121	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP(), []int{6, 0}
1122}
1123
1124func (x *DismissRecommendationResponse_DismissRecommendationResult) GetResourceName() string {
1125	if x != nil {
1126		return x.ResourceName
1127	}
1128	return ""
1129}
1130
1131var File_google_ads_googleads_v3_services_recommendation_service_proto protoreflect.FileDescriptor
1132
1133var file_google_ads_googleads_v3_services_recommendation_service_proto_rawDesc = []byte{
1134	0x0a, 0x3d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
1135	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
1136	0x65, 0x73, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f,
1137	0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
1138	0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1139	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1140	0x73, 0x1a, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f,
1141	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
1142	0x6e, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f,
1143	0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67,
1144	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x65, 0x6e, 0x75, 0x6d,
1145	0x73, 0x2f, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f,
1146	0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x67, 0x6f, 0x6f, 0x67,
1147	0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
1148	0x2f, 0x76, 0x33, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x64,
1149	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
1150	0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x33, 0x2f,
1151	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
1152	0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c,
1153	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74,
1154	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f,
1155	0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e,
1156	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
1157	0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72,
1158	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61,
1159	0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1160	0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1161	0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1162	0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74,
1163	0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x70, 0x0a, 0x18, 0x47, 0x65,
1164	0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
1165	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x54, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
1166	0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0xe0,
1167	0x41, 0x02, 0xfa, 0x41, 0x29, 0x0a, 0x27, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
1168	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
1169	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c,
1170	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xd0, 0x01, 0x0a,
1171	0x1a, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61,
1172	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x63,
1173	0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
1174	0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49,
1175	0x64, 0x12, 0x63, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
1176	0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1177	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e,
1178	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65,
1179	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72,
1180	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72,
1181	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61,
1182	0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52,
1183	0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x22,
1184	0xc5, 0x11, 0x0a, 0x1c, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
1185	0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1186	0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
1187	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
1188	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x82, 0x01, 0x0a, 0x0f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69,
1189	0x67, 0x6e, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
1190	0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
1191	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
1192	0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
1193	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e,
1194	0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x50, 0x61,
1195	0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x63, 0x61, 0x6d, 0x70,
1196	0x61, 0x69, 0x67, 0x6e, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x6a, 0x0a, 0x07, 0x74, 0x65,
1197	0x78, 0x74, 0x5f, 0x61, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x67, 0x6f,
1198	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1199	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41,
1200	0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69,
1201	0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x54, 0x65, 0x78, 0x74,
1202	0x41, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x06,
1203	0x74, 0x65, 0x78, 0x74, 0x41, 0x64, 0x12, 0x6c, 0x0a, 0x07, 0x6b, 0x65, 0x79, 0x77, 0x6f, 0x72,
1204	0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1205	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
1206	0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79,
1207	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70,
1208	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x50,
1209	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x07, 0x6b, 0x65, 0x79,
1210	0x77, 0x6f, 0x72, 0x64, 0x12, 0x84, 0x01, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f,
1211	0x63, 0x70, 0x61, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
1212	0x32, 0x57, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f,
1213	0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
1214	0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65,
1215	0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1216	0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x43, 0x70, 0x61, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x50,
1217	0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0e, 0x74, 0x61, 0x72,
1218	0x67, 0x65, 0x74, 0x43, 0x70, 0x61, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x12, 0x88, 0x01, 0x0a, 0x11,
1219	0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
1220	0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1221	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
1222	0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79,
1223	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70,
1224	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x45,
1225	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
1226	0x72, 0x73, 0x48, 0x00, 0x52, 0x10, 0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x45, 0x78, 0x74,
1227	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7f, 0x0a, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x65,
1228	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x56,
1229	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1230	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1231	0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64,
1232	0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43,
1233	0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61,
1234	0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x45, 0x78,
1235	0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8b, 0x01, 0x0a, 0x12, 0x73, 0x69, 0x74, 0x65,
1236	0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08,
1237	0x20, 0x01, 0x28, 0x0b, 0x32, 0x5a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
1238	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73,
1239	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63,
1240	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61,
1241	0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x45, 0x78, 0x74,
1242	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
1243	0x48, 0x00, 0x52, 0x11, 0x73, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x45, 0x78, 0x74, 0x65,
1244	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x89, 0x01, 0x0a, 0x12, 0x6d, 0x6f, 0x76, 0x65, 0x5f, 0x75,
1245	0x6e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x18, 0x09, 0x20, 0x01,
1246	0x28, 0x0b, 0x32, 0x59, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e,
1247	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72,
1248	0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d,
1249	0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
1250	0x6f, 0x6e, 0x2e, 0x4d, 0x6f, 0x76, 0x65, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x42, 0x75, 0x64,
1251	0x67, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x48, 0x00, 0x52,
1252	0x10, 0x6d, 0x6f, 0x76, 0x65, 0x55, 0x6e, 0x75, 0x73, 0x65, 0x64, 0x42, 0x75, 0x64, 0x67, 0x65,
1253	0x74, 0x1a, 0x70, 0x0a, 0x18, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x42, 0x75, 0x64,
1254	0x67, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a,
1255	0x18, 0x6e, 0x65, 0x77, 0x5f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75,
1256	0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
1257	0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
1258	0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x15, 0x6e, 0x65,
1259	0x77, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x63,
1260	0x72, 0x6f, 0x73, 0x1a, 0x49, 0x0a, 0x10, 0x54, 0x65, 0x78, 0x74, 0x41, 0x64, 0x50, 0x61, 0x72,
1261	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x02, 0x61, 0x64, 0x18, 0x01, 0x20,
1262	0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73,
1263	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x72, 0x65,
1264	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x64, 0x52, 0x02, 0x61, 0x64, 0x1a, 0xf4,
1265	0x01, 0x0a, 0x11, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
1266	0x74, 0x65, 0x72, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x61, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70,
1267	0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1268	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56,
1269	0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x61, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x63, 0x0a,
1270	0x0a, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
1271	0x0e, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
1272	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x65, 0x6e, 0x75, 0x6d,
1273	0x73, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79,
1274	0x70, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x2e, 0x4b, 0x65, 0x79, 0x77, 0x6f, 0x72, 0x64, 0x4d, 0x61,
1275	0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x54, 0x79,
1276	0x70, 0x65, 0x12, 0x41, 0x0a, 0x0e, 0x63, 0x70, 0x63, 0x5f, 0x62, 0x69, 0x64, 0x5f, 0x6d, 0x69,
1277	0x63, 0x72, 0x6f, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f,
1278	0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74,
1279	0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x63, 0x70, 0x63, 0x42, 0x69, 0x64, 0x4d,
1280	0x69, 0x63, 0x72, 0x6f, 0x73, 0x1a, 0xca, 0x01, 0x0a, 0x18, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74,
1281	0x43, 0x70, 0x61, 0x4f, 0x70, 0x74, 0x49, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
1282	0x72, 0x73, 0x12, 0x47, 0x0a, 0x11, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x63, 0x70, 0x61,
1283	0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
1284	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
1285	0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0f, 0x74, 0x61, 0x72, 0x67,
1286	0x65, 0x74, 0x43, 0x70, 0x61, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x12, 0x65, 0x0a, 0x21, 0x6e,
1287	0x65, 0x77, 0x5f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x62, 0x75, 0x64, 0x67,
1288	0x65, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x63, 0x72, 0x6f, 0x73,
1289	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
1290	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61,
1291	0x6c, 0x75, 0x65, 0x52, 0x1d, 0x6e, 0x65, 0x77, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e,
1292	0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x4d, 0x69, 0x63, 0x72,
1293	0x6f, 0x73, 0x1a, 0x7c, 0x0a, 0x1a, 0x43, 0x61, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x45, 0x78, 0x74,
1294	0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73,
1295	0x12, 0x5e, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65,
1296	0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67,
1297	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1298	0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61,
1299	0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x11, 0x63,
1300	0x61, 0x6c, 0x6c, 0x6f, 0x75, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73,
1301	0x1a, 0x70, 0x0a, 0x17, 0x43, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
1302	0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x55, 0x0a, 0x0f, 0x63,
1303	0x61, 0x6c, 0x6c, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01,
1304	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
1305	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63,
1306	0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x43, 0x61, 0x6c, 0x6c, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74,
1307	0x65, 0x6d, 0x52, 0x0e, 0x63, 0x61, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f,
1308	0x6e, 0x73, 0x1a, 0x80, 0x01, 0x0a, 0x1b, 0x53, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x45,
1309	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
1310	0x72, 0x73, 0x12, 0x61, 0x0a, 0x13, 0x73, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x5f, 0x65,
1311	0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
1312	0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
1313	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
1314	0x2e, 0x53, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x46, 0x65, 0x65, 0x64, 0x49, 0x74, 0x65,
1315	0x6d, 0x52, 0x12, 0x73, 0x69, 0x74, 0x65, 0x6c, 0x69, 0x6e, 0x6b, 0x45, 0x78, 0x74, 0x65, 0x6e,
1316	0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6c, 0x0a, 0x1a, 0x4d, 0x6f, 0x76, 0x65, 0x55, 0x6e, 0x75,
1317	0x73, 0x65, 0x64, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74,
1318	0x65, 0x72, 0x73, 0x12, 0x4e, 0x0a, 0x15, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x69,
1319	0x63, 0x72, 0x6f, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01,
1320	0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1321	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
1322	0x12, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x4d, 0x69, 0x63, 0x72, 0x6f, 0x73, 0x54, 0x6f, 0x4d,
1323	0x6f, 0x76, 0x65, 0x42, 0x12, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x5f, 0x70, 0x61, 0x72,
1324	0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x22, 0xbc, 0x01, 0x0a, 0x1b, 0x41, 0x70, 0x70, 0x6c,
1325	0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
1326	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
1327	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
1328	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
1329	0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70, 0x6c,
1330	0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
1331	0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x46,
1332	0x0a, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72,
1333	0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
1334	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
1335	0x73, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72,
1336	0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x40, 0x0a, 0x19, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52,
1337	0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73,
1338	0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
1339	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f,
1340	0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb9, 0x02, 0x0a, 0x1c, 0x44, 0x69, 0x73,
1341	0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69,
1342	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x75, 0x73,
1343	0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
1344	0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12,
1345	0x82, 0x01, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03,
1346	0x20, 0x03, 0x28, 0x0b, 0x32, 0x5d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
1347	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73,
1348	0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52,
1349	0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
1350	0x75, 0x65, 0x73, 0x74, 0x2e, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f,
1351	0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74,
1352	0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74,
1353	0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f,
1354	0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70,
1355	0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x1a, 0x45, 0x0a,
1356	0x1e, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e,
1357	0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
1358	0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
1359	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
1360	0x4e, 0x61, 0x6d, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x1d, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73,
1361	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
1362	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x75, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
1363	0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x5b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
1364	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
1365	0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x44, 0x69, 0x73, 0x6d, 0x69,
1366	0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1367	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73,
1368	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
1369	0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x46, 0x0a,
1370	0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
1371	0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67,
1372	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
1373	0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65,
1374	0x45, 0x72, 0x72, 0x6f, 0x72, 0x1a, 0x42, 0x0a, 0x1b, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73,
1375	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
1376	0x73, 0x75, 0x6c, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
1377	0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73,
1378	0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xe8, 0x05, 0x0a, 0x15, 0x52, 0x65,
1379	0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76,
1380	0x69, 0x63, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6d,
1381	0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1382	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
1383	0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74,
1384	0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65,
1385	0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
1386	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e,
1387	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d,
1388	0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x49, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33,
1389	0x12, 0x31, 0x2f, 0x76, 0x33, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f,
1390	0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x73, 0x2f, 0x2a,
1391	0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
1392	0x2f, 0x2a, 0x7d, 0xda, 0x41, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e,
1393	0x61, 0x6d, 0x65, 0x12, 0xeb, 0x01, 0x0a, 0x13, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63,
1394	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x2e, 0x67, 0x6f,
1395	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1396	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41,
1397	0x70, 0x70, 0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69,
1398	0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
1399	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
1400	0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x41, 0x70, 0x70,
1401	0x6c, 0x79, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1402	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38,
1403	0x22, 0x33, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x73, 0x2f,
1404	0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3d, 0x2a, 0x7d, 0x2f,
1405	0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a,
1406	0x61, 0x70, 0x70, 0x6c, 0x79, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f,
1407	0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1408	0x73, 0x12, 0xf3, 0x01, 0x0a, 0x15, 0x44, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x63,
1409	0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x2e, 0x67, 0x6f,
1410	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1411	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x44,
1412	0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61,
1413	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x67, 0x6f,
1414	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
1415	0x64, 0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x44,
1416	0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61,
1417	0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x82, 0xd3,
1418	0xe4, 0x93, 0x02, 0x3a, 0x22, 0x35, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
1419	0x65, 0x72, 0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64,
1420	0x3d, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69,
1421	0x6f, 0x6e, 0x73, 0x3a, 0x64, 0x69, 0x73, 0x6d, 0x69, 0x73, 0x73, 0x3a, 0x01, 0x2a, 0xda, 0x41,
1422	0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x2c, 0x6f, 0x70, 0x65,
1423	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1b, 0xca, 0x41, 0x18, 0x67, 0x6f, 0x6f, 0x67,
1424	0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
1425	0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x81, 0x02, 0x0a, 0x24, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f,
1426	0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
1427	0x73, 0x2e, 0x76, 0x33, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x42, 0x1a, 0x52,
1428	0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72,
1429	0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x6f, 0x6f,
1430	0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67,
1431	0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
1432	0x69, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
1433	0x2f, 0x76, 0x33, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72,
1434	0x76, 0x69, 0x63, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 0x20, 0x47, 0x6f,
1435	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41,
1436	0x64, 0x73, 0x2e, 0x56, 0x33, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0xca, 0x02,
1437	0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f, 0x67,
1438	0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x33, 0x5c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
1439	0x73, 0xea, 0x02, 0x24, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73, 0x3a,
1440	0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x3a, 0x3a,
1441	0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1442}
1443
1444var (
1445	file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescOnce sync.Once
1446	file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescData = file_google_ads_googleads_v3_services_recommendation_service_proto_rawDesc
1447)
1448
1449func file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescGZIP() []byte {
1450	file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescOnce.Do(func() {
1451		file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescData)
1452	})
1453	return file_google_ads_googleads_v3_services_recommendation_service_proto_rawDescData
1454}
1455
1456var file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes = make([]protoimpl.MessageInfo, 17)
1457var file_google_ads_googleads_v3_services_recommendation_service_proto_goTypes = []interface{}{
1458	(*GetRecommendationRequest)(nil),                                    // 0: google.ads.googleads.v3.services.GetRecommendationRequest
1459	(*ApplyRecommendationRequest)(nil),                                  // 1: google.ads.googleads.v3.services.ApplyRecommendationRequest
1460	(*ApplyRecommendationOperation)(nil),                                // 2: google.ads.googleads.v3.services.ApplyRecommendationOperation
1461	(*ApplyRecommendationResponse)(nil),                                 // 3: google.ads.googleads.v3.services.ApplyRecommendationResponse
1462	(*ApplyRecommendationResult)(nil),                                   // 4: google.ads.googleads.v3.services.ApplyRecommendationResult
1463	(*DismissRecommendationRequest)(nil),                                // 5: google.ads.googleads.v3.services.DismissRecommendationRequest
1464	(*DismissRecommendationResponse)(nil),                               // 6: google.ads.googleads.v3.services.DismissRecommendationResponse
1465	(*ApplyRecommendationOperation_CampaignBudgetParameters)(nil),       // 7: google.ads.googleads.v3.services.ApplyRecommendationOperation.CampaignBudgetParameters
1466	(*ApplyRecommendationOperation_TextAdParameters)(nil),               // 8: google.ads.googleads.v3.services.ApplyRecommendationOperation.TextAdParameters
1467	(*ApplyRecommendationOperation_KeywordParameters)(nil),              // 9: google.ads.googleads.v3.services.ApplyRecommendationOperation.KeywordParameters
1468	(*ApplyRecommendationOperation_TargetCpaOptInParameters)(nil),       // 10: google.ads.googleads.v3.services.ApplyRecommendationOperation.TargetCpaOptInParameters
1469	(*ApplyRecommendationOperation_CalloutExtensionParameters)(nil),     // 11: google.ads.googleads.v3.services.ApplyRecommendationOperation.CalloutExtensionParameters
1470	(*ApplyRecommendationOperation_CallExtensionParameters)(nil),        // 12: google.ads.googleads.v3.services.ApplyRecommendationOperation.CallExtensionParameters
1471	(*ApplyRecommendationOperation_SitelinkExtensionParameters)(nil),    // 13: google.ads.googleads.v3.services.ApplyRecommendationOperation.SitelinkExtensionParameters
1472	(*ApplyRecommendationOperation_MoveUnusedBudgetParameters)(nil),     // 14: google.ads.googleads.v3.services.ApplyRecommendationOperation.MoveUnusedBudgetParameters
1473	(*DismissRecommendationRequest_DismissRecommendationOperation)(nil), // 15: google.ads.googleads.v3.services.DismissRecommendationRequest.DismissRecommendationOperation
1474	(*DismissRecommendationResponse_DismissRecommendationResult)(nil),   // 16: google.ads.googleads.v3.services.DismissRecommendationResponse.DismissRecommendationResult
1475	(*status.Status)(nil),                                               // 17: google.rpc.Status
1476	(*wrapperspb.Int64Value)(nil),                                       // 18: google.protobuf.Int64Value
1477	(*resources.Ad)(nil),                                                // 19: google.ads.googleads.v3.resources.Ad
1478	(*wrapperspb.StringValue)(nil),                                      // 20: google.protobuf.StringValue
1479	(enums.KeywordMatchTypeEnum_KeywordMatchType)(0),                    // 21: google.ads.googleads.v3.enums.KeywordMatchTypeEnum.KeywordMatchType
1480	(*common.CalloutFeedItem)(nil),                                      // 22: google.ads.googleads.v3.common.CalloutFeedItem
1481	(*common.CallFeedItem)(nil),                                         // 23: google.ads.googleads.v3.common.CallFeedItem
1482	(*common.SitelinkFeedItem)(nil),                                     // 24: google.ads.googleads.v3.common.SitelinkFeedItem
1483	(*resources.Recommendation)(nil),                                    // 25: google.ads.googleads.v3.resources.Recommendation
1484}
1485var file_google_ads_googleads_v3_services_recommendation_service_proto_depIdxs = []int32{
1486	2,  // 0: google.ads.googleads.v3.services.ApplyRecommendationRequest.operations:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation
1487	7,  // 1: google.ads.googleads.v3.services.ApplyRecommendationOperation.campaign_budget:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.CampaignBudgetParameters
1488	8,  // 2: google.ads.googleads.v3.services.ApplyRecommendationOperation.text_ad:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.TextAdParameters
1489	9,  // 3: google.ads.googleads.v3.services.ApplyRecommendationOperation.keyword:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.KeywordParameters
1490	10, // 4: google.ads.googleads.v3.services.ApplyRecommendationOperation.target_cpa_opt_in:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.TargetCpaOptInParameters
1491	11, // 5: google.ads.googleads.v3.services.ApplyRecommendationOperation.callout_extension:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.CalloutExtensionParameters
1492	12, // 6: google.ads.googleads.v3.services.ApplyRecommendationOperation.call_extension:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.CallExtensionParameters
1493	13, // 7: google.ads.googleads.v3.services.ApplyRecommendationOperation.sitelink_extension:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.SitelinkExtensionParameters
1494	14, // 8: google.ads.googleads.v3.services.ApplyRecommendationOperation.move_unused_budget:type_name -> google.ads.googleads.v3.services.ApplyRecommendationOperation.MoveUnusedBudgetParameters
1495	4,  // 9: google.ads.googleads.v3.services.ApplyRecommendationResponse.results:type_name -> google.ads.googleads.v3.services.ApplyRecommendationResult
1496	17, // 10: google.ads.googleads.v3.services.ApplyRecommendationResponse.partial_failure_error:type_name -> google.rpc.Status
1497	15, // 11: google.ads.googleads.v3.services.DismissRecommendationRequest.operations:type_name -> google.ads.googleads.v3.services.DismissRecommendationRequest.DismissRecommendationOperation
1498	16, // 12: google.ads.googleads.v3.services.DismissRecommendationResponse.results:type_name -> google.ads.googleads.v3.services.DismissRecommendationResponse.DismissRecommendationResult
1499	17, // 13: google.ads.googleads.v3.services.DismissRecommendationResponse.partial_failure_error:type_name -> google.rpc.Status
1500	18, // 14: google.ads.googleads.v3.services.ApplyRecommendationOperation.CampaignBudgetParameters.new_budget_amount_micros:type_name -> google.protobuf.Int64Value
1501	19, // 15: google.ads.googleads.v3.services.ApplyRecommendationOperation.TextAdParameters.ad:type_name -> google.ads.googleads.v3.resources.Ad
1502	20, // 16: google.ads.googleads.v3.services.ApplyRecommendationOperation.KeywordParameters.ad_group:type_name -> google.protobuf.StringValue
1503	21, // 17: google.ads.googleads.v3.services.ApplyRecommendationOperation.KeywordParameters.match_type:type_name -> google.ads.googleads.v3.enums.KeywordMatchTypeEnum.KeywordMatchType
1504	18, // 18: google.ads.googleads.v3.services.ApplyRecommendationOperation.KeywordParameters.cpc_bid_micros:type_name -> google.protobuf.Int64Value
1505	18, // 19: google.ads.googleads.v3.services.ApplyRecommendationOperation.TargetCpaOptInParameters.target_cpa_micros:type_name -> google.protobuf.Int64Value
1506	18, // 20: google.ads.googleads.v3.services.ApplyRecommendationOperation.TargetCpaOptInParameters.new_campaign_budget_amount_micros:type_name -> google.protobuf.Int64Value
1507	22, // 21: google.ads.googleads.v3.services.ApplyRecommendationOperation.CalloutExtensionParameters.callout_extensions:type_name -> google.ads.googleads.v3.common.CalloutFeedItem
1508	23, // 22: google.ads.googleads.v3.services.ApplyRecommendationOperation.CallExtensionParameters.call_extensions:type_name -> google.ads.googleads.v3.common.CallFeedItem
1509	24, // 23: google.ads.googleads.v3.services.ApplyRecommendationOperation.SitelinkExtensionParameters.sitelink_extensions:type_name -> google.ads.googleads.v3.common.SitelinkFeedItem
1510	18, // 24: google.ads.googleads.v3.services.ApplyRecommendationOperation.MoveUnusedBudgetParameters.budget_micros_to_move:type_name -> google.protobuf.Int64Value
1511	0,  // 25: google.ads.googleads.v3.services.RecommendationService.GetRecommendation:input_type -> google.ads.googleads.v3.services.GetRecommendationRequest
1512	1,  // 26: google.ads.googleads.v3.services.RecommendationService.ApplyRecommendation:input_type -> google.ads.googleads.v3.services.ApplyRecommendationRequest
1513	5,  // 27: google.ads.googleads.v3.services.RecommendationService.DismissRecommendation:input_type -> google.ads.googleads.v3.services.DismissRecommendationRequest
1514	25, // 28: google.ads.googleads.v3.services.RecommendationService.GetRecommendation:output_type -> google.ads.googleads.v3.resources.Recommendation
1515	3,  // 29: google.ads.googleads.v3.services.RecommendationService.ApplyRecommendation:output_type -> google.ads.googleads.v3.services.ApplyRecommendationResponse
1516	6,  // 30: google.ads.googleads.v3.services.RecommendationService.DismissRecommendation:output_type -> google.ads.googleads.v3.services.DismissRecommendationResponse
1517	28, // [28:31] is the sub-list for method output_type
1518	25, // [25:28] is the sub-list for method input_type
1519	25, // [25:25] is the sub-list for extension type_name
1520	25, // [25:25] is the sub-list for extension extendee
1521	0,  // [0:25] is the sub-list for field type_name
1522}
1523
1524func init() { file_google_ads_googleads_v3_services_recommendation_service_proto_init() }
1525func file_google_ads_googleads_v3_services_recommendation_service_proto_init() {
1526	if File_google_ads_googleads_v3_services_recommendation_service_proto != nil {
1527		return
1528	}
1529	if !protoimpl.UnsafeEnabled {
1530		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
1531			switch v := v.(*GetRecommendationRequest); i {
1532			case 0:
1533				return &v.state
1534			case 1:
1535				return &v.sizeCache
1536			case 2:
1537				return &v.unknownFields
1538			default:
1539				return nil
1540			}
1541		}
1542		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
1543			switch v := v.(*ApplyRecommendationRequest); i {
1544			case 0:
1545				return &v.state
1546			case 1:
1547				return &v.sizeCache
1548			case 2:
1549				return &v.unknownFields
1550			default:
1551				return nil
1552			}
1553		}
1554		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
1555			switch v := v.(*ApplyRecommendationOperation); i {
1556			case 0:
1557				return &v.state
1558			case 1:
1559				return &v.sizeCache
1560			case 2:
1561				return &v.unknownFields
1562			default:
1563				return nil
1564			}
1565		}
1566		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
1567			switch v := v.(*ApplyRecommendationResponse); i {
1568			case 0:
1569				return &v.state
1570			case 1:
1571				return &v.sizeCache
1572			case 2:
1573				return &v.unknownFields
1574			default:
1575				return nil
1576			}
1577		}
1578		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
1579			switch v := v.(*ApplyRecommendationResult); i {
1580			case 0:
1581				return &v.state
1582			case 1:
1583				return &v.sizeCache
1584			case 2:
1585				return &v.unknownFields
1586			default:
1587				return nil
1588			}
1589		}
1590		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
1591			switch v := v.(*DismissRecommendationRequest); i {
1592			case 0:
1593				return &v.state
1594			case 1:
1595				return &v.sizeCache
1596			case 2:
1597				return &v.unknownFields
1598			default:
1599				return nil
1600			}
1601		}
1602		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
1603			switch v := v.(*DismissRecommendationResponse); i {
1604			case 0:
1605				return &v.state
1606			case 1:
1607				return &v.sizeCache
1608			case 2:
1609				return &v.unknownFields
1610			default:
1611				return nil
1612			}
1613		}
1614		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
1615			switch v := v.(*ApplyRecommendationOperation_CampaignBudgetParameters); i {
1616			case 0:
1617				return &v.state
1618			case 1:
1619				return &v.sizeCache
1620			case 2:
1621				return &v.unknownFields
1622			default:
1623				return nil
1624			}
1625		}
1626		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
1627			switch v := v.(*ApplyRecommendationOperation_TextAdParameters); i {
1628			case 0:
1629				return &v.state
1630			case 1:
1631				return &v.sizeCache
1632			case 2:
1633				return &v.unknownFields
1634			default:
1635				return nil
1636			}
1637		}
1638		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
1639			switch v := v.(*ApplyRecommendationOperation_KeywordParameters); i {
1640			case 0:
1641				return &v.state
1642			case 1:
1643				return &v.sizeCache
1644			case 2:
1645				return &v.unknownFields
1646			default:
1647				return nil
1648			}
1649		}
1650		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
1651			switch v := v.(*ApplyRecommendationOperation_TargetCpaOptInParameters); i {
1652			case 0:
1653				return &v.state
1654			case 1:
1655				return &v.sizeCache
1656			case 2:
1657				return &v.unknownFields
1658			default:
1659				return nil
1660			}
1661		}
1662		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
1663			switch v := v.(*ApplyRecommendationOperation_CalloutExtensionParameters); i {
1664			case 0:
1665				return &v.state
1666			case 1:
1667				return &v.sizeCache
1668			case 2:
1669				return &v.unknownFields
1670			default:
1671				return nil
1672			}
1673		}
1674		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
1675			switch v := v.(*ApplyRecommendationOperation_CallExtensionParameters); i {
1676			case 0:
1677				return &v.state
1678			case 1:
1679				return &v.sizeCache
1680			case 2:
1681				return &v.unknownFields
1682			default:
1683				return nil
1684			}
1685		}
1686		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
1687			switch v := v.(*ApplyRecommendationOperation_SitelinkExtensionParameters); i {
1688			case 0:
1689				return &v.state
1690			case 1:
1691				return &v.sizeCache
1692			case 2:
1693				return &v.unknownFields
1694			default:
1695				return nil
1696			}
1697		}
1698		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
1699			switch v := v.(*ApplyRecommendationOperation_MoveUnusedBudgetParameters); i {
1700			case 0:
1701				return &v.state
1702			case 1:
1703				return &v.sizeCache
1704			case 2:
1705				return &v.unknownFields
1706			default:
1707				return nil
1708			}
1709		}
1710		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
1711			switch v := v.(*DismissRecommendationRequest_DismissRecommendationOperation); i {
1712			case 0:
1713				return &v.state
1714			case 1:
1715				return &v.sizeCache
1716			case 2:
1717				return &v.unknownFields
1718			default:
1719				return nil
1720			}
1721		}
1722		file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
1723			switch v := v.(*DismissRecommendationResponse_DismissRecommendationResult); i {
1724			case 0:
1725				return &v.state
1726			case 1:
1727				return &v.sizeCache
1728			case 2:
1729				return &v.unknownFields
1730			default:
1731				return nil
1732			}
1733		}
1734	}
1735	file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes[2].OneofWrappers = []interface{}{
1736		(*ApplyRecommendationOperation_CampaignBudget)(nil),
1737		(*ApplyRecommendationOperation_TextAd)(nil),
1738		(*ApplyRecommendationOperation_Keyword)(nil),
1739		(*ApplyRecommendationOperation_TargetCpaOptIn)(nil),
1740		(*ApplyRecommendationOperation_CalloutExtension)(nil),
1741		(*ApplyRecommendationOperation_CallExtension)(nil),
1742		(*ApplyRecommendationOperation_SitelinkExtension)(nil),
1743		(*ApplyRecommendationOperation_MoveUnusedBudget)(nil),
1744	}
1745	type x struct{}
1746	out := protoimpl.TypeBuilder{
1747		File: protoimpl.DescBuilder{
1748			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
1749			RawDescriptor: file_google_ads_googleads_v3_services_recommendation_service_proto_rawDesc,
1750			NumEnums:      0,
1751			NumMessages:   17,
1752			NumExtensions: 0,
1753			NumServices:   1,
1754		},
1755		GoTypes:           file_google_ads_googleads_v3_services_recommendation_service_proto_goTypes,
1756		DependencyIndexes: file_google_ads_googleads_v3_services_recommendation_service_proto_depIdxs,
1757		MessageInfos:      file_google_ads_googleads_v3_services_recommendation_service_proto_msgTypes,
1758	}.Build()
1759	File_google_ads_googleads_v3_services_recommendation_service_proto = out.File
1760	file_google_ads_googleads_v3_services_recommendation_service_proto_rawDesc = nil
1761	file_google_ads_googleads_v3_services_recommendation_service_proto_goTypes = nil
1762	file_google_ads_googleads_v3_services_recommendation_service_proto_depIdxs = nil
1763}
1764
1765// Reference imports to suppress errors if they are not otherwise used.
1766var _ context.Context
1767var _ grpc.ClientConnInterface
1768
1769// This is a compile-time assertion to ensure that this generated file
1770// is compatible with the grpc package it is being compiled against.
1771const _ = grpc.SupportPackageIsVersion6
1772
1773// RecommendationServiceClient is the client API for RecommendationService service.
1774//
1775// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
1776type RecommendationServiceClient interface {
1777	// Returns the requested recommendation in full detail.
1778	GetRecommendation(ctx context.Context, in *GetRecommendationRequest, opts ...grpc.CallOption) (*resources.Recommendation, error)
1779	// Applies given recommendations with corresponding apply parameters.
1780	ApplyRecommendation(ctx context.Context, in *ApplyRecommendationRequest, opts ...grpc.CallOption) (*ApplyRecommendationResponse, error)
1781	// Dismisses given recommendations.
1782	DismissRecommendation(ctx context.Context, in *DismissRecommendationRequest, opts ...grpc.CallOption) (*DismissRecommendationResponse, error)
1783}
1784
1785type recommendationServiceClient struct {
1786	cc grpc.ClientConnInterface
1787}
1788
1789func NewRecommendationServiceClient(cc grpc.ClientConnInterface) RecommendationServiceClient {
1790	return &recommendationServiceClient{cc}
1791}
1792
1793func (c *recommendationServiceClient) GetRecommendation(ctx context.Context, in *GetRecommendationRequest, opts ...grpc.CallOption) (*resources.Recommendation, error) {
1794	out := new(resources.Recommendation)
1795	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.RecommendationService/GetRecommendation", in, out, opts...)
1796	if err != nil {
1797		return nil, err
1798	}
1799	return out, nil
1800}
1801
1802func (c *recommendationServiceClient) ApplyRecommendation(ctx context.Context, in *ApplyRecommendationRequest, opts ...grpc.CallOption) (*ApplyRecommendationResponse, error) {
1803	out := new(ApplyRecommendationResponse)
1804	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.RecommendationService/ApplyRecommendation", in, out, opts...)
1805	if err != nil {
1806		return nil, err
1807	}
1808	return out, nil
1809}
1810
1811func (c *recommendationServiceClient) DismissRecommendation(ctx context.Context, in *DismissRecommendationRequest, opts ...grpc.CallOption) (*DismissRecommendationResponse, error) {
1812	out := new(DismissRecommendationResponse)
1813	err := c.cc.Invoke(ctx, "/google.ads.googleads.v3.services.RecommendationService/DismissRecommendation", in, out, opts...)
1814	if err != nil {
1815		return nil, err
1816	}
1817	return out, nil
1818}
1819
1820// RecommendationServiceServer is the server API for RecommendationService service.
1821type RecommendationServiceServer interface {
1822	// Returns the requested recommendation in full detail.
1823	GetRecommendation(context.Context, *GetRecommendationRequest) (*resources.Recommendation, error)
1824	// Applies given recommendations with corresponding apply parameters.
1825	ApplyRecommendation(context.Context, *ApplyRecommendationRequest) (*ApplyRecommendationResponse, error)
1826	// Dismisses given recommendations.
1827	DismissRecommendation(context.Context, *DismissRecommendationRequest) (*DismissRecommendationResponse, error)
1828}
1829
1830// UnimplementedRecommendationServiceServer can be embedded to have forward compatible implementations.
1831type UnimplementedRecommendationServiceServer struct {
1832}
1833
1834func (*UnimplementedRecommendationServiceServer) GetRecommendation(context.Context, *GetRecommendationRequest) (*resources.Recommendation, error) {
1835	return nil, status1.Errorf(codes.Unimplemented, "method GetRecommendation not implemented")
1836}
1837func (*UnimplementedRecommendationServiceServer) ApplyRecommendation(context.Context, *ApplyRecommendationRequest) (*ApplyRecommendationResponse, error) {
1838	return nil, status1.Errorf(codes.Unimplemented, "method ApplyRecommendation not implemented")
1839}
1840func (*UnimplementedRecommendationServiceServer) DismissRecommendation(context.Context, *DismissRecommendationRequest) (*DismissRecommendationResponse, error) {
1841	return nil, status1.Errorf(codes.Unimplemented, "method DismissRecommendation not implemented")
1842}
1843
1844func RegisterRecommendationServiceServer(s *grpc.Server, srv RecommendationServiceServer) {
1845	s.RegisterService(&_RecommendationService_serviceDesc, srv)
1846}
1847
1848func _RecommendationService_GetRecommendation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1849	in := new(GetRecommendationRequest)
1850	if err := dec(in); err != nil {
1851		return nil, err
1852	}
1853	if interceptor == nil {
1854		return srv.(RecommendationServiceServer).GetRecommendation(ctx, in)
1855	}
1856	info := &grpc.UnaryServerInfo{
1857		Server:     srv,
1858		FullMethod: "/google.ads.googleads.v3.services.RecommendationService/GetRecommendation",
1859	}
1860	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1861		return srv.(RecommendationServiceServer).GetRecommendation(ctx, req.(*GetRecommendationRequest))
1862	}
1863	return interceptor(ctx, in, info, handler)
1864}
1865
1866func _RecommendationService_ApplyRecommendation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1867	in := new(ApplyRecommendationRequest)
1868	if err := dec(in); err != nil {
1869		return nil, err
1870	}
1871	if interceptor == nil {
1872		return srv.(RecommendationServiceServer).ApplyRecommendation(ctx, in)
1873	}
1874	info := &grpc.UnaryServerInfo{
1875		Server:     srv,
1876		FullMethod: "/google.ads.googleads.v3.services.RecommendationService/ApplyRecommendation",
1877	}
1878	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1879		return srv.(RecommendationServiceServer).ApplyRecommendation(ctx, req.(*ApplyRecommendationRequest))
1880	}
1881	return interceptor(ctx, in, info, handler)
1882}
1883
1884func _RecommendationService_DismissRecommendation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
1885	in := new(DismissRecommendationRequest)
1886	if err := dec(in); err != nil {
1887		return nil, err
1888	}
1889	if interceptor == nil {
1890		return srv.(RecommendationServiceServer).DismissRecommendation(ctx, in)
1891	}
1892	info := &grpc.UnaryServerInfo{
1893		Server:     srv,
1894		FullMethod: "/google.ads.googleads.v3.services.RecommendationService/DismissRecommendation",
1895	}
1896	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
1897		return srv.(RecommendationServiceServer).DismissRecommendation(ctx, req.(*DismissRecommendationRequest))
1898	}
1899	return interceptor(ctx, in, info, handler)
1900}
1901
1902var _RecommendationService_serviceDesc = grpc.ServiceDesc{
1903	ServiceName: "google.ads.googleads.v3.services.RecommendationService",
1904	HandlerType: (*RecommendationServiceServer)(nil),
1905	Methods: []grpc.MethodDesc{
1906		{
1907			MethodName: "GetRecommendation",
1908			Handler:    _RecommendationService_GetRecommendation_Handler,
1909		},
1910		{
1911			MethodName: "ApplyRecommendation",
1912			Handler:    _RecommendationService_ApplyRecommendation_Handler,
1913		},
1914		{
1915			MethodName: "DismissRecommendation",
1916			Handler:    _RecommendationService_DismissRecommendation_Handler,
1917		},
1918	},
1919	Streams:  []grpc.StreamDesc{},
1920	Metadata: "google/ads/googleads/v3/services/recommendation_service.proto",
1921}
1922