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.22.0
18// 	protoc        v3.11.2
19// source: google/ads/googleads/v2/services/campaign_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	resources "google.golang.org/genproto/googleapis/ads/googleads/v2/resources"
30	_ "google.golang.org/genproto/googleapis/api/annotations"
31	status "google.golang.org/genproto/googleapis/rpc/status"
32	field_mask "google.golang.org/genproto/protobuf/field_mask"
33	grpc "google.golang.org/grpc"
34	codes "google.golang.org/grpc/codes"
35	status1 "google.golang.org/grpc/status"
36	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
37	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
38)
39
40const (
41	// Verify that this generated code is sufficiently up-to-date.
42	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
43	// Verify that runtime/protoimpl is sufficiently up-to-date.
44	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
45)
46
47// This is a compile-time assertion that a sufficiently up-to-date version
48// of the legacy proto package is being used.
49const _ = proto.ProtoPackageIsVersion4
50
51// Request message for [CampaignService.GetCampaign][google.ads.googleads.v2.services.CampaignService.GetCampaign].
52type GetCampaignRequest struct {
53	state         protoimpl.MessageState
54	sizeCache     protoimpl.SizeCache
55	unknownFields protoimpl.UnknownFields
56
57	// Required. The resource name of the campaign to fetch.
58	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
59}
60
61func (x *GetCampaignRequest) Reset() {
62	*x = GetCampaignRequest{}
63	if protoimpl.UnsafeEnabled {
64		mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[0]
65		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
66		ms.StoreMessageInfo(mi)
67	}
68}
69
70func (x *GetCampaignRequest) String() string {
71	return protoimpl.X.MessageStringOf(x)
72}
73
74func (*GetCampaignRequest) ProtoMessage() {}
75
76func (x *GetCampaignRequest) ProtoReflect() protoreflect.Message {
77	mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[0]
78	if protoimpl.UnsafeEnabled && x != nil {
79		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
80		if ms.LoadMessageInfo() == nil {
81			ms.StoreMessageInfo(mi)
82		}
83		return ms
84	}
85	return mi.MessageOf(x)
86}
87
88// Deprecated: Use GetCampaignRequest.ProtoReflect.Descriptor instead.
89func (*GetCampaignRequest) Descriptor() ([]byte, []int) {
90	return file_google_ads_googleads_v2_services_campaign_service_proto_rawDescGZIP(), []int{0}
91}
92
93func (x *GetCampaignRequest) GetResourceName() string {
94	if x != nil {
95		return x.ResourceName
96	}
97	return ""
98}
99
100// Request message for [CampaignService.MutateCampaigns][google.ads.googleads.v2.services.CampaignService.MutateCampaigns].
101type MutateCampaignsRequest struct {
102	state         protoimpl.MessageState
103	sizeCache     protoimpl.SizeCache
104	unknownFields protoimpl.UnknownFields
105
106	// Required. The ID of the customer whose campaigns are being modified.
107	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
108	// Required. The list of operations to perform on individual campaigns.
109	Operations []*CampaignOperation `protobuf:"bytes,2,rep,name=operations,proto3" json:"operations,omitempty"`
110	// If true, successful operations will be carried out and invalid
111	// operations will return errors. If false, all operations will be carried
112	// out in one transaction if and only if they are all valid.
113	// Default is false.
114	PartialFailure bool `protobuf:"varint,3,opt,name=partial_failure,json=partialFailure,proto3" json:"partial_failure,omitempty"`
115	// If true, the request is validated but not executed. Only errors are
116	// returned, not results.
117	ValidateOnly bool `protobuf:"varint,4,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"`
118}
119
120func (x *MutateCampaignsRequest) Reset() {
121	*x = MutateCampaignsRequest{}
122	if protoimpl.UnsafeEnabled {
123		mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[1]
124		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
125		ms.StoreMessageInfo(mi)
126	}
127}
128
129func (x *MutateCampaignsRequest) String() string {
130	return protoimpl.X.MessageStringOf(x)
131}
132
133func (*MutateCampaignsRequest) ProtoMessage() {}
134
135func (x *MutateCampaignsRequest) ProtoReflect() protoreflect.Message {
136	mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[1]
137	if protoimpl.UnsafeEnabled && x != nil {
138		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
139		if ms.LoadMessageInfo() == nil {
140			ms.StoreMessageInfo(mi)
141		}
142		return ms
143	}
144	return mi.MessageOf(x)
145}
146
147// Deprecated: Use MutateCampaignsRequest.ProtoReflect.Descriptor instead.
148func (*MutateCampaignsRequest) Descriptor() ([]byte, []int) {
149	return file_google_ads_googleads_v2_services_campaign_service_proto_rawDescGZIP(), []int{1}
150}
151
152func (x *MutateCampaignsRequest) GetCustomerId() string {
153	if x != nil {
154		return x.CustomerId
155	}
156	return ""
157}
158
159func (x *MutateCampaignsRequest) GetOperations() []*CampaignOperation {
160	if x != nil {
161		return x.Operations
162	}
163	return nil
164}
165
166func (x *MutateCampaignsRequest) GetPartialFailure() bool {
167	if x != nil {
168		return x.PartialFailure
169	}
170	return false
171}
172
173func (x *MutateCampaignsRequest) GetValidateOnly() bool {
174	if x != nil {
175		return x.ValidateOnly
176	}
177	return false
178}
179
180// A single operation (create, update, remove) on a campaign.
181type CampaignOperation struct {
182	state         protoimpl.MessageState
183	sizeCache     protoimpl.SizeCache
184	unknownFields protoimpl.UnknownFields
185
186	// FieldMask that determines which resource fields are modified in an update.
187	UpdateMask *field_mask.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
188	// The mutate operation.
189	//
190	// Types that are assignable to Operation:
191	//	*CampaignOperation_Create
192	//	*CampaignOperation_Update
193	//	*CampaignOperation_Remove
194	Operation isCampaignOperation_Operation `protobuf_oneof:"operation"`
195}
196
197func (x *CampaignOperation) Reset() {
198	*x = CampaignOperation{}
199	if protoimpl.UnsafeEnabled {
200		mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[2]
201		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
202		ms.StoreMessageInfo(mi)
203	}
204}
205
206func (x *CampaignOperation) String() string {
207	return protoimpl.X.MessageStringOf(x)
208}
209
210func (*CampaignOperation) ProtoMessage() {}
211
212func (x *CampaignOperation) ProtoReflect() protoreflect.Message {
213	mi := &file_google_ads_googleads_v2_services_campaign_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 CampaignOperation.ProtoReflect.Descriptor instead.
225func (*CampaignOperation) Descriptor() ([]byte, []int) {
226	return file_google_ads_googleads_v2_services_campaign_service_proto_rawDescGZIP(), []int{2}
227}
228
229func (x *CampaignOperation) GetUpdateMask() *field_mask.FieldMask {
230	if x != nil {
231		return x.UpdateMask
232	}
233	return nil
234}
235
236func (m *CampaignOperation) GetOperation() isCampaignOperation_Operation {
237	if m != nil {
238		return m.Operation
239	}
240	return nil
241}
242
243func (x *CampaignOperation) GetCreate() *resources.Campaign {
244	if x, ok := x.GetOperation().(*CampaignOperation_Create); ok {
245		return x.Create
246	}
247	return nil
248}
249
250func (x *CampaignOperation) GetUpdate() *resources.Campaign {
251	if x, ok := x.GetOperation().(*CampaignOperation_Update); ok {
252		return x.Update
253	}
254	return nil
255}
256
257func (x *CampaignOperation) GetRemove() string {
258	if x, ok := x.GetOperation().(*CampaignOperation_Remove); ok {
259		return x.Remove
260	}
261	return ""
262}
263
264type isCampaignOperation_Operation interface {
265	isCampaignOperation_Operation()
266}
267
268type CampaignOperation_Create struct {
269	// Create operation: No resource name is expected for the new campaign.
270	Create *resources.Campaign `protobuf:"bytes,1,opt,name=create,proto3,oneof"`
271}
272
273type CampaignOperation_Update struct {
274	// Update operation: The campaign is expected to have a valid
275	// resource name.
276	Update *resources.Campaign `protobuf:"bytes,2,opt,name=update,proto3,oneof"`
277}
278
279type CampaignOperation_Remove struct {
280	// Remove operation: A resource name for the removed campaign is
281	// expected, in this format:
282	//
283	// `customers/{customer_id}/campaigns/{campaign_id}`
284	Remove string `protobuf:"bytes,3,opt,name=remove,proto3,oneof"`
285}
286
287func (*CampaignOperation_Create) isCampaignOperation_Operation() {}
288
289func (*CampaignOperation_Update) isCampaignOperation_Operation() {}
290
291func (*CampaignOperation_Remove) isCampaignOperation_Operation() {}
292
293// Response message for campaign mutate.
294type MutateCampaignsResponse struct {
295	state         protoimpl.MessageState
296	sizeCache     protoimpl.SizeCache
297	unknownFields protoimpl.UnknownFields
298
299	// Errors that pertain to operation failures in the partial failure mode.
300	// Returned only when partial_failure = true and all errors occur inside the
301	// operations. If any errors occur outside the operations (e.g. auth errors),
302	// we return an RPC level error.
303	PartialFailureError *status.Status `protobuf:"bytes,3,opt,name=partial_failure_error,json=partialFailureError,proto3" json:"partial_failure_error,omitempty"`
304	// All results for the mutate.
305	Results []*MutateCampaignResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"`
306}
307
308func (x *MutateCampaignsResponse) Reset() {
309	*x = MutateCampaignsResponse{}
310	if protoimpl.UnsafeEnabled {
311		mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[3]
312		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
313		ms.StoreMessageInfo(mi)
314	}
315}
316
317func (x *MutateCampaignsResponse) String() string {
318	return protoimpl.X.MessageStringOf(x)
319}
320
321func (*MutateCampaignsResponse) ProtoMessage() {}
322
323func (x *MutateCampaignsResponse) ProtoReflect() protoreflect.Message {
324	mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[3]
325	if protoimpl.UnsafeEnabled && x != nil {
326		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
327		if ms.LoadMessageInfo() == nil {
328			ms.StoreMessageInfo(mi)
329		}
330		return ms
331	}
332	return mi.MessageOf(x)
333}
334
335// Deprecated: Use MutateCampaignsResponse.ProtoReflect.Descriptor instead.
336func (*MutateCampaignsResponse) Descriptor() ([]byte, []int) {
337	return file_google_ads_googleads_v2_services_campaign_service_proto_rawDescGZIP(), []int{3}
338}
339
340func (x *MutateCampaignsResponse) GetPartialFailureError() *status.Status {
341	if x != nil {
342		return x.PartialFailureError
343	}
344	return nil
345}
346
347func (x *MutateCampaignsResponse) GetResults() []*MutateCampaignResult {
348	if x != nil {
349		return x.Results
350	}
351	return nil
352}
353
354// The result for the campaign mutate.
355type MutateCampaignResult struct {
356	state         protoimpl.MessageState
357	sizeCache     protoimpl.SizeCache
358	unknownFields protoimpl.UnknownFields
359
360	// Returned for successful operations.
361	ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
362}
363
364func (x *MutateCampaignResult) Reset() {
365	*x = MutateCampaignResult{}
366	if protoimpl.UnsafeEnabled {
367		mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[4]
368		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
369		ms.StoreMessageInfo(mi)
370	}
371}
372
373func (x *MutateCampaignResult) String() string {
374	return protoimpl.X.MessageStringOf(x)
375}
376
377func (*MutateCampaignResult) ProtoMessage() {}
378
379func (x *MutateCampaignResult) ProtoReflect() protoreflect.Message {
380	mi := &file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[4]
381	if protoimpl.UnsafeEnabled && x != nil {
382		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
383		if ms.LoadMessageInfo() == nil {
384			ms.StoreMessageInfo(mi)
385		}
386		return ms
387	}
388	return mi.MessageOf(x)
389}
390
391// Deprecated: Use MutateCampaignResult.ProtoReflect.Descriptor instead.
392func (*MutateCampaignResult) Descriptor() ([]byte, []int) {
393	return file_google_ads_googleads_v2_services_campaign_service_proto_rawDescGZIP(), []int{4}
394}
395
396func (x *MutateCampaignResult) GetResourceName() string {
397	if x != nil {
398		return x.ResourceName
399	}
400	return ""
401}
402
403var File_google_ads_googleads_v2_services_campaign_service_proto protoreflect.FileDescriptor
404
405var file_google_ads_googleads_v2_services_campaign_service_proto_rawDesc = []byte{
406	0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f,
407	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
408	0x65, 0x73, 0x2f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x73, 0x65, 0x72, 0x76,
409	0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
410	0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e,
411	0x76, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x1a, 0x30, 0x67, 0x6f, 0x6f,
412	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
413	0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x63,
414	0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
415	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61,
416	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
417	0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70,
418	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
419	0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e,
420	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70,
421	0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
422	0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
423	0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f,
424	0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73,
425	0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x64, 0x0a, 0x12, 0x47,
426	0x65, 0x74, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
427	0x74, 0x12, 0x4e, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61,
428	0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23,
429	0x0a, 0x21, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
430	0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x61, 0x6d, 0x70, 0x61,
431	0x69, 0x67, 0x6e, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d,
432	0x65, 0x22, 0xe6, 0x01, 0x0a, 0x16, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6d, 0x70,
433	0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0b,
434	0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
435	0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72,
436	0x49, 0x64, 0x12, 0x58, 0x0a, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
437	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
438	0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32,
439	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69,
440	0x67, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02,
441	0x52, 0x0a, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f,
442	0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x18,
443	0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61,
444	0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
445	0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x76, 0x61,
446	0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x22, 0x85, 0x02, 0x0a, 0x11, 0x43,
447	0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
448	0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18,
449	0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
450	0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73,
451	0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x45, 0x0a,
452	0x06, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
453	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
454	0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
455	0x73, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72,
456	0x65, 0x61, 0x74, 0x65, 0x12, 0x45, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x02,
457	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64,
458	0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72,
459	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67,
460	0x6e, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x06, 0x72,
461	0x65, 0x6d, 0x6f, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72,
462	0x65, 0x6d, 0x6f, 0x76, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
463	0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x17, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6d,
464	0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46,
465	0x0a, 0x15, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72,
466	0x65, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e,
467	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75,
468	0x73, 0x52, 0x13, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x46, 0x61, 0x69, 0x6c, 0x75, 0x72,
469	0x65, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x50, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
470	0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
471	0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76,
472	0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74,
473	0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52,
474	0x07, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x22, 0x3b, 0x0a, 0x14, 0x4d, 0x75, 0x74, 0x61,
475	0x74, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
476	0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
477	0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
478	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0xc3, 0x03, 0x0a, 0x0f, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69,
479	0x67, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x0b, 0x47, 0x65,
480	0x74, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
481	0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73,
482	0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x47, 0x65, 0x74,
483	0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
484	0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
485	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
486	0x63, 0x65, 0x73, 0x2e, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x22, 0x43, 0x82, 0xd3,
487	0xe4, 0x93, 0x02, 0x2d, 0x12, 0x2b, 0x2f, 0x76, 0x32, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75,
488	0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65,
489	0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x2f, 0x2a,
490	0x7d, 0xda, 0x41, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d,
491	0x65, 0x12, 0xda, 0x01, 0x0a, 0x0f, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6d, 0x70,
492	0x61, 0x69, 0x67, 0x6e, 0x73, 0x12, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
493	0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e,
494	0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x43,
495	0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
496	0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
497	0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
498	0x65, 0x73, 0x2e, 0x4d, 0x75, 0x74, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67,
499	0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93,
500	0x02, 0x33, 0x22, 0x2e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72,
501	0x73, 0x2f, 0x7b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3d, 0x2a,
502	0x7d, 0x2f, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x3a, 0x6d, 0x75, 0x74, 0x61,
503	0x74, 0x65, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x16, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72,
504	0x5f, 0x69, 0x64, 0x2c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1b,
505	0xca, 0x41, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x67, 0x6f, 0x6f,
506	0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0xfb, 0x01, 0x0a, 0x24,
507	0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x64, 0x73, 0x2e, 0x67,
508	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x73, 0x65, 0x72, 0x76,
509	0x69, 0x63, 0x65, 0x73, 0x42, 0x14, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x53, 0x65,
510	0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x6f,
511	0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
512	0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
513	0x70, 0x69, 0x73, 0x2f, 0x61, 0x64, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x64,
514	0x73, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65,
515	0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x41, 0xaa, 0x02, 0x20, 0x47,
516	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x64, 0x73, 0x2e, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
517	0x41, 0x64, 0x73, 0x2e, 0x56, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0xca,
518	0x02, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x64, 0x73, 0x5c, 0x47, 0x6f, 0x6f,
519	0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
520	0x65, 0x73, 0xea, 0x02, 0x24, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x64, 0x73,
521	0x3a, 0x3a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x41, 0x64, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x3a,
522	0x3a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
523	0x33,
524}
525
526var (
527	file_google_ads_googleads_v2_services_campaign_service_proto_rawDescOnce sync.Once
528	file_google_ads_googleads_v2_services_campaign_service_proto_rawDescData = file_google_ads_googleads_v2_services_campaign_service_proto_rawDesc
529)
530
531func file_google_ads_googleads_v2_services_campaign_service_proto_rawDescGZIP() []byte {
532	file_google_ads_googleads_v2_services_campaign_service_proto_rawDescOnce.Do(func() {
533		file_google_ads_googleads_v2_services_campaign_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_ads_googleads_v2_services_campaign_service_proto_rawDescData)
534	})
535	return file_google_ads_googleads_v2_services_campaign_service_proto_rawDescData
536}
537
538var file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
539var file_google_ads_googleads_v2_services_campaign_service_proto_goTypes = []interface{}{
540	(*GetCampaignRequest)(nil),      // 0: google.ads.googleads.v2.services.GetCampaignRequest
541	(*MutateCampaignsRequest)(nil),  // 1: google.ads.googleads.v2.services.MutateCampaignsRequest
542	(*CampaignOperation)(nil),       // 2: google.ads.googleads.v2.services.CampaignOperation
543	(*MutateCampaignsResponse)(nil), // 3: google.ads.googleads.v2.services.MutateCampaignsResponse
544	(*MutateCampaignResult)(nil),    // 4: google.ads.googleads.v2.services.MutateCampaignResult
545	(*field_mask.FieldMask)(nil),    // 5: google.protobuf.FieldMask
546	(*resources.Campaign)(nil),      // 6: google.ads.googleads.v2.resources.Campaign
547	(*status.Status)(nil),           // 7: google.rpc.Status
548}
549var file_google_ads_googleads_v2_services_campaign_service_proto_depIdxs = []int32{
550	2, // 0: google.ads.googleads.v2.services.MutateCampaignsRequest.operations:type_name -> google.ads.googleads.v2.services.CampaignOperation
551	5, // 1: google.ads.googleads.v2.services.CampaignOperation.update_mask:type_name -> google.protobuf.FieldMask
552	6, // 2: google.ads.googleads.v2.services.CampaignOperation.create:type_name -> google.ads.googleads.v2.resources.Campaign
553	6, // 3: google.ads.googleads.v2.services.CampaignOperation.update:type_name -> google.ads.googleads.v2.resources.Campaign
554	7, // 4: google.ads.googleads.v2.services.MutateCampaignsResponse.partial_failure_error:type_name -> google.rpc.Status
555	4, // 5: google.ads.googleads.v2.services.MutateCampaignsResponse.results:type_name -> google.ads.googleads.v2.services.MutateCampaignResult
556	0, // 6: google.ads.googleads.v2.services.CampaignService.GetCampaign:input_type -> google.ads.googleads.v2.services.GetCampaignRequest
557	1, // 7: google.ads.googleads.v2.services.CampaignService.MutateCampaigns:input_type -> google.ads.googleads.v2.services.MutateCampaignsRequest
558	6, // 8: google.ads.googleads.v2.services.CampaignService.GetCampaign:output_type -> google.ads.googleads.v2.resources.Campaign
559	3, // 9: google.ads.googleads.v2.services.CampaignService.MutateCampaigns:output_type -> google.ads.googleads.v2.services.MutateCampaignsResponse
560	8, // [8:10] is the sub-list for method output_type
561	6, // [6:8] is the sub-list for method input_type
562	6, // [6:6] is the sub-list for extension type_name
563	6, // [6:6] is the sub-list for extension extendee
564	0, // [0:6] is the sub-list for field type_name
565}
566
567func init() { file_google_ads_googleads_v2_services_campaign_service_proto_init() }
568func file_google_ads_googleads_v2_services_campaign_service_proto_init() {
569	if File_google_ads_googleads_v2_services_campaign_service_proto != nil {
570		return
571	}
572	if !protoimpl.UnsafeEnabled {
573		file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
574			switch v := v.(*GetCampaignRequest); i {
575			case 0:
576				return &v.state
577			case 1:
578				return &v.sizeCache
579			case 2:
580				return &v.unknownFields
581			default:
582				return nil
583			}
584		}
585		file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
586			switch v := v.(*MutateCampaignsRequest); i {
587			case 0:
588				return &v.state
589			case 1:
590				return &v.sizeCache
591			case 2:
592				return &v.unknownFields
593			default:
594				return nil
595			}
596		}
597		file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
598			switch v := v.(*CampaignOperation); i {
599			case 0:
600				return &v.state
601			case 1:
602				return &v.sizeCache
603			case 2:
604				return &v.unknownFields
605			default:
606				return nil
607			}
608		}
609		file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
610			switch v := v.(*MutateCampaignsResponse); i {
611			case 0:
612				return &v.state
613			case 1:
614				return &v.sizeCache
615			case 2:
616				return &v.unknownFields
617			default:
618				return nil
619			}
620		}
621		file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
622			switch v := v.(*MutateCampaignResult); i {
623			case 0:
624				return &v.state
625			case 1:
626				return &v.sizeCache
627			case 2:
628				return &v.unknownFields
629			default:
630				return nil
631			}
632		}
633	}
634	file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes[2].OneofWrappers = []interface{}{
635		(*CampaignOperation_Create)(nil),
636		(*CampaignOperation_Update)(nil),
637		(*CampaignOperation_Remove)(nil),
638	}
639	type x struct{}
640	out := protoimpl.TypeBuilder{
641		File: protoimpl.DescBuilder{
642			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
643			RawDescriptor: file_google_ads_googleads_v2_services_campaign_service_proto_rawDesc,
644			NumEnums:      0,
645			NumMessages:   5,
646			NumExtensions: 0,
647			NumServices:   1,
648		},
649		GoTypes:           file_google_ads_googleads_v2_services_campaign_service_proto_goTypes,
650		DependencyIndexes: file_google_ads_googleads_v2_services_campaign_service_proto_depIdxs,
651		MessageInfos:      file_google_ads_googleads_v2_services_campaign_service_proto_msgTypes,
652	}.Build()
653	File_google_ads_googleads_v2_services_campaign_service_proto = out.File
654	file_google_ads_googleads_v2_services_campaign_service_proto_rawDesc = nil
655	file_google_ads_googleads_v2_services_campaign_service_proto_goTypes = nil
656	file_google_ads_googleads_v2_services_campaign_service_proto_depIdxs = nil
657}
658
659// Reference imports to suppress errors if they are not otherwise used.
660var _ context.Context
661var _ grpc.ClientConnInterface
662
663// This is a compile-time assertion to ensure that this generated file
664// is compatible with the grpc package it is being compiled against.
665const _ = grpc.SupportPackageIsVersion6
666
667// CampaignServiceClient is the client API for CampaignService service.
668//
669// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
670type CampaignServiceClient interface {
671	// Returns the requested campaign in full detail.
672	GetCampaign(ctx context.Context, in *GetCampaignRequest, opts ...grpc.CallOption) (*resources.Campaign, error)
673	// Creates, updates, or removes campaigns. Operation statuses are returned.
674	MutateCampaigns(ctx context.Context, in *MutateCampaignsRequest, opts ...grpc.CallOption) (*MutateCampaignsResponse, error)
675}
676
677type campaignServiceClient struct {
678	cc grpc.ClientConnInterface
679}
680
681func NewCampaignServiceClient(cc grpc.ClientConnInterface) CampaignServiceClient {
682	return &campaignServiceClient{cc}
683}
684
685func (c *campaignServiceClient) GetCampaign(ctx context.Context, in *GetCampaignRequest, opts ...grpc.CallOption) (*resources.Campaign, error) {
686	out := new(resources.Campaign)
687	err := c.cc.Invoke(ctx, "/google.ads.googleads.v2.services.CampaignService/GetCampaign", in, out, opts...)
688	if err != nil {
689		return nil, err
690	}
691	return out, nil
692}
693
694func (c *campaignServiceClient) MutateCampaigns(ctx context.Context, in *MutateCampaignsRequest, opts ...grpc.CallOption) (*MutateCampaignsResponse, error) {
695	out := new(MutateCampaignsResponse)
696	err := c.cc.Invoke(ctx, "/google.ads.googleads.v2.services.CampaignService/MutateCampaigns", in, out, opts...)
697	if err != nil {
698		return nil, err
699	}
700	return out, nil
701}
702
703// CampaignServiceServer is the server API for CampaignService service.
704type CampaignServiceServer interface {
705	// Returns the requested campaign in full detail.
706	GetCampaign(context.Context, *GetCampaignRequest) (*resources.Campaign, error)
707	// Creates, updates, or removes campaigns. Operation statuses are returned.
708	MutateCampaigns(context.Context, *MutateCampaignsRequest) (*MutateCampaignsResponse, error)
709}
710
711// UnimplementedCampaignServiceServer can be embedded to have forward compatible implementations.
712type UnimplementedCampaignServiceServer struct {
713}
714
715func (*UnimplementedCampaignServiceServer) GetCampaign(context.Context, *GetCampaignRequest) (*resources.Campaign, error) {
716	return nil, status1.Errorf(codes.Unimplemented, "method GetCampaign not implemented")
717}
718func (*UnimplementedCampaignServiceServer) MutateCampaigns(context.Context, *MutateCampaignsRequest) (*MutateCampaignsResponse, error) {
719	return nil, status1.Errorf(codes.Unimplemented, "method MutateCampaigns not implemented")
720}
721
722func RegisterCampaignServiceServer(s *grpc.Server, srv CampaignServiceServer) {
723	s.RegisterService(&_CampaignService_serviceDesc, srv)
724}
725
726func _CampaignService_GetCampaign_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
727	in := new(GetCampaignRequest)
728	if err := dec(in); err != nil {
729		return nil, err
730	}
731	if interceptor == nil {
732		return srv.(CampaignServiceServer).GetCampaign(ctx, in)
733	}
734	info := &grpc.UnaryServerInfo{
735		Server:     srv,
736		FullMethod: "/google.ads.googleads.v2.services.CampaignService/GetCampaign",
737	}
738	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
739		return srv.(CampaignServiceServer).GetCampaign(ctx, req.(*GetCampaignRequest))
740	}
741	return interceptor(ctx, in, info, handler)
742}
743
744func _CampaignService_MutateCampaigns_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
745	in := new(MutateCampaignsRequest)
746	if err := dec(in); err != nil {
747		return nil, err
748	}
749	if interceptor == nil {
750		return srv.(CampaignServiceServer).MutateCampaigns(ctx, in)
751	}
752	info := &grpc.UnaryServerInfo{
753		Server:     srv,
754		FullMethod: "/google.ads.googleads.v2.services.CampaignService/MutateCampaigns",
755	}
756	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
757		return srv.(CampaignServiceServer).MutateCampaigns(ctx, req.(*MutateCampaignsRequest))
758	}
759	return interceptor(ctx, in, info, handler)
760}
761
762var _CampaignService_serviceDesc = grpc.ServiceDesc{
763	ServiceName: "google.ads.googleads.v2.services.CampaignService",
764	HandlerType: (*CampaignServiceServer)(nil),
765	Methods: []grpc.MethodDesc{
766		{
767			MethodName: "GetCampaign",
768			Handler:    _CampaignService_GetCampaign_Handler,
769		},
770		{
771			MethodName: "MutateCampaigns",
772			Handler:    _CampaignService_MutateCampaigns_Handler,
773		},
774	},
775	Streams:  []grpc.StreamDesc{},
776	Metadata: "google/ads/googleads/v2/services/campaign_service.proto",
777}
778