1// Copyright 2021 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//     https://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_gapic. DO NOT EDIT.
16
17package admin
18
19import (
20	"context"
21	"fmt"
22	"math"
23	"net/url"
24	"time"
25
26	gax "github.com/googleapis/gax-go/v2"
27	"google.golang.org/api/iterator"
28	"google.golang.org/api/option"
29	"google.golang.org/api/option/internaloption"
30	gtransport "google.golang.org/api/transport/grpc"
31	adminpb "google.golang.org/genproto/googleapis/analytics/admin/v1alpha"
32	"google.golang.org/grpc"
33	"google.golang.org/grpc/codes"
34	"google.golang.org/grpc/metadata"
35	"google.golang.org/protobuf/proto"
36)
37
38var newAnalyticsAdminClientHook clientHook
39
40// AnalyticsAdminCallOptions contains the retry settings for each method of AnalyticsAdminClient.
41type AnalyticsAdminCallOptions struct {
42	GetAccount                                   []gax.CallOption
43	ListAccounts                                 []gax.CallOption
44	DeleteAccount                                []gax.CallOption
45	UpdateAccount                                []gax.CallOption
46	ProvisionAccountTicket                       []gax.CallOption
47	ListAccountSummaries                         []gax.CallOption
48	GetProperty                                  []gax.CallOption
49	ListProperties                               []gax.CallOption
50	CreateProperty                               []gax.CallOption
51	DeleteProperty                               []gax.CallOption
52	UpdateProperty                               []gax.CallOption
53	GetUserLink                                  []gax.CallOption
54	BatchGetUserLinks                            []gax.CallOption
55	ListUserLinks                                []gax.CallOption
56	AuditUserLinks                               []gax.CallOption
57	CreateUserLink                               []gax.CallOption
58	BatchCreateUserLinks                         []gax.CallOption
59	UpdateUserLink                               []gax.CallOption
60	BatchUpdateUserLinks                         []gax.CallOption
61	DeleteUserLink                               []gax.CallOption
62	BatchDeleteUserLinks                         []gax.CallOption
63	GetWebDataStream                             []gax.CallOption
64	DeleteWebDataStream                          []gax.CallOption
65	UpdateWebDataStream                          []gax.CallOption
66	CreateWebDataStream                          []gax.CallOption
67	ListWebDataStreams                           []gax.CallOption
68	GetIosAppDataStream                          []gax.CallOption
69	DeleteIosAppDataStream                       []gax.CallOption
70	UpdateIosAppDataStream                       []gax.CallOption
71	ListIosAppDataStreams                        []gax.CallOption
72	GetAndroidAppDataStream                      []gax.CallOption
73	DeleteAndroidAppDataStream                   []gax.CallOption
74	UpdateAndroidAppDataStream                   []gax.CallOption
75	ListAndroidAppDataStreams                    []gax.CallOption
76	GetEnhancedMeasurementSettings               []gax.CallOption
77	UpdateEnhancedMeasurementSettings            []gax.CallOption
78	CreateFirebaseLink                           []gax.CallOption
79	DeleteFirebaseLink                           []gax.CallOption
80	ListFirebaseLinks                            []gax.CallOption
81	GetGlobalSiteTag                             []gax.CallOption
82	CreateGoogleAdsLink                          []gax.CallOption
83	UpdateGoogleAdsLink                          []gax.CallOption
84	DeleteGoogleAdsLink                          []gax.CallOption
85	ListGoogleAdsLinks                           []gax.CallOption
86	GetDataSharingSettings                       []gax.CallOption
87	GetMeasurementProtocolSecret                 []gax.CallOption
88	ListMeasurementProtocolSecrets               []gax.CallOption
89	CreateMeasurementProtocolSecret              []gax.CallOption
90	DeleteMeasurementProtocolSecret              []gax.CallOption
91	UpdateMeasurementProtocolSecret              []gax.CallOption
92	SearchChangeHistoryEvents                    []gax.CallOption
93	GetGoogleSignalsSettings                     []gax.CallOption
94	UpdateGoogleSignalsSettings                  []gax.CallOption
95	CreateConversionEvent                        []gax.CallOption
96	GetConversionEvent                           []gax.CallOption
97	DeleteConversionEvent                        []gax.CallOption
98	ListConversionEvents                         []gax.CallOption
99	GetDisplayVideo360AdvertiserLink             []gax.CallOption
100	ListDisplayVideo360AdvertiserLinks           []gax.CallOption
101	CreateDisplayVideo360AdvertiserLink          []gax.CallOption
102	DeleteDisplayVideo360AdvertiserLink          []gax.CallOption
103	UpdateDisplayVideo360AdvertiserLink          []gax.CallOption
104	GetDisplayVideo360AdvertiserLinkProposal     []gax.CallOption
105	ListDisplayVideo360AdvertiserLinkProposals   []gax.CallOption
106	CreateDisplayVideo360AdvertiserLinkProposal  []gax.CallOption
107	DeleteDisplayVideo360AdvertiserLinkProposal  []gax.CallOption
108	ApproveDisplayVideo360AdvertiserLinkProposal []gax.CallOption
109	CancelDisplayVideo360AdvertiserLinkProposal  []gax.CallOption
110	CreateCustomDimension                        []gax.CallOption
111	UpdateCustomDimension                        []gax.CallOption
112	ListCustomDimensions                         []gax.CallOption
113	ArchiveCustomDimension                       []gax.CallOption
114	GetCustomDimension                           []gax.CallOption
115	CreateCustomMetric                           []gax.CallOption
116	UpdateCustomMetric                           []gax.CallOption
117	ListCustomMetrics                            []gax.CallOption
118	ArchiveCustomMetric                          []gax.CallOption
119	GetCustomMetric                              []gax.CallOption
120	GetDataRetentionSettings                     []gax.CallOption
121	UpdateDataRetentionSettings                  []gax.CallOption
122}
123
124func defaultAnalyticsAdminGRPCClientOptions() []option.ClientOption {
125	return []option.ClientOption{
126		internaloption.WithDefaultEndpoint("analyticsadmin.googleapis.com:443"),
127		internaloption.WithDefaultMTLSEndpoint("analyticsadmin.mtls.googleapis.com:443"),
128		internaloption.WithDefaultAudience("https://analyticsadmin.googleapis.com/"),
129		internaloption.WithDefaultScopes(DefaultAuthScopes()...),
130		internaloption.EnableJwtWithScope(),
131		option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
132		option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
133			grpc.MaxCallRecvMsgSize(math.MaxInt32))),
134	}
135}
136
137func defaultAnalyticsAdminCallOptions() *AnalyticsAdminCallOptions {
138	return &AnalyticsAdminCallOptions{
139		GetAccount:             []gax.CallOption{},
140		ListAccounts:           []gax.CallOption{},
141		DeleteAccount:          []gax.CallOption{},
142		UpdateAccount:          []gax.CallOption{},
143		ProvisionAccountTicket: []gax.CallOption{},
144		ListAccountSummaries: []gax.CallOption{
145			gax.WithRetry(func() gax.Retryer {
146				return gax.OnCodes([]codes.Code{
147					codes.Unavailable,
148					codes.Unknown,
149				}, gax.Backoff{
150					Initial:    1000 * time.Millisecond,
151					Max:        60000 * time.Millisecond,
152					Multiplier: 1.30,
153				})
154			}),
155		},
156		GetProperty:          []gax.CallOption{},
157		ListProperties:       []gax.CallOption{},
158		CreateProperty:       []gax.CallOption{},
159		DeleteProperty:       []gax.CallOption{},
160		UpdateProperty:       []gax.CallOption{},
161		GetUserLink:          []gax.CallOption{},
162		BatchGetUserLinks:    []gax.CallOption{},
163		ListUserLinks:        []gax.CallOption{},
164		AuditUserLinks:       []gax.CallOption{},
165		CreateUserLink:       []gax.CallOption{},
166		BatchCreateUserLinks: []gax.CallOption{},
167		UpdateUserLink:       []gax.CallOption{},
168		BatchUpdateUserLinks: []gax.CallOption{},
169		DeleteUserLink:       []gax.CallOption{},
170		BatchDeleteUserLinks: []gax.CallOption{},
171		GetWebDataStream:     []gax.CallOption{},
172		DeleteWebDataStream: []gax.CallOption{
173			gax.WithRetry(func() gax.Retryer {
174				return gax.OnCodes([]codes.Code{
175					codes.Unavailable,
176					codes.Unknown,
177				}, gax.Backoff{
178					Initial:    1000 * time.Millisecond,
179					Max:        60000 * time.Millisecond,
180					Multiplier: 1.30,
181				})
182			}),
183		},
184		UpdateWebDataStream:               []gax.CallOption{},
185		CreateWebDataStream:               []gax.CallOption{},
186		ListWebDataStreams:                []gax.CallOption{},
187		GetIosAppDataStream:               []gax.CallOption{},
188		DeleteIosAppDataStream:            []gax.CallOption{},
189		UpdateIosAppDataStream:            []gax.CallOption{},
190		ListIosAppDataStreams:             []gax.CallOption{},
191		GetAndroidAppDataStream:           []gax.CallOption{},
192		DeleteAndroidAppDataStream:        []gax.CallOption{},
193		UpdateAndroidAppDataStream:        []gax.CallOption{},
194		ListAndroidAppDataStreams:         []gax.CallOption{},
195		GetEnhancedMeasurementSettings:    []gax.CallOption{},
196		UpdateEnhancedMeasurementSettings: []gax.CallOption{},
197		CreateFirebaseLink:                []gax.CallOption{},
198		DeleteFirebaseLink:                []gax.CallOption{},
199		ListFirebaseLinks:                 []gax.CallOption{},
200		GetGlobalSiteTag:                  []gax.CallOption{},
201		CreateGoogleAdsLink:               []gax.CallOption{},
202		UpdateGoogleAdsLink:               []gax.CallOption{},
203		DeleteGoogleAdsLink:               []gax.CallOption{},
204		ListGoogleAdsLinks:                []gax.CallOption{},
205		GetDataSharingSettings: []gax.CallOption{
206			gax.WithRetry(func() gax.Retryer {
207				return gax.OnCodes([]codes.Code{
208					codes.Unavailable,
209					codes.Unknown,
210				}, gax.Backoff{
211					Initial:    1000 * time.Millisecond,
212					Max:        60000 * time.Millisecond,
213					Multiplier: 1.30,
214				})
215			}),
216		},
217		GetMeasurementProtocolSecret: []gax.CallOption{
218			gax.WithRetry(func() gax.Retryer {
219				return gax.OnCodes([]codes.Code{
220					codes.Unavailable,
221					codes.Unknown,
222				}, gax.Backoff{
223					Initial:    1000 * time.Millisecond,
224					Max:        60000 * time.Millisecond,
225					Multiplier: 1.30,
226				})
227			}),
228		},
229		ListMeasurementProtocolSecrets: []gax.CallOption{
230			gax.WithRetry(func() gax.Retryer {
231				return gax.OnCodes([]codes.Code{
232					codes.Unavailable,
233					codes.Unknown,
234				}, gax.Backoff{
235					Initial:    1000 * time.Millisecond,
236					Max:        60000 * time.Millisecond,
237					Multiplier: 1.30,
238				})
239			}),
240		},
241		CreateMeasurementProtocolSecret: []gax.CallOption{
242			gax.WithRetry(func() gax.Retryer {
243				return gax.OnCodes([]codes.Code{
244					codes.Unavailable,
245					codes.Unknown,
246				}, gax.Backoff{
247					Initial:    1000 * time.Millisecond,
248					Max:        60000 * time.Millisecond,
249					Multiplier: 1.30,
250				})
251			}),
252		},
253		DeleteMeasurementProtocolSecret: []gax.CallOption{
254			gax.WithRetry(func() gax.Retryer {
255				return gax.OnCodes([]codes.Code{
256					codes.Unavailable,
257					codes.Unknown,
258				}, gax.Backoff{
259					Initial:    1000 * time.Millisecond,
260					Max:        60000 * time.Millisecond,
261					Multiplier: 1.30,
262				})
263			}),
264		},
265		UpdateMeasurementProtocolSecret: []gax.CallOption{
266			gax.WithRetry(func() gax.Retryer {
267				return gax.OnCodes([]codes.Code{
268					codes.Unavailable,
269					codes.Unknown,
270				}, gax.Backoff{
271					Initial:    1000 * time.Millisecond,
272					Max:        60000 * time.Millisecond,
273					Multiplier: 1.30,
274				})
275			}),
276		},
277		SearchChangeHistoryEvents: []gax.CallOption{
278			gax.WithRetry(func() gax.Retryer {
279				return gax.OnCodes([]codes.Code{
280					codes.Unavailable,
281					codes.Unknown,
282				}, gax.Backoff{
283					Initial:    1000 * time.Millisecond,
284					Max:        60000 * time.Millisecond,
285					Multiplier: 1.30,
286				})
287			}),
288		},
289		GetGoogleSignalsSettings: []gax.CallOption{
290			gax.WithRetry(func() gax.Retryer {
291				return gax.OnCodes([]codes.Code{
292					codes.Unavailable,
293					codes.Unknown,
294				}, gax.Backoff{
295					Initial:    1000 * time.Millisecond,
296					Max:        60000 * time.Millisecond,
297					Multiplier: 1.30,
298				})
299			}),
300		},
301		UpdateGoogleSignalsSettings: []gax.CallOption{
302			gax.WithRetry(func() gax.Retryer {
303				return gax.OnCodes([]codes.Code{
304					codes.Unavailable,
305					codes.Unknown,
306				}, gax.Backoff{
307					Initial:    1000 * time.Millisecond,
308					Max:        60000 * time.Millisecond,
309					Multiplier: 1.30,
310				})
311			}),
312		},
313		CreateConversionEvent: []gax.CallOption{
314			gax.WithRetry(func() gax.Retryer {
315				return gax.OnCodes([]codes.Code{
316					codes.Unavailable,
317					codes.Unknown,
318				}, gax.Backoff{
319					Initial:    1000 * time.Millisecond,
320					Max:        60000 * time.Millisecond,
321					Multiplier: 1.30,
322				})
323			}),
324		},
325		GetConversionEvent: []gax.CallOption{
326			gax.WithRetry(func() gax.Retryer {
327				return gax.OnCodes([]codes.Code{
328					codes.Unavailable,
329					codes.Unknown,
330				}, gax.Backoff{
331					Initial:    1000 * time.Millisecond,
332					Max:        60000 * time.Millisecond,
333					Multiplier: 1.30,
334				})
335			}),
336		},
337		DeleteConversionEvent: []gax.CallOption{
338			gax.WithRetry(func() gax.Retryer {
339				return gax.OnCodes([]codes.Code{
340					codes.Unavailable,
341					codes.Unknown,
342				}, gax.Backoff{
343					Initial:    1000 * time.Millisecond,
344					Max:        60000 * time.Millisecond,
345					Multiplier: 1.30,
346				})
347			}),
348		},
349		ListConversionEvents: []gax.CallOption{
350			gax.WithRetry(func() gax.Retryer {
351				return gax.OnCodes([]codes.Code{
352					codes.Unavailable,
353					codes.Unknown,
354				}, gax.Backoff{
355					Initial:    1000 * time.Millisecond,
356					Max:        60000 * time.Millisecond,
357					Multiplier: 1.30,
358				})
359			}),
360		},
361		GetDisplayVideo360AdvertiserLink: []gax.CallOption{
362			gax.WithRetry(func() gax.Retryer {
363				return gax.OnCodes([]codes.Code{
364					codes.Unavailable,
365					codes.Unknown,
366				}, gax.Backoff{
367					Initial:    1000 * time.Millisecond,
368					Max:        60000 * time.Millisecond,
369					Multiplier: 1.30,
370				})
371			}),
372		},
373		ListDisplayVideo360AdvertiserLinks: []gax.CallOption{
374			gax.WithRetry(func() gax.Retryer {
375				return gax.OnCodes([]codes.Code{
376					codes.Unavailable,
377					codes.Unknown,
378				}, gax.Backoff{
379					Initial:    1000 * time.Millisecond,
380					Max:        60000 * time.Millisecond,
381					Multiplier: 1.30,
382				})
383			}),
384		},
385		CreateDisplayVideo360AdvertiserLink: []gax.CallOption{
386			gax.WithRetry(func() gax.Retryer {
387				return gax.OnCodes([]codes.Code{
388					codes.Unavailable,
389					codes.Unknown,
390				}, gax.Backoff{
391					Initial:    1000 * time.Millisecond,
392					Max:        60000 * time.Millisecond,
393					Multiplier: 1.30,
394				})
395			}),
396		},
397		DeleteDisplayVideo360AdvertiserLink: []gax.CallOption{
398			gax.WithRetry(func() gax.Retryer {
399				return gax.OnCodes([]codes.Code{
400					codes.Unavailable,
401					codes.Unknown,
402				}, gax.Backoff{
403					Initial:    1000 * time.Millisecond,
404					Max:        60000 * time.Millisecond,
405					Multiplier: 1.30,
406				})
407			}),
408		},
409		UpdateDisplayVideo360AdvertiserLink: []gax.CallOption{
410			gax.WithRetry(func() gax.Retryer {
411				return gax.OnCodes([]codes.Code{
412					codes.Unavailable,
413					codes.Unknown,
414				}, gax.Backoff{
415					Initial:    1000 * time.Millisecond,
416					Max:        60000 * time.Millisecond,
417					Multiplier: 1.30,
418				})
419			}),
420		},
421		GetDisplayVideo360AdvertiserLinkProposal: []gax.CallOption{
422			gax.WithRetry(func() gax.Retryer {
423				return gax.OnCodes([]codes.Code{
424					codes.Unavailable,
425					codes.Unknown,
426				}, gax.Backoff{
427					Initial:    1000 * time.Millisecond,
428					Max:        60000 * time.Millisecond,
429					Multiplier: 1.30,
430				})
431			}),
432		},
433		ListDisplayVideo360AdvertiserLinkProposals: []gax.CallOption{
434			gax.WithRetry(func() gax.Retryer {
435				return gax.OnCodes([]codes.Code{
436					codes.Unavailable,
437					codes.Unknown,
438				}, gax.Backoff{
439					Initial:    1000 * time.Millisecond,
440					Max:        60000 * time.Millisecond,
441					Multiplier: 1.30,
442				})
443			}),
444		},
445		CreateDisplayVideo360AdvertiserLinkProposal: []gax.CallOption{
446			gax.WithRetry(func() gax.Retryer {
447				return gax.OnCodes([]codes.Code{
448					codes.Unavailable,
449					codes.Unknown,
450				}, gax.Backoff{
451					Initial:    1000 * time.Millisecond,
452					Max:        60000 * time.Millisecond,
453					Multiplier: 1.30,
454				})
455			}),
456		},
457		DeleteDisplayVideo360AdvertiserLinkProposal: []gax.CallOption{
458			gax.WithRetry(func() gax.Retryer {
459				return gax.OnCodes([]codes.Code{
460					codes.Unavailable,
461					codes.Unknown,
462				}, gax.Backoff{
463					Initial:    1000 * time.Millisecond,
464					Max:        60000 * time.Millisecond,
465					Multiplier: 1.30,
466				})
467			}),
468		},
469		ApproveDisplayVideo360AdvertiserLinkProposal: []gax.CallOption{
470			gax.WithRetry(func() gax.Retryer {
471				return gax.OnCodes([]codes.Code{
472					codes.Unavailable,
473					codes.Unknown,
474				}, gax.Backoff{
475					Initial:    1000 * time.Millisecond,
476					Max:        60000 * time.Millisecond,
477					Multiplier: 1.30,
478				})
479			}),
480		},
481		CancelDisplayVideo360AdvertiserLinkProposal: []gax.CallOption{
482			gax.WithRetry(func() gax.Retryer {
483				return gax.OnCodes([]codes.Code{
484					codes.Unavailable,
485					codes.Unknown,
486				}, gax.Backoff{
487					Initial:    1000 * time.Millisecond,
488					Max:        60000 * time.Millisecond,
489					Multiplier: 1.30,
490				})
491			}),
492		},
493		CreateCustomDimension: []gax.CallOption{
494			gax.WithRetry(func() gax.Retryer {
495				return gax.OnCodes([]codes.Code{
496					codes.Unavailable,
497					codes.Unknown,
498				}, gax.Backoff{
499					Initial:    1000 * time.Millisecond,
500					Max:        60000 * time.Millisecond,
501					Multiplier: 1.30,
502				})
503			}),
504		},
505		UpdateCustomDimension: []gax.CallOption{
506			gax.WithRetry(func() gax.Retryer {
507				return gax.OnCodes([]codes.Code{
508					codes.Unavailable,
509					codes.Unknown,
510				}, gax.Backoff{
511					Initial:    1000 * time.Millisecond,
512					Max:        60000 * time.Millisecond,
513					Multiplier: 1.30,
514				})
515			}),
516		},
517		ListCustomDimensions: []gax.CallOption{
518			gax.WithRetry(func() gax.Retryer {
519				return gax.OnCodes([]codes.Code{
520					codes.Unavailable,
521					codes.Unknown,
522				}, gax.Backoff{
523					Initial:    1000 * time.Millisecond,
524					Max:        60000 * time.Millisecond,
525					Multiplier: 1.30,
526				})
527			}),
528		},
529		ArchiveCustomDimension: []gax.CallOption{
530			gax.WithRetry(func() gax.Retryer {
531				return gax.OnCodes([]codes.Code{
532					codes.Unavailable,
533					codes.Unknown,
534				}, gax.Backoff{
535					Initial:    1000 * time.Millisecond,
536					Max:        60000 * time.Millisecond,
537					Multiplier: 1.30,
538				})
539			}),
540		},
541		GetCustomDimension: []gax.CallOption{
542			gax.WithRetry(func() gax.Retryer {
543				return gax.OnCodes([]codes.Code{
544					codes.Unavailable,
545					codes.Unknown,
546				}, gax.Backoff{
547					Initial:    1000 * time.Millisecond,
548					Max:        60000 * time.Millisecond,
549					Multiplier: 1.30,
550				})
551			}),
552		},
553		CreateCustomMetric: []gax.CallOption{
554			gax.WithRetry(func() gax.Retryer {
555				return gax.OnCodes([]codes.Code{
556					codes.Unavailable,
557					codes.Unknown,
558				}, gax.Backoff{
559					Initial:    1000 * time.Millisecond,
560					Max:        60000 * time.Millisecond,
561					Multiplier: 1.30,
562				})
563			}),
564		},
565		UpdateCustomMetric: []gax.CallOption{
566			gax.WithRetry(func() gax.Retryer {
567				return gax.OnCodes([]codes.Code{
568					codes.Unavailable,
569					codes.Unknown,
570				}, gax.Backoff{
571					Initial:    1000 * time.Millisecond,
572					Max:        60000 * time.Millisecond,
573					Multiplier: 1.30,
574				})
575			}),
576		},
577		ListCustomMetrics: []gax.CallOption{
578			gax.WithRetry(func() gax.Retryer {
579				return gax.OnCodes([]codes.Code{
580					codes.Unavailable,
581					codes.Unknown,
582				}, gax.Backoff{
583					Initial:    1000 * time.Millisecond,
584					Max:        60000 * time.Millisecond,
585					Multiplier: 1.30,
586				})
587			}),
588		},
589		ArchiveCustomMetric: []gax.CallOption{
590			gax.WithRetry(func() gax.Retryer {
591				return gax.OnCodes([]codes.Code{
592					codes.Unavailable,
593					codes.Unknown,
594				}, gax.Backoff{
595					Initial:    1000 * time.Millisecond,
596					Max:        60000 * time.Millisecond,
597					Multiplier: 1.30,
598				})
599			}),
600		},
601		GetCustomMetric: []gax.CallOption{
602			gax.WithRetry(func() gax.Retryer {
603				return gax.OnCodes([]codes.Code{
604					codes.Unavailable,
605					codes.Unknown,
606				}, gax.Backoff{
607					Initial:    1000 * time.Millisecond,
608					Max:        60000 * time.Millisecond,
609					Multiplier: 1.30,
610				})
611			}),
612		},
613		GetDataRetentionSettings: []gax.CallOption{
614			gax.WithRetry(func() gax.Retryer {
615				return gax.OnCodes([]codes.Code{
616					codes.Unavailable,
617					codes.Unknown,
618				}, gax.Backoff{
619					Initial:    1000 * time.Millisecond,
620					Max:        60000 * time.Millisecond,
621					Multiplier: 1.30,
622				})
623			}),
624		},
625		UpdateDataRetentionSettings: []gax.CallOption{
626			gax.WithRetry(func() gax.Retryer {
627				return gax.OnCodes([]codes.Code{
628					codes.Unavailable,
629					codes.Unknown,
630				}, gax.Backoff{
631					Initial:    1000 * time.Millisecond,
632					Max:        60000 * time.Millisecond,
633					Multiplier: 1.30,
634				})
635			}),
636		},
637	}
638}
639
640// internalAnalyticsAdminClient is an interface that defines the methods availaible from Google Analytics Admin API.
641type internalAnalyticsAdminClient interface {
642	Close() error
643	setGoogleClientInfo(...string)
644	Connection() *grpc.ClientConn
645	GetAccount(context.Context, *adminpb.GetAccountRequest, ...gax.CallOption) (*adminpb.Account, error)
646	ListAccounts(context.Context, *adminpb.ListAccountsRequest, ...gax.CallOption) *AccountIterator
647	DeleteAccount(context.Context, *adminpb.DeleteAccountRequest, ...gax.CallOption) error
648	UpdateAccount(context.Context, *adminpb.UpdateAccountRequest, ...gax.CallOption) (*adminpb.Account, error)
649	ProvisionAccountTicket(context.Context, *adminpb.ProvisionAccountTicketRequest, ...gax.CallOption) (*adminpb.ProvisionAccountTicketResponse, error)
650	ListAccountSummaries(context.Context, *adminpb.ListAccountSummariesRequest, ...gax.CallOption) *AccountSummaryIterator
651	GetProperty(context.Context, *adminpb.GetPropertyRequest, ...gax.CallOption) (*adminpb.Property, error)
652	ListProperties(context.Context, *adminpb.ListPropertiesRequest, ...gax.CallOption) *PropertyIterator
653	CreateProperty(context.Context, *adminpb.CreatePropertyRequest, ...gax.CallOption) (*adminpb.Property, error)
654	DeleteProperty(context.Context, *adminpb.DeletePropertyRequest, ...gax.CallOption) (*adminpb.Property, error)
655	UpdateProperty(context.Context, *adminpb.UpdatePropertyRequest, ...gax.CallOption) (*adminpb.Property, error)
656	GetUserLink(context.Context, *adminpb.GetUserLinkRequest, ...gax.CallOption) (*adminpb.UserLink, error)
657	BatchGetUserLinks(context.Context, *adminpb.BatchGetUserLinksRequest, ...gax.CallOption) (*adminpb.BatchGetUserLinksResponse, error)
658	ListUserLinks(context.Context, *adminpb.ListUserLinksRequest, ...gax.CallOption) *UserLinkIterator
659	AuditUserLinks(context.Context, *adminpb.AuditUserLinksRequest, ...gax.CallOption) *AuditUserLinkIterator
660	CreateUserLink(context.Context, *adminpb.CreateUserLinkRequest, ...gax.CallOption) (*adminpb.UserLink, error)
661	BatchCreateUserLinks(context.Context, *adminpb.BatchCreateUserLinksRequest, ...gax.CallOption) (*adminpb.BatchCreateUserLinksResponse, error)
662	UpdateUserLink(context.Context, *adminpb.UpdateUserLinkRequest, ...gax.CallOption) (*adminpb.UserLink, error)
663	BatchUpdateUserLinks(context.Context, *adminpb.BatchUpdateUserLinksRequest, ...gax.CallOption) (*adminpb.BatchUpdateUserLinksResponse, error)
664	DeleteUserLink(context.Context, *adminpb.DeleteUserLinkRequest, ...gax.CallOption) error
665	BatchDeleteUserLinks(context.Context, *adminpb.BatchDeleteUserLinksRequest, ...gax.CallOption) error
666	GetWebDataStream(context.Context, *adminpb.GetWebDataStreamRequest, ...gax.CallOption) (*adminpb.WebDataStream, error)
667	DeleteWebDataStream(context.Context, *adminpb.DeleteWebDataStreamRequest, ...gax.CallOption) error
668	UpdateWebDataStream(context.Context, *adminpb.UpdateWebDataStreamRequest, ...gax.CallOption) (*adminpb.WebDataStream, error)
669	CreateWebDataStream(context.Context, *adminpb.CreateWebDataStreamRequest, ...gax.CallOption) (*adminpb.WebDataStream, error)
670	ListWebDataStreams(context.Context, *adminpb.ListWebDataStreamsRequest, ...gax.CallOption) *WebDataStreamIterator
671	GetIosAppDataStream(context.Context, *adminpb.GetIosAppDataStreamRequest, ...gax.CallOption) (*adminpb.IosAppDataStream, error)
672	DeleteIosAppDataStream(context.Context, *adminpb.DeleteIosAppDataStreamRequest, ...gax.CallOption) error
673	UpdateIosAppDataStream(context.Context, *adminpb.UpdateIosAppDataStreamRequest, ...gax.CallOption) (*adminpb.IosAppDataStream, error)
674	ListIosAppDataStreams(context.Context, *adminpb.ListIosAppDataStreamsRequest, ...gax.CallOption) *IosAppDataStreamIterator
675	GetAndroidAppDataStream(context.Context, *adminpb.GetAndroidAppDataStreamRequest, ...gax.CallOption) (*adminpb.AndroidAppDataStream, error)
676	DeleteAndroidAppDataStream(context.Context, *adminpb.DeleteAndroidAppDataStreamRequest, ...gax.CallOption) error
677	UpdateAndroidAppDataStream(context.Context, *adminpb.UpdateAndroidAppDataStreamRequest, ...gax.CallOption) (*adminpb.AndroidAppDataStream, error)
678	ListAndroidAppDataStreams(context.Context, *adminpb.ListAndroidAppDataStreamsRequest, ...gax.CallOption) *AndroidAppDataStreamIterator
679	GetEnhancedMeasurementSettings(context.Context, *adminpb.GetEnhancedMeasurementSettingsRequest, ...gax.CallOption) (*adminpb.EnhancedMeasurementSettings, error)
680	UpdateEnhancedMeasurementSettings(context.Context, *adminpb.UpdateEnhancedMeasurementSettingsRequest, ...gax.CallOption) (*adminpb.EnhancedMeasurementSettings, error)
681	CreateFirebaseLink(context.Context, *adminpb.CreateFirebaseLinkRequest, ...gax.CallOption) (*adminpb.FirebaseLink, error)
682	DeleteFirebaseLink(context.Context, *adminpb.DeleteFirebaseLinkRequest, ...gax.CallOption) error
683	ListFirebaseLinks(context.Context, *adminpb.ListFirebaseLinksRequest, ...gax.CallOption) *FirebaseLinkIterator
684	GetGlobalSiteTag(context.Context, *adminpb.GetGlobalSiteTagRequest, ...gax.CallOption) (*adminpb.GlobalSiteTag, error)
685	CreateGoogleAdsLink(context.Context, *adminpb.CreateGoogleAdsLinkRequest, ...gax.CallOption) (*adminpb.GoogleAdsLink, error)
686	UpdateGoogleAdsLink(context.Context, *adminpb.UpdateGoogleAdsLinkRequest, ...gax.CallOption) (*adminpb.GoogleAdsLink, error)
687	DeleteGoogleAdsLink(context.Context, *adminpb.DeleteGoogleAdsLinkRequest, ...gax.CallOption) error
688	ListGoogleAdsLinks(context.Context, *adminpb.ListGoogleAdsLinksRequest, ...gax.CallOption) *GoogleAdsLinkIterator
689	GetDataSharingSettings(context.Context, *adminpb.GetDataSharingSettingsRequest, ...gax.CallOption) (*adminpb.DataSharingSettings, error)
690	GetMeasurementProtocolSecret(context.Context, *adminpb.GetMeasurementProtocolSecretRequest, ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error)
691	ListMeasurementProtocolSecrets(context.Context, *adminpb.ListMeasurementProtocolSecretsRequest, ...gax.CallOption) *MeasurementProtocolSecretIterator
692	CreateMeasurementProtocolSecret(context.Context, *adminpb.CreateMeasurementProtocolSecretRequest, ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error)
693	DeleteMeasurementProtocolSecret(context.Context, *adminpb.DeleteMeasurementProtocolSecretRequest, ...gax.CallOption) error
694	UpdateMeasurementProtocolSecret(context.Context, *adminpb.UpdateMeasurementProtocolSecretRequest, ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error)
695	SearchChangeHistoryEvents(context.Context, *adminpb.SearchChangeHistoryEventsRequest, ...gax.CallOption) *ChangeHistoryEventIterator
696	GetGoogleSignalsSettings(context.Context, *adminpb.GetGoogleSignalsSettingsRequest, ...gax.CallOption) (*adminpb.GoogleSignalsSettings, error)
697	UpdateGoogleSignalsSettings(context.Context, *adminpb.UpdateGoogleSignalsSettingsRequest, ...gax.CallOption) (*adminpb.GoogleSignalsSettings, error)
698	CreateConversionEvent(context.Context, *adminpb.CreateConversionEventRequest, ...gax.CallOption) (*adminpb.ConversionEvent, error)
699	GetConversionEvent(context.Context, *adminpb.GetConversionEventRequest, ...gax.CallOption) (*adminpb.ConversionEvent, error)
700	DeleteConversionEvent(context.Context, *adminpb.DeleteConversionEventRequest, ...gax.CallOption) error
701	ListConversionEvents(context.Context, *adminpb.ListConversionEventsRequest, ...gax.CallOption) *ConversionEventIterator
702	GetDisplayVideo360AdvertiserLink(context.Context, *adminpb.GetDisplayVideo360AdvertiserLinkRequest, ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error)
703	ListDisplayVideo360AdvertiserLinks(context.Context, *adminpb.ListDisplayVideo360AdvertiserLinksRequest, ...gax.CallOption) *DisplayVideo360AdvertiserLinkIterator
704	CreateDisplayVideo360AdvertiserLink(context.Context, *adminpb.CreateDisplayVideo360AdvertiserLinkRequest, ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error)
705	DeleteDisplayVideo360AdvertiserLink(context.Context, *adminpb.DeleteDisplayVideo360AdvertiserLinkRequest, ...gax.CallOption) error
706	UpdateDisplayVideo360AdvertiserLink(context.Context, *adminpb.UpdateDisplayVideo360AdvertiserLinkRequest, ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error)
707	GetDisplayVideo360AdvertiserLinkProposal(context.Context, *adminpb.GetDisplayVideo360AdvertiserLinkProposalRequest, ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error)
708	ListDisplayVideo360AdvertiserLinkProposals(context.Context, *adminpb.ListDisplayVideo360AdvertiserLinkProposalsRequest, ...gax.CallOption) *DisplayVideo360AdvertiserLinkProposalIterator
709	CreateDisplayVideo360AdvertiserLinkProposal(context.Context, *adminpb.CreateDisplayVideo360AdvertiserLinkProposalRequest, ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error)
710	DeleteDisplayVideo360AdvertiserLinkProposal(context.Context, *adminpb.DeleteDisplayVideo360AdvertiserLinkProposalRequest, ...gax.CallOption) error
711	ApproveDisplayVideo360AdvertiserLinkProposal(context.Context, *adminpb.ApproveDisplayVideo360AdvertiserLinkProposalRequest, ...gax.CallOption) (*adminpb.ApproveDisplayVideo360AdvertiserLinkProposalResponse, error)
712	CancelDisplayVideo360AdvertiserLinkProposal(context.Context, *adminpb.CancelDisplayVideo360AdvertiserLinkProposalRequest, ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error)
713	CreateCustomDimension(context.Context, *adminpb.CreateCustomDimensionRequest, ...gax.CallOption) (*adminpb.CustomDimension, error)
714	UpdateCustomDimension(context.Context, *adminpb.UpdateCustomDimensionRequest, ...gax.CallOption) (*adminpb.CustomDimension, error)
715	ListCustomDimensions(context.Context, *adminpb.ListCustomDimensionsRequest, ...gax.CallOption) *CustomDimensionIterator
716	ArchiveCustomDimension(context.Context, *adminpb.ArchiveCustomDimensionRequest, ...gax.CallOption) error
717	GetCustomDimension(context.Context, *adminpb.GetCustomDimensionRequest, ...gax.CallOption) (*adminpb.CustomDimension, error)
718	CreateCustomMetric(context.Context, *adminpb.CreateCustomMetricRequest, ...gax.CallOption) (*adminpb.CustomMetric, error)
719	UpdateCustomMetric(context.Context, *adminpb.UpdateCustomMetricRequest, ...gax.CallOption) (*adminpb.CustomMetric, error)
720	ListCustomMetrics(context.Context, *adminpb.ListCustomMetricsRequest, ...gax.CallOption) *CustomMetricIterator
721	ArchiveCustomMetric(context.Context, *adminpb.ArchiveCustomMetricRequest, ...gax.CallOption) error
722	GetCustomMetric(context.Context, *adminpb.GetCustomMetricRequest, ...gax.CallOption) (*adminpb.CustomMetric, error)
723	GetDataRetentionSettings(context.Context, *adminpb.GetDataRetentionSettingsRequest, ...gax.CallOption) (*adminpb.DataRetentionSettings, error)
724	UpdateDataRetentionSettings(context.Context, *adminpb.UpdateDataRetentionSettingsRequest, ...gax.CallOption) (*adminpb.DataRetentionSettings, error)
725}
726
727// AnalyticsAdminClient is a client for interacting with Google Analytics Admin API.
728// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
729//
730// Service Interface for the Analytics Admin API (GA4).
731type AnalyticsAdminClient struct {
732	// The internal transport-dependent client.
733	internalClient internalAnalyticsAdminClient
734
735	// The call options for this service.
736	CallOptions *AnalyticsAdminCallOptions
737}
738
739// Wrapper methods routed to the internal client.
740
741// Close closes the connection to the API service. The user should invoke this when
742// the client is no longer required.
743func (c *AnalyticsAdminClient) Close() error {
744	return c.internalClient.Close()
745}
746
747// setGoogleClientInfo sets the name and version of the application in
748// the `x-goog-api-client` header passed on each request. Intended for
749// use by Google-written clients.
750func (c *AnalyticsAdminClient) setGoogleClientInfo(keyval ...string) {
751	c.internalClient.setGoogleClientInfo(keyval...)
752}
753
754// Connection returns a connection to the API service.
755//
756// Deprecated.
757func (c *AnalyticsAdminClient) Connection() *grpc.ClientConn {
758	return c.internalClient.Connection()
759}
760
761// GetAccount lookup for a single Account.
762func (c *AnalyticsAdminClient) GetAccount(ctx context.Context, req *adminpb.GetAccountRequest, opts ...gax.CallOption) (*adminpb.Account, error) {
763	return c.internalClient.GetAccount(ctx, req, opts...)
764}
765
766// ListAccounts returns all accounts accessible by the caller.
767//
768// Note that these accounts might not currently have GA4 properties.
769// Soft-deleted (ie: “trashed”) accounts are excluded by default.
770// Returns an empty list if no relevant accounts are found.
771func (c *AnalyticsAdminClient) ListAccounts(ctx context.Context, req *adminpb.ListAccountsRequest, opts ...gax.CallOption) *AccountIterator {
772	return c.internalClient.ListAccounts(ctx, req, opts...)
773}
774
775// DeleteAccount marks target Account as soft-deleted (ie: “trashed”) and returns it.
776//
777// This API does not have a method to restore soft-deleted accounts.
778// However, they can be restored using the Trash Can UI.
779//
780// If the accounts are not restored before the expiration time, the account
781// and all child resources (eg: Properties, GoogleAdsLinks, Streams,
782// UserLinks) will be permanently purged.
783// https://support.google.com/analytics/answer/6154772 (at https://support.google.com/analytics/answer/6154772)
784//
785// Returns an error if the target is not found.
786func (c *AnalyticsAdminClient) DeleteAccount(ctx context.Context, req *adminpb.DeleteAccountRequest, opts ...gax.CallOption) error {
787	return c.internalClient.DeleteAccount(ctx, req, opts...)
788}
789
790// UpdateAccount updates an account.
791func (c *AnalyticsAdminClient) UpdateAccount(ctx context.Context, req *adminpb.UpdateAccountRequest, opts ...gax.CallOption) (*adminpb.Account, error) {
792	return c.internalClient.UpdateAccount(ctx, req, opts...)
793}
794
795// ProvisionAccountTicket requests a ticket for creating an account.
796func (c *AnalyticsAdminClient) ProvisionAccountTicket(ctx context.Context, req *adminpb.ProvisionAccountTicketRequest, opts ...gax.CallOption) (*adminpb.ProvisionAccountTicketResponse, error) {
797	return c.internalClient.ProvisionAccountTicket(ctx, req, opts...)
798}
799
800// ListAccountSummaries returns summaries of all accounts accessible by the caller.
801func (c *AnalyticsAdminClient) ListAccountSummaries(ctx context.Context, req *adminpb.ListAccountSummariesRequest, opts ...gax.CallOption) *AccountSummaryIterator {
802	return c.internalClient.ListAccountSummaries(ctx, req, opts...)
803}
804
805// GetProperty lookup for a single “GA4” Property.
806func (c *AnalyticsAdminClient) GetProperty(ctx context.Context, req *adminpb.GetPropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
807	return c.internalClient.GetProperty(ctx, req, opts...)
808}
809
810// ListProperties returns child Properties under the specified parent Account.
811//
812// Only “GA4” properties will be returned.
813// Properties will be excluded if the caller does not have access.
814// Soft-deleted (ie: “trashed”) properties are excluded by default.
815// Returns an empty list if no relevant properties are found.
816func (c *AnalyticsAdminClient) ListProperties(ctx context.Context, req *adminpb.ListPropertiesRequest, opts ...gax.CallOption) *PropertyIterator {
817	return c.internalClient.ListProperties(ctx, req, opts...)
818}
819
820// CreateProperty creates an “GA4” property with the specified location and attributes.
821func (c *AnalyticsAdminClient) CreateProperty(ctx context.Context, req *adminpb.CreatePropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
822	return c.internalClient.CreateProperty(ctx, req, opts...)
823}
824
825// DeleteProperty marks target Property as soft-deleted (ie: “trashed”) and returns it.
826//
827// This API does not have a method to restore soft-deleted properties.
828// However, they can be restored using the Trash Can UI.
829//
830// If the properties are not restored before the expiration time, the Property
831// and all child resources (eg: GoogleAdsLinks, Streams, UserLinks)
832// will be permanently purged.
833// https://support.google.com/analytics/answer/6154772 (at https://support.google.com/analytics/answer/6154772)
834//
835// Returns an error if the target is not found, or is not an GA4 Property.
836func (c *AnalyticsAdminClient) DeleteProperty(ctx context.Context, req *adminpb.DeletePropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
837	return c.internalClient.DeleteProperty(ctx, req, opts...)
838}
839
840// UpdateProperty updates a property.
841func (c *AnalyticsAdminClient) UpdateProperty(ctx context.Context, req *adminpb.UpdatePropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
842	return c.internalClient.UpdateProperty(ctx, req, opts...)
843}
844
845// GetUserLink gets information about a user’s link to an account or property.
846func (c *AnalyticsAdminClient) GetUserLink(ctx context.Context, req *adminpb.GetUserLinkRequest, opts ...gax.CallOption) (*adminpb.UserLink, error) {
847	return c.internalClient.GetUserLink(ctx, req, opts...)
848}
849
850// BatchGetUserLinks gets information about multiple users’ links to an account or property.
851func (c *AnalyticsAdminClient) BatchGetUserLinks(ctx context.Context, req *adminpb.BatchGetUserLinksRequest, opts ...gax.CallOption) (*adminpb.BatchGetUserLinksResponse, error) {
852	return c.internalClient.BatchGetUserLinks(ctx, req, opts...)
853}
854
855// ListUserLinks lists all user links on an account or property.
856func (c *AnalyticsAdminClient) ListUserLinks(ctx context.Context, req *adminpb.ListUserLinksRequest, opts ...gax.CallOption) *UserLinkIterator {
857	return c.internalClient.ListUserLinks(ctx, req, opts...)
858}
859
860// AuditUserLinks lists all user links on an account or property, including implicit ones
861// that come from effective permissions granted by groups or organization
862// admin roles.
863//
864// If a returned user link does not have direct permissions, they cannot
865// be removed from the account or property directly with the DeleteUserLink
866// command. They have to be removed from the group/etc that gives them
867// permissions, which is currently only usable/discoverable in the GA or GMP
868// UIs.
869func (c *AnalyticsAdminClient) AuditUserLinks(ctx context.Context, req *adminpb.AuditUserLinksRequest, opts ...gax.CallOption) *AuditUserLinkIterator {
870	return c.internalClient.AuditUserLinks(ctx, req, opts...)
871}
872
873// CreateUserLink creates a user link on an account or property.
874//
875// If the user with the specified email already has permissions on the
876// account or property, then the user’s existing permissions will be unioned
877// with the permissions specified in the new UserLink.
878func (c *AnalyticsAdminClient) CreateUserLink(ctx context.Context, req *adminpb.CreateUserLinkRequest, opts ...gax.CallOption) (*adminpb.UserLink, error) {
879	return c.internalClient.CreateUserLink(ctx, req, opts...)
880}
881
882// BatchCreateUserLinks creates information about multiple users’ links to an account or property.
883//
884// This method is transactional. If any UserLink cannot be created, none of
885// the UserLinks will be created.
886func (c *AnalyticsAdminClient) BatchCreateUserLinks(ctx context.Context, req *adminpb.BatchCreateUserLinksRequest, opts ...gax.CallOption) (*adminpb.BatchCreateUserLinksResponse, error) {
887	return c.internalClient.BatchCreateUserLinks(ctx, req, opts...)
888}
889
890// UpdateUserLink updates a user link on an account or property.
891func (c *AnalyticsAdminClient) UpdateUserLink(ctx context.Context, req *adminpb.UpdateUserLinkRequest, opts ...gax.CallOption) (*adminpb.UserLink, error) {
892	return c.internalClient.UpdateUserLink(ctx, req, opts...)
893}
894
895// BatchUpdateUserLinks updates information about multiple users’ links to an account or property.
896func (c *AnalyticsAdminClient) BatchUpdateUserLinks(ctx context.Context, req *adminpb.BatchUpdateUserLinksRequest, opts ...gax.CallOption) (*adminpb.BatchUpdateUserLinksResponse, error) {
897	return c.internalClient.BatchUpdateUserLinks(ctx, req, opts...)
898}
899
900// DeleteUserLink deletes a user link on an account or property.
901func (c *AnalyticsAdminClient) DeleteUserLink(ctx context.Context, req *adminpb.DeleteUserLinkRequest, opts ...gax.CallOption) error {
902	return c.internalClient.DeleteUserLink(ctx, req, opts...)
903}
904
905// BatchDeleteUserLinks deletes information about multiple users’ links to an account or property.
906func (c *AnalyticsAdminClient) BatchDeleteUserLinks(ctx context.Context, req *adminpb.BatchDeleteUserLinksRequest, opts ...gax.CallOption) error {
907	return c.internalClient.BatchDeleteUserLinks(ctx, req, opts...)
908}
909
910// GetWebDataStream lookup for a single WebDataStream
911func (c *AnalyticsAdminClient) GetWebDataStream(ctx context.Context, req *adminpb.GetWebDataStreamRequest, opts ...gax.CallOption) (*adminpb.WebDataStream, error) {
912	return c.internalClient.GetWebDataStream(ctx, req, opts...)
913}
914
915// DeleteWebDataStream deletes a web stream on a property.
916func (c *AnalyticsAdminClient) DeleteWebDataStream(ctx context.Context, req *adminpb.DeleteWebDataStreamRequest, opts ...gax.CallOption) error {
917	return c.internalClient.DeleteWebDataStream(ctx, req, opts...)
918}
919
920// UpdateWebDataStream updates a web stream on a property.
921func (c *AnalyticsAdminClient) UpdateWebDataStream(ctx context.Context, req *adminpb.UpdateWebDataStreamRequest, opts ...gax.CallOption) (*adminpb.WebDataStream, error) {
922	return c.internalClient.UpdateWebDataStream(ctx, req, opts...)
923}
924
925// CreateWebDataStream creates a web stream with the specified location and attributes.
926func (c *AnalyticsAdminClient) CreateWebDataStream(ctx context.Context, req *adminpb.CreateWebDataStreamRequest, opts ...gax.CallOption) (*adminpb.WebDataStream, error) {
927	return c.internalClient.CreateWebDataStream(ctx, req, opts...)
928}
929
930// ListWebDataStreams returns child web data streams under the specified parent property.
931//
932// Web data streams will be excluded if the caller does not have access.
933// Returns an empty list if no relevant web data streams are found.
934func (c *AnalyticsAdminClient) ListWebDataStreams(ctx context.Context, req *adminpb.ListWebDataStreamsRequest, opts ...gax.CallOption) *WebDataStreamIterator {
935	return c.internalClient.ListWebDataStreams(ctx, req, opts...)
936}
937
938// GetIosAppDataStream lookup for a single IosAppDataStream
939func (c *AnalyticsAdminClient) GetIosAppDataStream(ctx context.Context, req *adminpb.GetIosAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.IosAppDataStream, error) {
940	return c.internalClient.GetIosAppDataStream(ctx, req, opts...)
941}
942
943// DeleteIosAppDataStream deletes an iOS app stream on a property.
944func (c *AnalyticsAdminClient) DeleteIosAppDataStream(ctx context.Context, req *adminpb.DeleteIosAppDataStreamRequest, opts ...gax.CallOption) error {
945	return c.internalClient.DeleteIosAppDataStream(ctx, req, opts...)
946}
947
948// UpdateIosAppDataStream updates an iOS app stream on a property.
949func (c *AnalyticsAdminClient) UpdateIosAppDataStream(ctx context.Context, req *adminpb.UpdateIosAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.IosAppDataStream, error) {
950	return c.internalClient.UpdateIosAppDataStream(ctx, req, opts...)
951}
952
953// ListIosAppDataStreams returns child iOS app data streams under the specified parent property.
954//
955// iOS app data streams will be excluded if the caller does not have access.
956// Returns an empty list if no relevant iOS app data streams are found.
957func (c *AnalyticsAdminClient) ListIosAppDataStreams(ctx context.Context, req *adminpb.ListIosAppDataStreamsRequest, opts ...gax.CallOption) *IosAppDataStreamIterator {
958	return c.internalClient.ListIosAppDataStreams(ctx, req, opts...)
959}
960
961// GetAndroidAppDataStream lookup for a single AndroidAppDataStream
962func (c *AnalyticsAdminClient) GetAndroidAppDataStream(ctx context.Context, req *adminpb.GetAndroidAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.AndroidAppDataStream, error) {
963	return c.internalClient.GetAndroidAppDataStream(ctx, req, opts...)
964}
965
966// DeleteAndroidAppDataStream deletes an android app stream on a property.
967func (c *AnalyticsAdminClient) DeleteAndroidAppDataStream(ctx context.Context, req *adminpb.DeleteAndroidAppDataStreamRequest, opts ...gax.CallOption) error {
968	return c.internalClient.DeleteAndroidAppDataStream(ctx, req, opts...)
969}
970
971// UpdateAndroidAppDataStream updates an android app stream on a property.
972func (c *AnalyticsAdminClient) UpdateAndroidAppDataStream(ctx context.Context, req *adminpb.UpdateAndroidAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.AndroidAppDataStream, error) {
973	return c.internalClient.UpdateAndroidAppDataStream(ctx, req, opts...)
974}
975
976// ListAndroidAppDataStreams returns child android app streams under the specified parent property.
977//
978// Android app streams will be excluded if the caller does not have access.
979// Returns an empty list if no relevant android app streams are found.
980func (c *AnalyticsAdminClient) ListAndroidAppDataStreams(ctx context.Context, req *adminpb.ListAndroidAppDataStreamsRequest, opts ...gax.CallOption) *AndroidAppDataStreamIterator {
981	return c.internalClient.ListAndroidAppDataStreams(ctx, req, opts...)
982}
983
984// GetEnhancedMeasurementSettings returns the singleton enhanced measurement settings for this web stream.
985// Note that the stream must enable enhanced measurement for these settings to
986// take effect.
987func (c *AnalyticsAdminClient) GetEnhancedMeasurementSettings(ctx context.Context, req *adminpb.GetEnhancedMeasurementSettingsRequest, opts ...gax.CallOption) (*adminpb.EnhancedMeasurementSettings, error) {
988	return c.internalClient.GetEnhancedMeasurementSettings(ctx, req, opts...)
989}
990
991// UpdateEnhancedMeasurementSettings updates the singleton enhanced measurement settings for this web stream.
992// Note that the stream must enable enhanced measurement for these settings to
993// take effect.
994func (c *AnalyticsAdminClient) UpdateEnhancedMeasurementSettings(ctx context.Context, req *adminpb.UpdateEnhancedMeasurementSettingsRequest, opts ...gax.CallOption) (*adminpb.EnhancedMeasurementSettings, error) {
995	return c.internalClient.UpdateEnhancedMeasurementSettings(ctx, req, opts...)
996}
997
998// CreateFirebaseLink creates a FirebaseLink.
999//
1000// Properties can have at most one FirebaseLink.
1001func (c *AnalyticsAdminClient) CreateFirebaseLink(ctx context.Context, req *adminpb.CreateFirebaseLinkRequest, opts ...gax.CallOption) (*adminpb.FirebaseLink, error) {
1002	return c.internalClient.CreateFirebaseLink(ctx, req, opts...)
1003}
1004
1005// DeleteFirebaseLink deletes a FirebaseLink on a property
1006func (c *AnalyticsAdminClient) DeleteFirebaseLink(ctx context.Context, req *adminpb.DeleteFirebaseLinkRequest, opts ...gax.CallOption) error {
1007	return c.internalClient.DeleteFirebaseLink(ctx, req, opts...)
1008}
1009
1010// ListFirebaseLinks lists FirebaseLinks on a property.
1011// Properties can have at most one FirebaseLink.
1012func (c *AnalyticsAdminClient) ListFirebaseLinks(ctx context.Context, req *adminpb.ListFirebaseLinksRequest, opts ...gax.CallOption) *FirebaseLinkIterator {
1013	return c.internalClient.ListFirebaseLinks(ctx, req, opts...)
1014}
1015
1016// GetGlobalSiteTag returns the Site Tag for the specified web stream.
1017// Site Tags are immutable singletons.
1018func (c *AnalyticsAdminClient) GetGlobalSiteTag(ctx context.Context, req *adminpb.GetGlobalSiteTagRequest, opts ...gax.CallOption) (*adminpb.GlobalSiteTag, error) {
1019	return c.internalClient.GetGlobalSiteTag(ctx, req, opts...)
1020}
1021
1022// CreateGoogleAdsLink creates a GoogleAdsLink.
1023func (c *AnalyticsAdminClient) CreateGoogleAdsLink(ctx context.Context, req *adminpb.CreateGoogleAdsLinkRequest, opts ...gax.CallOption) (*adminpb.GoogleAdsLink, error) {
1024	return c.internalClient.CreateGoogleAdsLink(ctx, req, opts...)
1025}
1026
1027// UpdateGoogleAdsLink updates a GoogleAdsLink on a property
1028func (c *AnalyticsAdminClient) UpdateGoogleAdsLink(ctx context.Context, req *adminpb.UpdateGoogleAdsLinkRequest, opts ...gax.CallOption) (*adminpb.GoogleAdsLink, error) {
1029	return c.internalClient.UpdateGoogleAdsLink(ctx, req, opts...)
1030}
1031
1032// DeleteGoogleAdsLink deletes a GoogleAdsLink on a property
1033func (c *AnalyticsAdminClient) DeleteGoogleAdsLink(ctx context.Context, req *adminpb.DeleteGoogleAdsLinkRequest, opts ...gax.CallOption) error {
1034	return c.internalClient.DeleteGoogleAdsLink(ctx, req, opts...)
1035}
1036
1037// ListGoogleAdsLinks lists GoogleAdsLinks on a property.
1038func (c *AnalyticsAdminClient) ListGoogleAdsLinks(ctx context.Context, req *adminpb.ListGoogleAdsLinksRequest, opts ...gax.CallOption) *GoogleAdsLinkIterator {
1039	return c.internalClient.ListGoogleAdsLinks(ctx, req, opts...)
1040}
1041
1042// GetDataSharingSettings get data sharing settings on an account.
1043// Data sharing settings are singletons.
1044func (c *AnalyticsAdminClient) GetDataSharingSettings(ctx context.Context, req *adminpb.GetDataSharingSettingsRequest, opts ...gax.CallOption) (*adminpb.DataSharingSettings, error) {
1045	return c.internalClient.GetDataSharingSettings(ctx, req, opts...)
1046}
1047
1048// GetMeasurementProtocolSecret lookup for a single “GA4” MeasurementProtocolSecret.
1049func (c *AnalyticsAdminClient) GetMeasurementProtocolSecret(ctx context.Context, req *adminpb.GetMeasurementProtocolSecretRequest, opts ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error) {
1050	return c.internalClient.GetMeasurementProtocolSecret(ctx, req, opts...)
1051}
1052
1053// ListMeasurementProtocolSecrets returns child MeasurementProtocolSecrets under the specified parent
1054// Property.
1055func (c *AnalyticsAdminClient) ListMeasurementProtocolSecrets(ctx context.Context, req *adminpb.ListMeasurementProtocolSecretsRequest, opts ...gax.CallOption) *MeasurementProtocolSecretIterator {
1056	return c.internalClient.ListMeasurementProtocolSecrets(ctx, req, opts...)
1057}
1058
1059// CreateMeasurementProtocolSecret creates a measurement protocol secret.
1060func (c *AnalyticsAdminClient) CreateMeasurementProtocolSecret(ctx context.Context, req *adminpb.CreateMeasurementProtocolSecretRequest, opts ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error) {
1061	return c.internalClient.CreateMeasurementProtocolSecret(ctx, req, opts...)
1062}
1063
1064// DeleteMeasurementProtocolSecret deletes target MeasurementProtocolSecret.
1065func (c *AnalyticsAdminClient) DeleteMeasurementProtocolSecret(ctx context.Context, req *adminpb.DeleteMeasurementProtocolSecretRequest, opts ...gax.CallOption) error {
1066	return c.internalClient.DeleteMeasurementProtocolSecret(ctx, req, opts...)
1067}
1068
1069// UpdateMeasurementProtocolSecret updates a measurement protocol secret.
1070func (c *AnalyticsAdminClient) UpdateMeasurementProtocolSecret(ctx context.Context, req *adminpb.UpdateMeasurementProtocolSecretRequest, opts ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error) {
1071	return c.internalClient.UpdateMeasurementProtocolSecret(ctx, req, opts...)
1072}
1073
1074// SearchChangeHistoryEvents searches through all changes to an account or its children given the
1075// specified set of filters.
1076func (c *AnalyticsAdminClient) SearchChangeHistoryEvents(ctx context.Context, req *adminpb.SearchChangeHistoryEventsRequest, opts ...gax.CallOption) *ChangeHistoryEventIterator {
1077	return c.internalClient.SearchChangeHistoryEvents(ctx, req, opts...)
1078}
1079
1080// GetGoogleSignalsSettings lookup for Google Signals settings for a property.
1081func (c *AnalyticsAdminClient) GetGoogleSignalsSettings(ctx context.Context, req *adminpb.GetGoogleSignalsSettingsRequest, opts ...gax.CallOption) (*adminpb.GoogleSignalsSettings, error) {
1082	return c.internalClient.GetGoogleSignalsSettings(ctx, req, opts...)
1083}
1084
1085// UpdateGoogleSignalsSettings updates Google Signals settings for a property.
1086func (c *AnalyticsAdminClient) UpdateGoogleSignalsSettings(ctx context.Context, req *adminpb.UpdateGoogleSignalsSettingsRequest, opts ...gax.CallOption) (*adminpb.GoogleSignalsSettings, error) {
1087	return c.internalClient.UpdateGoogleSignalsSettings(ctx, req, opts...)
1088}
1089
1090// CreateConversionEvent creates a conversion event with the specified attributes.
1091func (c *AnalyticsAdminClient) CreateConversionEvent(ctx context.Context, req *adminpb.CreateConversionEventRequest, opts ...gax.CallOption) (*adminpb.ConversionEvent, error) {
1092	return c.internalClient.CreateConversionEvent(ctx, req, opts...)
1093}
1094
1095// GetConversionEvent retrieve a single conversion event.
1096func (c *AnalyticsAdminClient) GetConversionEvent(ctx context.Context, req *adminpb.GetConversionEventRequest, opts ...gax.CallOption) (*adminpb.ConversionEvent, error) {
1097	return c.internalClient.GetConversionEvent(ctx, req, opts...)
1098}
1099
1100// DeleteConversionEvent deletes a conversion event in a property.
1101func (c *AnalyticsAdminClient) DeleteConversionEvent(ctx context.Context, req *adminpb.DeleteConversionEventRequest, opts ...gax.CallOption) error {
1102	return c.internalClient.DeleteConversionEvent(ctx, req, opts...)
1103}
1104
1105// ListConversionEvents returns a list of conversion events in the specified parent property.
1106//
1107// Returns an empty list if no conversion events are found.
1108func (c *AnalyticsAdminClient) ListConversionEvents(ctx context.Context, req *adminpb.ListConversionEventsRequest, opts ...gax.CallOption) *ConversionEventIterator {
1109	return c.internalClient.ListConversionEvents(ctx, req, opts...)
1110}
1111
1112// GetDisplayVideo360AdvertiserLink look up a single DisplayVideo360AdvertiserLink
1113func (c *AnalyticsAdminClient) GetDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.GetDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error) {
1114	return c.internalClient.GetDisplayVideo360AdvertiserLink(ctx, req, opts...)
1115}
1116
1117// ListDisplayVideo360AdvertiserLinks lists all DisplayVideo360AdvertiserLinks on a property.
1118func (c *AnalyticsAdminClient) ListDisplayVideo360AdvertiserLinks(ctx context.Context, req *adminpb.ListDisplayVideo360AdvertiserLinksRequest, opts ...gax.CallOption) *DisplayVideo360AdvertiserLinkIterator {
1119	return c.internalClient.ListDisplayVideo360AdvertiserLinks(ctx, req, opts...)
1120}
1121
1122// CreateDisplayVideo360AdvertiserLink creates a DisplayVideo360AdvertiserLink.
1123// This can only be utilized by users who have proper authorization both on
1124// the Google Analytics property and on the Display & Video 360 advertiser.
1125// Users who do not have access to the Display & Video 360 advertiser should
1126// instead seek to create a DisplayVideo360LinkProposal.
1127func (c *AnalyticsAdminClient) CreateDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.CreateDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error) {
1128	return c.internalClient.CreateDisplayVideo360AdvertiserLink(ctx, req, opts...)
1129}
1130
1131// DeleteDisplayVideo360AdvertiserLink deletes a DisplayVideo360AdvertiserLink on a property.
1132func (c *AnalyticsAdminClient) DeleteDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.DeleteDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) error {
1133	return c.internalClient.DeleteDisplayVideo360AdvertiserLink(ctx, req, opts...)
1134}
1135
1136// UpdateDisplayVideo360AdvertiserLink updates a DisplayVideo360AdvertiserLink on a property.
1137func (c *AnalyticsAdminClient) UpdateDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.UpdateDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error) {
1138	return c.internalClient.UpdateDisplayVideo360AdvertiserLink(ctx, req, opts...)
1139}
1140
1141// GetDisplayVideo360AdvertiserLinkProposal lookup for a single DisplayVideo360AdvertiserLinkProposal.
1142func (c *AnalyticsAdminClient) GetDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.GetDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error) {
1143	return c.internalClient.GetDisplayVideo360AdvertiserLinkProposal(ctx, req, opts...)
1144}
1145
1146// ListDisplayVideo360AdvertiserLinkProposals lists DisplayVideo360AdvertiserLinkProposals on a property.
1147func (c *AnalyticsAdminClient) ListDisplayVideo360AdvertiserLinkProposals(ctx context.Context, req *adminpb.ListDisplayVideo360AdvertiserLinkProposalsRequest, opts ...gax.CallOption) *DisplayVideo360AdvertiserLinkProposalIterator {
1148	return c.internalClient.ListDisplayVideo360AdvertiserLinkProposals(ctx, req, opts...)
1149}
1150
1151// CreateDisplayVideo360AdvertiserLinkProposal creates a DisplayVideo360AdvertiserLinkProposal.
1152func (c *AnalyticsAdminClient) CreateDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.CreateDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error) {
1153	return c.internalClient.CreateDisplayVideo360AdvertiserLinkProposal(ctx, req, opts...)
1154}
1155
1156// DeleteDisplayVideo360AdvertiserLinkProposal deletes a DisplayVideo360AdvertiserLinkProposal on a property.
1157// This can only be used on cancelled proposals.
1158func (c *AnalyticsAdminClient) DeleteDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.DeleteDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) error {
1159	return c.internalClient.DeleteDisplayVideo360AdvertiserLinkProposal(ctx, req, opts...)
1160}
1161
1162// ApproveDisplayVideo360AdvertiserLinkProposal approves a DisplayVideo360AdvertiserLinkProposal.
1163// The DisplayVideo360AdvertiserLinkProposal will be deleted and a new
1164// DisplayVideo360AdvertiserLink will be created.
1165func (c *AnalyticsAdminClient) ApproveDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.ApproveDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.ApproveDisplayVideo360AdvertiserLinkProposalResponse, error) {
1166	return c.internalClient.ApproveDisplayVideo360AdvertiserLinkProposal(ctx, req, opts...)
1167}
1168
1169// CancelDisplayVideo360AdvertiserLinkProposal cancels a DisplayVideo360AdvertiserLinkProposal.
1170// Cancelling can mean either:
1171//
1172//   Declining a proposal initiated from Display & Video 360
1173//
1174//   Withdrawing a proposal initiated from Google Analytics
1175//   After being cancelled, a proposal will eventually be deleted automatically.
1176func (c *AnalyticsAdminClient) CancelDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.CancelDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error) {
1177	return c.internalClient.CancelDisplayVideo360AdvertiserLinkProposal(ctx, req, opts...)
1178}
1179
1180// CreateCustomDimension creates a CustomDimension.
1181func (c *AnalyticsAdminClient) CreateCustomDimension(ctx context.Context, req *adminpb.CreateCustomDimensionRequest, opts ...gax.CallOption) (*adminpb.CustomDimension, error) {
1182	return c.internalClient.CreateCustomDimension(ctx, req, opts...)
1183}
1184
1185// UpdateCustomDimension updates a CustomDimension on a property.
1186func (c *AnalyticsAdminClient) UpdateCustomDimension(ctx context.Context, req *adminpb.UpdateCustomDimensionRequest, opts ...gax.CallOption) (*adminpb.CustomDimension, error) {
1187	return c.internalClient.UpdateCustomDimension(ctx, req, opts...)
1188}
1189
1190// ListCustomDimensions lists CustomDimensions on a property.
1191func (c *AnalyticsAdminClient) ListCustomDimensions(ctx context.Context, req *adminpb.ListCustomDimensionsRequest, opts ...gax.CallOption) *CustomDimensionIterator {
1192	return c.internalClient.ListCustomDimensions(ctx, req, opts...)
1193}
1194
1195// ArchiveCustomDimension archives a CustomDimension on a property.
1196func (c *AnalyticsAdminClient) ArchiveCustomDimension(ctx context.Context, req *adminpb.ArchiveCustomDimensionRequest, opts ...gax.CallOption) error {
1197	return c.internalClient.ArchiveCustomDimension(ctx, req, opts...)
1198}
1199
1200// GetCustomDimension lookup for a single CustomDimension.
1201func (c *AnalyticsAdminClient) GetCustomDimension(ctx context.Context, req *adminpb.GetCustomDimensionRequest, opts ...gax.CallOption) (*adminpb.CustomDimension, error) {
1202	return c.internalClient.GetCustomDimension(ctx, req, opts...)
1203}
1204
1205// CreateCustomMetric creates a CustomMetric.
1206func (c *AnalyticsAdminClient) CreateCustomMetric(ctx context.Context, req *adminpb.CreateCustomMetricRequest, opts ...gax.CallOption) (*adminpb.CustomMetric, error) {
1207	return c.internalClient.CreateCustomMetric(ctx, req, opts...)
1208}
1209
1210// UpdateCustomMetric updates a CustomMetric on a property.
1211func (c *AnalyticsAdminClient) UpdateCustomMetric(ctx context.Context, req *adminpb.UpdateCustomMetricRequest, opts ...gax.CallOption) (*adminpb.CustomMetric, error) {
1212	return c.internalClient.UpdateCustomMetric(ctx, req, opts...)
1213}
1214
1215// ListCustomMetrics lists CustomMetrics on a property.
1216func (c *AnalyticsAdminClient) ListCustomMetrics(ctx context.Context, req *adminpb.ListCustomMetricsRequest, opts ...gax.CallOption) *CustomMetricIterator {
1217	return c.internalClient.ListCustomMetrics(ctx, req, opts...)
1218}
1219
1220// ArchiveCustomMetric archives a CustomMetric on a property.
1221func (c *AnalyticsAdminClient) ArchiveCustomMetric(ctx context.Context, req *adminpb.ArchiveCustomMetricRequest, opts ...gax.CallOption) error {
1222	return c.internalClient.ArchiveCustomMetric(ctx, req, opts...)
1223}
1224
1225// GetCustomMetric lookup for a single CustomMetric.
1226func (c *AnalyticsAdminClient) GetCustomMetric(ctx context.Context, req *adminpb.GetCustomMetricRequest, opts ...gax.CallOption) (*adminpb.CustomMetric, error) {
1227	return c.internalClient.GetCustomMetric(ctx, req, opts...)
1228}
1229
1230// GetDataRetentionSettings returns the singleton data retention settings for this property.
1231func (c *AnalyticsAdminClient) GetDataRetentionSettings(ctx context.Context, req *adminpb.GetDataRetentionSettingsRequest, opts ...gax.CallOption) (*adminpb.DataRetentionSettings, error) {
1232	return c.internalClient.GetDataRetentionSettings(ctx, req, opts...)
1233}
1234
1235// UpdateDataRetentionSettings updates the singleton data retention settings for this property.
1236func (c *AnalyticsAdminClient) UpdateDataRetentionSettings(ctx context.Context, req *adminpb.UpdateDataRetentionSettingsRequest, opts ...gax.CallOption) (*adminpb.DataRetentionSettings, error) {
1237	return c.internalClient.UpdateDataRetentionSettings(ctx, req, opts...)
1238}
1239
1240// analyticsAdminGRPCClient is a client for interacting with Google Analytics Admin API over gRPC transport.
1241//
1242// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
1243type analyticsAdminGRPCClient struct {
1244	// Connection pool of gRPC connections to the service.
1245	connPool gtransport.ConnPool
1246
1247	// flag to opt out of default deadlines via GOOGLE_API_GO_EXPERIMENTAL_DISABLE_DEFAULT_DEADLINE
1248	disableDeadlines bool
1249
1250	// Points back to the CallOptions field of the containing AnalyticsAdminClient
1251	CallOptions **AnalyticsAdminCallOptions
1252
1253	// The gRPC API client.
1254	analyticsAdminClient adminpb.AnalyticsAdminServiceClient
1255
1256	// The x-goog-* metadata to be sent with each request.
1257	xGoogMetadata metadata.MD
1258}
1259
1260// NewAnalyticsAdminClient creates a new analytics admin service client based on gRPC.
1261// The returned client must be Closed when it is done being used to clean up its underlying connections.
1262//
1263// Service Interface for the Analytics Admin API (GA4).
1264func NewAnalyticsAdminClient(ctx context.Context, opts ...option.ClientOption) (*AnalyticsAdminClient, error) {
1265	clientOpts := defaultAnalyticsAdminGRPCClientOptions()
1266	if newAnalyticsAdminClientHook != nil {
1267		hookOpts, err := newAnalyticsAdminClientHook(ctx, clientHookParams{})
1268		if err != nil {
1269			return nil, err
1270		}
1271		clientOpts = append(clientOpts, hookOpts...)
1272	}
1273
1274	disableDeadlines, err := checkDisableDeadlines()
1275	if err != nil {
1276		return nil, err
1277	}
1278
1279	connPool, err := gtransport.DialPool(ctx, append(clientOpts, opts...)...)
1280	if err != nil {
1281		return nil, err
1282	}
1283	client := AnalyticsAdminClient{CallOptions: defaultAnalyticsAdminCallOptions()}
1284
1285	c := &analyticsAdminGRPCClient{
1286		connPool:             connPool,
1287		disableDeadlines:     disableDeadlines,
1288		analyticsAdminClient: adminpb.NewAnalyticsAdminServiceClient(connPool),
1289		CallOptions:          &client.CallOptions,
1290	}
1291	c.setGoogleClientInfo()
1292
1293	client.internalClient = c
1294
1295	return &client, nil
1296}
1297
1298// Connection returns a connection to the API service.
1299//
1300// Deprecated.
1301func (c *analyticsAdminGRPCClient) Connection() *grpc.ClientConn {
1302	return c.connPool.Conn()
1303}
1304
1305// setGoogleClientInfo sets the name and version of the application in
1306// the `x-goog-api-client` header passed on each request. Intended for
1307// use by Google-written clients.
1308func (c *analyticsAdminGRPCClient) setGoogleClientInfo(keyval ...string) {
1309	kv := append([]string{"gl-go", versionGo()}, keyval...)
1310	kv = append(kv, "gapic", versionClient, "gax", gax.Version, "grpc", grpc.Version)
1311	c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...))
1312}
1313
1314// Close closes the connection to the API service. The user should invoke this when
1315// the client is no longer required.
1316func (c *analyticsAdminGRPCClient) Close() error {
1317	return c.connPool.Close()
1318}
1319
1320func (c *analyticsAdminGRPCClient) GetAccount(ctx context.Context, req *adminpb.GetAccountRequest, opts ...gax.CallOption) (*adminpb.Account, error) {
1321	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1322		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1323		defer cancel()
1324		ctx = cctx
1325	}
1326	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1327	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1328	opts = append((*c.CallOptions).GetAccount[0:len((*c.CallOptions).GetAccount):len((*c.CallOptions).GetAccount)], opts...)
1329	var resp *adminpb.Account
1330	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1331		var err error
1332		resp, err = c.analyticsAdminClient.GetAccount(ctx, req, settings.GRPC...)
1333		return err
1334	}, opts...)
1335	if err != nil {
1336		return nil, err
1337	}
1338	return resp, nil
1339}
1340
1341func (c *analyticsAdminGRPCClient) ListAccounts(ctx context.Context, req *adminpb.ListAccountsRequest, opts ...gax.CallOption) *AccountIterator {
1342	ctx = insertMetadata(ctx, c.xGoogMetadata)
1343	opts = append((*c.CallOptions).ListAccounts[0:len((*c.CallOptions).ListAccounts):len((*c.CallOptions).ListAccounts)], opts...)
1344	it := &AccountIterator{}
1345	req = proto.Clone(req).(*adminpb.ListAccountsRequest)
1346	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.Account, string, error) {
1347		resp := &adminpb.ListAccountsResponse{}
1348		if pageToken != "" {
1349			req.PageToken = pageToken
1350		}
1351		if pageSize > math.MaxInt32 {
1352			req.PageSize = math.MaxInt32
1353		} else if pageSize != 0 {
1354			req.PageSize = int32(pageSize)
1355		}
1356		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1357			var err error
1358			resp, err = c.analyticsAdminClient.ListAccounts(ctx, req, settings.GRPC...)
1359			return err
1360		}, opts...)
1361		if err != nil {
1362			return nil, "", err
1363		}
1364
1365		it.Response = resp
1366		return resp.GetAccounts(), resp.GetNextPageToken(), nil
1367	}
1368	fetch := func(pageSize int, pageToken string) (string, error) {
1369		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
1370		if err != nil {
1371			return "", err
1372		}
1373		it.items = append(it.items, items...)
1374		return nextPageToken, nil
1375	}
1376
1377	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
1378	it.pageInfo.MaxSize = int(req.GetPageSize())
1379	it.pageInfo.Token = req.GetPageToken()
1380
1381	return it
1382}
1383
1384func (c *analyticsAdminGRPCClient) DeleteAccount(ctx context.Context, req *adminpb.DeleteAccountRequest, opts ...gax.CallOption) error {
1385	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1386		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1387		defer cancel()
1388		ctx = cctx
1389	}
1390	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1391	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1392	opts = append((*c.CallOptions).DeleteAccount[0:len((*c.CallOptions).DeleteAccount):len((*c.CallOptions).DeleteAccount)], opts...)
1393	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1394		var err error
1395		_, err = c.analyticsAdminClient.DeleteAccount(ctx, req, settings.GRPC...)
1396		return err
1397	}, opts...)
1398	return err
1399}
1400
1401func (c *analyticsAdminGRPCClient) UpdateAccount(ctx context.Context, req *adminpb.UpdateAccountRequest, opts ...gax.CallOption) (*adminpb.Account, error) {
1402	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1403		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1404		defer cancel()
1405		ctx = cctx
1406	}
1407	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "account.name", url.QueryEscape(req.GetAccount().GetName())))
1408	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1409	opts = append((*c.CallOptions).UpdateAccount[0:len((*c.CallOptions).UpdateAccount):len((*c.CallOptions).UpdateAccount)], opts...)
1410	var resp *adminpb.Account
1411	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1412		var err error
1413		resp, err = c.analyticsAdminClient.UpdateAccount(ctx, req, settings.GRPC...)
1414		return err
1415	}, opts...)
1416	if err != nil {
1417		return nil, err
1418	}
1419	return resp, nil
1420}
1421
1422func (c *analyticsAdminGRPCClient) ProvisionAccountTicket(ctx context.Context, req *adminpb.ProvisionAccountTicketRequest, opts ...gax.CallOption) (*adminpb.ProvisionAccountTicketResponse, error) {
1423	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1424		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1425		defer cancel()
1426		ctx = cctx
1427	}
1428	ctx = insertMetadata(ctx, c.xGoogMetadata)
1429	opts = append((*c.CallOptions).ProvisionAccountTicket[0:len((*c.CallOptions).ProvisionAccountTicket):len((*c.CallOptions).ProvisionAccountTicket)], opts...)
1430	var resp *adminpb.ProvisionAccountTicketResponse
1431	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1432		var err error
1433		resp, err = c.analyticsAdminClient.ProvisionAccountTicket(ctx, req, settings.GRPC...)
1434		return err
1435	}, opts...)
1436	if err != nil {
1437		return nil, err
1438	}
1439	return resp, nil
1440}
1441
1442func (c *analyticsAdminGRPCClient) ListAccountSummaries(ctx context.Context, req *adminpb.ListAccountSummariesRequest, opts ...gax.CallOption) *AccountSummaryIterator {
1443	ctx = insertMetadata(ctx, c.xGoogMetadata)
1444	opts = append((*c.CallOptions).ListAccountSummaries[0:len((*c.CallOptions).ListAccountSummaries):len((*c.CallOptions).ListAccountSummaries)], opts...)
1445	it := &AccountSummaryIterator{}
1446	req = proto.Clone(req).(*adminpb.ListAccountSummariesRequest)
1447	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.AccountSummary, string, error) {
1448		resp := &adminpb.ListAccountSummariesResponse{}
1449		if pageToken != "" {
1450			req.PageToken = pageToken
1451		}
1452		if pageSize > math.MaxInt32 {
1453			req.PageSize = math.MaxInt32
1454		} else if pageSize != 0 {
1455			req.PageSize = int32(pageSize)
1456		}
1457		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1458			var err error
1459			resp, err = c.analyticsAdminClient.ListAccountSummaries(ctx, req, settings.GRPC...)
1460			return err
1461		}, opts...)
1462		if err != nil {
1463			return nil, "", err
1464		}
1465
1466		it.Response = resp
1467		return resp.GetAccountSummaries(), resp.GetNextPageToken(), nil
1468	}
1469	fetch := func(pageSize int, pageToken string) (string, error) {
1470		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
1471		if err != nil {
1472			return "", err
1473		}
1474		it.items = append(it.items, items...)
1475		return nextPageToken, nil
1476	}
1477
1478	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
1479	it.pageInfo.MaxSize = int(req.GetPageSize())
1480	it.pageInfo.Token = req.GetPageToken()
1481
1482	return it
1483}
1484
1485func (c *analyticsAdminGRPCClient) GetProperty(ctx context.Context, req *adminpb.GetPropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
1486	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1487		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1488		defer cancel()
1489		ctx = cctx
1490	}
1491	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1492	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1493	opts = append((*c.CallOptions).GetProperty[0:len((*c.CallOptions).GetProperty):len((*c.CallOptions).GetProperty)], opts...)
1494	var resp *adminpb.Property
1495	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1496		var err error
1497		resp, err = c.analyticsAdminClient.GetProperty(ctx, req, settings.GRPC...)
1498		return err
1499	}, opts...)
1500	if err != nil {
1501		return nil, err
1502	}
1503	return resp, nil
1504}
1505
1506func (c *analyticsAdminGRPCClient) ListProperties(ctx context.Context, req *adminpb.ListPropertiesRequest, opts ...gax.CallOption) *PropertyIterator {
1507	ctx = insertMetadata(ctx, c.xGoogMetadata)
1508	opts = append((*c.CallOptions).ListProperties[0:len((*c.CallOptions).ListProperties):len((*c.CallOptions).ListProperties)], opts...)
1509	it := &PropertyIterator{}
1510	req = proto.Clone(req).(*adminpb.ListPropertiesRequest)
1511	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.Property, string, error) {
1512		resp := &adminpb.ListPropertiesResponse{}
1513		if pageToken != "" {
1514			req.PageToken = pageToken
1515		}
1516		if pageSize > math.MaxInt32 {
1517			req.PageSize = math.MaxInt32
1518		} else if pageSize != 0 {
1519			req.PageSize = int32(pageSize)
1520		}
1521		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1522			var err error
1523			resp, err = c.analyticsAdminClient.ListProperties(ctx, req, settings.GRPC...)
1524			return err
1525		}, opts...)
1526		if err != nil {
1527			return nil, "", err
1528		}
1529
1530		it.Response = resp
1531		return resp.GetProperties(), resp.GetNextPageToken(), nil
1532	}
1533	fetch := func(pageSize int, pageToken string) (string, error) {
1534		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
1535		if err != nil {
1536			return "", err
1537		}
1538		it.items = append(it.items, items...)
1539		return nextPageToken, nil
1540	}
1541
1542	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
1543	it.pageInfo.MaxSize = int(req.GetPageSize())
1544	it.pageInfo.Token = req.GetPageToken()
1545
1546	return it
1547}
1548
1549func (c *analyticsAdminGRPCClient) CreateProperty(ctx context.Context, req *adminpb.CreatePropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
1550	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1551		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1552		defer cancel()
1553		ctx = cctx
1554	}
1555	ctx = insertMetadata(ctx, c.xGoogMetadata)
1556	opts = append((*c.CallOptions).CreateProperty[0:len((*c.CallOptions).CreateProperty):len((*c.CallOptions).CreateProperty)], opts...)
1557	var resp *adminpb.Property
1558	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1559		var err error
1560		resp, err = c.analyticsAdminClient.CreateProperty(ctx, req, settings.GRPC...)
1561		return err
1562	}, opts...)
1563	if err != nil {
1564		return nil, err
1565	}
1566	return resp, nil
1567}
1568
1569func (c *analyticsAdminGRPCClient) DeleteProperty(ctx context.Context, req *adminpb.DeletePropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
1570	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1571		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1572		defer cancel()
1573		ctx = cctx
1574	}
1575	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1576	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1577	opts = append((*c.CallOptions).DeleteProperty[0:len((*c.CallOptions).DeleteProperty):len((*c.CallOptions).DeleteProperty)], opts...)
1578	var resp *adminpb.Property
1579	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1580		var err error
1581		resp, err = c.analyticsAdminClient.DeleteProperty(ctx, req, settings.GRPC...)
1582		return err
1583	}, opts...)
1584	if err != nil {
1585		return nil, err
1586	}
1587	return resp, nil
1588}
1589
1590func (c *analyticsAdminGRPCClient) UpdateProperty(ctx context.Context, req *adminpb.UpdatePropertyRequest, opts ...gax.CallOption) (*adminpb.Property, error) {
1591	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1592		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1593		defer cancel()
1594		ctx = cctx
1595	}
1596	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "property.name", url.QueryEscape(req.GetProperty().GetName())))
1597	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1598	opts = append((*c.CallOptions).UpdateProperty[0:len((*c.CallOptions).UpdateProperty):len((*c.CallOptions).UpdateProperty)], opts...)
1599	var resp *adminpb.Property
1600	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1601		var err error
1602		resp, err = c.analyticsAdminClient.UpdateProperty(ctx, req, settings.GRPC...)
1603		return err
1604	}, opts...)
1605	if err != nil {
1606		return nil, err
1607	}
1608	return resp, nil
1609}
1610
1611func (c *analyticsAdminGRPCClient) GetUserLink(ctx context.Context, req *adminpb.GetUserLinkRequest, opts ...gax.CallOption) (*adminpb.UserLink, error) {
1612	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1613		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1614		defer cancel()
1615		ctx = cctx
1616	}
1617	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1618	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1619	opts = append((*c.CallOptions).GetUserLink[0:len((*c.CallOptions).GetUserLink):len((*c.CallOptions).GetUserLink)], opts...)
1620	var resp *adminpb.UserLink
1621	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1622		var err error
1623		resp, err = c.analyticsAdminClient.GetUserLink(ctx, req, settings.GRPC...)
1624		return err
1625	}, opts...)
1626	if err != nil {
1627		return nil, err
1628	}
1629	return resp, nil
1630}
1631
1632func (c *analyticsAdminGRPCClient) BatchGetUserLinks(ctx context.Context, req *adminpb.BatchGetUserLinksRequest, opts ...gax.CallOption) (*adminpb.BatchGetUserLinksResponse, error) {
1633	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1634		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1635		defer cancel()
1636		ctx = cctx
1637	}
1638	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1639	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1640	opts = append((*c.CallOptions).BatchGetUserLinks[0:len((*c.CallOptions).BatchGetUserLinks):len((*c.CallOptions).BatchGetUserLinks)], opts...)
1641	var resp *adminpb.BatchGetUserLinksResponse
1642	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1643		var err error
1644		resp, err = c.analyticsAdminClient.BatchGetUserLinks(ctx, req, settings.GRPC...)
1645		return err
1646	}, opts...)
1647	if err != nil {
1648		return nil, err
1649	}
1650	return resp, nil
1651}
1652
1653func (c *analyticsAdminGRPCClient) ListUserLinks(ctx context.Context, req *adminpb.ListUserLinksRequest, opts ...gax.CallOption) *UserLinkIterator {
1654	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1655	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1656	opts = append((*c.CallOptions).ListUserLinks[0:len((*c.CallOptions).ListUserLinks):len((*c.CallOptions).ListUserLinks)], opts...)
1657	it := &UserLinkIterator{}
1658	req = proto.Clone(req).(*adminpb.ListUserLinksRequest)
1659	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.UserLink, string, error) {
1660		resp := &adminpb.ListUserLinksResponse{}
1661		if pageToken != "" {
1662			req.PageToken = pageToken
1663		}
1664		if pageSize > math.MaxInt32 {
1665			req.PageSize = math.MaxInt32
1666		} else if pageSize != 0 {
1667			req.PageSize = int32(pageSize)
1668		}
1669		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1670			var err error
1671			resp, err = c.analyticsAdminClient.ListUserLinks(ctx, req, settings.GRPC...)
1672			return err
1673		}, opts...)
1674		if err != nil {
1675			return nil, "", err
1676		}
1677
1678		it.Response = resp
1679		return resp.GetUserLinks(), resp.GetNextPageToken(), nil
1680	}
1681	fetch := func(pageSize int, pageToken string) (string, error) {
1682		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
1683		if err != nil {
1684			return "", err
1685		}
1686		it.items = append(it.items, items...)
1687		return nextPageToken, nil
1688	}
1689
1690	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
1691	it.pageInfo.MaxSize = int(req.GetPageSize())
1692	it.pageInfo.Token = req.GetPageToken()
1693
1694	return it
1695}
1696
1697func (c *analyticsAdminGRPCClient) AuditUserLinks(ctx context.Context, req *adminpb.AuditUserLinksRequest, opts ...gax.CallOption) *AuditUserLinkIterator {
1698	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1699	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1700	opts = append((*c.CallOptions).AuditUserLinks[0:len((*c.CallOptions).AuditUserLinks):len((*c.CallOptions).AuditUserLinks)], opts...)
1701	it := &AuditUserLinkIterator{}
1702	req = proto.Clone(req).(*adminpb.AuditUserLinksRequest)
1703	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.AuditUserLink, string, error) {
1704		resp := &adminpb.AuditUserLinksResponse{}
1705		if pageToken != "" {
1706			req.PageToken = pageToken
1707		}
1708		if pageSize > math.MaxInt32 {
1709			req.PageSize = math.MaxInt32
1710		} else if pageSize != 0 {
1711			req.PageSize = int32(pageSize)
1712		}
1713		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1714			var err error
1715			resp, err = c.analyticsAdminClient.AuditUserLinks(ctx, req, settings.GRPC...)
1716			return err
1717		}, opts...)
1718		if err != nil {
1719			return nil, "", err
1720		}
1721
1722		it.Response = resp
1723		return resp.GetUserLinks(), resp.GetNextPageToken(), nil
1724	}
1725	fetch := func(pageSize int, pageToken string) (string, error) {
1726		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
1727		if err != nil {
1728			return "", err
1729		}
1730		it.items = append(it.items, items...)
1731		return nextPageToken, nil
1732	}
1733
1734	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
1735	it.pageInfo.MaxSize = int(req.GetPageSize())
1736	it.pageInfo.Token = req.GetPageToken()
1737
1738	return it
1739}
1740
1741func (c *analyticsAdminGRPCClient) CreateUserLink(ctx context.Context, req *adminpb.CreateUserLinkRequest, opts ...gax.CallOption) (*adminpb.UserLink, error) {
1742	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1743		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1744		defer cancel()
1745		ctx = cctx
1746	}
1747	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1748	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1749	opts = append((*c.CallOptions).CreateUserLink[0:len((*c.CallOptions).CreateUserLink):len((*c.CallOptions).CreateUserLink)], opts...)
1750	var resp *adminpb.UserLink
1751	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1752		var err error
1753		resp, err = c.analyticsAdminClient.CreateUserLink(ctx, req, settings.GRPC...)
1754		return err
1755	}, opts...)
1756	if err != nil {
1757		return nil, err
1758	}
1759	return resp, nil
1760}
1761
1762func (c *analyticsAdminGRPCClient) BatchCreateUserLinks(ctx context.Context, req *adminpb.BatchCreateUserLinksRequest, opts ...gax.CallOption) (*adminpb.BatchCreateUserLinksResponse, error) {
1763	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1764		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1765		defer cancel()
1766		ctx = cctx
1767	}
1768	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1769	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1770	opts = append((*c.CallOptions).BatchCreateUserLinks[0:len((*c.CallOptions).BatchCreateUserLinks):len((*c.CallOptions).BatchCreateUserLinks)], opts...)
1771	var resp *adminpb.BatchCreateUserLinksResponse
1772	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1773		var err error
1774		resp, err = c.analyticsAdminClient.BatchCreateUserLinks(ctx, req, settings.GRPC...)
1775		return err
1776	}, opts...)
1777	if err != nil {
1778		return nil, err
1779	}
1780	return resp, nil
1781}
1782
1783func (c *analyticsAdminGRPCClient) UpdateUserLink(ctx context.Context, req *adminpb.UpdateUserLinkRequest, opts ...gax.CallOption) (*adminpb.UserLink, error) {
1784	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1785		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1786		defer cancel()
1787		ctx = cctx
1788	}
1789	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "user_link.name", url.QueryEscape(req.GetUserLink().GetName())))
1790	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1791	opts = append((*c.CallOptions).UpdateUserLink[0:len((*c.CallOptions).UpdateUserLink):len((*c.CallOptions).UpdateUserLink)], opts...)
1792	var resp *adminpb.UserLink
1793	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1794		var err error
1795		resp, err = c.analyticsAdminClient.UpdateUserLink(ctx, req, settings.GRPC...)
1796		return err
1797	}, opts...)
1798	if err != nil {
1799		return nil, err
1800	}
1801	return resp, nil
1802}
1803
1804func (c *analyticsAdminGRPCClient) BatchUpdateUserLinks(ctx context.Context, req *adminpb.BatchUpdateUserLinksRequest, opts ...gax.CallOption) (*adminpb.BatchUpdateUserLinksResponse, error) {
1805	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1806		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1807		defer cancel()
1808		ctx = cctx
1809	}
1810	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1811	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1812	opts = append((*c.CallOptions).BatchUpdateUserLinks[0:len((*c.CallOptions).BatchUpdateUserLinks):len((*c.CallOptions).BatchUpdateUserLinks)], opts...)
1813	var resp *adminpb.BatchUpdateUserLinksResponse
1814	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1815		var err error
1816		resp, err = c.analyticsAdminClient.BatchUpdateUserLinks(ctx, req, settings.GRPC...)
1817		return err
1818	}, opts...)
1819	if err != nil {
1820		return nil, err
1821	}
1822	return resp, nil
1823}
1824
1825func (c *analyticsAdminGRPCClient) DeleteUserLink(ctx context.Context, req *adminpb.DeleteUserLinkRequest, opts ...gax.CallOption) error {
1826	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1827		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1828		defer cancel()
1829		ctx = cctx
1830	}
1831	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1832	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1833	opts = append((*c.CallOptions).DeleteUserLink[0:len((*c.CallOptions).DeleteUserLink):len((*c.CallOptions).DeleteUserLink)], opts...)
1834	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1835		var err error
1836		_, err = c.analyticsAdminClient.DeleteUserLink(ctx, req, settings.GRPC...)
1837		return err
1838	}, opts...)
1839	return err
1840}
1841
1842func (c *analyticsAdminGRPCClient) BatchDeleteUserLinks(ctx context.Context, req *adminpb.BatchDeleteUserLinksRequest, opts ...gax.CallOption) error {
1843	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1844		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1845		defer cancel()
1846		ctx = cctx
1847	}
1848	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1849	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1850	opts = append((*c.CallOptions).BatchDeleteUserLinks[0:len((*c.CallOptions).BatchDeleteUserLinks):len((*c.CallOptions).BatchDeleteUserLinks)], opts...)
1851	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1852		var err error
1853		_, err = c.analyticsAdminClient.BatchDeleteUserLinks(ctx, req, settings.GRPC...)
1854		return err
1855	}, opts...)
1856	return err
1857}
1858
1859func (c *analyticsAdminGRPCClient) GetWebDataStream(ctx context.Context, req *adminpb.GetWebDataStreamRequest, opts ...gax.CallOption) (*adminpb.WebDataStream, error) {
1860	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1861		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1862		defer cancel()
1863		ctx = cctx
1864	}
1865	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1866	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1867	opts = append((*c.CallOptions).GetWebDataStream[0:len((*c.CallOptions).GetWebDataStream):len((*c.CallOptions).GetWebDataStream)], opts...)
1868	var resp *adminpb.WebDataStream
1869	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1870		var err error
1871		resp, err = c.analyticsAdminClient.GetWebDataStream(ctx, req, settings.GRPC...)
1872		return err
1873	}, opts...)
1874	if err != nil {
1875		return nil, err
1876	}
1877	return resp, nil
1878}
1879
1880func (c *analyticsAdminGRPCClient) DeleteWebDataStream(ctx context.Context, req *adminpb.DeleteWebDataStreamRequest, opts ...gax.CallOption) error {
1881	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1882		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1883		defer cancel()
1884		ctx = cctx
1885	}
1886	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1887	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1888	opts = append((*c.CallOptions).DeleteWebDataStream[0:len((*c.CallOptions).DeleteWebDataStream):len((*c.CallOptions).DeleteWebDataStream)], opts...)
1889	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1890		var err error
1891		_, err = c.analyticsAdminClient.DeleteWebDataStream(ctx, req, settings.GRPC...)
1892		return err
1893	}, opts...)
1894	return err
1895}
1896
1897func (c *analyticsAdminGRPCClient) UpdateWebDataStream(ctx context.Context, req *adminpb.UpdateWebDataStreamRequest, opts ...gax.CallOption) (*adminpb.WebDataStream, error) {
1898	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1899		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1900		defer cancel()
1901		ctx = cctx
1902	}
1903	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "web_data_stream.name", url.QueryEscape(req.GetWebDataStream().GetName())))
1904	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1905	opts = append((*c.CallOptions).UpdateWebDataStream[0:len((*c.CallOptions).UpdateWebDataStream):len((*c.CallOptions).UpdateWebDataStream)], opts...)
1906	var resp *adminpb.WebDataStream
1907	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1908		var err error
1909		resp, err = c.analyticsAdminClient.UpdateWebDataStream(ctx, req, settings.GRPC...)
1910		return err
1911	}, opts...)
1912	if err != nil {
1913		return nil, err
1914	}
1915	return resp, nil
1916}
1917
1918func (c *analyticsAdminGRPCClient) CreateWebDataStream(ctx context.Context, req *adminpb.CreateWebDataStreamRequest, opts ...gax.CallOption) (*adminpb.WebDataStream, error) {
1919	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1920		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1921		defer cancel()
1922		ctx = cctx
1923	}
1924	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1925	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1926	opts = append((*c.CallOptions).CreateWebDataStream[0:len((*c.CallOptions).CreateWebDataStream):len((*c.CallOptions).CreateWebDataStream)], opts...)
1927	var resp *adminpb.WebDataStream
1928	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1929		var err error
1930		resp, err = c.analyticsAdminClient.CreateWebDataStream(ctx, req, settings.GRPC...)
1931		return err
1932	}, opts...)
1933	if err != nil {
1934		return nil, err
1935	}
1936	return resp, nil
1937}
1938
1939func (c *analyticsAdminGRPCClient) ListWebDataStreams(ctx context.Context, req *adminpb.ListWebDataStreamsRequest, opts ...gax.CallOption) *WebDataStreamIterator {
1940	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
1941	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1942	opts = append((*c.CallOptions).ListWebDataStreams[0:len((*c.CallOptions).ListWebDataStreams):len((*c.CallOptions).ListWebDataStreams)], opts...)
1943	it := &WebDataStreamIterator{}
1944	req = proto.Clone(req).(*adminpb.ListWebDataStreamsRequest)
1945	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.WebDataStream, string, error) {
1946		resp := &adminpb.ListWebDataStreamsResponse{}
1947		if pageToken != "" {
1948			req.PageToken = pageToken
1949		}
1950		if pageSize > math.MaxInt32 {
1951			req.PageSize = math.MaxInt32
1952		} else if pageSize != 0 {
1953			req.PageSize = int32(pageSize)
1954		}
1955		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1956			var err error
1957			resp, err = c.analyticsAdminClient.ListWebDataStreams(ctx, req, settings.GRPC...)
1958			return err
1959		}, opts...)
1960		if err != nil {
1961			return nil, "", err
1962		}
1963
1964		it.Response = resp
1965		return resp.GetWebDataStreams(), resp.GetNextPageToken(), nil
1966	}
1967	fetch := func(pageSize int, pageToken string) (string, error) {
1968		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
1969		if err != nil {
1970			return "", err
1971		}
1972		it.items = append(it.items, items...)
1973		return nextPageToken, nil
1974	}
1975
1976	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
1977	it.pageInfo.MaxSize = int(req.GetPageSize())
1978	it.pageInfo.Token = req.GetPageToken()
1979
1980	return it
1981}
1982
1983func (c *analyticsAdminGRPCClient) GetIosAppDataStream(ctx context.Context, req *adminpb.GetIosAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.IosAppDataStream, error) {
1984	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
1985		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
1986		defer cancel()
1987		ctx = cctx
1988	}
1989	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
1990	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
1991	opts = append((*c.CallOptions).GetIosAppDataStream[0:len((*c.CallOptions).GetIosAppDataStream):len((*c.CallOptions).GetIosAppDataStream)], opts...)
1992	var resp *adminpb.IosAppDataStream
1993	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
1994		var err error
1995		resp, err = c.analyticsAdminClient.GetIosAppDataStream(ctx, req, settings.GRPC...)
1996		return err
1997	}, opts...)
1998	if err != nil {
1999		return nil, err
2000	}
2001	return resp, nil
2002}
2003
2004func (c *analyticsAdminGRPCClient) DeleteIosAppDataStream(ctx context.Context, req *adminpb.DeleteIosAppDataStreamRequest, opts ...gax.CallOption) error {
2005	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2006		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2007		defer cancel()
2008		ctx = cctx
2009	}
2010	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2011	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2012	opts = append((*c.CallOptions).DeleteIosAppDataStream[0:len((*c.CallOptions).DeleteIosAppDataStream):len((*c.CallOptions).DeleteIosAppDataStream)], opts...)
2013	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2014		var err error
2015		_, err = c.analyticsAdminClient.DeleteIosAppDataStream(ctx, req, settings.GRPC...)
2016		return err
2017	}, opts...)
2018	return err
2019}
2020
2021func (c *analyticsAdminGRPCClient) UpdateIosAppDataStream(ctx context.Context, req *adminpb.UpdateIosAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.IosAppDataStream, error) {
2022	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2023		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2024		defer cancel()
2025		ctx = cctx
2026	}
2027	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "ios_app_data_stream.name", url.QueryEscape(req.GetIosAppDataStream().GetName())))
2028	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2029	opts = append((*c.CallOptions).UpdateIosAppDataStream[0:len((*c.CallOptions).UpdateIosAppDataStream):len((*c.CallOptions).UpdateIosAppDataStream)], opts...)
2030	var resp *adminpb.IosAppDataStream
2031	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2032		var err error
2033		resp, err = c.analyticsAdminClient.UpdateIosAppDataStream(ctx, req, settings.GRPC...)
2034		return err
2035	}, opts...)
2036	if err != nil {
2037		return nil, err
2038	}
2039	return resp, nil
2040}
2041
2042func (c *analyticsAdminGRPCClient) ListIosAppDataStreams(ctx context.Context, req *adminpb.ListIosAppDataStreamsRequest, opts ...gax.CallOption) *IosAppDataStreamIterator {
2043	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2044	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2045	opts = append((*c.CallOptions).ListIosAppDataStreams[0:len((*c.CallOptions).ListIosAppDataStreams):len((*c.CallOptions).ListIosAppDataStreams)], opts...)
2046	it := &IosAppDataStreamIterator{}
2047	req = proto.Clone(req).(*adminpb.ListIosAppDataStreamsRequest)
2048	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.IosAppDataStream, string, error) {
2049		resp := &adminpb.ListIosAppDataStreamsResponse{}
2050		if pageToken != "" {
2051			req.PageToken = pageToken
2052		}
2053		if pageSize > math.MaxInt32 {
2054			req.PageSize = math.MaxInt32
2055		} else if pageSize != 0 {
2056			req.PageSize = int32(pageSize)
2057		}
2058		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2059			var err error
2060			resp, err = c.analyticsAdminClient.ListIosAppDataStreams(ctx, req, settings.GRPC...)
2061			return err
2062		}, opts...)
2063		if err != nil {
2064			return nil, "", err
2065		}
2066
2067		it.Response = resp
2068		return resp.GetIosAppDataStreams(), resp.GetNextPageToken(), nil
2069	}
2070	fetch := func(pageSize int, pageToken string) (string, error) {
2071		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2072		if err != nil {
2073			return "", err
2074		}
2075		it.items = append(it.items, items...)
2076		return nextPageToken, nil
2077	}
2078
2079	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2080	it.pageInfo.MaxSize = int(req.GetPageSize())
2081	it.pageInfo.Token = req.GetPageToken()
2082
2083	return it
2084}
2085
2086func (c *analyticsAdminGRPCClient) GetAndroidAppDataStream(ctx context.Context, req *adminpb.GetAndroidAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.AndroidAppDataStream, error) {
2087	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2088		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2089		defer cancel()
2090		ctx = cctx
2091	}
2092	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2093	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2094	opts = append((*c.CallOptions).GetAndroidAppDataStream[0:len((*c.CallOptions).GetAndroidAppDataStream):len((*c.CallOptions).GetAndroidAppDataStream)], opts...)
2095	var resp *adminpb.AndroidAppDataStream
2096	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2097		var err error
2098		resp, err = c.analyticsAdminClient.GetAndroidAppDataStream(ctx, req, settings.GRPC...)
2099		return err
2100	}, opts...)
2101	if err != nil {
2102		return nil, err
2103	}
2104	return resp, nil
2105}
2106
2107func (c *analyticsAdminGRPCClient) DeleteAndroidAppDataStream(ctx context.Context, req *adminpb.DeleteAndroidAppDataStreamRequest, opts ...gax.CallOption) error {
2108	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2109		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2110		defer cancel()
2111		ctx = cctx
2112	}
2113	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2114	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2115	opts = append((*c.CallOptions).DeleteAndroidAppDataStream[0:len((*c.CallOptions).DeleteAndroidAppDataStream):len((*c.CallOptions).DeleteAndroidAppDataStream)], opts...)
2116	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2117		var err error
2118		_, err = c.analyticsAdminClient.DeleteAndroidAppDataStream(ctx, req, settings.GRPC...)
2119		return err
2120	}, opts...)
2121	return err
2122}
2123
2124func (c *analyticsAdminGRPCClient) UpdateAndroidAppDataStream(ctx context.Context, req *adminpb.UpdateAndroidAppDataStreamRequest, opts ...gax.CallOption) (*adminpb.AndroidAppDataStream, error) {
2125	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2126		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2127		defer cancel()
2128		ctx = cctx
2129	}
2130	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "android_app_data_stream.name", url.QueryEscape(req.GetAndroidAppDataStream().GetName())))
2131	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2132	opts = append((*c.CallOptions).UpdateAndroidAppDataStream[0:len((*c.CallOptions).UpdateAndroidAppDataStream):len((*c.CallOptions).UpdateAndroidAppDataStream)], opts...)
2133	var resp *adminpb.AndroidAppDataStream
2134	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2135		var err error
2136		resp, err = c.analyticsAdminClient.UpdateAndroidAppDataStream(ctx, req, settings.GRPC...)
2137		return err
2138	}, opts...)
2139	if err != nil {
2140		return nil, err
2141	}
2142	return resp, nil
2143}
2144
2145func (c *analyticsAdminGRPCClient) ListAndroidAppDataStreams(ctx context.Context, req *adminpb.ListAndroidAppDataStreamsRequest, opts ...gax.CallOption) *AndroidAppDataStreamIterator {
2146	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2147	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2148	opts = append((*c.CallOptions).ListAndroidAppDataStreams[0:len((*c.CallOptions).ListAndroidAppDataStreams):len((*c.CallOptions).ListAndroidAppDataStreams)], opts...)
2149	it := &AndroidAppDataStreamIterator{}
2150	req = proto.Clone(req).(*adminpb.ListAndroidAppDataStreamsRequest)
2151	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.AndroidAppDataStream, string, error) {
2152		resp := &adminpb.ListAndroidAppDataStreamsResponse{}
2153		if pageToken != "" {
2154			req.PageToken = pageToken
2155		}
2156		if pageSize > math.MaxInt32 {
2157			req.PageSize = math.MaxInt32
2158		} else if pageSize != 0 {
2159			req.PageSize = int32(pageSize)
2160		}
2161		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2162			var err error
2163			resp, err = c.analyticsAdminClient.ListAndroidAppDataStreams(ctx, req, settings.GRPC...)
2164			return err
2165		}, opts...)
2166		if err != nil {
2167			return nil, "", err
2168		}
2169
2170		it.Response = resp
2171		return resp.GetAndroidAppDataStreams(), resp.GetNextPageToken(), nil
2172	}
2173	fetch := func(pageSize int, pageToken string) (string, error) {
2174		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2175		if err != nil {
2176			return "", err
2177		}
2178		it.items = append(it.items, items...)
2179		return nextPageToken, nil
2180	}
2181
2182	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2183	it.pageInfo.MaxSize = int(req.GetPageSize())
2184	it.pageInfo.Token = req.GetPageToken()
2185
2186	return it
2187}
2188
2189func (c *analyticsAdminGRPCClient) GetEnhancedMeasurementSettings(ctx context.Context, req *adminpb.GetEnhancedMeasurementSettingsRequest, opts ...gax.CallOption) (*adminpb.EnhancedMeasurementSettings, error) {
2190	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2191		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2192		defer cancel()
2193		ctx = cctx
2194	}
2195	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2196	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2197	opts = append((*c.CallOptions).GetEnhancedMeasurementSettings[0:len((*c.CallOptions).GetEnhancedMeasurementSettings):len((*c.CallOptions).GetEnhancedMeasurementSettings)], opts...)
2198	var resp *adminpb.EnhancedMeasurementSettings
2199	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2200		var err error
2201		resp, err = c.analyticsAdminClient.GetEnhancedMeasurementSettings(ctx, req, settings.GRPC...)
2202		return err
2203	}, opts...)
2204	if err != nil {
2205		return nil, err
2206	}
2207	return resp, nil
2208}
2209
2210func (c *analyticsAdminGRPCClient) UpdateEnhancedMeasurementSettings(ctx context.Context, req *adminpb.UpdateEnhancedMeasurementSettingsRequest, opts ...gax.CallOption) (*adminpb.EnhancedMeasurementSettings, error) {
2211	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2212		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2213		defer cancel()
2214		ctx = cctx
2215	}
2216	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "enhanced_measurement_settings.name", url.QueryEscape(req.GetEnhancedMeasurementSettings().GetName())))
2217	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2218	opts = append((*c.CallOptions).UpdateEnhancedMeasurementSettings[0:len((*c.CallOptions).UpdateEnhancedMeasurementSettings):len((*c.CallOptions).UpdateEnhancedMeasurementSettings)], opts...)
2219	var resp *adminpb.EnhancedMeasurementSettings
2220	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2221		var err error
2222		resp, err = c.analyticsAdminClient.UpdateEnhancedMeasurementSettings(ctx, req, settings.GRPC...)
2223		return err
2224	}, opts...)
2225	if err != nil {
2226		return nil, err
2227	}
2228	return resp, nil
2229}
2230
2231func (c *analyticsAdminGRPCClient) CreateFirebaseLink(ctx context.Context, req *adminpb.CreateFirebaseLinkRequest, opts ...gax.CallOption) (*adminpb.FirebaseLink, error) {
2232	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2233		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2234		defer cancel()
2235		ctx = cctx
2236	}
2237	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2238	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2239	opts = append((*c.CallOptions).CreateFirebaseLink[0:len((*c.CallOptions).CreateFirebaseLink):len((*c.CallOptions).CreateFirebaseLink)], opts...)
2240	var resp *adminpb.FirebaseLink
2241	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2242		var err error
2243		resp, err = c.analyticsAdminClient.CreateFirebaseLink(ctx, req, settings.GRPC...)
2244		return err
2245	}, opts...)
2246	if err != nil {
2247		return nil, err
2248	}
2249	return resp, nil
2250}
2251
2252func (c *analyticsAdminGRPCClient) DeleteFirebaseLink(ctx context.Context, req *adminpb.DeleteFirebaseLinkRequest, opts ...gax.CallOption) error {
2253	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2254		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2255		defer cancel()
2256		ctx = cctx
2257	}
2258	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2259	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2260	opts = append((*c.CallOptions).DeleteFirebaseLink[0:len((*c.CallOptions).DeleteFirebaseLink):len((*c.CallOptions).DeleteFirebaseLink)], opts...)
2261	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2262		var err error
2263		_, err = c.analyticsAdminClient.DeleteFirebaseLink(ctx, req, settings.GRPC...)
2264		return err
2265	}, opts...)
2266	return err
2267}
2268
2269func (c *analyticsAdminGRPCClient) ListFirebaseLinks(ctx context.Context, req *adminpb.ListFirebaseLinksRequest, opts ...gax.CallOption) *FirebaseLinkIterator {
2270	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2271	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2272	opts = append((*c.CallOptions).ListFirebaseLinks[0:len((*c.CallOptions).ListFirebaseLinks):len((*c.CallOptions).ListFirebaseLinks)], opts...)
2273	it := &FirebaseLinkIterator{}
2274	req = proto.Clone(req).(*adminpb.ListFirebaseLinksRequest)
2275	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.FirebaseLink, string, error) {
2276		resp := &adminpb.ListFirebaseLinksResponse{}
2277		if pageToken != "" {
2278			req.PageToken = pageToken
2279		}
2280		if pageSize > math.MaxInt32 {
2281			req.PageSize = math.MaxInt32
2282		} else if pageSize != 0 {
2283			req.PageSize = int32(pageSize)
2284		}
2285		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2286			var err error
2287			resp, err = c.analyticsAdminClient.ListFirebaseLinks(ctx, req, settings.GRPC...)
2288			return err
2289		}, opts...)
2290		if err != nil {
2291			return nil, "", err
2292		}
2293
2294		it.Response = resp
2295		return resp.GetFirebaseLinks(), resp.GetNextPageToken(), nil
2296	}
2297	fetch := func(pageSize int, pageToken string) (string, error) {
2298		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2299		if err != nil {
2300			return "", err
2301		}
2302		it.items = append(it.items, items...)
2303		return nextPageToken, nil
2304	}
2305
2306	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2307	it.pageInfo.MaxSize = int(req.GetPageSize())
2308	it.pageInfo.Token = req.GetPageToken()
2309
2310	return it
2311}
2312
2313func (c *analyticsAdminGRPCClient) GetGlobalSiteTag(ctx context.Context, req *adminpb.GetGlobalSiteTagRequest, opts ...gax.CallOption) (*adminpb.GlobalSiteTag, error) {
2314	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2315		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2316		defer cancel()
2317		ctx = cctx
2318	}
2319	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2320	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2321	opts = append((*c.CallOptions).GetGlobalSiteTag[0:len((*c.CallOptions).GetGlobalSiteTag):len((*c.CallOptions).GetGlobalSiteTag)], opts...)
2322	var resp *adminpb.GlobalSiteTag
2323	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2324		var err error
2325		resp, err = c.analyticsAdminClient.GetGlobalSiteTag(ctx, req, settings.GRPC...)
2326		return err
2327	}, opts...)
2328	if err != nil {
2329		return nil, err
2330	}
2331	return resp, nil
2332}
2333
2334func (c *analyticsAdminGRPCClient) CreateGoogleAdsLink(ctx context.Context, req *adminpb.CreateGoogleAdsLinkRequest, opts ...gax.CallOption) (*adminpb.GoogleAdsLink, error) {
2335	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2336		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2337		defer cancel()
2338		ctx = cctx
2339	}
2340	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2341	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2342	opts = append((*c.CallOptions).CreateGoogleAdsLink[0:len((*c.CallOptions).CreateGoogleAdsLink):len((*c.CallOptions).CreateGoogleAdsLink)], opts...)
2343	var resp *adminpb.GoogleAdsLink
2344	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2345		var err error
2346		resp, err = c.analyticsAdminClient.CreateGoogleAdsLink(ctx, req, settings.GRPC...)
2347		return err
2348	}, opts...)
2349	if err != nil {
2350		return nil, err
2351	}
2352	return resp, nil
2353}
2354
2355func (c *analyticsAdminGRPCClient) UpdateGoogleAdsLink(ctx context.Context, req *adminpb.UpdateGoogleAdsLinkRequest, opts ...gax.CallOption) (*adminpb.GoogleAdsLink, error) {
2356	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2357		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2358		defer cancel()
2359		ctx = cctx
2360	}
2361	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "google_ads_link.name", url.QueryEscape(req.GetGoogleAdsLink().GetName())))
2362	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2363	opts = append((*c.CallOptions).UpdateGoogleAdsLink[0:len((*c.CallOptions).UpdateGoogleAdsLink):len((*c.CallOptions).UpdateGoogleAdsLink)], opts...)
2364	var resp *adminpb.GoogleAdsLink
2365	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2366		var err error
2367		resp, err = c.analyticsAdminClient.UpdateGoogleAdsLink(ctx, req, settings.GRPC...)
2368		return err
2369	}, opts...)
2370	if err != nil {
2371		return nil, err
2372	}
2373	return resp, nil
2374}
2375
2376func (c *analyticsAdminGRPCClient) DeleteGoogleAdsLink(ctx context.Context, req *adminpb.DeleteGoogleAdsLinkRequest, opts ...gax.CallOption) error {
2377	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2378		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2379		defer cancel()
2380		ctx = cctx
2381	}
2382	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2383	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2384	opts = append((*c.CallOptions).DeleteGoogleAdsLink[0:len((*c.CallOptions).DeleteGoogleAdsLink):len((*c.CallOptions).DeleteGoogleAdsLink)], opts...)
2385	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2386		var err error
2387		_, err = c.analyticsAdminClient.DeleteGoogleAdsLink(ctx, req, settings.GRPC...)
2388		return err
2389	}, opts...)
2390	return err
2391}
2392
2393func (c *analyticsAdminGRPCClient) ListGoogleAdsLinks(ctx context.Context, req *adminpb.ListGoogleAdsLinksRequest, opts ...gax.CallOption) *GoogleAdsLinkIterator {
2394	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2395	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2396	opts = append((*c.CallOptions).ListGoogleAdsLinks[0:len((*c.CallOptions).ListGoogleAdsLinks):len((*c.CallOptions).ListGoogleAdsLinks)], opts...)
2397	it := &GoogleAdsLinkIterator{}
2398	req = proto.Clone(req).(*adminpb.ListGoogleAdsLinksRequest)
2399	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.GoogleAdsLink, string, error) {
2400		resp := &adminpb.ListGoogleAdsLinksResponse{}
2401		if pageToken != "" {
2402			req.PageToken = pageToken
2403		}
2404		if pageSize > math.MaxInt32 {
2405			req.PageSize = math.MaxInt32
2406		} else if pageSize != 0 {
2407			req.PageSize = int32(pageSize)
2408		}
2409		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2410			var err error
2411			resp, err = c.analyticsAdminClient.ListGoogleAdsLinks(ctx, req, settings.GRPC...)
2412			return err
2413		}, opts...)
2414		if err != nil {
2415			return nil, "", err
2416		}
2417
2418		it.Response = resp
2419		return resp.GetGoogleAdsLinks(), resp.GetNextPageToken(), nil
2420	}
2421	fetch := func(pageSize int, pageToken string) (string, error) {
2422		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2423		if err != nil {
2424			return "", err
2425		}
2426		it.items = append(it.items, items...)
2427		return nextPageToken, nil
2428	}
2429
2430	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2431	it.pageInfo.MaxSize = int(req.GetPageSize())
2432	it.pageInfo.Token = req.GetPageToken()
2433
2434	return it
2435}
2436
2437func (c *analyticsAdminGRPCClient) GetDataSharingSettings(ctx context.Context, req *adminpb.GetDataSharingSettingsRequest, opts ...gax.CallOption) (*adminpb.DataSharingSettings, error) {
2438	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2439		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2440		defer cancel()
2441		ctx = cctx
2442	}
2443	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2444	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2445	opts = append((*c.CallOptions).GetDataSharingSettings[0:len((*c.CallOptions).GetDataSharingSettings):len((*c.CallOptions).GetDataSharingSettings)], opts...)
2446	var resp *adminpb.DataSharingSettings
2447	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2448		var err error
2449		resp, err = c.analyticsAdminClient.GetDataSharingSettings(ctx, req, settings.GRPC...)
2450		return err
2451	}, opts...)
2452	if err != nil {
2453		return nil, err
2454	}
2455	return resp, nil
2456}
2457
2458func (c *analyticsAdminGRPCClient) GetMeasurementProtocolSecret(ctx context.Context, req *adminpb.GetMeasurementProtocolSecretRequest, opts ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error) {
2459	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2460		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2461		defer cancel()
2462		ctx = cctx
2463	}
2464	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2465	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2466	opts = append((*c.CallOptions).GetMeasurementProtocolSecret[0:len((*c.CallOptions).GetMeasurementProtocolSecret):len((*c.CallOptions).GetMeasurementProtocolSecret)], opts...)
2467	var resp *adminpb.MeasurementProtocolSecret
2468	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2469		var err error
2470		resp, err = c.analyticsAdminClient.GetMeasurementProtocolSecret(ctx, req, settings.GRPC...)
2471		return err
2472	}, opts...)
2473	if err != nil {
2474		return nil, err
2475	}
2476	return resp, nil
2477}
2478
2479func (c *analyticsAdminGRPCClient) ListMeasurementProtocolSecrets(ctx context.Context, req *adminpb.ListMeasurementProtocolSecretsRequest, opts ...gax.CallOption) *MeasurementProtocolSecretIterator {
2480	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2481	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2482	opts = append((*c.CallOptions).ListMeasurementProtocolSecrets[0:len((*c.CallOptions).ListMeasurementProtocolSecrets):len((*c.CallOptions).ListMeasurementProtocolSecrets)], opts...)
2483	it := &MeasurementProtocolSecretIterator{}
2484	req = proto.Clone(req).(*adminpb.ListMeasurementProtocolSecretsRequest)
2485	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.MeasurementProtocolSecret, string, error) {
2486		resp := &adminpb.ListMeasurementProtocolSecretsResponse{}
2487		if pageToken != "" {
2488			req.PageToken = pageToken
2489		}
2490		if pageSize > math.MaxInt32 {
2491			req.PageSize = math.MaxInt32
2492		} else if pageSize != 0 {
2493			req.PageSize = int32(pageSize)
2494		}
2495		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2496			var err error
2497			resp, err = c.analyticsAdminClient.ListMeasurementProtocolSecrets(ctx, req, settings.GRPC...)
2498			return err
2499		}, opts...)
2500		if err != nil {
2501			return nil, "", err
2502		}
2503
2504		it.Response = resp
2505		return resp.GetMeasurementProtocolSecrets(), resp.GetNextPageToken(), nil
2506	}
2507	fetch := func(pageSize int, pageToken string) (string, error) {
2508		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2509		if err != nil {
2510			return "", err
2511		}
2512		it.items = append(it.items, items...)
2513		return nextPageToken, nil
2514	}
2515
2516	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2517	it.pageInfo.MaxSize = int(req.GetPageSize())
2518	it.pageInfo.Token = req.GetPageToken()
2519
2520	return it
2521}
2522
2523func (c *analyticsAdminGRPCClient) CreateMeasurementProtocolSecret(ctx context.Context, req *adminpb.CreateMeasurementProtocolSecretRequest, opts ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error) {
2524	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2525		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2526		defer cancel()
2527		ctx = cctx
2528	}
2529	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2530	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2531	opts = append((*c.CallOptions).CreateMeasurementProtocolSecret[0:len((*c.CallOptions).CreateMeasurementProtocolSecret):len((*c.CallOptions).CreateMeasurementProtocolSecret)], opts...)
2532	var resp *adminpb.MeasurementProtocolSecret
2533	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2534		var err error
2535		resp, err = c.analyticsAdminClient.CreateMeasurementProtocolSecret(ctx, req, settings.GRPC...)
2536		return err
2537	}, opts...)
2538	if err != nil {
2539		return nil, err
2540	}
2541	return resp, nil
2542}
2543
2544func (c *analyticsAdminGRPCClient) DeleteMeasurementProtocolSecret(ctx context.Context, req *adminpb.DeleteMeasurementProtocolSecretRequest, opts ...gax.CallOption) error {
2545	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2546		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2547		defer cancel()
2548		ctx = cctx
2549	}
2550	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2551	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2552	opts = append((*c.CallOptions).DeleteMeasurementProtocolSecret[0:len((*c.CallOptions).DeleteMeasurementProtocolSecret):len((*c.CallOptions).DeleteMeasurementProtocolSecret)], opts...)
2553	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2554		var err error
2555		_, err = c.analyticsAdminClient.DeleteMeasurementProtocolSecret(ctx, req, settings.GRPC...)
2556		return err
2557	}, opts...)
2558	return err
2559}
2560
2561func (c *analyticsAdminGRPCClient) UpdateMeasurementProtocolSecret(ctx context.Context, req *adminpb.UpdateMeasurementProtocolSecretRequest, opts ...gax.CallOption) (*adminpb.MeasurementProtocolSecret, error) {
2562	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2563		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2564		defer cancel()
2565		ctx = cctx
2566	}
2567	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "measurement_protocol_secret.name", url.QueryEscape(req.GetMeasurementProtocolSecret().GetName())))
2568	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2569	opts = append((*c.CallOptions).UpdateMeasurementProtocolSecret[0:len((*c.CallOptions).UpdateMeasurementProtocolSecret):len((*c.CallOptions).UpdateMeasurementProtocolSecret)], opts...)
2570	var resp *adminpb.MeasurementProtocolSecret
2571	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2572		var err error
2573		resp, err = c.analyticsAdminClient.UpdateMeasurementProtocolSecret(ctx, req, settings.GRPC...)
2574		return err
2575	}, opts...)
2576	if err != nil {
2577		return nil, err
2578	}
2579	return resp, nil
2580}
2581
2582func (c *analyticsAdminGRPCClient) SearchChangeHistoryEvents(ctx context.Context, req *adminpb.SearchChangeHistoryEventsRequest, opts ...gax.CallOption) *ChangeHistoryEventIterator {
2583	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "account", url.QueryEscape(req.GetAccount())))
2584	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2585	opts = append((*c.CallOptions).SearchChangeHistoryEvents[0:len((*c.CallOptions).SearchChangeHistoryEvents):len((*c.CallOptions).SearchChangeHistoryEvents)], opts...)
2586	it := &ChangeHistoryEventIterator{}
2587	req = proto.Clone(req).(*adminpb.SearchChangeHistoryEventsRequest)
2588	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.ChangeHistoryEvent, string, error) {
2589		resp := &adminpb.SearchChangeHistoryEventsResponse{}
2590		if pageToken != "" {
2591			req.PageToken = pageToken
2592		}
2593		if pageSize > math.MaxInt32 {
2594			req.PageSize = math.MaxInt32
2595		} else if pageSize != 0 {
2596			req.PageSize = int32(pageSize)
2597		}
2598		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2599			var err error
2600			resp, err = c.analyticsAdminClient.SearchChangeHistoryEvents(ctx, req, settings.GRPC...)
2601			return err
2602		}, opts...)
2603		if err != nil {
2604			return nil, "", err
2605		}
2606
2607		it.Response = resp
2608		return resp.GetChangeHistoryEvents(), resp.GetNextPageToken(), nil
2609	}
2610	fetch := func(pageSize int, pageToken string) (string, error) {
2611		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2612		if err != nil {
2613			return "", err
2614		}
2615		it.items = append(it.items, items...)
2616		return nextPageToken, nil
2617	}
2618
2619	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2620	it.pageInfo.MaxSize = int(req.GetPageSize())
2621	it.pageInfo.Token = req.GetPageToken()
2622
2623	return it
2624}
2625
2626func (c *analyticsAdminGRPCClient) GetGoogleSignalsSettings(ctx context.Context, req *adminpb.GetGoogleSignalsSettingsRequest, opts ...gax.CallOption) (*adminpb.GoogleSignalsSettings, error) {
2627	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2628		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2629		defer cancel()
2630		ctx = cctx
2631	}
2632	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2633	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2634	opts = append((*c.CallOptions).GetGoogleSignalsSettings[0:len((*c.CallOptions).GetGoogleSignalsSettings):len((*c.CallOptions).GetGoogleSignalsSettings)], opts...)
2635	var resp *adminpb.GoogleSignalsSettings
2636	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2637		var err error
2638		resp, err = c.analyticsAdminClient.GetGoogleSignalsSettings(ctx, req, settings.GRPC...)
2639		return err
2640	}, opts...)
2641	if err != nil {
2642		return nil, err
2643	}
2644	return resp, nil
2645}
2646
2647func (c *analyticsAdminGRPCClient) UpdateGoogleSignalsSettings(ctx context.Context, req *adminpb.UpdateGoogleSignalsSettingsRequest, opts ...gax.CallOption) (*adminpb.GoogleSignalsSettings, error) {
2648	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2649		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2650		defer cancel()
2651		ctx = cctx
2652	}
2653	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "google_signals_settings.name", url.QueryEscape(req.GetGoogleSignalsSettings().GetName())))
2654	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2655	opts = append((*c.CallOptions).UpdateGoogleSignalsSettings[0:len((*c.CallOptions).UpdateGoogleSignalsSettings):len((*c.CallOptions).UpdateGoogleSignalsSettings)], opts...)
2656	var resp *adminpb.GoogleSignalsSettings
2657	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2658		var err error
2659		resp, err = c.analyticsAdminClient.UpdateGoogleSignalsSettings(ctx, req, settings.GRPC...)
2660		return err
2661	}, opts...)
2662	if err != nil {
2663		return nil, err
2664	}
2665	return resp, nil
2666}
2667
2668func (c *analyticsAdminGRPCClient) CreateConversionEvent(ctx context.Context, req *adminpb.CreateConversionEventRequest, opts ...gax.CallOption) (*adminpb.ConversionEvent, error) {
2669	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2670		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2671		defer cancel()
2672		ctx = cctx
2673	}
2674	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2675	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2676	opts = append((*c.CallOptions).CreateConversionEvent[0:len((*c.CallOptions).CreateConversionEvent):len((*c.CallOptions).CreateConversionEvent)], opts...)
2677	var resp *adminpb.ConversionEvent
2678	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2679		var err error
2680		resp, err = c.analyticsAdminClient.CreateConversionEvent(ctx, req, settings.GRPC...)
2681		return err
2682	}, opts...)
2683	if err != nil {
2684		return nil, err
2685	}
2686	return resp, nil
2687}
2688
2689func (c *analyticsAdminGRPCClient) GetConversionEvent(ctx context.Context, req *adminpb.GetConversionEventRequest, opts ...gax.CallOption) (*adminpb.ConversionEvent, error) {
2690	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2691		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2692		defer cancel()
2693		ctx = cctx
2694	}
2695	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2696	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2697	opts = append((*c.CallOptions).GetConversionEvent[0:len((*c.CallOptions).GetConversionEvent):len((*c.CallOptions).GetConversionEvent)], opts...)
2698	var resp *adminpb.ConversionEvent
2699	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2700		var err error
2701		resp, err = c.analyticsAdminClient.GetConversionEvent(ctx, req, settings.GRPC...)
2702		return err
2703	}, opts...)
2704	if err != nil {
2705		return nil, err
2706	}
2707	return resp, nil
2708}
2709
2710func (c *analyticsAdminGRPCClient) DeleteConversionEvent(ctx context.Context, req *adminpb.DeleteConversionEventRequest, opts ...gax.CallOption) error {
2711	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2712		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2713		defer cancel()
2714		ctx = cctx
2715	}
2716	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2717	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2718	opts = append((*c.CallOptions).DeleteConversionEvent[0:len((*c.CallOptions).DeleteConversionEvent):len((*c.CallOptions).DeleteConversionEvent)], opts...)
2719	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2720		var err error
2721		_, err = c.analyticsAdminClient.DeleteConversionEvent(ctx, req, settings.GRPC...)
2722		return err
2723	}, opts...)
2724	return err
2725}
2726
2727func (c *analyticsAdminGRPCClient) ListConversionEvents(ctx context.Context, req *adminpb.ListConversionEventsRequest, opts ...gax.CallOption) *ConversionEventIterator {
2728	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2729	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2730	opts = append((*c.CallOptions).ListConversionEvents[0:len((*c.CallOptions).ListConversionEvents):len((*c.CallOptions).ListConversionEvents)], opts...)
2731	it := &ConversionEventIterator{}
2732	req = proto.Clone(req).(*adminpb.ListConversionEventsRequest)
2733	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.ConversionEvent, string, error) {
2734		resp := &adminpb.ListConversionEventsResponse{}
2735		if pageToken != "" {
2736			req.PageToken = pageToken
2737		}
2738		if pageSize > math.MaxInt32 {
2739			req.PageSize = math.MaxInt32
2740		} else if pageSize != 0 {
2741			req.PageSize = int32(pageSize)
2742		}
2743		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2744			var err error
2745			resp, err = c.analyticsAdminClient.ListConversionEvents(ctx, req, settings.GRPC...)
2746			return err
2747		}, opts...)
2748		if err != nil {
2749			return nil, "", err
2750		}
2751
2752		it.Response = resp
2753		return resp.GetConversionEvents(), resp.GetNextPageToken(), nil
2754	}
2755	fetch := func(pageSize int, pageToken string) (string, error) {
2756		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2757		if err != nil {
2758			return "", err
2759		}
2760		it.items = append(it.items, items...)
2761		return nextPageToken, nil
2762	}
2763
2764	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2765	it.pageInfo.MaxSize = int(req.GetPageSize())
2766	it.pageInfo.Token = req.GetPageToken()
2767
2768	return it
2769}
2770
2771func (c *analyticsAdminGRPCClient) GetDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.GetDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error) {
2772	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2773		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2774		defer cancel()
2775		ctx = cctx
2776	}
2777	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2778	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2779	opts = append((*c.CallOptions).GetDisplayVideo360AdvertiserLink[0:len((*c.CallOptions).GetDisplayVideo360AdvertiserLink):len((*c.CallOptions).GetDisplayVideo360AdvertiserLink)], opts...)
2780	var resp *adminpb.DisplayVideo360AdvertiserLink
2781	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2782		var err error
2783		resp, err = c.analyticsAdminClient.GetDisplayVideo360AdvertiserLink(ctx, req, settings.GRPC...)
2784		return err
2785	}, opts...)
2786	if err != nil {
2787		return nil, err
2788	}
2789	return resp, nil
2790}
2791
2792func (c *analyticsAdminGRPCClient) ListDisplayVideo360AdvertiserLinks(ctx context.Context, req *adminpb.ListDisplayVideo360AdvertiserLinksRequest, opts ...gax.CallOption) *DisplayVideo360AdvertiserLinkIterator {
2793	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2794	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2795	opts = append((*c.CallOptions).ListDisplayVideo360AdvertiserLinks[0:len((*c.CallOptions).ListDisplayVideo360AdvertiserLinks):len((*c.CallOptions).ListDisplayVideo360AdvertiserLinks)], opts...)
2796	it := &DisplayVideo360AdvertiserLinkIterator{}
2797	req = proto.Clone(req).(*adminpb.ListDisplayVideo360AdvertiserLinksRequest)
2798	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.DisplayVideo360AdvertiserLink, string, error) {
2799		resp := &adminpb.ListDisplayVideo360AdvertiserLinksResponse{}
2800		if pageToken != "" {
2801			req.PageToken = pageToken
2802		}
2803		if pageSize > math.MaxInt32 {
2804			req.PageSize = math.MaxInt32
2805		} else if pageSize != 0 {
2806			req.PageSize = int32(pageSize)
2807		}
2808		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2809			var err error
2810			resp, err = c.analyticsAdminClient.ListDisplayVideo360AdvertiserLinks(ctx, req, settings.GRPC...)
2811			return err
2812		}, opts...)
2813		if err != nil {
2814			return nil, "", err
2815		}
2816
2817		it.Response = resp
2818		return resp.GetDisplayVideo_360AdvertiserLinks(), resp.GetNextPageToken(), nil
2819	}
2820	fetch := func(pageSize int, pageToken string) (string, error) {
2821		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2822		if err != nil {
2823			return "", err
2824		}
2825		it.items = append(it.items, items...)
2826		return nextPageToken, nil
2827	}
2828
2829	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2830	it.pageInfo.MaxSize = int(req.GetPageSize())
2831	it.pageInfo.Token = req.GetPageToken()
2832
2833	return it
2834}
2835
2836func (c *analyticsAdminGRPCClient) CreateDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.CreateDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error) {
2837	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2838		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2839		defer cancel()
2840		ctx = cctx
2841	}
2842	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2843	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2844	opts = append((*c.CallOptions).CreateDisplayVideo360AdvertiserLink[0:len((*c.CallOptions).CreateDisplayVideo360AdvertiserLink):len((*c.CallOptions).CreateDisplayVideo360AdvertiserLink)], opts...)
2845	var resp *adminpb.DisplayVideo360AdvertiserLink
2846	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2847		var err error
2848		resp, err = c.analyticsAdminClient.CreateDisplayVideo360AdvertiserLink(ctx, req, settings.GRPC...)
2849		return err
2850	}, opts...)
2851	if err != nil {
2852		return nil, err
2853	}
2854	return resp, nil
2855}
2856
2857func (c *analyticsAdminGRPCClient) DeleteDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.DeleteDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) error {
2858	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2859		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2860		defer cancel()
2861		ctx = cctx
2862	}
2863	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2864	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2865	opts = append((*c.CallOptions).DeleteDisplayVideo360AdvertiserLink[0:len((*c.CallOptions).DeleteDisplayVideo360AdvertiserLink):len((*c.CallOptions).DeleteDisplayVideo360AdvertiserLink)], opts...)
2866	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2867		var err error
2868		_, err = c.analyticsAdminClient.DeleteDisplayVideo360AdvertiserLink(ctx, req, settings.GRPC...)
2869		return err
2870	}, opts...)
2871	return err
2872}
2873
2874func (c *analyticsAdminGRPCClient) UpdateDisplayVideo360AdvertiserLink(ctx context.Context, req *adminpb.UpdateDisplayVideo360AdvertiserLinkRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLink, error) {
2875	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2876		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2877		defer cancel()
2878		ctx = cctx
2879	}
2880	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "display_video_360_advertiser_link.name", url.QueryEscape(req.GetDisplayVideo_360AdvertiserLink().GetName())))
2881	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2882	opts = append((*c.CallOptions).UpdateDisplayVideo360AdvertiserLink[0:len((*c.CallOptions).UpdateDisplayVideo360AdvertiserLink):len((*c.CallOptions).UpdateDisplayVideo360AdvertiserLink)], opts...)
2883	var resp *adminpb.DisplayVideo360AdvertiserLink
2884	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2885		var err error
2886		resp, err = c.analyticsAdminClient.UpdateDisplayVideo360AdvertiserLink(ctx, req, settings.GRPC...)
2887		return err
2888	}, opts...)
2889	if err != nil {
2890		return nil, err
2891	}
2892	return resp, nil
2893}
2894
2895func (c *analyticsAdminGRPCClient) GetDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.GetDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error) {
2896	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2897		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2898		defer cancel()
2899		ctx = cctx
2900	}
2901	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2902	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2903	opts = append((*c.CallOptions).GetDisplayVideo360AdvertiserLinkProposal[0:len((*c.CallOptions).GetDisplayVideo360AdvertiserLinkProposal):len((*c.CallOptions).GetDisplayVideo360AdvertiserLinkProposal)], opts...)
2904	var resp *adminpb.DisplayVideo360AdvertiserLinkProposal
2905	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2906		var err error
2907		resp, err = c.analyticsAdminClient.GetDisplayVideo360AdvertiserLinkProposal(ctx, req, settings.GRPC...)
2908		return err
2909	}, opts...)
2910	if err != nil {
2911		return nil, err
2912	}
2913	return resp, nil
2914}
2915
2916func (c *analyticsAdminGRPCClient) ListDisplayVideo360AdvertiserLinkProposals(ctx context.Context, req *adminpb.ListDisplayVideo360AdvertiserLinkProposalsRequest, opts ...gax.CallOption) *DisplayVideo360AdvertiserLinkProposalIterator {
2917	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2918	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2919	opts = append((*c.CallOptions).ListDisplayVideo360AdvertiserLinkProposals[0:len((*c.CallOptions).ListDisplayVideo360AdvertiserLinkProposals):len((*c.CallOptions).ListDisplayVideo360AdvertiserLinkProposals)], opts...)
2920	it := &DisplayVideo360AdvertiserLinkProposalIterator{}
2921	req = proto.Clone(req).(*adminpb.ListDisplayVideo360AdvertiserLinkProposalsRequest)
2922	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.DisplayVideo360AdvertiserLinkProposal, string, error) {
2923		resp := &adminpb.ListDisplayVideo360AdvertiserLinkProposalsResponse{}
2924		if pageToken != "" {
2925			req.PageToken = pageToken
2926		}
2927		if pageSize > math.MaxInt32 {
2928			req.PageSize = math.MaxInt32
2929		} else if pageSize != 0 {
2930			req.PageSize = int32(pageSize)
2931		}
2932		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2933			var err error
2934			resp, err = c.analyticsAdminClient.ListDisplayVideo360AdvertiserLinkProposals(ctx, req, settings.GRPC...)
2935			return err
2936		}, opts...)
2937		if err != nil {
2938			return nil, "", err
2939		}
2940
2941		it.Response = resp
2942		return resp.GetDisplayVideo_360AdvertiserLinkProposals(), resp.GetNextPageToken(), nil
2943	}
2944	fetch := func(pageSize int, pageToken string) (string, error) {
2945		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
2946		if err != nil {
2947			return "", err
2948		}
2949		it.items = append(it.items, items...)
2950		return nextPageToken, nil
2951	}
2952
2953	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
2954	it.pageInfo.MaxSize = int(req.GetPageSize())
2955	it.pageInfo.Token = req.GetPageToken()
2956
2957	return it
2958}
2959
2960func (c *analyticsAdminGRPCClient) CreateDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.CreateDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error) {
2961	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2962		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2963		defer cancel()
2964		ctx = cctx
2965	}
2966	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
2967	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2968	opts = append((*c.CallOptions).CreateDisplayVideo360AdvertiserLinkProposal[0:len((*c.CallOptions).CreateDisplayVideo360AdvertiserLinkProposal):len((*c.CallOptions).CreateDisplayVideo360AdvertiserLinkProposal)], opts...)
2969	var resp *adminpb.DisplayVideo360AdvertiserLinkProposal
2970	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2971		var err error
2972		resp, err = c.analyticsAdminClient.CreateDisplayVideo360AdvertiserLinkProposal(ctx, req, settings.GRPC...)
2973		return err
2974	}, opts...)
2975	if err != nil {
2976		return nil, err
2977	}
2978	return resp, nil
2979}
2980
2981func (c *analyticsAdminGRPCClient) DeleteDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.DeleteDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) error {
2982	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
2983		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
2984		defer cancel()
2985		ctx = cctx
2986	}
2987	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
2988	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
2989	opts = append((*c.CallOptions).DeleteDisplayVideo360AdvertiserLinkProposal[0:len((*c.CallOptions).DeleteDisplayVideo360AdvertiserLinkProposal):len((*c.CallOptions).DeleteDisplayVideo360AdvertiserLinkProposal)], opts...)
2990	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
2991		var err error
2992		_, err = c.analyticsAdminClient.DeleteDisplayVideo360AdvertiserLinkProposal(ctx, req, settings.GRPC...)
2993		return err
2994	}, opts...)
2995	return err
2996}
2997
2998func (c *analyticsAdminGRPCClient) ApproveDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.ApproveDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.ApproveDisplayVideo360AdvertiserLinkProposalResponse, error) {
2999	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3000		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3001		defer cancel()
3002		ctx = cctx
3003	}
3004	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
3005	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3006	opts = append((*c.CallOptions).ApproveDisplayVideo360AdvertiserLinkProposal[0:len((*c.CallOptions).ApproveDisplayVideo360AdvertiserLinkProposal):len((*c.CallOptions).ApproveDisplayVideo360AdvertiserLinkProposal)], opts...)
3007	var resp *adminpb.ApproveDisplayVideo360AdvertiserLinkProposalResponse
3008	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3009		var err error
3010		resp, err = c.analyticsAdminClient.ApproveDisplayVideo360AdvertiserLinkProposal(ctx, req, settings.GRPC...)
3011		return err
3012	}, opts...)
3013	if err != nil {
3014		return nil, err
3015	}
3016	return resp, nil
3017}
3018
3019func (c *analyticsAdminGRPCClient) CancelDisplayVideo360AdvertiserLinkProposal(ctx context.Context, req *adminpb.CancelDisplayVideo360AdvertiserLinkProposalRequest, opts ...gax.CallOption) (*adminpb.DisplayVideo360AdvertiserLinkProposal, error) {
3020	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3021		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3022		defer cancel()
3023		ctx = cctx
3024	}
3025	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
3026	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3027	opts = append((*c.CallOptions).CancelDisplayVideo360AdvertiserLinkProposal[0:len((*c.CallOptions).CancelDisplayVideo360AdvertiserLinkProposal):len((*c.CallOptions).CancelDisplayVideo360AdvertiserLinkProposal)], opts...)
3028	var resp *adminpb.DisplayVideo360AdvertiserLinkProposal
3029	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3030		var err error
3031		resp, err = c.analyticsAdminClient.CancelDisplayVideo360AdvertiserLinkProposal(ctx, req, settings.GRPC...)
3032		return err
3033	}, opts...)
3034	if err != nil {
3035		return nil, err
3036	}
3037	return resp, nil
3038}
3039
3040func (c *analyticsAdminGRPCClient) CreateCustomDimension(ctx context.Context, req *adminpb.CreateCustomDimensionRequest, opts ...gax.CallOption) (*adminpb.CustomDimension, error) {
3041	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3042		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3043		defer cancel()
3044		ctx = cctx
3045	}
3046	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
3047	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3048	opts = append((*c.CallOptions).CreateCustomDimension[0:len((*c.CallOptions).CreateCustomDimension):len((*c.CallOptions).CreateCustomDimension)], opts...)
3049	var resp *adminpb.CustomDimension
3050	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3051		var err error
3052		resp, err = c.analyticsAdminClient.CreateCustomDimension(ctx, req, settings.GRPC...)
3053		return err
3054	}, opts...)
3055	if err != nil {
3056		return nil, err
3057	}
3058	return resp, nil
3059}
3060
3061func (c *analyticsAdminGRPCClient) UpdateCustomDimension(ctx context.Context, req *adminpb.UpdateCustomDimensionRequest, opts ...gax.CallOption) (*adminpb.CustomDimension, error) {
3062	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3063		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3064		defer cancel()
3065		ctx = cctx
3066	}
3067	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "custom_dimension.name", url.QueryEscape(req.GetCustomDimension().GetName())))
3068	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3069	opts = append((*c.CallOptions).UpdateCustomDimension[0:len((*c.CallOptions).UpdateCustomDimension):len((*c.CallOptions).UpdateCustomDimension)], opts...)
3070	var resp *adminpb.CustomDimension
3071	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3072		var err error
3073		resp, err = c.analyticsAdminClient.UpdateCustomDimension(ctx, req, settings.GRPC...)
3074		return err
3075	}, opts...)
3076	if err != nil {
3077		return nil, err
3078	}
3079	return resp, nil
3080}
3081
3082func (c *analyticsAdminGRPCClient) ListCustomDimensions(ctx context.Context, req *adminpb.ListCustomDimensionsRequest, opts ...gax.CallOption) *CustomDimensionIterator {
3083	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
3084	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3085	opts = append((*c.CallOptions).ListCustomDimensions[0:len((*c.CallOptions).ListCustomDimensions):len((*c.CallOptions).ListCustomDimensions)], opts...)
3086	it := &CustomDimensionIterator{}
3087	req = proto.Clone(req).(*adminpb.ListCustomDimensionsRequest)
3088	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.CustomDimension, string, error) {
3089		resp := &adminpb.ListCustomDimensionsResponse{}
3090		if pageToken != "" {
3091			req.PageToken = pageToken
3092		}
3093		if pageSize > math.MaxInt32 {
3094			req.PageSize = math.MaxInt32
3095		} else if pageSize != 0 {
3096			req.PageSize = int32(pageSize)
3097		}
3098		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3099			var err error
3100			resp, err = c.analyticsAdminClient.ListCustomDimensions(ctx, req, settings.GRPC...)
3101			return err
3102		}, opts...)
3103		if err != nil {
3104			return nil, "", err
3105		}
3106
3107		it.Response = resp
3108		return resp.GetCustomDimensions(), resp.GetNextPageToken(), nil
3109	}
3110	fetch := func(pageSize int, pageToken string) (string, error) {
3111		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
3112		if err != nil {
3113			return "", err
3114		}
3115		it.items = append(it.items, items...)
3116		return nextPageToken, nil
3117	}
3118
3119	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
3120	it.pageInfo.MaxSize = int(req.GetPageSize())
3121	it.pageInfo.Token = req.GetPageToken()
3122
3123	return it
3124}
3125
3126func (c *analyticsAdminGRPCClient) ArchiveCustomDimension(ctx context.Context, req *adminpb.ArchiveCustomDimensionRequest, opts ...gax.CallOption) error {
3127	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3128		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3129		defer cancel()
3130		ctx = cctx
3131	}
3132	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
3133	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3134	opts = append((*c.CallOptions).ArchiveCustomDimension[0:len((*c.CallOptions).ArchiveCustomDimension):len((*c.CallOptions).ArchiveCustomDimension)], opts...)
3135	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3136		var err error
3137		_, err = c.analyticsAdminClient.ArchiveCustomDimension(ctx, req, settings.GRPC...)
3138		return err
3139	}, opts...)
3140	return err
3141}
3142
3143func (c *analyticsAdminGRPCClient) GetCustomDimension(ctx context.Context, req *adminpb.GetCustomDimensionRequest, opts ...gax.CallOption) (*adminpb.CustomDimension, error) {
3144	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3145		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3146		defer cancel()
3147		ctx = cctx
3148	}
3149	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
3150	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3151	opts = append((*c.CallOptions).GetCustomDimension[0:len((*c.CallOptions).GetCustomDimension):len((*c.CallOptions).GetCustomDimension)], opts...)
3152	var resp *adminpb.CustomDimension
3153	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3154		var err error
3155		resp, err = c.analyticsAdminClient.GetCustomDimension(ctx, req, settings.GRPC...)
3156		return err
3157	}, opts...)
3158	if err != nil {
3159		return nil, err
3160	}
3161	return resp, nil
3162}
3163
3164func (c *analyticsAdminGRPCClient) CreateCustomMetric(ctx context.Context, req *adminpb.CreateCustomMetricRequest, opts ...gax.CallOption) (*adminpb.CustomMetric, error) {
3165	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3166		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3167		defer cancel()
3168		ctx = cctx
3169	}
3170	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
3171	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3172	opts = append((*c.CallOptions).CreateCustomMetric[0:len((*c.CallOptions).CreateCustomMetric):len((*c.CallOptions).CreateCustomMetric)], opts...)
3173	var resp *adminpb.CustomMetric
3174	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3175		var err error
3176		resp, err = c.analyticsAdminClient.CreateCustomMetric(ctx, req, settings.GRPC...)
3177		return err
3178	}, opts...)
3179	if err != nil {
3180		return nil, err
3181	}
3182	return resp, nil
3183}
3184
3185func (c *analyticsAdminGRPCClient) UpdateCustomMetric(ctx context.Context, req *adminpb.UpdateCustomMetricRequest, opts ...gax.CallOption) (*adminpb.CustomMetric, error) {
3186	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3187		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3188		defer cancel()
3189		ctx = cctx
3190	}
3191	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "custom_metric.name", url.QueryEscape(req.GetCustomMetric().GetName())))
3192	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3193	opts = append((*c.CallOptions).UpdateCustomMetric[0:len((*c.CallOptions).UpdateCustomMetric):len((*c.CallOptions).UpdateCustomMetric)], opts...)
3194	var resp *adminpb.CustomMetric
3195	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3196		var err error
3197		resp, err = c.analyticsAdminClient.UpdateCustomMetric(ctx, req, settings.GRPC...)
3198		return err
3199	}, opts...)
3200	if err != nil {
3201		return nil, err
3202	}
3203	return resp, nil
3204}
3205
3206func (c *analyticsAdminGRPCClient) ListCustomMetrics(ctx context.Context, req *adminpb.ListCustomMetricsRequest, opts ...gax.CallOption) *CustomMetricIterator {
3207	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "parent", url.QueryEscape(req.GetParent())))
3208	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3209	opts = append((*c.CallOptions).ListCustomMetrics[0:len((*c.CallOptions).ListCustomMetrics):len((*c.CallOptions).ListCustomMetrics)], opts...)
3210	it := &CustomMetricIterator{}
3211	req = proto.Clone(req).(*adminpb.ListCustomMetricsRequest)
3212	it.InternalFetch = func(pageSize int, pageToken string) ([]*adminpb.CustomMetric, string, error) {
3213		resp := &adminpb.ListCustomMetricsResponse{}
3214		if pageToken != "" {
3215			req.PageToken = pageToken
3216		}
3217		if pageSize > math.MaxInt32 {
3218			req.PageSize = math.MaxInt32
3219		} else if pageSize != 0 {
3220			req.PageSize = int32(pageSize)
3221		}
3222		err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3223			var err error
3224			resp, err = c.analyticsAdminClient.ListCustomMetrics(ctx, req, settings.GRPC...)
3225			return err
3226		}, opts...)
3227		if err != nil {
3228			return nil, "", err
3229		}
3230
3231		it.Response = resp
3232		return resp.GetCustomMetrics(), resp.GetNextPageToken(), nil
3233	}
3234	fetch := func(pageSize int, pageToken string) (string, error) {
3235		items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
3236		if err != nil {
3237			return "", err
3238		}
3239		it.items = append(it.items, items...)
3240		return nextPageToken, nil
3241	}
3242
3243	it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
3244	it.pageInfo.MaxSize = int(req.GetPageSize())
3245	it.pageInfo.Token = req.GetPageToken()
3246
3247	return it
3248}
3249
3250func (c *analyticsAdminGRPCClient) ArchiveCustomMetric(ctx context.Context, req *adminpb.ArchiveCustomMetricRequest, opts ...gax.CallOption) error {
3251	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3252		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3253		defer cancel()
3254		ctx = cctx
3255	}
3256	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
3257	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3258	opts = append((*c.CallOptions).ArchiveCustomMetric[0:len((*c.CallOptions).ArchiveCustomMetric):len((*c.CallOptions).ArchiveCustomMetric)], opts...)
3259	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3260		var err error
3261		_, err = c.analyticsAdminClient.ArchiveCustomMetric(ctx, req, settings.GRPC...)
3262		return err
3263	}, opts...)
3264	return err
3265}
3266
3267func (c *analyticsAdminGRPCClient) GetCustomMetric(ctx context.Context, req *adminpb.GetCustomMetricRequest, opts ...gax.CallOption) (*adminpb.CustomMetric, error) {
3268	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3269		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3270		defer cancel()
3271		ctx = cctx
3272	}
3273	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
3274	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3275	opts = append((*c.CallOptions).GetCustomMetric[0:len((*c.CallOptions).GetCustomMetric):len((*c.CallOptions).GetCustomMetric)], opts...)
3276	var resp *adminpb.CustomMetric
3277	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3278		var err error
3279		resp, err = c.analyticsAdminClient.GetCustomMetric(ctx, req, settings.GRPC...)
3280		return err
3281	}, opts...)
3282	if err != nil {
3283		return nil, err
3284	}
3285	return resp, nil
3286}
3287
3288func (c *analyticsAdminGRPCClient) GetDataRetentionSettings(ctx context.Context, req *adminpb.GetDataRetentionSettingsRequest, opts ...gax.CallOption) (*adminpb.DataRetentionSettings, error) {
3289	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3290		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3291		defer cancel()
3292		ctx = cctx
3293	}
3294	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "name", url.QueryEscape(req.GetName())))
3295	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3296	opts = append((*c.CallOptions).GetDataRetentionSettings[0:len((*c.CallOptions).GetDataRetentionSettings):len((*c.CallOptions).GetDataRetentionSettings)], opts...)
3297	var resp *adminpb.DataRetentionSettings
3298	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3299		var err error
3300		resp, err = c.analyticsAdminClient.GetDataRetentionSettings(ctx, req, settings.GRPC...)
3301		return err
3302	}, opts...)
3303	if err != nil {
3304		return nil, err
3305	}
3306	return resp, nil
3307}
3308
3309func (c *analyticsAdminGRPCClient) UpdateDataRetentionSettings(ctx context.Context, req *adminpb.UpdateDataRetentionSettingsRequest, opts ...gax.CallOption) (*adminpb.DataRetentionSettings, error) {
3310	if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
3311		cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
3312		defer cancel()
3313		ctx = cctx
3314	}
3315	md := metadata.Pairs("x-goog-request-params", fmt.Sprintf("%s=%v", "data_retention_settings.name", url.QueryEscape(req.GetDataRetentionSettings().GetName())))
3316	ctx = insertMetadata(ctx, c.xGoogMetadata, md)
3317	opts = append((*c.CallOptions).UpdateDataRetentionSettings[0:len((*c.CallOptions).UpdateDataRetentionSettings):len((*c.CallOptions).UpdateDataRetentionSettings)], opts...)
3318	var resp *adminpb.DataRetentionSettings
3319	err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
3320		var err error
3321		resp, err = c.analyticsAdminClient.UpdateDataRetentionSettings(ctx, req, settings.GRPC...)
3322		return err
3323	}, opts...)
3324	if err != nil {
3325		return nil, err
3326	}
3327	return resp, nil
3328}
3329
3330// AccountIterator manages a stream of *adminpb.Account.
3331type AccountIterator struct {
3332	items    []*adminpb.Account
3333	pageInfo *iterator.PageInfo
3334	nextFunc func() error
3335
3336	// Response is the raw response for the current page.
3337	// It must be cast to the RPC response type.
3338	// Calling Next() or InternalFetch() updates this value.
3339	Response interface{}
3340
3341	// InternalFetch is for use by the Google Cloud Libraries only.
3342	// It is not part of the stable interface of this package.
3343	//
3344	// InternalFetch returns results from a single call to the underlying RPC.
3345	// The number of results is no greater than pageSize.
3346	// If there are no more results, nextPageToken is empty and err is nil.
3347	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.Account, nextPageToken string, err error)
3348}
3349
3350// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3351func (it *AccountIterator) PageInfo() *iterator.PageInfo {
3352	return it.pageInfo
3353}
3354
3355// Next returns the next result. Its second return value is iterator.Done if there are no more
3356// results. Once Next returns Done, all subsequent calls will return Done.
3357func (it *AccountIterator) Next() (*adminpb.Account, error) {
3358	var item *adminpb.Account
3359	if err := it.nextFunc(); err != nil {
3360		return item, err
3361	}
3362	item = it.items[0]
3363	it.items = it.items[1:]
3364	return item, nil
3365}
3366
3367func (it *AccountIterator) bufLen() int {
3368	return len(it.items)
3369}
3370
3371func (it *AccountIterator) takeBuf() interface{} {
3372	b := it.items
3373	it.items = nil
3374	return b
3375}
3376
3377// AccountSummaryIterator manages a stream of *adminpb.AccountSummary.
3378type AccountSummaryIterator struct {
3379	items    []*adminpb.AccountSummary
3380	pageInfo *iterator.PageInfo
3381	nextFunc func() error
3382
3383	// Response is the raw response for the current page.
3384	// It must be cast to the RPC response type.
3385	// Calling Next() or InternalFetch() updates this value.
3386	Response interface{}
3387
3388	// InternalFetch is for use by the Google Cloud Libraries only.
3389	// It is not part of the stable interface of this package.
3390	//
3391	// InternalFetch returns results from a single call to the underlying RPC.
3392	// The number of results is no greater than pageSize.
3393	// If there are no more results, nextPageToken is empty and err is nil.
3394	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.AccountSummary, nextPageToken string, err error)
3395}
3396
3397// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3398func (it *AccountSummaryIterator) PageInfo() *iterator.PageInfo {
3399	return it.pageInfo
3400}
3401
3402// Next returns the next result. Its second return value is iterator.Done if there are no more
3403// results. Once Next returns Done, all subsequent calls will return Done.
3404func (it *AccountSummaryIterator) Next() (*adminpb.AccountSummary, error) {
3405	var item *adminpb.AccountSummary
3406	if err := it.nextFunc(); err != nil {
3407		return item, err
3408	}
3409	item = it.items[0]
3410	it.items = it.items[1:]
3411	return item, nil
3412}
3413
3414func (it *AccountSummaryIterator) bufLen() int {
3415	return len(it.items)
3416}
3417
3418func (it *AccountSummaryIterator) takeBuf() interface{} {
3419	b := it.items
3420	it.items = nil
3421	return b
3422}
3423
3424// AndroidAppDataStreamIterator manages a stream of *adminpb.AndroidAppDataStream.
3425type AndroidAppDataStreamIterator struct {
3426	items    []*adminpb.AndroidAppDataStream
3427	pageInfo *iterator.PageInfo
3428	nextFunc func() error
3429
3430	// Response is the raw response for the current page.
3431	// It must be cast to the RPC response type.
3432	// Calling Next() or InternalFetch() updates this value.
3433	Response interface{}
3434
3435	// InternalFetch is for use by the Google Cloud Libraries only.
3436	// It is not part of the stable interface of this package.
3437	//
3438	// InternalFetch returns results from a single call to the underlying RPC.
3439	// The number of results is no greater than pageSize.
3440	// If there are no more results, nextPageToken is empty and err is nil.
3441	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.AndroidAppDataStream, nextPageToken string, err error)
3442}
3443
3444// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3445func (it *AndroidAppDataStreamIterator) PageInfo() *iterator.PageInfo {
3446	return it.pageInfo
3447}
3448
3449// Next returns the next result. Its second return value is iterator.Done if there are no more
3450// results. Once Next returns Done, all subsequent calls will return Done.
3451func (it *AndroidAppDataStreamIterator) Next() (*adminpb.AndroidAppDataStream, error) {
3452	var item *adminpb.AndroidAppDataStream
3453	if err := it.nextFunc(); err != nil {
3454		return item, err
3455	}
3456	item = it.items[0]
3457	it.items = it.items[1:]
3458	return item, nil
3459}
3460
3461func (it *AndroidAppDataStreamIterator) bufLen() int {
3462	return len(it.items)
3463}
3464
3465func (it *AndroidAppDataStreamIterator) takeBuf() interface{} {
3466	b := it.items
3467	it.items = nil
3468	return b
3469}
3470
3471// AuditUserLinkIterator manages a stream of *adminpb.AuditUserLink.
3472type AuditUserLinkIterator struct {
3473	items    []*adminpb.AuditUserLink
3474	pageInfo *iterator.PageInfo
3475	nextFunc func() error
3476
3477	// Response is the raw response for the current page.
3478	// It must be cast to the RPC response type.
3479	// Calling Next() or InternalFetch() updates this value.
3480	Response interface{}
3481
3482	// InternalFetch is for use by the Google Cloud Libraries only.
3483	// It is not part of the stable interface of this package.
3484	//
3485	// InternalFetch returns results from a single call to the underlying RPC.
3486	// The number of results is no greater than pageSize.
3487	// If there are no more results, nextPageToken is empty and err is nil.
3488	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.AuditUserLink, nextPageToken string, err error)
3489}
3490
3491// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3492func (it *AuditUserLinkIterator) PageInfo() *iterator.PageInfo {
3493	return it.pageInfo
3494}
3495
3496// Next returns the next result. Its second return value is iterator.Done if there are no more
3497// results. Once Next returns Done, all subsequent calls will return Done.
3498func (it *AuditUserLinkIterator) Next() (*adminpb.AuditUserLink, error) {
3499	var item *adminpb.AuditUserLink
3500	if err := it.nextFunc(); err != nil {
3501		return item, err
3502	}
3503	item = it.items[0]
3504	it.items = it.items[1:]
3505	return item, nil
3506}
3507
3508func (it *AuditUserLinkIterator) bufLen() int {
3509	return len(it.items)
3510}
3511
3512func (it *AuditUserLinkIterator) takeBuf() interface{} {
3513	b := it.items
3514	it.items = nil
3515	return b
3516}
3517
3518// ChangeHistoryEventIterator manages a stream of *adminpb.ChangeHistoryEvent.
3519type ChangeHistoryEventIterator struct {
3520	items    []*adminpb.ChangeHistoryEvent
3521	pageInfo *iterator.PageInfo
3522	nextFunc func() error
3523
3524	// Response is the raw response for the current page.
3525	// It must be cast to the RPC response type.
3526	// Calling Next() or InternalFetch() updates this value.
3527	Response interface{}
3528
3529	// InternalFetch is for use by the Google Cloud Libraries only.
3530	// It is not part of the stable interface of this package.
3531	//
3532	// InternalFetch returns results from a single call to the underlying RPC.
3533	// The number of results is no greater than pageSize.
3534	// If there are no more results, nextPageToken is empty and err is nil.
3535	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.ChangeHistoryEvent, nextPageToken string, err error)
3536}
3537
3538// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3539func (it *ChangeHistoryEventIterator) PageInfo() *iterator.PageInfo {
3540	return it.pageInfo
3541}
3542
3543// Next returns the next result. Its second return value is iterator.Done if there are no more
3544// results. Once Next returns Done, all subsequent calls will return Done.
3545func (it *ChangeHistoryEventIterator) Next() (*adminpb.ChangeHistoryEvent, error) {
3546	var item *adminpb.ChangeHistoryEvent
3547	if err := it.nextFunc(); err != nil {
3548		return item, err
3549	}
3550	item = it.items[0]
3551	it.items = it.items[1:]
3552	return item, nil
3553}
3554
3555func (it *ChangeHistoryEventIterator) bufLen() int {
3556	return len(it.items)
3557}
3558
3559func (it *ChangeHistoryEventIterator) takeBuf() interface{} {
3560	b := it.items
3561	it.items = nil
3562	return b
3563}
3564
3565// ConversionEventIterator manages a stream of *adminpb.ConversionEvent.
3566type ConversionEventIterator struct {
3567	items    []*adminpb.ConversionEvent
3568	pageInfo *iterator.PageInfo
3569	nextFunc func() error
3570
3571	// Response is the raw response for the current page.
3572	// It must be cast to the RPC response type.
3573	// Calling Next() or InternalFetch() updates this value.
3574	Response interface{}
3575
3576	// InternalFetch is for use by the Google Cloud Libraries only.
3577	// It is not part of the stable interface of this package.
3578	//
3579	// InternalFetch returns results from a single call to the underlying RPC.
3580	// The number of results is no greater than pageSize.
3581	// If there are no more results, nextPageToken is empty and err is nil.
3582	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.ConversionEvent, nextPageToken string, err error)
3583}
3584
3585// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3586func (it *ConversionEventIterator) PageInfo() *iterator.PageInfo {
3587	return it.pageInfo
3588}
3589
3590// Next returns the next result. Its second return value is iterator.Done if there are no more
3591// results. Once Next returns Done, all subsequent calls will return Done.
3592func (it *ConversionEventIterator) Next() (*adminpb.ConversionEvent, error) {
3593	var item *adminpb.ConversionEvent
3594	if err := it.nextFunc(); err != nil {
3595		return item, err
3596	}
3597	item = it.items[0]
3598	it.items = it.items[1:]
3599	return item, nil
3600}
3601
3602func (it *ConversionEventIterator) bufLen() int {
3603	return len(it.items)
3604}
3605
3606func (it *ConversionEventIterator) takeBuf() interface{} {
3607	b := it.items
3608	it.items = nil
3609	return b
3610}
3611
3612// CustomDimensionIterator manages a stream of *adminpb.CustomDimension.
3613type CustomDimensionIterator struct {
3614	items    []*adminpb.CustomDimension
3615	pageInfo *iterator.PageInfo
3616	nextFunc func() error
3617
3618	// Response is the raw response for the current page.
3619	// It must be cast to the RPC response type.
3620	// Calling Next() or InternalFetch() updates this value.
3621	Response interface{}
3622
3623	// InternalFetch is for use by the Google Cloud Libraries only.
3624	// It is not part of the stable interface of this package.
3625	//
3626	// InternalFetch returns results from a single call to the underlying RPC.
3627	// The number of results is no greater than pageSize.
3628	// If there are no more results, nextPageToken is empty and err is nil.
3629	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.CustomDimension, nextPageToken string, err error)
3630}
3631
3632// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3633func (it *CustomDimensionIterator) PageInfo() *iterator.PageInfo {
3634	return it.pageInfo
3635}
3636
3637// Next returns the next result. Its second return value is iterator.Done if there are no more
3638// results. Once Next returns Done, all subsequent calls will return Done.
3639func (it *CustomDimensionIterator) Next() (*adminpb.CustomDimension, error) {
3640	var item *adminpb.CustomDimension
3641	if err := it.nextFunc(); err != nil {
3642		return item, err
3643	}
3644	item = it.items[0]
3645	it.items = it.items[1:]
3646	return item, nil
3647}
3648
3649func (it *CustomDimensionIterator) bufLen() int {
3650	return len(it.items)
3651}
3652
3653func (it *CustomDimensionIterator) takeBuf() interface{} {
3654	b := it.items
3655	it.items = nil
3656	return b
3657}
3658
3659// CustomMetricIterator manages a stream of *adminpb.CustomMetric.
3660type CustomMetricIterator struct {
3661	items    []*adminpb.CustomMetric
3662	pageInfo *iterator.PageInfo
3663	nextFunc func() error
3664
3665	// Response is the raw response for the current page.
3666	// It must be cast to the RPC response type.
3667	// Calling Next() or InternalFetch() updates this value.
3668	Response interface{}
3669
3670	// InternalFetch is for use by the Google Cloud Libraries only.
3671	// It is not part of the stable interface of this package.
3672	//
3673	// InternalFetch returns results from a single call to the underlying RPC.
3674	// The number of results is no greater than pageSize.
3675	// If there are no more results, nextPageToken is empty and err is nil.
3676	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.CustomMetric, nextPageToken string, err error)
3677}
3678
3679// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3680func (it *CustomMetricIterator) PageInfo() *iterator.PageInfo {
3681	return it.pageInfo
3682}
3683
3684// Next returns the next result. Its second return value is iterator.Done if there are no more
3685// results. Once Next returns Done, all subsequent calls will return Done.
3686func (it *CustomMetricIterator) Next() (*adminpb.CustomMetric, error) {
3687	var item *adminpb.CustomMetric
3688	if err := it.nextFunc(); err != nil {
3689		return item, err
3690	}
3691	item = it.items[0]
3692	it.items = it.items[1:]
3693	return item, nil
3694}
3695
3696func (it *CustomMetricIterator) bufLen() int {
3697	return len(it.items)
3698}
3699
3700func (it *CustomMetricIterator) takeBuf() interface{} {
3701	b := it.items
3702	it.items = nil
3703	return b
3704}
3705
3706// DisplayVideo360AdvertiserLinkIterator manages a stream of *adminpb.DisplayVideo360AdvertiserLink.
3707type DisplayVideo360AdvertiserLinkIterator struct {
3708	items    []*adminpb.DisplayVideo360AdvertiserLink
3709	pageInfo *iterator.PageInfo
3710	nextFunc func() error
3711
3712	// Response is the raw response for the current page.
3713	// It must be cast to the RPC response type.
3714	// Calling Next() or InternalFetch() updates this value.
3715	Response interface{}
3716
3717	// InternalFetch is for use by the Google Cloud Libraries only.
3718	// It is not part of the stable interface of this package.
3719	//
3720	// InternalFetch returns results from a single call to the underlying RPC.
3721	// The number of results is no greater than pageSize.
3722	// If there are no more results, nextPageToken is empty and err is nil.
3723	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.DisplayVideo360AdvertiserLink, nextPageToken string, err error)
3724}
3725
3726// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3727func (it *DisplayVideo360AdvertiserLinkIterator) PageInfo() *iterator.PageInfo {
3728	return it.pageInfo
3729}
3730
3731// Next returns the next result. Its second return value is iterator.Done if there are no more
3732// results. Once Next returns Done, all subsequent calls will return Done.
3733func (it *DisplayVideo360AdvertiserLinkIterator) Next() (*adminpb.DisplayVideo360AdvertiserLink, error) {
3734	var item *adminpb.DisplayVideo360AdvertiserLink
3735	if err := it.nextFunc(); err != nil {
3736		return item, err
3737	}
3738	item = it.items[0]
3739	it.items = it.items[1:]
3740	return item, nil
3741}
3742
3743func (it *DisplayVideo360AdvertiserLinkIterator) bufLen() int {
3744	return len(it.items)
3745}
3746
3747func (it *DisplayVideo360AdvertiserLinkIterator) takeBuf() interface{} {
3748	b := it.items
3749	it.items = nil
3750	return b
3751}
3752
3753// DisplayVideo360AdvertiserLinkProposalIterator manages a stream of *adminpb.DisplayVideo360AdvertiserLinkProposal.
3754type DisplayVideo360AdvertiserLinkProposalIterator struct {
3755	items    []*adminpb.DisplayVideo360AdvertiserLinkProposal
3756	pageInfo *iterator.PageInfo
3757	nextFunc func() error
3758
3759	// Response is the raw response for the current page.
3760	// It must be cast to the RPC response type.
3761	// Calling Next() or InternalFetch() updates this value.
3762	Response interface{}
3763
3764	// InternalFetch is for use by the Google Cloud Libraries only.
3765	// It is not part of the stable interface of this package.
3766	//
3767	// InternalFetch returns results from a single call to the underlying RPC.
3768	// The number of results is no greater than pageSize.
3769	// If there are no more results, nextPageToken is empty and err is nil.
3770	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.DisplayVideo360AdvertiserLinkProposal, nextPageToken string, err error)
3771}
3772
3773// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3774func (it *DisplayVideo360AdvertiserLinkProposalIterator) PageInfo() *iterator.PageInfo {
3775	return it.pageInfo
3776}
3777
3778// Next returns the next result. Its second return value is iterator.Done if there are no more
3779// results. Once Next returns Done, all subsequent calls will return Done.
3780func (it *DisplayVideo360AdvertiserLinkProposalIterator) Next() (*adminpb.DisplayVideo360AdvertiserLinkProposal, error) {
3781	var item *adminpb.DisplayVideo360AdvertiserLinkProposal
3782	if err := it.nextFunc(); err != nil {
3783		return item, err
3784	}
3785	item = it.items[0]
3786	it.items = it.items[1:]
3787	return item, nil
3788}
3789
3790func (it *DisplayVideo360AdvertiserLinkProposalIterator) bufLen() int {
3791	return len(it.items)
3792}
3793
3794func (it *DisplayVideo360AdvertiserLinkProposalIterator) takeBuf() interface{} {
3795	b := it.items
3796	it.items = nil
3797	return b
3798}
3799
3800// FirebaseLinkIterator manages a stream of *adminpb.FirebaseLink.
3801type FirebaseLinkIterator struct {
3802	items    []*adminpb.FirebaseLink
3803	pageInfo *iterator.PageInfo
3804	nextFunc func() error
3805
3806	// Response is the raw response for the current page.
3807	// It must be cast to the RPC response type.
3808	// Calling Next() or InternalFetch() updates this value.
3809	Response interface{}
3810
3811	// InternalFetch is for use by the Google Cloud Libraries only.
3812	// It is not part of the stable interface of this package.
3813	//
3814	// InternalFetch returns results from a single call to the underlying RPC.
3815	// The number of results is no greater than pageSize.
3816	// If there are no more results, nextPageToken is empty and err is nil.
3817	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.FirebaseLink, nextPageToken string, err error)
3818}
3819
3820// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3821func (it *FirebaseLinkIterator) PageInfo() *iterator.PageInfo {
3822	return it.pageInfo
3823}
3824
3825// Next returns the next result. Its second return value is iterator.Done if there are no more
3826// results. Once Next returns Done, all subsequent calls will return Done.
3827func (it *FirebaseLinkIterator) Next() (*adminpb.FirebaseLink, error) {
3828	var item *adminpb.FirebaseLink
3829	if err := it.nextFunc(); err != nil {
3830		return item, err
3831	}
3832	item = it.items[0]
3833	it.items = it.items[1:]
3834	return item, nil
3835}
3836
3837func (it *FirebaseLinkIterator) bufLen() int {
3838	return len(it.items)
3839}
3840
3841func (it *FirebaseLinkIterator) takeBuf() interface{} {
3842	b := it.items
3843	it.items = nil
3844	return b
3845}
3846
3847// GoogleAdsLinkIterator manages a stream of *adminpb.GoogleAdsLink.
3848type GoogleAdsLinkIterator struct {
3849	items    []*adminpb.GoogleAdsLink
3850	pageInfo *iterator.PageInfo
3851	nextFunc func() error
3852
3853	// Response is the raw response for the current page.
3854	// It must be cast to the RPC response type.
3855	// Calling Next() or InternalFetch() updates this value.
3856	Response interface{}
3857
3858	// InternalFetch is for use by the Google Cloud Libraries only.
3859	// It is not part of the stable interface of this package.
3860	//
3861	// InternalFetch returns results from a single call to the underlying RPC.
3862	// The number of results is no greater than pageSize.
3863	// If there are no more results, nextPageToken is empty and err is nil.
3864	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.GoogleAdsLink, nextPageToken string, err error)
3865}
3866
3867// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3868func (it *GoogleAdsLinkIterator) PageInfo() *iterator.PageInfo {
3869	return it.pageInfo
3870}
3871
3872// Next returns the next result. Its second return value is iterator.Done if there are no more
3873// results. Once Next returns Done, all subsequent calls will return Done.
3874func (it *GoogleAdsLinkIterator) Next() (*adminpb.GoogleAdsLink, error) {
3875	var item *adminpb.GoogleAdsLink
3876	if err := it.nextFunc(); err != nil {
3877		return item, err
3878	}
3879	item = it.items[0]
3880	it.items = it.items[1:]
3881	return item, nil
3882}
3883
3884func (it *GoogleAdsLinkIterator) bufLen() int {
3885	return len(it.items)
3886}
3887
3888func (it *GoogleAdsLinkIterator) takeBuf() interface{} {
3889	b := it.items
3890	it.items = nil
3891	return b
3892}
3893
3894// IosAppDataStreamIterator manages a stream of *adminpb.IosAppDataStream.
3895type IosAppDataStreamIterator struct {
3896	items    []*adminpb.IosAppDataStream
3897	pageInfo *iterator.PageInfo
3898	nextFunc func() error
3899
3900	// Response is the raw response for the current page.
3901	// It must be cast to the RPC response type.
3902	// Calling Next() or InternalFetch() updates this value.
3903	Response interface{}
3904
3905	// InternalFetch is for use by the Google Cloud Libraries only.
3906	// It is not part of the stable interface of this package.
3907	//
3908	// InternalFetch returns results from a single call to the underlying RPC.
3909	// The number of results is no greater than pageSize.
3910	// If there are no more results, nextPageToken is empty and err is nil.
3911	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.IosAppDataStream, nextPageToken string, err error)
3912}
3913
3914// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3915func (it *IosAppDataStreamIterator) PageInfo() *iterator.PageInfo {
3916	return it.pageInfo
3917}
3918
3919// Next returns the next result. Its second return value is iterator.Done if there are no more
3920// results. Once Next returns Done, all subsequent calls will return Done.
3921func (it *IosAppDataStreamIterator) Next() (*adminpb.IosAppDataStream, error) {
3922	var item *adminpb.IosAppDataStream
3923	if err := it.nextFunc(); err != nil {
3924		return item, err
3925	}
3926	item = it.items[0]
3927	it.items = it.items[1:]
3928	return item, nil
3929}
3930
3931func (it *IosAppDataStreamIterator) bufLen() int {
3932	return len(it.items)
3933}
3934
3935func (it *IosAppDataStreamIterator) takeBuf() interface{} {
3936	b := it.items
3937	it.items = nil
3938	return b
3939}
3940
3941// MeasurementProtocolSecretIterator manages a stream of *adminpb.MeasurementProtocolSecret.
3942type MeasurementProtocolSecretIterator struct {
3943	items    []*adminpb.MeasurementProtocolSecret
3944	pageInfo *iterator.PageInfo
3945	nextFunc func() error
3946
3947	// Response is the raw response for the current page.
3948	// It must be cast to the RPC response type.
3949	// Calling Next() or InternalFetch() updates this value.
3950	Response interface{}
3951
3952	// InternalFetch is for use by the Google Cloud Libraries only.
3953	// It is not part of the stable interface of this package.
3954	//
3955	// InternalFetch returns results from a single call to the underlying RPC.
3956	// The number of results is no greater than pageSize.
3957	// If there are no more results, nextPageToken is empty and err is nil.
3958	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.MeasurementProtocolSecret, nextPageToken string, err error)
3959}
3960
3961// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
3962func (it *MeasurementProtocolSecretIterator) PageInfo() *iterator.PageInfo {
3963	return it.pageInfo
3964}
3965
3966// Next returns the next result. Its second return value is iterator.Done if there are no more
3967// results. Once Next returns Done, all subsequent calls will return Done.
3968func (it *MeasurementProtocolSecretIterator) Next() (*adminpb.MeasurementProtocolSecret, error) {
3969	var item *adminpb.MeasurementProtocolSecret
3970	if err := it.nextFunc(); err != nil {
3971		return item, err
3972	}
3973	item = it.items[0]
3974	it.items = it.items[1:]
3975	return item, nil
3976}
3977
3978func (it *MeasurementProtocolSecretIterator) bufLen() int {
3979	return len(it.items)
3980}
3981
3982func (it *MeasurementProtocolSecretIterator) takeBuf() interface{} {
3983	b := it.items
3984	it.items = nil
3985	return b
3986}
3987
3988// PropertyIterator manages a stream of *adminpb.Property.
3989type PropertyIterator struct {
3990	items    []*adminpb.Property
3991	pageInfo *iterator.PageInfo
3992	nextFunc func() error
3993
3994	// Response is the raw response for the current page.
3995	// It must be cast to the RPC response type.
3996	// Calling Next() or InternalFetch() updates this value.
3997	Response interface{}
3998
3999	// InternalFetch is for use by the Google Cloud Libraries only.
4000	// It is not part of the stable interface of this package.
4001	//
4002	// InternalFetch returns results from a single call to the underlying RPC.
4003	// The number of results is no greater than pageSize.
4004	// If there are no more results, nextPageToken is empty and err is nil.
4005	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.Property, nextPageToken string, err error)
4006}
4007
4008// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
4009func (it *PropertyIterator) PageInfo() *iterator.PageInfo {
4010	return it.pageInfo
4011}
4012
4013// Next returns the next result. Its second return value is iterator.Done if there are no more
4014// results. Once Next returns Done, all subsequent calls will return Done.
4015func (it *PropertyIterator) Next() (*adminpb.Property, error) {
4016	var item *adminpb.Property
4017	if err := it.nextFunc(); err != nil {
4018		return item, err
4019	}
4020	item = it.items[0]
4021	it.items = it.items[1:]
4022	return item, nil
4023}
4024
4025func (it *PropertyIterator) bufLen() int {
4026	return len(it.items)
4027}
4028
4029func (it *PropertyIterator) takeBuf() interface{} {
4030	b := it.items
4031	it.items = nil
4032	return b
4033}
4034
4035// UserLinkIterator manages a stream of *adminpb.UserLink.
4036type UserLinkIterator struct {
4037	items    []*adminpb.UserLink
4038	pageInfo *iterator.PageInfo
4039	nextFunc func() error
4040
4041	// Response is the raw response for the current page.
4042	// It must be cast to the RPC response type.
4043	// Calling Next() or InternalFetch() updates this value.
4044	Response interface{}
4045
4046	// InternalFetch is for use by the Google Cloud Libraries only.
4047	// It is not part of the stable interface of this package.
4048	//
4049	// InternalFetch returns results from a single call to the underlying RPC.
4050	// The number of results is no greater than pageSize.
4051	// If there are no more results, nextPageToken is empty and err is nil.
4052	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.UserLink, nextPageToken string, err error)
4053}
4054
4055// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
4056func (it *UserLinkIterator) PageInfo() *iterator.PageInfo {
4057	return it.pageInfo
4058}
4059
4060// Next returns the next result. Its second return value is iterator.Done if there are no more
4061// results. Once Next returns Done, all subsequent calls will return Done.
4062func (it *UserLinkIterator) Next() (*adminpb.UserLink, error) {
4063	var item *adminpb.UserLink
4064	if err := it.nextFunc(); err != nil {
4065		return item, err
4066	}
4067	item = it.items[0]
4068	it.items = it.items[1:]
4069	return item, nil
4070}
4071
4072func (it *UserLinkIterator) bufLen() int {
4073	return len(it.items)
4074}
4075
4076func (it *UserLinkIterator) takeBuf() interface{} {
4077	b := it.items
4078	it.items = nil
4079	return b
4080}
4081
4082// WebDataStreamIterator manages a stream of *adminpb.WebDataStream.
4083type WebDataStreamIterator struct {
4084	items    []*adminpb.WebDataStream
4085	pageInfo *iterator.PageInfo
4086	nextFunc func() error
4087
4088	// Response is the raw response for the current page.
4089	// It must be cast to the RPC response type.
4090	// Calling Next() or InternalFetch() updates this value.
4091	Response interface{}
4092
4093	// InternalFetch is for use by the Google Cloud Libraries only.
4094	// It is not part of the stable interface of this package.
4095	//
4096	// InternalFetch returns results from a single call to the underlying RPC.
4097	// The number of results is no greater than pageSize.
4098	// If there are no more results, nextPageToken is empty and err is nil.
4099	InternalFetch func(pageSize int, pageToken string) (results []*adminpb.WebDataStream, nextPageToken string, err error)
4100}
4101
4102// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
4103func (it *WebDataStreamIterator) PageInfo() *iterator.PageInfo {
4104	return it.pageInfo
4105}
4106
4107// Next returns the next result. Its second return value is iterator.Done if there are no more
4108// results. Once Next returns Done, all subsequent calls will return Done.
4109func (it *WebDataStreamIterator) Next() (*adminpb.WebDataStream, error) {
4110	var item *adminpb.WebDataStream
4111	if err := it.nextFunc(); err != nil {
4112		return item, err
4113	}
4114	item = it.items[0]
4115	it.items = it.items[1:]
4116	return item, nil
4117}
4118
4119func (it *WebDataStreamIterator) bufLen() int {
4120	return len(it.items)
4121}
4122
4123func (it *WebDataStreamIterator) takeBuf() interface{} {
4124	b := it.items
4125	it.items = nil
4126	return b
4127}
4128