1// Code generated by protoc-gen-go. DO NOT EDIT.
2// source: google/ads/googleads/v1/services/asset_service.proto
3
4package services
5
6import (
7	context "context"
8	fmt "fmt"
9	math "math"
10
11	proto "github.com/golang/protobuf/proto"
12	resources "google.golang.org/genproto/googleapis/ads/googleads/v1/resources"
13	_ "google.golang.org/genproto/googleapis/api/annotations"
14	grpc "google.golang.org/grpc"
15	codes "google.golang.org/grpc/codes"
16	status "google.golang.org/grpc/status"
17)
18
19// Reference imports to suppress errors if they are not otherwise used.
20var _ = proto.Marshal
21var _ = fmt.Errorf
22var _ = math.Inf
23
24// This is a compile-time assertion to ensure that this generated file
25// is compatible with the proto package it is being compiled against.
26// A compilation error at this line likely means your copy of the
27// proto package needs to be updated.
28const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
29
30// Request message for [AssetService.GetAsset][google.ads.googleads.v1.services.AssetService.GetAsset]
31type GetAssetRequest struct {
32	// Required. The resource name of the asset to fetch.
33	ResourceName         string   `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
34	XXX_NoUnkeyedLiteral struct{} `json:"-"`
35	XXX_unrecognized     []byte   `json:"-"`
36	XXX_sizecache        int32    `json:"-"`
37}
38
39func (m *GetAssetRequest) Reset()         { *m = GetAssetRequest{} }
40func (m *GetAssetRequest) String() string { return proto.CompactTextString(m) }
41func (*GetAssetRequest) ProtoMessage()    {}
42func (*GetAssetRequest) Descriptor() ([]byte, []int) {
43	return fileDescriptor_4a6e6d3ab580fb9b, []int{0}
44}
45
46func (m *GetAssetRequest) XXX_Unmarshal(b []byte) error {
47	return xxx_messageInfo_GetAssetRequest.Unmarshal(m, b)
48}
49func (m *GetAssetRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
50	return xxx_messageInfo_GetAssetRequest.Marshal(b, m, deterministic)
51}
52func (m *GetAssetRequest) XXX_Merge(src proto.Message) {
53	xxx_messageInfo_GetAssetRequest.Merge(m, src)
54}
55func (m *GetAssetRequest) XXX_Size() int {
56	return xxx_messageInfo_GetAssetRequest.Size(m)
57}
58func (m *GetAssetRequest) XXX_DiscardUnknown() {
59	xxx_messageInfo_GetAssetRequest.DiscardUnknown(m)
60}
61
62var xxx_messageInfo_GetAssetRequest proto.InternalMessageInfo
63
64func (m *GetAssetRequest) GetResourceName() string {
65	if m != nil {
66		return m.ResourceName
67	}
68	return ""
69}
70
71// Request message for [AssetService.MutateAssets][google.ads.googleads.v1.services.AssetService.MutateAssets]
72type MutateAssetsRequest struct {
73	// Required. The ID of the customer whose assets are being modified.
74	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
75	// Required. The list of operations to perform on individual assets.
76	Operations           []*AssetOperation `protobuf:"bytes,2,rep,name=operations,proto3" json:"operations,omitempty"`
77	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
78	XXX_unrecognized     []byte            `json:"-"`
79	XXX_sizecache        int32             `json:"-"`
80}
81
82func (m *MutateAssetsRequest) Reset()         { *m = MutateAssetsRequest{} }
83func (m *MutateAssetsRequest) String() string { return proto.CompactTextString(m) }
84func (*MutateAssetsRequest) ProtoMessage()    {}
85func (*MutateAssetsRequest) Descriptor() ([]byte, []int) {
86	return fileDescriptor_4a6e6d3ab580fb9b, []int{1}
87}
88
89func (m *MutateAssetsRequest) XXX_Unmarshal(b []byte) error {
90	return xxx_messageInfo_MutateAssetsRequest.Unmarshal(m, b)
91}
92func (m *MutateAssetsRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
93	return xxx_messageInfo_MutateAssetsRequest.Marshal(b, m, deterministic)
94}
95func (m *MutateAssetsRequest) XXX_Merge(src proto.Message) {
96	xxx_messageInfo_MutateAssetsRequest.Merge(m, src)
97}
98func (m *MutateAssetsRequest) XXX_Size() int {
99	return xxx_messageInfo_MutateAssetsRequest.Size(m)
100}
101func (m *MutateAssetsRequest) XXX_DiscardUnknown() {
102	xxx_messageInfo_MutateAssetsRequest.DiscardUnknown(m)
103}
104
105var xxx_messageInfo_MutateAssetsRequest proto.InternalMessageInfo
106
107func (m *MutateAssetsRequest) GetCustomerId() string {
108	if m != nil {
109		return m.CustomerId
110	}
111	return ""
112}
113
114func (m *MutateAssetsRequest) GetOperations() []*AssetOperation {
115	if m != nil {
116		return m.Operations
117	}
118	return nil
119}
120
121// A single operation to create an asset. Supported asset types are
122// YoutubeVideoAsset, MediaBundleAsset, ImageAsset, and LeadFormAsset. TextAsset
123// should be created with Ad inline.
124type AssetOperation struct {
125	// The mutate operation.
126	//
127	// Types that are valid to be assigned to Operation:
128	//	*AssetOperation_Create
129	Operation            isAssetOperation_Operation `protobuf_oneof:"operation"`
130	XXX_NoUnkeyedLiteral struct{}                   `json:"-"`
131	XXX_unrecognized     []byte                     `json:"-"`
132	XXX_sizecache        int32                      `json:"-"`
133}
134
135func (m *AssetOperation) Reset()         { *m = AssetOperation{} }
136func (m *AssetOperation) String() string { return proto.CompactTextString(m) }
137func (*AssetOperation) ProtoMessage()    {}
138func (*AssetOperation) Descriptor() ([]byte, []int) {
139	return fileDescriptor_4a6e6d3ab580fb9b, []int{2}
140}
141
142func (m *AssetOperation) XXX_Unmarshal(b []byte) error {
143	return xxx_messageInfo_AssetOperation.Unmarshal(m, b)
144}
145func (m *AssetOperation) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
146	return xxx_messageInfo_AssetOperation.Marshal(b, m, deterministic)
147}
148func (m *AssetOperation) XXX_Merge(src proto.Message) {
149	xxx_messageInfo_AssetOperation.Merge(m, src)
150}
151func (m *AssetOperation) XXX_Size() int {
152	return xxx_messageInfo_AssetOperation.Size(m)
153}
154func (m *AssetOperation) XXX_DiscardUnknown() {
155	xxx_messageInfo_AssetOperation.DiscardUnknown(m)
156}
157
158var xxx_messageInfo_AssetOperation proto.InternalMessageInfo
159
160type isAssetOperation_Operation interface {
161	isAssetOperation_Operation()
162}
163
164type AssetOperation_Create struct {
165	Create *resources.Asset `protobuf:"bytes,1,opt,name=create,proto3,oneof"`
166}
167
168func (*AssetOperation_Create) isAssetOperation_Operation() {}
169
170func (m *AssetOperation) GetOperation() isAssetOperation_Operation {
171	if m != nil {
172		return m.Operation
173	}
174	return nil
175}
176
177func (m *AssetOperation) GetCreate() *resources.Asset {
178	if x, ok := m.GetOperation().(*AssetOperation_Create); ok {
179		return x.Create
180	}
181	return nil
182}
183
184// XXX_OneofWrappers is for the internal use of the proto package.
185func (*AssetOperation) XXX_OneofWrappers() []interface{} {
186	return []interface{}{
187		(*AssetOperation_Create)(nil),
188	}
189}
190
191// Response message for an asset mutate.
192type MutateAssetsResponse struct {
193	// All results for the mutate.
194	Results              []*MutateAssetResult `protobuf:"bytes,2,rep,name=results,proto3" json:"results,omitempty"`
195	XXX_NoUnkeyedLiteral struct{}             `json:"-"`
196	XXX_unrecognized     []byte               `json:"-"`
197	XXX_sizecache        int32                `json:"-"`
198}
199
200func (m *MutateAssetsResponse) Reset()         { *m = MutateAssetsResponse{} }
201func (m *MutateAssetsResponse) String() string { return proto.CompactTextString(m) }
202func (*MutateAssetsResponse) ProtoMessage()    {}
203func (*MutateAssetsResponse) Descriptor() ([]byte, []int) {
204	return fileDescriptor_4a6e6d3ab580fb9b, []int{3}
205}
206
207func (m *MutateAssetsResponse) XXX_Unmarshal(b []byte) error {
208	return xxx_messageInfo_MutateAssetsResponse.Unmarshal(m, b)
209}
210func (m *MutateAssetsResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
211	return xxx_messageInfo_MutateAssetsResponse.Marshal(b, m, deterministic)
212}
213func (m *MutateAssetsResponse) XXX_Merge(src proto.Message) {
214	xxx_messageInfo_MutateAssetsResponse.Merge(m, src)
215}
216func (m *MutateAssetsResponse) XXX_Size() int {
217	return xxx_messageInfo_MutateAssetsResponse.Size(m)
218}
219func (m *MutateAssetsResponse) XXX_DiscardUnknown() {
220	xxx_messageInfo_MutateAssetsResponse.DiscardUnknown(m)
221}
222
223var xxx_messageInfo_MutateAssetsResponse proto.InternalMessageInfo
224
225func (m *MutateAssetsResponse) GetResults() []*MutateAssetResult {
226	if m != nil {
227		return m.Results
228	}
229	return nil
230}
231
232// The result for the asset mutate.
233type MutateAssetResult struct {
234	// The resource name returned for successful operations.
235	ResourceName         string   `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
236	XXX_NoUnkeyedLiteral struct{} `json:"-"`
237	XXX_unrecognized     []byte   `json:"-"`
238	XXX_sizecache        int32    `json:"-"`
239}
240
241func (m *MutateAssetResult) Reset()         { *m = MutateAssetResult{} }
242func (m *MutateAssetResult) String() string { return proto.CompactTextString(m) }
243func (*MutateAssetResult) ProtoMessage()    {}
244func (*MutateAssetResult) Descriptor() ([]byte, []int) {
245	return fileDescriptor_4a6e6d3ab580fb9b, []int{4}
246}
247
248func (m *MutateAssetResult) XXX_Unmarshal(b []byte) error {
249	return xxx_messageInfo_MutateAssetResult.Unmarshal(m, b)
250}
251func (m *MutateAssetResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
252	return xxx_messageInfo_MutateAssetResult.Marshal(b, m, deterministic)
253}
254func (m *MutateAssetResult) XXX_Merge(src proto.Message) {
255	xxx_messageInfo_MutateAssetResult.Merge(m, src)
256}
257func (m *MutateAssetResult) XXX_Size() int {
258	return xxx_messageInfo_MutateAssetResult.Size(m)
259}
260func (m *MutateAssetResult) XXX_DiscardUnknown() {
261	xxx_messageInfo_MutateAssetResult.DiscardUnknown(m)
262}
263
264var xxx_messageInfo_MutateAssetResult proto.InternalMessageInfo
265
266func (m *MutateAssetResult) GetResourceName() string {
267	if m != nil {
268		return m.ResourceName
269	}
270	return ""
271}
272
273func init() {
274	proto.RegisterType((*GetAssetRequest)(nil), "google.ads.googleads.v1.services.GetAssetRequest")
275	proto.RegisterType((*MutateAssetsRequest)(nil), "google.ads.googleads.v1.services.MutateAssetsRequest")
276	proto.RegisterType((*AssetOperation)(nil), "google.ads.googleads.v1.services.AssetOperation")
277	proto.RegisterType((*MutateAssetsResponse)(nil), "google.ads.googleads.v1.services.MutateAssetsResponse")
278	proto.RegisterType((*MutateAssetResult)(nil), "google.ads.googleads.v1.services.MutateAssetResult")
279}
280
281func init() {
282	proto.RegisterFile("google/ads/googleads/v1/services/asset_service.proto", fileDescriptor_4a6e6d3ab580fb9b)
283}
284
285var fileDescriptor_4a6e6d3ab580fb9b = []byte{
286	// 603 bytes of a gzipped FileDescriptorProto
287	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x54, 0xcd, 0x6e, 0xd3, 0x40,
288	0x10, 0xc6, 0x8e, 0x54, 0xe8, 0x26, 0x80, 0x6a, 0x10, 0x84, 0x80, 0x20, 0x32, 0x11, 0x8a, 0x02,
289	0xac, 0xeb, 0x14, 0x10, 0x32, 0xaa, 0xc4, 0xe6, 0x92, 0x22, 0x54, 0x5a, 0x05, 0x91, 0x03, 0x8a,
290	0x88, 0xb6, 0xf6, 0x62, 0x2c, 0xc5, 0xde, 0xe0, 0xd9, 0xe4, 0x52, 0xf5, 0xc2, 0x23, 0xc0, 0x1b,
291	0x70, 0x02, 0x1e, 0xa5, 0x07, 0x2e, 0xdc, 0x7a, 0xea, 0x81, 0x13, 0x4f, 0x80, 0x38, 0x21, 0x7b,
292	0xbd, 0x8e, 0x03, 0x44, 0xa1, 0xb7, 0x89, 0xe7, 0xfb, 0x99, 0xd9, 0x99, 0x09, 0xba, 0xe7, 0x73,
293	0xee, 0x8f, 0x98, 0x45, 0x3d, 0xb0, 0x64, 0x98, 0x44, 0x53, 0xdb, 0x02, 0x16, 0x4f, 0x03, 0x97,
294	0x81, 0x45, 0x01, 0x98, 0x18, 0x66, 0x3f, 0xf1, 0x38, 0xe6, 0x82, 0x1b, 0x75, 0x09, 0xc5, 0xd4,
295	0x03, 0x9c, 0xb3, 0xf0, 0xd4, 0xc6, 0x8a, 0x55, 0xbb, 0xbb, 0x48, 0x37, 0x66, 0xc0, 0x27, 0x71,
296	0x2e, 0x2c, 0x05, 0x6b, 0xd7, 0x14, 0x7c, 0x1c, 0x58, 0x34, 0x8a, 0xb8, 0xa0, 0x22, 0xe0, 0x11,
297	0x64, 0xd9, 0xcb, 0x85, 0xac, 0x3b, 0x0a, 0x58, 0xa4, 0x68, 0x37, 0x0a, 0x89, 0xd7, 0x01, 0x1b,
298	0x79, 0xc3, 0x3d, 0xf6, 0x86, 0x4e, 0x03, 0x1e, 0x67, 0x80, 0x2b, 0x05, 0x80, 0x72, 0x96, 0x29,
299	0xf3, 0x15, 0x3a, 0xdf, 0x65, 0x82, 0x24, 0x45, 0xf4, 0xd8, 0xdb, 0x09, 0x03, 0x61, 0x3c, 0x45,
300	0x67, 0x15, 0x68, 0x18, 0xd1, 0x90, 0x55, 0xb5, 0xba, 0xd6, 0x5c, 0xed, 0xdc, 0x3a, 0x26, 0xfa,
301	0x2f, 0x52, 0x47, 0xd7, 0x67, 0xad, 0x66, 0xd1, 0x38, 0x00, 0xec, 0xf2, 0xd0, 0x92, 0x2a, 0x15,
302	0x45, 0x7e, 0x46, 0x43, 0x66, 0xbe, 0xd7, 0xd0, 0x85, 0xed, 0x89, 0xa0, 0x82, 0xa5, 0x59, 0x50,
303	0x26, 0x0d, 0x54, 0x76, 0x27, 0x20, 0x78, 0xc8, 0xe2, 0x61, 0xe0, 0x65, 0x16, 0xa5, 0x63, 0xa2,
304	0xf7, 0x90, 0xfa, 0xfe, 0xc4, 0x33, 0x5e, 0x20, 0xc4, 0xc7, 0x2c, 0x96, 0xcf, 0x50, 0xd5, 0xeb,
305	0xa5, 0x66, 0xb9, 0xbd, 0x8e, 0x97, 0x3d, 0x3b, 0x4e, 0xad, 0x76, 0x14, 0x31, 0x93, 0x9d, 0x09,
306	0x99, 0x14, 0x9d, 0x9b, 0x87, 0x18, 0x1d, 0xb4, 0xe2, 0xc6, 0x8c, 0x0a, 0xd9, 0x6c, 0xb9, 0xdd,
307	0x5c, 0x68, 0x92, 0x4f, 0x4e, 0xba, 0x6c, 0x9d, 0xea, 0x65, 0xcc, 0x4e, 0x19, 0xad, 0xe6, 0x1e,
308	0x26, 0x43, 0x17, 0xe7, 0xdb, 0x86, 0x31, 0x8f, 0x80, 0x19, 0xdb, 0xe8, 0x74, 0xcc, 0x60, 0x32,
309	0x12, 0xaa, 0x9d, 0x8d, 0xe5, 0xed, 0x14, 0x84, 0x7a, 0x29, 0xb7, 0xa7, 0x34, 0xcc, 0x87, 0x68,
310	0xed, 0xaf, 0xac, 0x71, 0xf3, 0x9f, 0x03, 0x9c, 0x1f, 0x4c, 0xfb, 0x53, 0x09, 0x55, 0x52, 0xd2,
311	0x73, 0x69, 0x63, 0x7c, 0xd6, 0xd0, 0x19, 0xb5, 0x0a, 0x86, 0xbd, 0xbc, 0xaa, 0x3f, 0xd6, 0xa6,
312	0xf6, 0xdf, 0x4f, 0x66, 0x3e, 0x3e, 0x22, 0xf3, 0x05, 0xbe, 0xfb, 0xf6, 0xfd, 0x83, 0xde, 0x32,
313	0x9a, 0xc9, 0x65, 0xec, 0xcf, 0x65, 0x36, 0xd5, 0x32, 0x80, 0xd5, 0x92, 0xa7, 0x02, 0x56, 0xeb,
314	0xc0, 0xf8, 0xaa, 0xa1, 0x4a, 0xf1, 0x79, 0x8d, 0xfb, 0x27, 0x7a, 0x45, 0xb5, 0x85, 0xb5, 0x07,
315	0x27, 0xa5, 0xc9, 0x29, 0x9a, 0x3b, 0x47, 0xe4, 0x52, 0x61, 0x7d, 0xef, 0xcc, 0x76, 0x2b, 0x6d,
316	0x65, 0xdd, 0xbc, 0x9d, 0xb4, 0x32, 0xab, 0x7d, 0xbf, 0x00, 0xde, 0x6c, 0x1d, 0x64, 0x9d, 0x38,
317	0x61, 0xaa, 0xed, 0x68, 0xad, 0xda, 0xd5, 0x43, 0x52, 0x5d, 0x74, 0x57, 0x9d, 0x9f, 0x1a, 0x6a,
318	0xb8, 0x3c, 0x5c, 0x5a, 0x6b, 0x67, 0xad, 0x38, 0xd0, 0xdd, 0xe4, 0xbe, 0x77, 0xb5, 0x97, 0x5b,
319	0x19, 0xcd, 0xe7, 0x23, 0x1a, 0xf9, 0x98, 0xc7, 0xbe, 0xe5, 0xb3, 0x28, 0xbd, 0x7e, 0x6b, 0x66,
320	0xb4, 0xf8, 0xaf, 0xef, 0x91, 0x0a, 0x3e, 0xea, 0xa5, 0x2e, 0x21, 0x5f, 0xf4, 0x7a, 0x57, 0x0a,
321	0x12, 0x0f, 0xb0, 0x0c, 0x93, 0xa8, 0x6f, 0xe3, 0xcc, 0x18, 0x0e, 0x15, 0x64, 0x40, 0x3c, 0x18,
322	0xe4, 0x90, 0x41, 0xdf, 0x1e, 0x28, 0xc8, 0x0f, 0xbd, 0x21, 0xbf, 0x3b, 0x0e, 0xf1, 0xc0, 0x71,
323	0x72, 0x90, 0xe3, 0xf4, 0x6d, 0xc7, 0x51, 0xb0, 0xbd, 0x95, 0xb4, 0xce, 0x8d, 0xdf, 0x01, 0x00,
324	0x00, 0xff, 0xff, 0x69, 0x8b, 0x47, 0x52, 0xa1, 0x05, 0x00, 0x00,
325}
326
327// Reference imports to suppress errors if they are not otherwise used.
328var _ context.Context
329var _ grpc.ClientConnInterface
330
331// This is a compile-time assertion to ensure that this generated file
332// is compatible with the grpc package it is being compiled against.
333const _ = grpc.SupportPackageIsVersion6
334
335// AssetServiceClient is the client API for AssetService service.
336//
337// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
338type AssetServiceClient interface {
339	// Returns the requested asset in full detail.
340	GetAsset(ctx context.Context, in *GetAssetRequest, opts ...grpc.CallOption) (*resources.Asset, error)
341	// Creates assets. Operation statuses are returned.
342	MutateAssets(ctx context.Context, in *MutateAssetsRequest, opts ...grpc.CallOption) (*MutateAssetsResponse, error)
343}
344
345type assetServiceClient struct {
346	cc grpc.ClientConnInterface
347}
348
349func NewAssetServiceClient(cc grpc.ClientConnInterface) AssetServiceClient {
350	return &assetServiceClient{cc}
351}
352
353func (c *assetServiceClient) GetAsset(ctx context.Context, in *GetAssetRequest, opts ...grpc.CallOption) (*resources.Asset, error) {
354	out := new(resources.Asset)
355	err := c.cc.Invoke(ctx, "/google.ads.googleads.v1.services.AssetService/GetAsset", in, out, opts...)
356	if err != nil {
357		return nil, err
358	}
359	return out, nil
360}
361
362func (c *assetServiceClient) MutateAssets(ctx context.Context, in *MutateAssetsRequest, opts ...grpc.CallOption) (*MutateAssetsResponse, error) {
363	out := new(MutateAssetsResponse)
364	err := c.cc.Invoke(ctx, "/google.ads.googleads.v1.services.AssetService/MutateAssets", in, out, opts...)
365	if err != nil {
366		return nil, err
367	}
368	return out, nil
369}
370
371// AssetServiceServer is the server API for AssetService service.
372type AssetServiceServer interface {
373	// Returns the requested asset in full detail.
374	GetAsset(context.Context, *GetAssetRequest) (*resources.Asset, error)
375	// Creates assets. Operation statuses are returned.
376	MutateAssets(context.Context, *MutateAssetsRequest) (*MutateAssetsResponse, error)
377}
378
379// UnimplementedAssetServiceServer can be embedded to have forward compatible implementations.
380type UnimplementedAssetServiceServer struct {
381}
382
383func (*UnimplementedAssetServiceServer) GetAsset(ctx context.Context, req *GetAssetRequest) (*resources.Asset, error) {
384	return nil, status.Errorf(codes.Unimplemented, "method GetAsset not implemented")
385}
386func (*UnimplementedAssetServiceServer) MutateAssets(ctx context.Context, req *MutateAssetsRequest) (*MutateAssetsResponse, error) {
387	return nil, status.Errorf(codes.Unimplemented, "method MutateAssets not implemented")
388}
389
390func RegisterAssetServiceServer(s *grpc.Server, srv AssetServiceServer) {
391	s.RegisterService(&_AssetService_serviceDesc, srv)
392}
393
394func _AssetService_GetAsset_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
395	in := new(GetAssetRequest)
396	if err := dec(in); err != nil {
397		return nil, err
398	}
399	if interceptor == nil {
400		return srv.(AssetServiceServer).GetAsset(ctx, in)
401	}
402	info := &grpc.UnaryServerInfo{
403		Server:     srv,
404		FullMethod: "/google.ads.googleads.v1.services.AssetService/GetAsset",
405	}
406	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
407		return srv.(AssetServiceServer).GetAsset(ctx, req.(*GetAssetRequest))
408	}
409	return interceptor(ctx, in, info, handler)
410}
411
412func _AssetService_MutateAssets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
413	in := new(MutateAssetsRequest)
414	if err := dec(in); err != nil {
415		return nil, err
416	}
417	if interceptor == nil {
418		return srv.(AssetServiceServer).MutateAssets(ctx, in)
419	}
420	info := &grpc.UnaryServerInfo{
421		Server:     srv,
422		FullMethod: "/google.ads.googleads.v1.services.AssetService/MutateAssets",
423	}
424	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
425		return srv.(AssetServiceServer).MutateAssets(ctx, req.(*MutateAssetsRequest))
426	}
427	return interceptor(ctx, in, info, handler)
428}
429
430var _AssetService_serviceDesc = grpc.ServiceDesc{
431	ServiceName: "google.ads.googleads.v1.services.AssetService",
432	HandlerType: (*AssetServiceServer)(nil),
433	Methods: []grpc.MethodDesc{
434		{
435			MethodName: "GetAsset",
436			Handler:    _AssetService_GetAsset_Handler,
437		},
438		{
439			MethodName: "MutateAssets",
440			Handler:    _AssetService_MutateAssets_Handler,
441		},
442	},
443	Streams:  []grpc.StreamDesc{},
444	Metadata: "google/ads/googleads/v1/services/asset_service.proto",
445}
446