1// Copyright 2020 Google LLC.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// Code generated file. DO NOT EDIT.
6
7// Package dfareporting provides access to the Campaign Manager 360 API.
8//
9// For product documentation, see: https://developers.google.com/doubleclick-advertisers/
10//
11// Creating a client
12//
13// Usage example:
14//
15//   import "google.golang.org/api/dfareporting/v3.3"
16//   ...
17//   ctx := context.Background()
18//   dfareportingService, err := dfareporting.NewService(ctx)
19//
20// In this example, Google Application Default Credentials are used for authentication.
21//
22// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
23//
24// Other authentication options
25//
26// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
27//
28//   dfareportingService, err := dfareporting.NewService(ctx, option.WithScopes(dfareporting.DfatraffickingScope))
29//
30// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
31//
32//   dfareportingService, err := dfareporting.NewService(ctx, option.WithAPIKey("AIza..."))
33//
34// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
35//
36//   config := &oauth2.Config{...}
37//   // ...
38//   token, err := config.Exchange(ctx, ...)
39//   dfareportingService, err := dfareporting.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
40//
41// See https://godoc.org/google.golang.org/api/option/ for details on options.
42package dfareporting // import "google.golang.org/api/dfareporting/v3.3"
43
44import (
45	"bytes"
46	"context"
47	"encoding/json"
48	"errors"
49	"fmt"
50	"io"
51	"net/http"
52	"net/url"
53	"strconv"
54	"strings"
55
56	googleapi "google.golang.org/api/googleapi"
57	gensupport "google.golang.org/api/internal/gensupport"
58	option "google.golang.org/api/option"
59	internaloption "google.golang.org/api/option/internaloption"
60	htransport "google.golang.org/api/transport/http"
61)
62
63// Always reference these packages, just in case the auto-generated code
64// below doesn't.
65var _ = bytes.NewBuffer
66var _ = strconv.Itoa
67var _ = fmt.Sprintf
68var _ = json.NewDecoder
69var _ = io.Copy
70var _ = url.Parse
71var _ = gensupport.MarshalJSON
72var _ = googleapi.Version
73var _ = errors.New
74var _ = strings.Replace
75var _ = context.Canceled
76var _ = internaloption.WithDefaultEndpoint
77
78const apiId = "dfareporting:v3.3"
79const apiName = "dfareporting"
80const apiVersion = "v3.3"
81const basePath = "https://dfareporting.googleapis.com/dfareporting/v3.3/"
82const mtlsBasePath = "https://dfareporting.mtls.googleapis.com/dfareporting/v3.3/"
83
84// OAuth2 scopes used by this API.
85const (
86	// Manage DoubleClick Digital Marketing conversions
87	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
88
89	// View and manage DoubleClick for Advertisers reports
90	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
91
92	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
93	// campaigns
94	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
95)
96
97// NewService creates a new Service.
98func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
99	scopesOption := option.WithScopes(
100		"https://www.googleapis.com/auth/ddmconversions",
101		"https://www.googleapis.com/auth/dfareporting",
102		"https://www.googleapis.com/auth/dfatrafficking",
103	)
104	// NOTE: prepend, so we don't override user-specified scopes.
105	opts = append([]option.ClientOption{scopesOption}, opts...)
106	opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
107	opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
108	client, endpoint, err := htransport.NewClient(ctx, opts...)
109	if err != nil {
110		return nil, err
111	}
112	s, err := New(client)
113	if err != nil {
114		return nil, err
115	}
116	if endpoint != "" {
117		s.BasePath = endpoint
118	}
119	return s, nil
120}
121
122// New creates a new Service. It uses the provided http.Client for requests.
123//
124// Deprecated: please use NewService instead.
125// To provide a custom HTTP client, use option.WithHTTPClient.
126// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
127func New(client *http.Client) (*Service, error) {
128	if client == nil {
129		return nil, errors.New("client is nil")
130	}
131	s := &Service{client: client, BasePath: basePath}
132	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
133	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
134	s.AccountPermissions = NewAccountPermissionsService(s)
135	s.AccountUserProfiles = NewAccountUserProfilesService(s)
136	s.Accounts = NewAccountsService(s)
137	s.Ads = NewAdsService(s)
138	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
139	s.AdvertiserLandingPages = NewAdvertiserLandingPagesService(s)
140	s.Advertisers = NewAdvertisersService(s)
141	s.Browsers = NewBrowsersService(s)
142	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
143	s.Campaigns = NewCampaignsService(s)
144	s.ChangeLogs = NewChangeLogsService(s)
145	s.Cities = NewCitiesService(s)
146	s.ConnectionTypes = NewConnectionTypesService(s)
147	s.ContentCategories = NewContentCategoriesService(s)
148	s.Conversions = NewConversionsService(s)
149	s.Countries = NewCountriesService(s)
150	s.CreativeAssets = NewCreativeAssetsService(s)
151	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
152	s.CreativeFields = NewCreativeFieldsService(s)
153	s.CreativeGroups = NewCreativeGroupsService(s)
154	s.Creatives = NewCreativesService(s)
155	s.DimensionValues = NewDimensionValuesService(s)
156	s.DirectorySites = NewDirectorySitesService(s)
157	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
158	s.EventTags = NewEventTagsService(s)
159	s.Files = NewFilesService(s)
160	s.FloodlightActivities = NewFloodlightActivitiesService(s)
161	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
162	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
163	s.InventoryItems = NewInventoryItemsService(s)
164	s.Languages = NewLanguagesService(s)
165	s.Metros = NewMetrosService(s)
166	s.MobileApps = NewMobileAppsService(s)
167	s.MobileCarriers = NewMobileCarriersService(s)
168	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
169	s.OperatingSystems = NewOperatingSystemsService(s)
170	s.OrderDocuments = NewOrderDocumentsService(s)
171	s.Orders = NewOrdersService(s)
172	s.PlacementGroups = NewPlacementGroupsService(s)
173	s.PlacementStrategies = NewPlacementStrategiesService(s)
174	s.Placements = NewPlacementsService(s)
175	s.PlatformTypes = NewPlatformTypesService(s)
176	s.PostalCodes = NewPostalCodesService(s)
177	s.Projects = NewProjectsService(s)
178	s.Regions = NewRegionsService(s)
179	s.RemarketingListShares = NewRemarketingListSharesService(s)
180	s.RemarketingLists = NewRemarketingListsService(s)
181	s.Reports = NewReportsService(s)
182	s.Sites = NewSitesService(s)
183	s.Sizes = NewSizesService(s)
184	s.Subaccounts = NewSubaccountsService(s)
185	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
186	s.TargetingTemplates = NewTargetingTemplatesService(s)
187	s.UserProfiles = NewUserProfilesService(s)
188	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
189	s.UserRolePermissions = NewUserRolePermissionsService(s)
190	s.UserRoles = NewUserRolesService(s)
191	s.VideoFormats = NewVideoFormatsService(s)
192	return s, nil
193}
194
195type Service struct {
196	client    *http.Client
197	BasePath  string // API endpoint base URL
198	UserAgent string // optional additional User-Agent fragment
199
200	AccountActiveAdSummaries *AccountActiveAdSummariesService
201
202	AccountPermissionGroups *AccountPermissionGroupsService
203
204	AccountPermissions *AccountPermissionsService
205
206	AccountUserProfiles *AccountUserProfilesService
207
208	Accounts *AccountsService
209
210	Ads *AdsService
211
212	AdvertiserGroups *AdvertiserGroupsService
213
214	AdvertiserLandingPages *AdvertiserLandingPagesService
215
216	Advertisers *AdvertisersService
217
218	Browsers *BrowsersService
219
220	CampaignCreativeAssociations *CampaignCreativeAssociationsService
221
222	Campaigns *CampaignsService
223
224	ChangeLogs *ChangeLogsService
225
226	Cities *CitiesService
227
228	ConnectionTypes *ConnectionTypesService
229
230	ContentCategories *ContentCategoriesService
231
232	Conversions *ConversionsService
233
234	Countries *CountriesService
235
236	CreativeAssets *CreativeAssetsService
237
238	CreativeFieldValues *CreativeFieldValuesService
239
240	CreativeFields *CreativeFieldsService
241
242	CreativeGroups *CreativeGroupsService
243
244	Creatives *CreativesService
245
246	DimensionValues *DimensionValuesService
247
248	DirectorySites *DirectorySitesService
249
250	DynamicTargetingKeys *DynamicTargetingKeysService
251
252	EventTags *EventTagsService
253
254	Files *FilesService
255
256	FloodlightActivities *FloodlightActivitiesService
257
258	FloodlightActivityGroups *FloodlightActivityGroupsService
259
260	FloodlightConfigurations *FloodlightConfigurationsService
261
262	InventoryItems *InventoryItemsService
263
264	Languages *LanguagesService
265
266	Metros *MetrosService
267
268	MobileApps *MobileAppsService
269
270	MobileCarriers *MobileCarriersService
271
272	OperatingSystemVersions *OperatingSystemVersionsService
273
274	OperatingSystems *OperatingSystemsService
275
276	OrderDocuments *OrderDocumentsService
277
278	Orders *OrdersService
279
280	PlacementGroups *PlacementGroupsService
281
282	PlacementStrategies *PlacementStrategiesService
283
284	Placements *PlacementsService
285
286	PlatformTypes *PlatformTypesService
287
288	PostalCodes *PostalCodesService
289
290	Projects *ProjectsService
291
292	Regions *RegionsService
293
294	RemarketingListShares *RemarketingListSharesService
295
296	RemarketingLists *RemarketingListsService
297
298	Reports *ReportsService
299
300	Sites *SitesService
301
302	Sizes *SizesService
303
304	Subaccounts *SubaccountsService
305
306	TargetableRemarketingLists *TargetableRemarketingListsService
307
308	TargetingTemplates *TargetingTemplatesService
309
310	UserProfiles *UserProfilesService
311
312	UserRolePermissionGroups *UserRolePermissionGroupsService
313
314	UserRolePermissions *UserRolePermissionsService
315
316	UserRoles *UserRolesService
317
318	VideoFormats *VideoFormatsService
319}
320
321func (s *Service) userAgent() string {
322	if s.UserAgent == "" {
323		return googleapi.UserAgent
324	}
325	return googleapi.UserAgent + " " + s.UserAgent
326}
327
328func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
329	rs := &AccountActiveAdSummariesService{s: s}
330	return rs
331}
332
333type AccountActiveAdSummariesService struct {
334	s *Service
335}
336
337func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
338	rs := &AccountPermissionGroupsService{s: s}
339	return rs
340}
341
342type AccountPermissionGroupsService struct {
343	s *Service
344}
345
346func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
347	rs := &AccountPermissionsService{s: s}
348	return rs
349}
350
351type AccountPermissionsService struct {
352	s *Service
353}
354
355func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
356	rs := &AccountUserProfilesService{s: s}
357	return rs
358}
359
360type AccountUserProfilesService struct {
361	s *Service
362}
363
364func NewAccountsService(s *Service) *AccountsService {
365	rs := &AccountsService{s: s}
366	return rs
367}
368
369type AccountsService struct {
370	s *Service
371}
372
373func NewAdsService(s *Service) *AdsService {
374	rs := &AdsService{s: s}
375	return rs
376}
377
378type AdsService struct {
379	s *Service
380}
381
382func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
383	rs := &AdvertiserGroupsService{s: s}
384	return rs
385}
386
387type AdvertiserGroupsService struct {
388	s *Service
389}
390
391func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
392	rs := &AdvertiserLandingPagesService{s: s}
393	return rs
394}
395
396type AdvertiserLandingPagesService struct {
397	s *Service
398}
399
400func NewAdvertisersService(s *Service) *AdvertisersService {
401	rs := &AdvertisersService{s: s}
402	return rs
403}
404
405type AdvertisersService struct {
406	s *Service
407}
408
409func NewBrowsersService(s *Service) *BrowsersService {
410	rs := &BrowsersService{s: s}
411	return rs
412}
413
414type BrowsersService struct {
415	s *Service
416}
417
418func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
419	rs := &CampaignCreativeAssociationsService{s: s}
420	return rs
421}
422
423type CampaignCreativeAssociationsService struct {
424	s *Service
425}
426
427func NewCampaignsService(s *Service) *CampaignsService {
428	rs := &CampaignsService{s: s}
429	return rs
430}
431
432type CampaignsService struct {
433	s *Service
434}
435
436func NewChangeLogsService(s *Service) *ChangeLogsService {
437	rs := &ChangeLogsService{s: s}
438	return rs
439}
440
441type ChangeLogsService struct {
442	s *Service
443}
444
445func NewCitiesService(s *Service) *CitiesService {
446	rs := &CitiesService{s: s}
447	return rs
448}
449
450type CitiesService struct {
451	s *Service
452}
453
454func NewConnectionTypesService(s *Service) *ConnectionTypesService {
455	rs := &ConnectionTypesService{s: s}
456	return rs
457}
458
459type ConnectionTypesService struct {
460	s *Service
461}
462
463func NewContentCategoriesService(s *Service) *ContentCategoriesService {
464	rs := &ContentCategoriesService{s: s}
465	return rs
466}
467
468type ContentCategoriesService struct {
469	s *Service
470}
471
472func NewConversionsService(s *Service) *ConversionsService {
473	rs := &ConversionsService{s: s}
474	return rs
475}
476
477type ConversionsService struct {
478	s *Service
479}
480
481func NewCountriesService(s *Service) *CountriesService {
482	rs := &CountriesService{s: s}
483	return rs
484}
485
486type CountriesService struct {
487	s *Service
488}
489
490func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
491	rs := &CreativeAssetsService{s: s}
492	return rs
493}
494
495type CreativeAssetsService struct {
496	s *Service
497}
498
499func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
500	rs := &CreativeFieldValuesService{s: s}
501	return rs
502}
503
504type CreativeFieldValuesService struct {
505	s *Service
506}
507
508func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
509	rs := &CreativeFieldsService{s: s}
510	return rs
511}
512
513type CreativeFieldsService struct {
514	s *Service
515}
516
517func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
518	rs := &CreativeGroupsService{s: s}
519	return rs
520}
521
522type CreativeGroupsService struct {
523	s *Service
524}
525
526func NewCreativesService(s *Service) *CreativesService {
527	rs := &CreativesService{s: s}
528	return rs
529}
530
531type CreativesService struct {
532	s *Service
533}
534
535func NewDimensionValuesService(s *Service) *DimensionValuesService {
536	rs := &DimensionValuesService{s: s}
537	return rs
538}
539
540type DimensionValuesService struct {
541	s *Service
542}
543
544func NewDirectorySitesService(s *Service) *DirectorySitesService {
545	rs := &DirectorySitesService{s: s}
546	return rs
547}
548
549type DirectorySitesService struct {
550	s *Service
551}
552
553func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
554	rs := &DynamicTargetingKeysService{s: s}
555	return rs
556}
557
558type DynamicTargetingKeysService struct {
559	s *Service
560}
561
562func NewEventTagsService(s *Service) *EventTagsService {
563	rs := &EventTagsService{s: s}
564	return rs
565}
566
567type EventTagsService struct {
568	s *Service
569}
570
571func NewFilesService(s *Service) *FilesService {
572	rs := &FilesService{s: s}
573	return rs
574}
575
576type FilesService struct {
577	s *Service
578}
579
580func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
581	rs := &FloodlightActivitiesService{s: s}
582	return rs
583}
584
585type FloodlightActivitiesService struct {
586	s *Service
587}
588
589func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
590	rs := &FloodlightActivityGroupsService{s: s}
591	return rs
592}
593
594type FloodlightActivityGroupsService struct {
595	s *Service
596}
597
598func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
599	rs := &FloodlightConfigurationsService{s: s}
600	return rs
601}
602
603type FloodlightConfigurationsService struct {
604	s *Service
605}
606
607func NewInventoryItemsService(s *Service) *InventoryItemsService {
608	rs := &InventoryItemsService{s: s}
609	return rs
610}
611
612type InventoryItemsService struct {
613	s *Service
614}
615
616func NewLanguagesService(s *Service) *LanguagesService {
617	rs := &LanguagesService{s: s}
618	return rs
619}
620
621type LanguagesService struct {
622	s *Service
623}
624
625func NewMetrosService(s *Service) *MetrosService {
626	rs := &MetrosService{s: s}
627	return rs
628}
629
630type MetrosService struct {
631	s *Service
632}
633
634func NewMobileAppsService(s *Service) *MobileAppsService {
635	rs := &MobileAppsService{s: s}
636	return rs
637}
638
639type MobileAppsService struct {
640	s *Service
641}
642
643func NewMobileCarriersService(s *Service) *MobileCarriersService {
644	rs := &MobileCarriersService{s: s}
645	return rs
646}
647
648type MobileCarriersService struct {
649	s *Service
650}
651
652func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
653	rs := &OperatingSystemVersionsService{s: s}
654	return rs
655}
656
657type OperatingSystemVersionsService struct {
658	s *Service
659}
660
661func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
662	rs := &OperatingSystemsService{s: s}
663	return rs
664}
665
666type OperatingSystemsService struct {
667	s *Service
668}
669
670func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
671	rs := &OrderDocumentsService{s: s}
672	return rs
673}
674
675type OrderDocumentsService struct {
676	s *Service
677}
678
679func NewOrdersService(s *Service) *OrdersService {
680	rs := &OrdersService{s: s}
681	return rs
682}
683
684type OrdersService struct {
685	s *Service
686}
687
688func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
689	rs := &PlacementGroupsService{s: s}
690	return rs
691}
692
693type PlacementGroupsService struct {
694	s *Service
695}
696
697func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
698	rs := &PlacementStrategiesService{s: s}
699	return rs
700}
701
702type PlacementStrategiesService struct {
703	s *Service
704}
705
706func NewPlacementsService(s *Service) *PlacementsService {
707	rs := &PlacementsService{s: s}
708	return rs
709}
710
711type PlacementsService struct {
712	s *Service
713}
714
715func NewPlatformTypesService(s *Service) *PlatformTypesService {
716	rs := &PlatformTypesService{s: s}
717	return rs
718}
719
720type PlatformTypesService struct {
721	s *Service
722}
723
724func NewPostalCodesService(s *Service) *PostalCodesService {
725	rs := &PostalCodesService{s: s}
726	return rs
727}
728
729type PostalCodesService struct {
730	s *Service
731}
732
733func NewProjectsService(s *Service) *ProjectsService {
734	rs := &ProjectsService{s: s}
735	return rs
736}
737
738type ProjectsService struct {
739	s *Service
740}
741
742func NewRegionsService(s *Service) *RegionsService {
743	rs := &RegionsService{s: s}
744	return rs
745}
746
747type RegionsService struct {
748	s *Service
749}
750
751func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
752	rs := &RemarketingListSharesService{s: s}
753	return rs
754}
755
756type RemarketingListSharesService struct {
757	s *Service
758}
759
760func NewRemarketingListsService(s *Service) *RemarketingListsService {
761	rs := &RemarketingListsService{s: s}
762	return rs
763}
764
765type RemarketingListsService struct {
766	s *Service
767}
768
769func NewReportsService(s *Service) *ReportsService {
770	rs := &ReportsService{s: s}
771	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
772	rs.Files = NewReportsFilesService(s)
773	return rs
774}
775
776type ReportsService struct {
777	s *Service
778
779	CompatibleFields *ReportsCompatibleFieldsService
780
781	Files *ReportsFilesService
782}
783
784func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
785	rs := &ReportsCompatibleFieldsService{s: s}
786	return rs
787}
788
789type ReportsCompatibleFieldsService struct {
790	s *Service
791}
792
793func NewReportsFilesService(s *Service) *ReportsFilesService {
794	rs := &ReportsFilesService{s: s}
795	return rs
796}
797
798type ReportsFilesService struct {
799	s *Service
800}
801
802func NewSitesService(s *Service) *SitesService {
803	rs := &SitesService{s: s}
804	return rs
805}
806
807type SitesService struct {
808	s *Service
809}
810
811func NewSizesService(s *Service) *SizesService {
812	rs := &SizesService{s: s}
813	return rs
814}
815
816type SizesService struct {
817	s *Service
818}
819
820func NewSubaccountsService(s *Service) *SubaccountsService {
821	rs := &SubaccountsService{s: s}
822	return rs
823}
824
825type SubaccountsService struct {
826	s *Service
827}
828
829func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
830	rs := &TargetableRemarketingListsService{s: s}
831	return rs
832}
833
834type TargetableRemarketingListsService struct {
835	s *Service
836}
837
838func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
839	rs := &TargetingTemplatesService{s: s}
840	return rs
841}
842
843type TargetingTemplatesService struct {
844	s *Service
845}
846
847func NewUserProfilesService(s *Service) *UserProfilesService {
848	rs := &UserProfilesService{s: s}
849	return rs
850}
851
852type UserProfilesService struct {
853	s *Service
854}
855
856func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
857	rs := &UserRolePermissionGroupsService{s: s}
858	return rs
859}
860
861type UserRolePermissionGroupsService struct {
862	s *Service
863}
864
865func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
866	rs := &UserRolePermissionsService{s: s}
867	return rs
868}
869
870type UserRolePermissionsService struct {
871	s *Service
872}
873
874func NewUserRolesService(s *Service) *UserRolesService {
875	rs := &UserRolesService{s: s}
876	return rs
877}
878
879type UserRolesService struct {
880	s *Service
881}
882
883func NewVideoFormatsService(s *Service) *VideoFormatsService {
884	rs := &VideoFormatsService{s: s}
885	return rs
886}
887
888type VideoFormatsService struct {
889	s *Service
890}
891
892// Account: Contains properties of a Campaign Manager account.
893type Account struct {
894	// AccountPermissionIds: Account permissions assigned to this account.
895	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
896
897	// AccountProfile: Profile for this account. This is a read-only field
898	// that can be left blank.
899	//
900	// Possible values:
901	//   "ACCOUNT_PROFILE_BASIC"
902	//   "ACCOUNT_PROFILE_STANDARD"
903	AccountProfile string `json:"accountProfile,omitempty"`
904
905	// Active: Whether this account is active.
906	Active bool `json:"active,omitempty"`
907
908	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
909	// account.
910	//
911	// Possible values:
912	//   "ACTIVE_ADS_TIER_40K"
913	//   "ACTIVE_ADS_TIER_75K"
914	//   "ACTIVE_ADS_TIER_100K"
915	//   "ACTIVE_ADS_TIER_200K"
916	//   "ACTIVE_ADS_TIER_300K"
917	//   "ACTIVE_ADS_TIER_500K"
918	//   "ACTIVE_ADS_TIER_750K"
919	//   "ACTIVE_ADS_TIER_1M"
920	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
921
922	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
923	// If disabled, viewability data will not be available for any
924	// impressions.
925	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
926
927	// AvailablePermissionIds: User role permissions available to the user
928	// roles of this account.
929	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
930
931	// CountryId: ID of the country associated with this account.
932	CountryId int64 `json:"countryId,omitempty,string"`
933
934	// CurrencyId: ID of currency associated with this account. This is a
935	// required field. Acceptable values are: - "1" for USD - "2" for GBP -
936	// "3" for ESP - "4" for SEK - "5" for CAD - "6" for JPY - "7" for DEM -
937	// "8" for AUD - "9" for FRF - "10" for ITL - "11" for DKK - "12" for
938	// NOK - "13" for FIM - "14" for ZAR - "15" for IEP - "16" for NLG -
939	// "17" for EUR - "18" for KRW - "19" for TWD - "20" for SGD - "21" for
940	// CNY - "22" for HKD - "23" for NZD - "24" for MYR - "25" for BRL -
941	// "26" for PTE - "28" for CLP - "29" for TRY - "30" for ARS - "31" for
942	// PEN - "32" for ILS - "33" for CHF - "34" for VEF - "35" for COP -
943	// "36" for GTQ - "37" for PLN - "39" for INR - "40" for THB - "41" for
944	// IDR - "42" for CZK - "43" for RON - "44" for HUF - "45" for RUB -
945	// "46" for AED - "47" for BGN - "48" for HRK - "49" for MXN - "50" for
946	// NGN - "51" for EGP
947	CurrencyId int64 `json:"currencyId,omitempty,string"`
948
949	// DefaultCreativeSizeId: Default placement dimensions for this account.
950	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
951
952	// Description: Description of this account.
953	Description string `json:"description,omitempty"`
954
955	// Id: ID of this account. This is a read-only, auto-generated field.
956	Id int64 `json:"id,omitempty,string"`
957
958	// Kind: Identifies what kind of resource this is. Value: the fixed
959	// string "dfareporting#account".
960	Kind string `json:"kind,omitempty"`
961
962	// Locale: Locale of this account. Acceptable values are: - "cs" (Czech)
963	// - "de" (German) - "en" (English) - "en-GB" (English United Kingdom) -
964	// "es" (Spanish) - "fr" (French) - "it" (Italian) - "ja" (Japanese) -
965	// "ko" (Korean) - "pl" (Polish) - "pt-BR" (Portuguese Brazil) - "ru"
966	// (Russian) - "sv" (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese
967	// Simplified) - "zh-TW" (Chinese Traditional)
968	Locale string `json:"locale,omitempty"`
969
970	// MaximumImageSize: Maximum image size allowed for this account, in
971	// kilobytes. Value must be greater than or equal to 1.
972	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
973
974	// Name: Name of this account. This is a required field, and must be
975	// less than 128 characters long and be globally unique.
976	Name string `json:"name,omitempty"`
977
978	// NielsenOcrEnabled: Whether campaigns created in this account will be
979	// enabled for Nielsen OCR reach ratings by default.
980	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
981
982	// ReportsConfiguration: Reporting configuration of this account.
983	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
984
985	// ShareReportsWithTwitter: Share Path to Conversion reports with
986	// Twitter.
987	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
988
989	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
990	// creatives. Acceptable values are 1 to 10240, inclusive.
991	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
992
993	// ServerResponse contains the HTTP response code and headers from the
994	// server.
995	googleapi.ServerResponse `json:"-"`
996
997	// ForceSendFields is a list of field names (e.g.
998	// "AccountPermissionIds") to unconditionally include in API requests.
999	// By default, fields with empty values are omitted from API requests.
1000	// However, any non-pointer, non-interface field appearing in
1001	// ForceSendFields will be sent to the server regardless of whether the
1002	// field is empty or not. This may be used to include empty fields in
1003	// Patch requests.
1004	ForceSendFields []string `json:"-"`
1005
1006	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
1007	// include in API requests with the JSON null value. By default, fields
1008	// with empty values are omitted from API requests. However, any field
1009	// with an empty value appearing in NullFields will be sent to the
1010	// server as null. It is an error if a field in this list has a
1011	// non-empty value. This may be used to include null fields in Patch
1012	// requests.
1013	NullFields []string `json:"-"`
1014}
1015
1016func (s *Account) MarshalJSON() ([]byte, error) {
1017	type NoMethod Account
1018	raw := NoMethod(*s)
1019	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1020}
1021
1022// AccountActiveAdSummary: Gets a summary of active ads in an account.
1023type AccountActiveAdSummary struct {
1024	// AccountId: ID of the account.
1025	AccountId int64 `json:"accountId,omitempty,string"`
1026
1027	// ActiveAds: Ads that have been activated for the account
1028	ActiveAds int64 `json:"activeAds,omitempty,string"`
1029
1030	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
1031	// account.
1032	//
1033	// Possible values:
1034	//   "ACTIVE_ADS_TIER_40K"
1035	//   "ACTIVE_ADS_TIER_75K"
1036	//   "ACTIVE_ADS_TIER_100K"
1037	//   "ACTIVE_ADS_TIER_200K"
1038	//   "ACTIVE_ADS_TIER_300K"
1039	//   "ACTIVE_ADS_TIER_500K"
1040	//   "ACTIVE_ADS_TIER_750K"
1041	//   "ACTIVE_ADS_TIER_1M"
1042	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
1043
1044	// AvailableAds: Ads that can be activated for the account.
1045	AvailableAds int64 `json:"availableAds,omitempty,string"`
1046
1047	// Kind: Identifies what kind of resource this is. Value: the fixed
1048	// string "dfareporting#accountActiveAdSummary".
1049	Kind string `json:"kind,omitempty"`
1050
1051	// ServerResponse contains the HTTP response code and headers from the
1052	// server.
1053	googleapi.ServerResponse `json:"-"`
1054
1055	// ForceSendFields is a list of field names (e.g. "AccountId") to
1056	// unconditionally include in API requests. By default, fields with
1057	// empty values are omitted from API requests. However, any non-pointer,
1058	// non-interface field appearing in ForceSendFields will be sent to the
1059	// server regardless of whether the field is empty or not. This may be
1060	// used to include empty fields in Patch requests.
1061	ForceSendFields []string `json:"-"`
1062
1063	// NullFields is a list of field names (e.g. "AccountId") to include in
1064	// API requests with the JSON null value. By default, fields with empty
1065	// values are omitted from API requests. However, any field with an
1066	// empty value appearing in NullFields will be sent to the server as
1067	// null. It is an error if a field in this list has a non-empty value.
1068	// This may be used to include null fields in Patch requests.
1069	NullFields []string `json:"-"`
1070}
1071
1072func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
1073	type NoMethod AccountActiveAdSummary
1074	raw := NoMethod(*s)
1075	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1076}
1077
1078// AccountPermission: AccountPermissions contains information about a
1079// particular account permission. Some features of Campaign Manager
1080// require an account permission to be present in the account.
1081type AccountPermission struct {
1082	// AccountProfiles: Account profiles associated with this account
1083	// permission. Possible values are: - "ACCOUNT_PROFILE_BASIC" -
1084	// "ACCOUNT_PROFILE_STANDARD"
1085	//
1086	// Possible values:
1087	//   "ACCOUNT_PROFILE_BASIC"
1088	//   "ACCOUNT_PROFILE_STANDARD"
1089	AccountProfiles []string `json:"accountProfiles,omitempty"`
1090
1091	// Id: ID of this account permission.
1092	Id int64 `json:"id,omitempty,string"`
1093
1094	// Kind: Identifies what kind of resource this is. Value: the fixed
1095	// string "dfareporting#accountPermission".
1096	Kind string `json:"kind,omitempty"`
1097
1098	// Level: Administrative level required to enable this account
1099	// permission.
1100	//
1101	// Possible values:
1102	//   "USER"
1103	//   "ADMINISTRATOR"
1104	Level string `json:"level,omitempty"`
1105
1106	// Name: Name of this account permission.
1107	Name string `json:"name,omitempty"`
1108
1109	// PermissionGroupId: Permission group of this account permission.
1110	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
1111
1112	// ServerResponse contains the HTTP response code and headers from the
1113	// server.
1114	googleapi.ServerResponse `json:"-"`
1115
1116	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
1117	// unconditionally include in API requests. By default, fields with
1118	// empty values are omitted from API requests. However, any non-pointer,
1119	// non-interface field appearing in ForceSendFields will be sent to the
1120	// server regardless of whether the field is empty or not. This may be
1121	// used to include empty fields in Patch requests.
1122	ForceSendFields []string `json:"-"`
1123
1124	// NullFields is a list of field names (e.g. "AccountProfiles") to
1125	// include in API requests with the JSON null value. By default, fields
1126	// with empty values are omitted from API requests. However, any field
1127	// with an empty value appearing in NullFields will be sent to the
1128	// server as null. It is an error if a field in this list has a
1129	// non-empty value. This may be used to include null fields in Patch
1130	// requests.
1131	NullFields []string `json:"-"`
1132}
1133
1134func (s *AccountPermission) MarshalJSON() ([]byte, error) {
1135	type NoMethod AccountPermission
1136	raw := NoMethod(*s)
1137	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1138}
1139
1140// AccountPermissionGroup: AccountPermissionGroups contains a mapping of
1141// permission group IDs to names. A permission group is a grouping of
1142// account permissions.
1143type AccountPermissionGroup struct {
1144	// Id: ID of this account permission group.
1145	Id int64 `json:"id,omitempty,string"`
1146
1147	// Kind: Identifies what kind of resource this is. Value: the fixed
1148	// string "dfareporting#accountPermissionGroup".
1149	Kind string `json:"kind,omitempty"`
1150
1151	// Name: Name of this account permission group.
1152	Name string `json:"name,omitempty"`
1153
1154	// ServerResponse contains the HTTP response code and headers from the
1155	// server.
1156	googleapi.ServerResponse `json:"-"`
1157
1158	// ForceSendFields is a list of field names (e.g. "Id") to
1159	// unconditionally include in API requests. By default, fields with
1160	// empty values are omitted from API requests. However, any non-pointer,
1161	// non-interface field appearing in ForceSendFields will be sent to the
1162	// server regardless of whether the field is empty or not. This may be
1163	// used to include empty fields in Patch requests.
1164	ForceSendFields []string `json:"-"`
1165
1166	// NullFields is a list of field names (e.g. "Id") to include in API
1167	// requests with the JSON null value. By default, fields with empty
1168	// values are omitted from API requests. However, any field with an
1169	// empty value appearing in NullFields will be sent to the server as
1170	// null. It is an error if a field in this list has a non-empty value.
1171	// This may be used to include null fields in Patch requests.
1172	NullFields []string `json:"-"`
1173}
1174
1175func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
1176	type NoMethod AccountPermissionGroup
1177	raw := NoMethod(*s)
1178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1179}
1180
1181// AccountPermissionGroupsListResponse: Account Permission Group List
1182// Response
1183type AccountPermissionGroupsListResponse struct {
1184	// AccountPermissionGroups: Account permission group collection.
1185	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
1186
1187	// Kind: Identifies what kind of resource this is. Value: the fixed
1188	// string "dfareporting#accountPermissionGroupsListResponse".
1189	Kind string `json:"kind,omitempty"`
1190
1191	// ServerResponse contains the HTTP response code and headers from the
1192	// server.
1193	googleapi.ServerResponse `json:"-"`
1194
1195	// ForceSendFields is a list of field names (e.g.
1196	// "AccountPermissionGroups") to unconditionally include in API
1197	// requests. By default, fields with empty values are omitted from API
1198	// requests. However, any non-pointer, non-interface field appearing in
1199	// ForceSendFields will be sent to the server regardless of whether the
1200	// field is empty or not. This may be used to include empty fields in
1201	// Patch requests.
1202	ForceSendFields []string `json:"-"`
1203
1204	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
1205	// to include in API requests with the JSON null value. By default,
1206	// fields with empty values are omitted from API requests. However, any
1207	// field with an empty value appearing in NullFields will be sent to the
1208	// server as null. It is an error if a field in this list has a
1209	// non-empty value. This may be used to include null fields in Patch
1210	// requests.
1211	NullFields []string `json:"-"`
1212}
1213
1214func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
1215	type NoMethod AccountPermissionGroupsListResponse
1216	raw := NoMethod(*s)
1217	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1218}
1219
1220// AccountPermissionsListResponse: Account Permission List Response
1221type AccountPermissionsListResponse struct {
1222	// AccountPermissions: Account permission collection.
1223	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
1224
1225	// Kind: Identifies what kind of resource this is. Value: the fixed
1226	// string "dfareporting#accountPermissionsListResponse".
1227	Kind string `json:"kind,omitempty"`
1228
1229	// ServerResponse contains the HTTP response code and headers from the
1230	// server.
1231	googleapi.ServerResponse `json:"-"`
1232
1233	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
1234	// to unconditionally include in API requests. By default, fields with
1235	// empty values are omitted from API requests. However, any non-pointer,
1236	// non-interface field appearing in ForceSendFields will be sent to the
1237	// server regardless of whether the field is empty or not. This may be
1238	// used to include empty fields in Patch requests.
1239	ForceSendFields []string `json:"-"`
1240
1241	// NullFields is a list of field names (e.g. "AccountPermissions") to
1242	// include in API requests with the JSON null value. By default, fields
1243	// with empty values are omitted from API requests. However, any field
1244	// with an empty value appearing in NullFields will be sent to the
1245	// server as null. It is an error if a field in this list has a
1246	// non-empty value. This may be used to include null fields in Patch
1247	// requests.
1248	NullFields []string `json:"-"`
1249}
1250
1251func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
1252	type NoMethod AccountPermissionsListResponse
1253	raw := NoMethod(*s)
1254	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1255}
1256
1257// AccountUserProfile: AccountUserProfiles contains properties of a
1258// Campaign Manager user profile. This resource is specifically for
1259// managing user profiles, whereas UserProfiles is for accessing the
1260// API.
1261type AccountUserProfile struct {
1262	// AccountId: Account ID of the user profile. This is a read-only field
1263	// that can be left blank.
1264	AccountId int64 `json:"accountId,omitempty,string"`
1265
1266	// Active: Whether this user profile is active. This defaults to false,
1267	// and must be set true on insert for the user profile to be usable.
1268	Active bool `json:"active,omitempty"`
1269
1270	// AdvertiserFilter: Filter that describes which advertisers are visible
1271	// to the user profile.
1272	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
1273
1274	// CampaignFilter: Filter that describes which campaigns are visible to
1275	// the user profile.
1276	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
1277
1278	// Comments: Comments for this user profile.
1279	Comments string `json:"comments,omitempty"`
1280
1281	// Email: Email of the user profile. The email addresss must be linked
1282	// to a Google Account. This field is required on insertion and is
1283	// read-only after insertion.
1284	Email string `json:"email,omitempty"`
1285
1286	// Id: ID of the user profile. This is a read-only, auto-generated
1287	// field.
1288	Id int64 `json:"id,omitempty,string"`
1289
1290	// Kind: Identifies what kind of resource this is. Value: the fixed
1291	// string "dfareporting#accountUserProfile".
1292	Kind string `json:"kind,omitempty"`
1293
1294	// Locale: Locale of the user profile. This is a required field.
1295	// Acceptable values are: - "cs" (Czech) - "de" (German) - "en"
1296	// (English) - "en-GB" (English United Kingdom) - "es" (Spanish) - "fr"
1297	// (French) - "it" (Italian) - "ja" (Japanese) - "ko" (Korean) - "pl"
1298	// (Polish) - "pt-BR" (Portuguese Brazil) - "ru" (Russian) - "sv"
1299	// (Swedish) - "tr" (Turkish) - "zh-CN" (Chinese Simplified) - "zh-TW"
1300	// (Chinese Traditional)
1301	Locale string `json:"locale,omitempty"`
1302
1303	// Name: Name of the user profile. This is a required field. Must be
1304	// less than 64 characters long, must be globally unique, and cannot
1305	// contain whitespace or any of the following characters: "&;<>"#%,".
1306	Name string `json:"name,omitempty"`
1307
1308	// SiteFilter: Filter that describes which sites are visible to the user
1309	// profile.
1310	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
1311
1312	// SubaccountId: Subaccount ID of the user profile. This is a read-only
1313	// field that can be left blank.
1314	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1315
1316	// TraffickerType: Trafficker type of this user profile. This is a
1317	// read-only field.
1318	//
1319	// Possible values:
1320	//   "INTERNAL_NON_TRAFFICKER"
1321	//   "INTERNAL_TRAFFICKER"
1322	//   "EXTERNAL_TRAFFICKER"
1323	TraffickerType string `json:"traffickerType,omitempty"`
1324
1325	// UserAccessType: User type of the user profile. This is a read-only
1326	// field that can be left blank.
1327	//
1328	// Possible values:
1329	//   "NORMAL_USER"
1330	//   "SUPER_USER"
1331	//   "INTERNAL_ADMINISTRATOR"
1332	//   "READ_ONLY_SUPER_USER"
1333	UserAccessType string `json:"userAccessType,omitempty"`
1334
1335	// UserRoleFilter: Filter that describes which user roles are visible to
1336	// the user profile.
1337	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
1338
1339	// UserRoleId: User role ID of the user profile. This is a required
1340	// field.
1341	UserRoleId int64 `json:"userRoleId,omitempty,string"`
1342
1343	// ServerResponse contains the HTTP response code and headers from the
1344	// server.
1345	googleapi.ServerResponse `json:"-"`
1346
1347	// ForceSendFields is a list of field names (e.g. "AccountId") to
1348	// unconditionally include in API requests. By default, fields with
1349	// empty values are omitted from API requests. However, any non-pointer,
1350	// non-interface field appearing in ForceSendFields will be sent to the
1351	// server regardless of whether the field is empty or not. This may be
1352	// used to include empty fields in Patch requests.
1353	ForceSendFields []string `json:"-"`
1354
1355	// NullFields is a list of field names (e.g. "AccountId") to include in
1356	// API requests with the JSON null value. By default, fields with empty
1357	// values are omitted from API requests. However, any field with an
1358	// empty value appearing in NullFields will be sent to the server as
1359	// null. It is an error if a field in this list has a non-empty value.
1360	// This may be used to include null fields in Patch requests.
1361	NullFields []string `json:"-"`
1362}
1363
1364func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
1365	type NoMethod AccountUserProfile
1366	raw := NoMethod(*s)
1367	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1368}
1369
1370// AccountUserProfilesListResponse: Account User Profile List Response
1371type AccountUserProfilesListResponse struct {
1372	// AccountUserProfiles: Account user profile collection.
1373	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
1374
1375	// Kind: Identifies what kind of resource this is. Value: the fixed
1376	// string "dfareporting#accountUserProfilesListResponse".
1377	Kind string `json:"kind,omitempty"`
1378
1379	// NextPageToken: Pagination token to be used for the next list
1380	// operation.
1381	NextPageToken string `json:"nextPageToken,omitempty"`
1382
1383	// ServerResponse contains the HTTP response code and headers from the
1384	// server.
1385	googleapi.ServerResponse `json:"-"`
1386
1387	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
1388	// to unconditionally include in API requests. By default, fields with
1389	// empty values are omitted from API requests. However, any non-pointer,
1390	// non-interface field appearing in ForceSendFields will be sent to the
1391	// server regardless of whether the field is empty or not. This may be
1392	// used to include empty fields in Patch requests.
1393	ForceSendFields []string `json:"-"`
1394
1395	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
1396	// include in API requests with the JSON null value. By default, fields
1397	// with empty values are omitted from API requests. However, any field
1398	// with an empty value appearing in NullFields will be sent to the
1399	// server as null. It is an error if a field in this list has a
1400	// non-empty value. This may be used to include null fields in Patch
1401	// requests.
1402	NullFields []string `json:"-"`
1403}
1404
1405func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
1406	type NoMethod AccountUserProfilesListResponse
1407	raw := NoMethod(*s)
1408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1409}
1410
1411// AccountsListResponse: Account List Response
1412type AccountsListResponse struct {
1413	// Accounts: Account collection.
1414	Accounts []*Account `json:"accounts,omitempty"`
1415
1416	// Kind: Identifies what kind of resource this is. Value: the fixed
1417	// string "dfareporting#accountsListResponse".
1418	Kind string `json:"kind,omitempty"`
1419
1420	// NextPageToken: Pagination token to be used for the next list
1421	// operation.
1422	NextPageToken string `json:"nextPageToken,omitempty"`
1423
1424	// ServerResponse contains the HTTP response code and headers from the
1425	// server.
1426	googleapi.ServerResponse `json:"-"`
1427
1428	// ForceSendFields is a list of field names (e.g. "Accounts") to
1429	// unconditionally include in API requests. By default, fields with
1430	// empty values are omitted from API requests. However, any non-pointer,
1431	// non-interface field appearing in ForceSendFields will be sent to the
1432	// server regardless of whether the field is empty or not. This may be
1433	// used to include empty fields in Patch requests.
1434	ForceSendFields []string `json:"-"`
1435
1436	// NullFields is a list of field names (e.g. "Accounts") to include in
1437	// API requests with the JSON null value. By default, fields with empty
1438	// values are omitted from API requests. However, any field with an
1439	// empty value appearing in NullFields will be sent to the server as
1440	// null. It is an error if a field in this list has a non-empty value.
1441	// This may be used to include null fields in Patch requests.
1442	NullFields []string `json:"-"`
1443}
1444
1445func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
1446	type NoMethod AccountsListResponse
1447	raw := NoMethod(*s)
1448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1449}
1450
1451// Activities: Represents an activity group.
1452type Activities struct {
1453	// Filters: List of activity filters. The dimension values need to be
1454	// all either of type "dfa:activity" or "dfa:activityGroup".
1455	Filters []*DimensionValue `json:"filters,omitempty"`
1456
1457	// Kind: The kind of resource this is, in this case
1458	// dfareporting#activities.
1459	Kind string `json:"kind,omitempty"`
1460
1461	// MetricNames: List of names of floodlight activity metrics.
1462	MetricNames []string `json:"metricNames,omitempty"`
1463
1464	// ForceSendFields is a list of field names (e.g. "Filters") to
1465	// unconditionally include in API requests. By default, fields with
1466	// empty values are omitted from API requests. However, any non-pointer,
1467	// non-interface field appearing in ForceSendFields will be sent to the
1468	// server regardless of whether the field is empty or not. This may be
1469	// used to include empty fields in Patch requests.
1470	ForceSendFields []string `json:"-"`
1471
1472	// NullFields is a list of field names (e.g. "Filters") to include in
1473	// API requests with the JSON null value. By default, fields with empty
1474	// values are omitted from API requests. However, any field with an
1475	// empty value appearing in NullFields will be sent to the server as
1476	// null. It is an error if a field in this list has a non-empty value.
1477	// This may be used to include null fields in Patch requests.
1478	NullFields []string `json:"-"`
1479}
1480
1481func (s *Activities) MarshalJSON() ([]byte, error) {
1482	type NoMethod Activities
1483	raw := NoMethod(*s)
1484	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1485}
1486
1487// Ad: Contains properties of a Campaign Manager ad.
1488type Ad struct {
1489	// AccountId: Account ID of this ad. This is a read-only field that can
1490	// be left blank.
1491	AccountId int64 `json:"accountId,omitempty,string"`
1492
1493	// Active: Whether this ad is active. When true, archived must be false.
1494	Active bool `json:"active,omitempty"`
1495
1496	// AdvertiserId: Advertiser ID of this ad. This is a required field on
1497	// insertion.
1498	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1499
1500	// AdvertiserIdDimensionValue: Dimension value for the ID of the
1501	// advertiser. This is a read-only, auto-generated field.
1502	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
1503
1504	// Archived: Whether this ad is archived. When true, active must be
1505	// false.
1506	Archived bool `json:"archived,omitempty"`
1507
1508	// AudienceSegmentId: Audience segment ID that is being targeted for
1509	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
1510	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
1511
1512	// CampaignId: Campaign ID of this ad. This is a required field on
1513	// insertion.
1514	CampaignId int64 `json:"campaignId,omitempty,string"`
1515
1516	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
1517	// This is a read-only, auto-generated field.
1518	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
1519
1520	// ClickThroughUrl: Click-through URL for this ad. This is a required
1521	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
1522	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
1523
1524	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
1525	// for this ad. Applies to the URL in the ad or (if overriding ad
1526	// properties) the URL in the creative.
1527	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
1528
1529	// Comments: Comments for this ad.
1530	Comments string `json:"comments,omitempty"`
1531
1532	// Compatibility: Compatibility of this ad. Applicable when type is
1533	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
1534	// either rendering on desktop or on mobile devices or in mobile apps
1535	// for regular or interstitial ads, respectively. APP and
1536	// APP_INTERSTITIAL are only used for existing default ads. New mobile
1537	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
1538	// default ads created for those placements will be limited to those
1539	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
1540	// video ads developed with the VAST standard.
1541	//
1542	// Possible values:
1543	//   "DISPLAY"
1544	//   "DISPLAY_INTERSTITIAL"
1545	//   "APP"
1546	//   "APP_INTERSTITIAL"
1547	//   "IN_STREAM_VIDEO"
1548	//   "IN_STREAM_AUDIO"
1549	Compatibility string `json:"compatibility,omitempty"`
1550
1551	// CreateInfo: Information about the creation of this ad. This is a
1552	// read-only field.
1553	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
1554
1555	// CreativeGroupAssignments: Creative group assignments for this ad.
1556	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
1557	// per creative group number is allowed for a maximum of two
1558	// assignments.
1559	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
1560
1561	// CreativeRotation: Creative rotation for this ad. Applicable when type
1562	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
1563	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
1564	// should have exactly one creativeAssignment .
1565	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
1566
1567	// DayPartTargeting: Time and day targeting information for this ad.
1568	// This field must be left blank if the ad is using a targeting
1569	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1570	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
1571
1572	// DefaultClickThroughEventTagProperties: Default click-through event
1573	// tag properties for this ad.
1574	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
1575
1576	// DeliverySchedule: Delivery schedule information for this ad.
1577	// Applicable when type is AD_SERVING_STANDARD_AD or
1578	// AD_SERVING_TRACKING. This field along with subfields priority and
1579	// impressionRatio are required on insertion when type is
1580	// AD_SERVING_STANDARD_AD.
1581	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
1582
1583	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
1584	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
1585	// field on insert, and is read-only after insert.
1586	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
1587
1588	EndTime string `json:"endTime,omitempty"`
1589
1590	// EventTagOverrides: Event tag overrides for this ad.
1591	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
1592
1593	// GeoTargeting: Geographical targeting information for this ad. This
1594	// field must be left blank if the ad is using a targeting template.
1595	// Applicable when type is AD_SERVING_STANDARD_AD.
1596	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
1597
1598	// Id: ID of this ad. This is a read-only, auto-generated field.
1599	Id int64 `json:"id,omitempty,string"`
1600
1601	// IdDimensionValue: Dimension value for the ID of this ad. This is a
1602	// read-only, auto-generated field.
1603	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1604
1605	// KeyValueTargetingExpression: Key-value targeting information for this
1606	// ad. This field must be left blank if the ad is using a targeting
1607	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1608	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
1609
1610	// Kind: Identifies what kind of resource this is. Value: the fixed
1611	// string "dfareporting#ad".
1612	Kind string `json:"kind,omitempty"`
1613
1614	// LanguageTargeting: Language targeting information for this ad. This
1615	// field must be left blank if the ad is using a targeting template.
1616	// Applicable when type is AD_SERVING_STANDARD_AD.
1617	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
1618
1619	// LastModifiedInfo: Information about the most recent modification of
1620	// this ad. This is a read-only field.
1621	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
1622
1623	// Name: Name of this ad. This is a required field and must be less than
1624	// 256 characters long.
1625	Name string `json:"name,omitempty"`
1626
1627	// PlacementAssignments: Placement assignments for this ad.
1628	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
1629
1630	// RemarketingListExpression: Remarketing list targeting expression for
1631	// this ad. This field must be left blank if the ad is using a targeting
1632	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1633	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
1634
1635	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
1636	Size *Size `json:"size,omitempty"`
1637
1638	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
1639	// field that is auto-generated when the ad is inserted or updated.
1640	SslCompliant bool `json:"sslCompliant,omitempty"`
1641
1642	// SslRequired: Whether this ad requires ssl. This is a read-only field
1643	// that is auto-generated when the ad is inserted or updated.
1644	SslRequired bool `json:"sslRequired,omitempty"`
1645
1646	StartTime string `json:"startTime,omitempty"`
1647
1648	// SubaccountId: Subaccount ID of this ad. This is a read-only field
1649	// that can be left blank.
1650	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1651
1652	// TargetingTemplateId: Targeting template ID, used to apply
1653	// preconfigured targeting information to this ad. This cannot be set
1654	// while any of dayPartTargeting, geoTargeting,
1655	// keyValueTargetingExpression, languageTargeting,
1656	// remarketingListExpression, or technologyTargeting are set. Applicable
1657	// when type is AD_SERVING_STANDARD_AD.
1658	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
1659
1660	// TechnologyTargeting: Technology platform targeting information for
1661	// this ad. This field must be left blank if the ad is using a targeting
1662	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1663	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
1664
1665	// Type: Type of ad. This is a required field on insertion. Note that
1666	// default ads ( AD_SERVING_DEFAULT_AD) cannot be created directly (see
1667	// Creative resource).
1668	//
1669	// Possible values:
1670	//   "AD_SERVING_STANDARD_AD"
1671	//   "AD_SERVING_DEFAULT_AD"
1672	//   "AD_SERVING_CLICK_TRACKER"
1673	//   "AD_SERVING_TRACKING"
1674	//   "AD_SERVING_BRAND_SAFE_AD"
1675	Type string `json:"type,omitempty"`
1676
1677	// ServerResponse contains the HTTP response code and headers from the
1678	// server.
1679	googleapi.ServerResponse `json:"-"`
1680
1681	// ForceSendFields is a list of field names (e.g. "AccountId") to
1682	// unconditionally include in API requests. By default, fields with
1683	// empty values are omitted from API requests. However, any non-pointer,
1684	// non-interface field appearing in ForceSendFields will be sent to the
1685	// server regardless of whether the field is empty or not. This may be
1686	// used to include empty fields in Patch requests.
1687	ForceSendFields []string `json:"-"`
1688
1689	// NullFields is a list of field names (e.g. "AccountId") to include in
1690	// API requests with the JSON null value. By default, fields with empty
1691	// values are omitted from API requests. However, any field with an
1692	// empty value appearing in NullFields will be sent to the server as
1693	// null. It is an error if a field in this list has a non-empty value.
1694	// This may be used to include null fields in Patch requests.
1695	NullFields []string `json:"-"`
1696}
1697
1698func (s *Ad) MarshalJSON() ([]byte, error) {
1699	type NoMethod Ad
1700	raw := NoMethod(*s)
1701	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1702}
1703
1704// AdBlockingConfiguration: Campaign ad blocking settings.
1705type AdBlockingConfiguration struct {
1706	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
1707	// a required field when overrideClickThroughUrl is set to true.
1708	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
1709
1710	// CreativeBundleId: ID of a creative bundle to use for this campaign.
1711	// If set, brand-neutral ads will select creatives from this bundle.
1712	// Otherwise, a default transparent pixel will be used.
1713	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
1714
1715	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
1716	// blocking is enabled for placements in the campaign, but this may be
1717	// overridden by site and placement settings. When false, ad blocking is
1718	// disabled for all placements under the campaign, regardless of site
1719	// and placement settings.
1720	Enabled bool `json:"enabled,omitempty"`
1721
1722	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
1723	// URL comes from the campaign's creative bundle or the override URL.
1724	// Must be set to true if ad blocking is enabled and no creative bundle
1725	// is configured.
1726	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
1727
1728	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
1729	// unconditionally include in API requests. By default, fields with
1730	// empty values are omitted from API requests. However, any non-pointer,
1731	// non-interface field appearing in ForceSendFields will be sent to the
1732	// server regardless of whether the field is empty or not. This may be
1733	// used to include empty fields in Patch requests.
1734	ForceSendFields []string `json:"-"`
1735
1736	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
1737	// include in API requests with the JSON null value. By default, fields
1738	// with empty values are omitted from API requests. However, any field
1739	// with an empty value appearing in NullFields will be sent to the
1740	// server as null. It is an error if a field in this list has a
1741	// non-empty value. This may be used to include null fields in Patch
1742	// requests.
1743	NullFields []string `json:"-"`
1744}
1745
1746func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
1747	type NoMethod AdBlockingConfiguration
1748	raw := NoMethod(*s)
1749	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1750}
1751
1752// AdSlot: Ad Slot
1753type AdSlot struct {
1754	// Comment: Comment for this ad slot.
1755	Comment string `json:"comment,omitempty"`
1756
1757	// Compatibility: Ad slot compatibility. DISPLAY and
1758	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
1759	// devices or in mobile apps for regular or interstitial ads
1760	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
1761	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
1762	// developed with the VAST standard.
1763	//
1764	// Possible values:
1765	//   "DISPLAY"
1766	//   "DISPLAY_INTERSTITIAL"
1767	//   "APP"
1768	//   "APP_INTERSTITIAL"
1769	//   "IN_STREAM_VIDEO"
1770	//   "IN_STREAM_AUDIO"
1771	Compatibility string `json:"compatibility,omitempty"`
1772
1773	// Height: Height of this ad slot.
1774	Height int64 `json:"height,omitempty,string"`
1775
1776	// LinkedPlacementId: ID of the placement from an external platform that
1777	// is linked to this ad slot.
1778	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
1779
1780	// Name: Name of this ad slot.
1781	Name string `json:"name,omitempty"`
1782
1783	// PaymentSourceType: Payment source type of this ad slot.
1784	//
1785	// Possible values:
1786	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
1787	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
1788	PaymentSourceType string `json:"paymentSourceType,omitempty"`
1789
1790	// Primary: Primary ad slot of a roadblock inventory item.
1791	Primary bool `json:"primary,omitempty"`
1792
1793	// Width: Width of this ad slot.
1794	Width int64 `json:"width,omitempty,string"`
1795
1796	// ForceSendFields is a list of field names (e.g. "Comment") to
1797	// unconditionally include in API requests. By default, fields with
1798	// empty values are omitted from API requests. However, any non-pointer,
1799	// non-interface field appearing in ForceSendFields will be sent to the
1800	// server regardless of whether the field is empty or not. This may be
1801	// used to include empty fields in Patch requests.
1802	ForceSendFields []string `json:"-"`
1803
1804	// NullFields is a list of field names (e.g. "Comment") to include in
1805	// API requests with the JSON null value. By default, fields with empty
1806	// values are omitted from API requests. However, any field with an
1807	// empty value appearing in NullFields will be sent to the server as
1808	// null. It is an error if a field in this list has a non-empty value.
1809	// This may be used to include null fields in Patch requests.
1810	NullFields []string `json:"-"`
1811}
1812
1813func (s *AdSlot) MarshalJSON() ([]byte, error) {
1814	type NoMethod AdSlot
1815	raw := NoMethod(*s)
1816	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1817}
1818
1819// AdsListResponse: Ad List Response
1820type AdsListResponse struct {
1821	// Ads: Ad collection.
1822	Ads []*Ad `json:"ads,omitempty"`
1823
1824	// Kind: Identifies what kind of resource this is. Value: the fixed
1825	// string "dfareporting#adsListResponse".
1826	Kind string `json:"kind,omitempty"`
1827
1828	// NextPageToken: Pagination token to be used for the next list
1829	// operation.
1830	NextPageToken string `json:"nextPageToken,omitempty"`
1831
1832	// ServerResponse contains the HTTP response code and headers from the
1833	// server.
1834	googleapi.ServerResponse `json:"-"`
1835
1836	// ForceSendFields is a list of field names (e.g. "Ads") to
1837	// unconditionally include in API requests. By default, fields with
1838	// empty values are omitted from API requests. However, any non-pointer,
1839	// non-interface field appearing in ForceSendFields will be sent to the
1840	// server regardless of whether the field is empty or not. This may be
1841	// used to include empty fields in Patch requests.
1842	ForceSendFields []string `json:"-"`
1843
1844	// NullFields is a list of field names (e.g. "Ads") to include in API
1845	// requests with the JSON null value. By default, fields with empty
1846	// values are omitted from API requests. However, any field with an
1847	// empty value appearing in NullFields will be sent to the server as
1848	// null. It is an error if a field in this list has a non-empty value.
1849	// This may be used to include null fields in Patch requests.
1850	NullFields []string `json:"-"`
1851}
1852
1853func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
1854	type NoMethod AdsListResponse
1855	raw := NoMethod(*s)
1856	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1857}
1858
1859// Advertiser: Contains properties of a Campaign Manager advertiser.
1860type Advertiser struct {
1861	// AccountId: Account ID of this advertiser.This is a read-only field
1862	// that can be left blank.
1863	AccountId int64 `json:"accountId,omitempty,string"`
1864
1865	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
1866	// to. You can group advertisers for reporting purposes, allowing you to
1867	// see aggregated information for all advertisers in each group.
1868	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
1869
1870	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
1871	// creative associations under this advertiser. Must be less than 129
1872	// characters long.
1873	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
1874
1875	// DefaultClickThroughEventTagId: ID of the click-through event tag to
1876	// apply by default to the landing pages of this advertiser's campaigns.
1877	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
1878
1879	// DefaultEmail: Default email address used in sender field for tag
1880	// emails.
1881	DefaultEmail string `json:"defaultEmail,omitempty"`
1882
1883	// FloodlightConfigurationId: Floodlight configuration ID of this
1884	// advertiser. The floodlight configuration ID will be created
1885	// automatically, so on insert this field should be left blank. This
1886	// field can be set to another advertiser's floodlight configuration ID
1887	// in order to share that advertiser's floodlight configuration with
1888	// this advertiser, so long as: - This advertiser's original floodlight
1889	// configuration is not already associated with floodlight activities or
1890	// floodlight activity groups. - This advertiser's original floodlight
1891	// configuration is not already shared with another advertiser.
1892	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
1893
1894	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
1895	// of the floodlight configuration. This is a read-only, auto-generated
1896	// field.
1897	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
1898
1899	// Id: ID of this advertiser. This is a read-only, auto-generated field.
1900	Id int64 `json:"id,omitempty,string"`
1901
1902	// IdDimensionValue: Dimension value for the ID of this advertiser. This
1903	// is a read-only, auto-generated field.
1904	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1905
1906	// Kind: Identifies what kind of resource this is. Value: the fixed
1907	// string "dfareporting#advertiser".
1908	Kind string `json:"kind,omitempty"`
1909
1910	// Name: Name of this advertiser. This is a required field and must be
1911	// less than 256 characters long and unique among advertisers of the
1912	// same account.
1913	Name string `json:"name,omitempty"`
1914
1915	// OriginalFloodlightConfigurationId: Original floodlight configuration
1916	// before any sharing occurred. Set the floodlightConfigurationId of
1917	// this advertiser to originalFloodlightConfigurationId to unshare the
1918	// advertiser's current floodlight configuration. You cannot unshare an
1919	// advertiser's floodlight configuration if the shared configuration has
1920	// activities associated with any campaign or placement.
1921	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
1922
1923	// Status: Status of this advertiser.
1924	//
1925	// Possible values:
1926	//   "APPROVED"
1927	//   "ON_HOLD"
1928	Status string `json:"status,omitempty"`
1929
1930	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
1931	// field that can be left blank.
1932	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1933
1934	// Suspended: Suspension status of this advertiser.
1935	Suspended bool `json:"suspended,omitempty"`
1936
1937	// ServerResponse contains the HTTP response code and headers from the
1938	// server.
1939	googleapi.ServerResponse `json:"-"`
1940
1941	// ForceSendFields is a list of field names (e.g. "AccountId") to
1942	// unconditionally include in API requests. By default, fields with
1943	// empty values are omitted from API requests. However, any non-pointer,
1944	// non-interface field appearing in ForceSendFields will be sent to the
1945	// server regardless of whether the field is empty or not. This may be
1946	// used to include empty fields in Patch requests.
1947	ForceSendFields []string `json:"-"`
1948
1949	// NullFields is a list of field names (e.g. "AccountId") to include in
1950	// API requests with the JSON null value. By default, fields with empty
1951	// values are omitted from API requests. However, any field with an
1952	// empty value appearing in NullFields will be sent to the server as
1953	// null. It is an error if a field in this list has a non-empty value.
1954	// This may be used to include null fields in Patch requests.
1955	NullFields []string `json:"-"`
1956}
1957
1958func (s *Advertiser) MarshalJSON() ([]byte, error) {
1959	type NoMethod Advertiser
1960	raw := NoMethod(*s)
1961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1962}
1963
1964// AdvertiserGroup: Groups advertisers together so that reports can be
1965// generated for the entire group at once.
1966type AdvertiserGroup struct {
1967	// AccountId: Account ID of this advertiser group. This is a read-only
1968	// field that can be left blank.
1969	AccountId int64 `json:"accountId,omitempty,string"`
1970
1971	// Id: ID of this advertiser group. This is a read-only, auto-generated
1972	// field.
1973	Id int64 `json:"id,omitempty,string"`
1974
1975	// Kind: Identifies what kind of resource this is. Value: the fixed
1976	// string "dfareporting#advertiserGroup".
1977	Kind string `json:"kind,omitempty"`
1978
1979	// Name: Name of this advertiser group. This is a required field and
1980	// must be less than 256 characters long and unique among advertiser
1981	// groups of the same account.
1982	Name string `json:"name,omitempty"`
1983
1984	// ServerResponse contains the HTTP response code and headers from the
1985	// server.
1986	googleapi.ServerResponse `json:"-"`
1987
1988	// ForceSendFields is a list of field names (e.g. "AccountId") to
1989	// unconditionally include in API requests. By default, fields with
1990	// empty values are omitted from API requests. However, any non-pointer,
1991	// non-interface field appearing in ForceSendFields will be sent to the
1992	// server regardless of whether the field is empty or not. This may be
1993	// used to include empty fields in Patch requests.
1994	ForceSendFields []string `json:"-"`
1995
1996	// NullFields is a list of field names (e.g. "AccountId") to include in
1997	// API requests with the JSON null value. By default, fields with empty
1998	// values are omitted from API requests. However, any field with an
1999	// empty value appearing in NullFields will be sent to the server as
2000	// null. It is an error if a field in this list has a non-empty value.
2001	// This may be used to include null fields in Patch requests.
2002	NullFields []string `json:"-"`
2003}
2004
2005func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
2006	type NoMethod AdvertiserGroup
2007	raw := NoMethod(*s)
2008	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2009}
2010
2011// AdvertiserGroupsListResponse: Advertiser Group List Response
2012type AdvertiserGroupsListResponse struct {
2013	// AdvertiserGroups: Advertiser group collection.
2014	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
2015
2016	// Kind: Identifies what kind of resource this is. Value: the fixed
2017	// string "dfareporting#advertiserGroupsListResponse".
2018	Kind string `json:"kind,omitempty"`
2019
2020	// NextPageToken: Pagination token to be used for the next list
2021	// operation.
2022	NextPageToken string `json:"nextPageToken,omitempty"`
2023
2024	// ServerResponse contains the HTTP response code and headers from the
2025	// server.
2026	googleapi.ServerResponse `json:"-"`
2027
2028	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
2029	// unconditionally include in API requests. By default, fields with
2030	// empty values are omitted from API requests. However, any non-pointer,
2031	// non-interface field appearing in ForceSendFields will be sent to the
2032	// server regardless of whether the field is empty or not. This may be
2033	// used to include empty fields in Patch requests.
2034	ForceSendFields []string `json:"-"`
2035
2036	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
2037	// include in API requests with the JSON null value. By default, fields
2038	// with empty values are omitted from API requests. However, any field
2039	// with an empty value appearing in NullFields will be sent to the
2040	// server as null. It is an error if a field in this list has a
2041	// non-empty value. This may be used to include null fields in Patch
2042	// requests.
2043	NullFields []string `json:"-"`
2044}
2045
2046func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
2047	type NoMethod AdvertiserGroupsListResponse
2048	raw := NoMethod(*s)
2049	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2050}
2051
2052// AdvertiserLandingPagesListResponse: Landing Page List Response
2053type AdvertiserLandingPagesListResponse struct {
2054	// Kind: Identifies what kind of resource this is. Value: the fixed
2055	// string "dfareporting#advertiserLandingPagesListResponse".
2056	Kind string `json:"kind,omitempty"`
2057
2058	// LandingPages: Landing page collection
2059	LandingPages []*LandingPage `json:"landingPages,omitempty"`
2060
2061	// NextPageToken: Pagination token to be used for the next list
2062	// operation.
2063	NextPageToken string `json:"nextPageToken,omitempty"`
2064
2065	// ServerResponse contains the HTTP response code and headers from the
2066	// server.
2067	googleapi.ServerResponse `json:"-"`
2068
2069	// ForceSendFields is a list of field names (e.g. "Kind") to
2070	// unconditionally include in API requests. By default, fields with
2071	// empty values are omitted from API requests. However, any non-pointer,
2072	// non-interface field appearing in ForceSendFields will be sent to the
2073	// server regardless of whether the field is empty or not. This may be
2074	// used to include empty fields in Patch requests.
2075	ForceSendFields []string `json:"-"`
2076
2077	// NullFields is a list of field names (e.g. "Kind") to include in API
2078	// requests with the JSON null value. By default, fields with empty
2079	// values are omitted from API requests. However, any field with an
2080	// empty value appearing in NullFields will be sent to the server as
2081	// null. It is an error if a field in this list has a non-empty value.
2082	// This may be used to include null fields in Patch requests.
2083	NullFields []string `json:"-"`
2084}
2085
2086func (s *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
2087	type NoMethod AdvertiserLandingPagesListResponse
2088	raw := NoMethod(*s)
2089	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2090}
2091
2092// AdvertisersListResponse: Advertiser List Response
2093type AdvertisersListResponse struct {
2094	// Advertisers: Advertiser collection.
2095	Advertisers []*Advertiser `json:"advertisers,omitempty"`
2096
2097	// Kind: Identifies what kind of resource this is. Value: the fixed
2098	// string "dfareporting#advertisersListResponse".
2099	Kind string `json:"kind,omitempty"`
2100
2101	// NextPageToken: Pagination token to be used for the next list
2102	// operation.
2103	NextPageToken string `json:"nextPageToken,omitempty"`
2104
2105	// ServerResponse contains the HTTP response code and headers from the
2106	// server.
2107	googleapi.ServerResponse `json:"-"`
2108
2109	// ForceSendFields is a list of field names (e.g. "Advertisers") to
2110	// unconditionally include in API requests. By default, fields with
2111	// empty values are omitted from API requests. However, any non-pointer,
2112	// non-interface field appearing in ForceSendFields will be sent to the
2113	// server regardless of whether the field is empty or not. This may be
2114	// used to include empty fields in Patch requests.
2115	ForceSendFields []string `json:"-"`
2116
2117	// NullFields is a list of field names (e.g. "Advertisers") to include
2118	// in API requests with the JSON null value. By default, fields with
2119	// empty values are omitted from API requests. However, any field with
2120	// an empty value appearing in NullFields will be sent to the server as
2121	// null. It is an error if a field in this list has a non-empty value.
2122	// This may be used to include null fields in Patch requests.
2123	NullFields []string `json:"-"`
2124}
2125
2126func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
2127	type NoMethod AdvertisersListResponse
2128	raw := NoMethod(*s)
2129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2130}
2131
2132// AudienceSegment: Audience Segment.
2133type AudienceSegment struct {
2134	// Allocation: Weight allocated to this segment. The weight assigned
2135	// will be understood in proportion to the weights assigned to other
2136	// segments in the same segment group. Acceptable values are 1 to 1000,
2137	// inclusive.
2138	Allocation int64 `json:"allocation,omitempty"`
2139
2140	// Id: ID of this audience segment. This is a read-only, auto-generated
2141	// field.
2142	Id int64 `json:"id,omitempty,string"`
2143
2144	// Name: Name of this audience segment. This is a required field and
2145	// must be less than 65 characters long.
2146	Name string `json:"name,omitempty"`
2147
2148	// ForceSendFields is a list of field names (e.g. "Allocation") to
2149	// unconditionally include in API requests. By default, fields with
2150	// empty values are omitted from API requests. However, any non-pointer,
2151	// non-interface field appearing in ForceSendFields will be sent to the
2152	// server regardless of whether the field is empty or not. This may be
2153	// used to include empty fields in Patch requests.
2154	ForceSendFields []string `json:"-"`
2155
2156	// NullFields is a list of field names (e.g. "Allocation") to include in
2157	// API requests with the JSON null value. By default, fields with empty
2158	// values are omitted from API requests. However, any field with an
2159	// empty value appearing in NullFields will be sent to the server as
2160	// null. It is an error if a field in this list has a non-empty value.
2161	// This may be used to include null fields in Patch requests.
2162	NullFields []string `json:"-"`
2163}
2164
2165func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
2166	type NoMethod AudienceSegment
2167	raw := NoMethod(*s)
2168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2169}
2170
2171// AudienceSegmentGroup: Audience Segment Group.
2172type AudienceSegmentGroup struct {
2173	// AudienceSegments: Audience segments assigned to this group. The
2174	// number of segments must be between 2 and 100.
2175	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
2176
2177	// Id: ID of this audience segment group. This is a read-only,
2178	// auto-generated field.
2179	Id int64 `json:"id,omitempty,string"`
2180
2181	// Name: Name of this audience segment group. This is a required field
2182	// and must be less than 65 characters long.
2183	Name string `json:"name,omitempty"`
2184
2185	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
2186	// unconditionally include in API requests. By default, fields with
2187	// empty values are omitted from API requests. However, any non-pointer,
2188	// non-interface field appearing in ForceSendFields will be sent to the
2189	// server regardless of whether the field is empty or not. This may be
2190	// used to include empty fields in Patch requests.
2191	ForceSendFields []string `json:"-"`
2192
2193	// NullFields is a list of field names (e.g. "AudienceSegments") to
2194	// include in API requests with the JSON null value. By default, fields
2195	// with empty values are omitted from API requests. However, any field
2196	// with an empty value appearing in NullFields will be sent to the
2197	// server as null. It is an error if a field in this list has a
2198	// non-empty value. This may be used to include null fields in Patch
2199	// requests.
2200	NullFields []string `json:"-"`
2201}
2202
2203func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
2204	type NoMethod AudienceSegmentGroup
2205	raw := NoMethod(*s)
2206	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2207}
2208
2209// Browser: Contains information about a browser that can be targeted by
2210// ads.
2211type Browser struct {
2212	// BrowserVersionId: ID referring to this grouping of browser and
2213	// version numbers. This is the ID used for targeting.
2214	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
2215
2216	// DartId: DART ID of this browser. This is the ID used when generating
2217	// reports.
2218	DartId int64 `json:"dartId,omitempty,string"`
2219
2220	// Kind: Identifies what kind of resource this is. Value: the fixed
2221	// string "dfareporting#browser".
2222	Kind string `json:"kind,omitempty"`
2223
2224	// MajorVersion: Major version number (leftmost number) of this browser.
2225	// For example, for Chrome 5.0.376.86 beta, this field should be set to
2226	// 5. An asterisk (*) may be used to target any version number, and a
2227	// question mark (?) may be used to target cases where the version
2228	// number cannot be identified. For example, Chrome *.* targets any
2229	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2230	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2231	// server knows the browser is Firefox but can't tell which version it
2232	// is.
2233	MajorVersion string `json:"majorVersion,omitempty"`
2234
2235	// MinorVersion: Minor version number (number after first dot on left)
2236	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
2237	// should be set to 0. An asterisk (*) may be used to target any version
2238	// number, and a question mark (?) may be used to target cases where the
2239	// version number cannot be identified. For example, Chrome *.* targets
2240	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2241	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2242	// server knows the browser is Firefox but can't tell which version it
2243	// is.
2244	MinorVersion string `json:"minorVersion,omitempty"`
2245
2246	// Name: Name of this browser.
2247	Name string `json:"name,omitempty"`
2248
2249	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
2250	// unconditionally include in API requests. By default, fields with
2251	// empty values are omitted from API requests. However, any non-pointer,
2252	// non-interface field appearing in ForceSendFields will be sent to the
2253	// server regardless of whether the field is empty or not. This may be
2254	// used to include empty fields in Patch requests.
2255	ForceSendFields []string `json:"-"`
2256
2257	// NullFields is a list of field names (e.g. "BrowserVersionId") to
2258	// include in API requests with the JSON null value. By default, fields
2259	// with empty values are omitted from API requests. However, any field
2260	// with an empty value appearing in NullFields will be sent to the
2261	// server as null. It is an error if a field in this list has a
2262	// non-empty value. This may be used to include null fields in Patch
2263	// requests.
2264	NullFields []string `json:"-"`
2265}
2266
2267func (s *Browser) MarshalJSON() ([]byte, error) {
2268	type NoMethod Browser
2269	raw := NoMethod(*s)
2270	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2271}
2272
2273// BrowsersListResponse: Browser List Response
2274type BrowsersListResponse struct {
2275	// Browsers: Browser collection.
2276	Browsers []*Browser `json:"browsers,omitempty"`
2277
2278	// Kind: Identifies what kind of resource this is. Value: the fixed
2279	// string "dfareporting#browsersListResponse".
2280	Kind string `json:"kind,omitempty"`
2281
2282	// ServerResponse contains the HTTP response code and headers from the
2283	// server.
2284	googleapi.ServerResponse `json:"-"`
2285
2286	// ForceSendFields is a list of field names (e.g. "Browsers") to
2287	// unconditionally include in API requests. By default, fields with
2288	// empty values are omitted from API requests. However, any non-pointer,
2289	// non-interface field appearing in ForceSendFields will be sent to the
2290	// server regardless of whether the field is empty or not. This may be
2291	// used to include empty fields in Patch requests.
2292	ForceSendFields []string `json:"-"`
2293
2294	// NullFields is a list of field names (e.g. "Browsers") to include in
2295	// API requests with the JSON null value. By default, fields with empty
2296	// values are omitted from API requests. However, any field with an
2297	// empty value appearing in NullFields will be sent to the server as
2298	// null. It is an error if a field in this list has a non-empty value.
2299	// This may be used to include null fields in Patch requests.
2300	NullFields []string `json:"-"`
2301}
2302
2303func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
2304	type NoMethod BrowsersListResponse
2305	raw := NoMethod(*s)
2306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2307}
2308
2309// Campaign: Contains properties of a Campaign Manager campaign.
2310type Campaign struct {
2311	// AccountId: Account ID of this campaign. This is a read-only field
2312	// that can be left blank.
2313	AccountId int64 `json:"accountId,omitempty,string"`
2314
2315	// AdBlockingConfiguration: Ad blocking settings for this campaign.
2316	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
2317
2318	// AdditionalCreativeOptimizationConfigurations: Additional creative
2319	// optimization configurations for the campaign.
2320	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
2321
2322	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
2323	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
2324
2325	// AdvertiserId: Advertiser ID of this campaign. This is a required
2326	// field.
2327	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2328
2329	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
2330	// this campaign. This is a read-only, auto-generated field.
2331	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
2332
2333	// Archived: Whether this campaign has been archived.
2334	Archived bool `json:"archived,omitempty"`
2335
2336	// AudienceSegmentGroups: Audience segment groups assigned to this
2337	// campaign. Cannot have more than 300 segment groups.
2338	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
2339
2340	// BillingInvoiceCode: Billing invoice code included in the Campaign
2341	// Manager client billing invoices associated with the campaign.
2342	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
2343
2344	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
2345	// properties for this campaign.
2346	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
2347
2348	// Comment: Arbitrary comments about this campaign. Must be less than
2349	// 256 characters long.
2350	Comment string `json:"comment,omitempty"`
2351
2352	// CreateInfo: Information about the creation of this campaign. This is
2353	// a read-only field.
2354	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
2355
2356	// CreativeGroupIds: List of creative group IDs that are assigned to the
2357	// campaign.
2358	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
2359
2360	// CreativeOptimizationConfiguration: Creative optimization
2361	// configuration for the campaign.
2362	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
2363
2364	// DefaultClickThroughEventTagProperties: Click-through event tag ID
2365	// override properties for this campaign.
2366	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
2367
2368	// DefaultLandingPageId: The default landing page ID for this campaign.
2369	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
2370
2371	EndDate string `json:"endDate,omitempty"`
2372
2373	// EventTagOverrides: Overrides that can be used to activate or
2374	// deactivate advertiser event tags.
2375	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
2376
2377	// ExternalId: External ID for this campaign.
2378	ExternalId string `json:"externalId,omitempty"`
2379
2380	// Id: ID of this campaign. This is a read-only auto-generated field.
2381	Id int64 `json:"id,omitempty,string"`
2382
2383	// IdDimensionValue: Dimension value for the ID of this campaign. This
2384	// is a read-only, auto-generated field.
2385	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
2386
2387	// Kind: Identifies what kind of resource this is. Value: the fixed
2388	// string "dfareporting#campaign".
2389	Kind string `json:"kind,omitempty"`
2390
2391	// LastModifiedInfo: Information about the most recent modification of
2392	// this campaign. This is a read-only field.
2393	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
2394
2395	// Name: Name of this campaign. This is a required field and must be
2396	// less than 256 characters long and unique among campaigns of the same
2397	// advertiser.
2398	Name string `json:"name,omitempty"`
2399
2400	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
2401	// campaign.
2402	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
2403
2404	StartDate string `json:"startDate,omitempty"`
2405
2406	// SubaccountId: Subaccount ID of this campaign. This is a read-only
2407	// field that can be left blank.
2408	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2409
2410	// TraffickerEmails: Campaign trafficker contact emails.
2411	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
2412
2413	// ServerResponse contains the HTTP response code and headers from the
2414	// server.
2415	googleapi.ServerResponse `json:"-"`
2416
2417	// ForceSendFields is a list of field names (e.g. "AccountId") to
2418	// unconditionally include in API requests. By default, fields with
2419	// empty values are omitted from API requests. However, any non-pointer,
2420	// non-interface field appearing in ForceSendFields will be sent to the
2421	// server regardless of whether the field is empty or not. This may be
2422	// used to include empty fields in Patch requests.
2423	ForceSendFields []string `json:"-"`
2424
2425	// NullFields is a list of field names (e.g. "AccountId") to include in
2426	// API requests with the JSON null value. By default, fields with empty
2427	// values are omitted from API requests. However, any field with an
2428	// empty value appearing in NullFields will be sent to the server as
2429	// null. It is an error if a field in this list has a non-empty value.
2430	// This may be used to include null fields in Patch requests.
2431	NullFields []string `json:"-"`
2432}
2433
2434func (s *Campaign) MarshalJSON() ([]byte, error) {
2435	type NoMethod Campaign
2436	raw := NoMethod(*s)
2437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2438}
2439
2440// CampaignCreativeAssociation: Identifies a creative which has been
2441// associated with a given campaign.
2442type CampaignCreativeAssociation struct {
2443	// CreativeId: ID of the creative associated with the campaign. This is
2444	// a required field.
2445	CreativeId int64 `json:"creativeId,omitempty,string"`
2446
2447	// Kind: Identifies what kind of resource this is. Value: the fixed
2448	// string "dfareporting#campaignCreativeAssociation".
2449	Kind string `json:"kind,omitempty"`
2450
2451	// ServerResponse contains the HTTP response code and headers from the
2452	// server.
2453	googleapi.ServerResponse `json:"-"`
2454
2455	// ForceSendFields is a list of field names (e.g. "CreativeId") to
2456	// unconditionally include in API requests. By default, fields with
2457	// empty values are omitted from API requests. However, any non-pointer,
2458	// non-interface field appearing in ForceSendFields will be sent to the
2459	// server regardless of whether the field is empty or not. This may be
2460	// used to include empty fields in Patch requests.
2461	ForceSendFields []string `json:"-"`
2462
2463	// NullFields is a list of field names (e.g. "CreativeId") to include in
2464	// API requests with the JSON null value. By default, fields with empty
2465	// values are omitted from API requests. However, any field with an
2466	// empty value appearing in NullFields will be sent to the server as
2467	// null. It is an error if a field in this list has a non-empty value.
2468	// This may be used to include null fields in Patch requests.
2469	NullFields []string `json:"-"`
2470}
2471
2472func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
2473	type NoMethod CampaignCreativeAssociation
2474	raw := NoMethod(*s)
2475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2476}
2477
2478// CampaignCreativeAssociationsListResponse: Campaign Creative
2479// Association List Response
2480type CampaignCreativeAssociationsListResponse struct {
2481	// CampaignCreativeAssociations: Campaign creative association
2482	// collection
2483	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
2484
2485	// Kind: Identifies what kind of resource this is. Value: the fixed
2486	// string "dfareporting#campaignCreativeAssociationsListResponse".
2487	Kind string `json:"kind,omitempty"`
2488
2489	// NextPageToken: Pagination token to be used for the next list
2490	// operation.
2491	NextPageToken string `json:"nextPageToken,omitempty"`
2492
2493	// ServerResponse contains the HTTP response code and headers from the
2494	// server.
2495	googleapi.ServerResponse `json:"-"`
2496
2497	// ForceSendFields is a list of field names (e.g.
2498	// "CampaignCreativeAssociations") to unconditionally include in API
2499	// requests. By default, fields with empty values are omitted from API
2500	// requests. However, any non-pointer, non-interface field appearing in
2501	// ForceSendFields will be sent to the server regardless of whether the
2502	// field is empty or not. This may be used to include empty fields in
2503	// Patch requests.
2504	ForceSendFields []string `json:"-"`
2505
2506	// NullFields is a list of field names (e.g.
2507	// "CampaignCreativeAssociations") to include in API requests with the
2508	// JSON null value. By default, fields with empty values are omitted
2509	// from API requests. However, any field with an empty value appearing
2510	// in NullFields will be sent to the server as null. It is an error if a
2511	// field in this list has a non-empty value. This may be used to include
2512	// null fields in Patch requests.
2513	NullFields []string `json:"-"`
2514}
2515
2516func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
2517	type NoMethod CampaignCreativeAssociationsListResponse
2518	raw := NoMethod(*s)
2519	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2520}
2521
2522// CampaignsListResponse: Campaign List Response
2523type CampaignsListResponse struct {
2524	// Campaigns: Campaign collection.
2525	Campaigns []*Campaign `json:"campaigns,omitempty"`
2526
2527	// Kind: Identifies what kind of resource this is. Value: the fixed
2528	// string "dfareporting#campaignsListResponse".
2529	Kind string `json:"kind,omitempty"`
2530
2531	// NextPageToken: Pagination token to be used for the next list
2532	// operation.
2533	NextPageToken string `json:"nextPageToken,omitempty"`
2534
2535	// ServerResponse contains the HTTP response code and headers from the
2536	// server.
2537	googleapi.ServerResponse `json:"-"`
2538
2539	// ForceSendFields is a list of field names (e.g. "Campaigns") to
2540	// unconditionally include in API requests. By default, fields with
2541	// empty values are omitted from API requests. However, any non-pointer,
2542	// non-interface field appearing in ForceSendFields will be sent to the
2543	// server regardless of whether the field is empty or not. This may be
2544	// used to include empty fields in Patch requests.
2545	ForceSendFields []string `json:"-"`
2546
2547	// NullFields is a list of field names (e.g. "Campaigns") to include in
2548	// API requests with the JSON null value. By default, fields with empty
2549	// values are omitted from API requests. However, any field with an
2550	// empty value appearing in NullFields will be sent to the server as
2551	// null. It is an error if a field in this list has a non-empty value.
2552	// This may be used to include null fields in Patch requests.
2553	NullFields []string `json:"-"`
2554}
2555
2556func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
2557	type NoMethod CampaignsListResponse
2558	raw := NoMethod(*s)
2559	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2560}
2561
2562// ChangeLog: Describes a change that a user has made to a resource.
2563type ChangeLog struct {
2564	// AccountId: Account ID of the modified object.
2565	AccountId int64 `json:"accountId,omitempty,string"`
2566
2567	// Action: Action which caused the change.
2568	Action string `json:"action,omitempty"`
2569
2570	ChangeTime string `json:"changeTime,omitempty"`
2571
2572	// FieldName: Field name of the object which changed.
2573	FieldName string `json:"fieldName,omitempty"`
2574
2575	// Id: ID of this change log.
2576	Id int64 `json:"id,omitempty,string"`
2577
2578	// Kind: Identifies what kind of resource this is. Value: the fixed
2579	// string "dfareporting#changeLog".
2580	Kind string `json:"kind,omitempty"`
2581
2582	// NewValue: New value of the object field.
2583	NewValue string `json:"newValue,omitempty"`
2584
2585	// ObjectId: ID of the object of this change log. The object could be a
2586	// campaign, placement, ad, or other type.
2587	ObjectId int64 `json:"objectId,omitempty,string"`
2588
2589	// ObjectType: Object type of the change log.
2590	ObjectType string `json:"objectType,omitempty"`
2591
2592	// OldValue: Old value of the object field.
2593	OldValue string `json:"oldValue,omitempty"`
2594
2595	// SubaccountId: Subaccount ID of the modified object.
2596	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2597
2598	// TransactionId: Transaction ID of this change log. When a single API
2599	// call results in many changes, each change will have a separate ID in
2600	// the change log but will share the same transactionId.
2601	TransactionId int64 `json:"transactionId,omitempty,string"`
2602
2603	// UserProfileId: ID of the user who modified the object.
2604	UserProfileId int64 `json:"userProfileId,omitempty,string"`
2605
2606	// UserProfileName: User profile name of the user who modified the
2607	// object.
2608	UserProfileName string `json:"userProfileName,omitempty"`
2609
2610	// ServerResponse contains the HTTP response code and headers from the
2611	// server.
2612	googleapi.ServerResponse `json:"-"`
2613
2614	// ForceSendFields is a list of field names (e.g. "AccountId") to
2615	// unconditionally include in API requests. By default, fields with
2616	// empty values are omitted from API requests. However, any non-pointer,
2617	// non-interface field appearing in ForceSendFields will be sent to the
2618	// server regardless of whether the field is empty or not. This may be
2619	// used to include empty fields in Patch requests.
2620	ForceSendFields []string `json:"-"`
2621
2622	// NullFields is a list of field names (e.g. "AccountId") to include in
2623	// API requests with the JSON null value. By default, fields with empty
2624	// values are omitted from API requests. However, any field with an
2625	// empty value appearing in NullFields will be sent to the server as
2626	// null. It is an error if a field in this list has a non-empty value.
2627	// This may be used to include null fields in Patch requests.
2628	NullFields []string `json:"-"`
2629}
2630
2631func (s *ChangeLog) MarshalJSON() ([]byte, error) {
2632	type NoMethod ChangeLog
2633	raw := NoMethod(*s)
2634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2635}
2636
2637// ChangeLogsListResponse: Change Log List Response
2638type ChangeLogsListResponse struct {
2639	// ChangeLogs: Change log collection.
2640	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
2641
2642	// Kind: Identifies what kind of resource this is. Value: the fixed
2643	// string "dfareporting#changeLogsListResponse".
2644	Kind string `json:"kind,omitempty"`
2645
2646	// NextPageToken: Pagination token to be used for the next list
2647	// operation.
2648	NextPageToken string `json:"nextPageToken,omitempty"`
2649
2650	// ServerResponse contains the HTTP response code and headers from the
2651	// server.
2652	googleapi.ServerResponse `json:"-"`
2653
2654	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
2655	// unconditionally include in API requests. By default, fields with
2656	// empty values are omitted from API requests. However, any non-pointer,
2657	// non-interface field appearing in ForceSendFields will be sent to the
2658	// server regardless of whether the field is empty or not. This may be
2659	// used to include empty fields in Patch requests.
2660	ForceSendFields []string `json:"-"`
2661
2662	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
2663	// API requests with the JSON null value. By default, fields with empty
2664	// values are omitted from API requests. However, any field with an
2665	// empty value appearing in NullFields will be sent to the server as
2666	// null. It is an error if a field in this list has a non-empty value.
2667	// This may be used to include null fields in Patch requests.
2668	NullFields []string `json:"-"`
2669}
2670
2671func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
2672	type NoMethod ChangeLogsListResponse
2673	raw := NoMethod(*s)
2674	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2675}
2676
2677// CitiesListResponse: City List Response
2678type CitiesListResponse struct {
2679	// Cities: City collection.
2680	Cities []*City `json:"cities,omitempty"`
2681
2682	// Kind: Identifies what kind of resource this is. Value: the fixed
2683	// string "dfareporting#citiesListResponse".
2684	Kind string `json:"kind,omitempty"`
2685
2686	// ServerResponse contains the HTTP response code and headers from the
2687	// server.
2688	googleapi.ServerResponse `json:"-"`
2689
2690	// ForceSendFields is a list of field names (e.g. "Cities") to
2691	// unconditionally include in API requests. By default, fields with
2692	// empty values are omitted from API requests. However, any non-pointer,
2693	// non-interface field appearing in ForceSendFields will be sent to the
2694	// server regardless of whether the field is empty or not. This may be
2695	// used to include empty fields in Patch requests.
2696	ForceSendFields []string `json:"-"`
2697
2698	// NullFields is a list of field names (e.g. "Cities") to include in API
2699	// requests with the JSON null value. By default, fields with empty
2700	// values are omitted from API requests. However, any field with an
2701	// empty value appearing in NullFields will be sent to the server as
2702	// null. It is an error if a field in this list has a non-empty value.
2703	// This may be used to include null fields in Patch requests.
2704	NullFields []string `json:"-"`
2705}
2706
2707func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
2708	type NoMethod CitiesListResponse
2709	raw := NoMethod(*s)
2710	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2711}
2712
2713// City: Contains information about a city that can be targeted by ads.
2714type City struct {
2715	// CountryCode: Country code of the country to which this city belongs.
2716	CountryCode string `json:"countryCode,omitempty"`
2717
2718	// CountryDartId: DART ID of the country to which this city belongs.
2719	CountryDartId int64 `json:"countryDartId,omitempty,string"`
2720
2721	// DartId: DART ID of this city. This is the ID used for targeting and
2722	// generating reports.
2723	DartId int64 `json:"dartId,omitempty,string"`
2724
2725	// Kind: Identifies what kind of resource this is. Value: the fixed
2726	// string "dfareporting#city".
2727	Kind string `json:"kind,omitempty"`
2728
2729	// MetroCode: Metro region code of the metro region (DMA) to which this
2730	// city belongs.
2731	MetroCode string `json:"metroCode,omitempty"`
2732
2733	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
2734	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
2735
2736	// Name: Name of this city.
2737	Name string `json:"name,omitempty"`
2738
2739	// RegionCode: Region code of the region to which this city belongs.
2740	RegionCode string `json:"regionCode,omitempty"`
2741
2742	// RegionDartId: DART ID of the region to which this city belongs.
2743	RegionDartId int64 `json:"regionDartId,omitempty,string"`
2744
2745	// ForceSendFields is a list of field names (e.g. "CountryCode") to
2746	// unconditionally include in API requests. By default, fields with
2747	// empty values are omitted from API requests. However, any non-pointer,
2748	// non-interface field appearing in ForceSendFields will be sent to the
2749	// server regardless of whether the field is empty or not. This may be
2750	// used to include empty fields in Patch requests.
2751	ForceSendFields []string `json:"-"`
2752
2753	// NullFields is a list of field names (e.g. "CountryCode") to include
2754	// in API requests with the JSON null value. By default, fields with
2755	// empty values are omitted from API requests. However, any field with
2756	// an empty value appearing in NullFields will be sent to the server as
2757	// null. It is an error if a field in this list has a non-empty value.
2758	// This may be used to include null fields in Patch requests.
2759	NullFields []string `json:"-"`
2760}
2761
2762func (s *City) MarshalJSON() ([]byte, error) {
2763	type NoMethod City
2764	raw := NoMethod(*s)
2765	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2766}
2767
2768// ClickTag: Creative Click Tag.
2769type ClickTag struct {
2770	// ClickThroughUrl: Parameter value for the specified click tag. This
2771	// field contains a click-through url.
2772	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
2773
2774	// EventName: Advertiser event name associated with the click tag. This
2775	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
2776	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
2777	EventName string `json:"eventName,omitempty"`
2778
2779	// Name: Parameter name for the specified click tag. For
2780	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
2781	// value of the creative asset's creativeAssetId.name field.
2782	Name string `json:"name,omitempty"`
2783
2784	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2785	// unconditionally include in API requests. By default, fields with
2786	// empty values are omitted from API requests. However, any non-pointer,
2787	// non-interface field appearing in ForceSendFields will be sent to the
2788	// server regardless of whether the field is empty or not. This may be
2789	// used to include empty fields in Patch requests.
2790	ForceSendFields []string `json:"-"`
2791
2792	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2793	// include in API requests with the JSON null value. By default, fields
2794	// with empty values are omitted from API requests. However, any field
2795	// with an empty value appearing in NullFields will be sent to the
2796	// server as null. It is an error if a field in this list has a
2797	// non-empty value. This may be used to include null fields in Patch
2798	// requests.
2799	NullFields []string `json:"-"`
2800}
2801
2802func (s *ClickTag) MarshalJSON() ([]byte, error) {
2803	type NoMethod ClickTag
2804	raw := NoMethod(*s)
2805	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2806}
2807
2808// ClickThroughUrl: Click-through URL
2809type ClickThroughUrl struct {
2810	// ComputedClickThroughUrl: Read-only convenience field representing the
2811	// actual URL that will be used for this click-through. The URL is
2812	// computed as follows: - If defaultLandingPage is enabled then the
2813	// campaign's default landing page URL is assigned to this field. - If
2814	// defaultLandingPage is not enabled and a landingPageId is specified
2815	// then that landing page's URL is assigned to this field. - If neither
2816	// of the above cases apply, then the customClickThroughUrl is assigned
2817	// to this field.
2818	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
2819
2820	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
2821	// defaultLandingPage field is set to false and the landingPageId field
2822	// is left unset.
2823	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
2824
2825	// DefaultLandingPage: Whether the campaign default landing page is
2826	// used.
2827	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
2828
2829	// LandingPageId: ID of the landing page for the click-through URL.
2830	// Applicable if the defaultLandingPage field is set to false.
2831	LandingPageId int64 `json:"landingPageId,omitempty,string"`
2832
2833	// ForceSendFields is a list of field names (e.g.
2834	// "ComputedClickThroughUrl") to unconditionally include in API
2835	// requests. By default, fields with empty values are omitted from API
2836	// requests. However, any non-pointer, non-interface field appearing in
2837	// ForceSendFields will be sent to the server regardless of whether the
2838	// field is empty or not. This may be used to include empty fields in
2839	// Patch requests.
2840	ForceSendFields []string `json:"-"`
2841
2842	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
2843	// to include in API requests with the JSON null value. By default,
2844	// fields with empty values are omitted from API requests. However, any
2845	// field with an empty value appearing in NullFields will be sent to the
2846	// server as null. It is an error if a field in this list has a
2847	// non-empty value. This may be used to include null fields in Patch
2848	// requests.
2849	NullFields []string `json:"-"`
2850}
2851
2852func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
2853	type NoMethod ClickThroughUrl
2854	raw := NoMethod(*s)
2855	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2856}
2857
2858// ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
2859type ClickThroughUrlSuffixProperties struct {
2860	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
2861	// in this entity's scope. Must be less than 128 characters long.
2862	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
2863
2864	// OverrideInheritedSuffix: Whether this entity should override the
2865	// inherited click-through URL suffix with its own defined value.
2866	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
2867
2868	// ForceSendFields is a list of field names (e.g.
2869	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
2870	// By default, fields with empty values are omitted from API requests.
2871	// However, any non-pointer, non-interface field appearing in
2872	// ForceSendFields will be sent to the server regardless of whether the
2873	// field is empty or not. This may be used to include empty fields in
2874	// Patch requests.
2875	ForceSendFields []string `json:"-"`
2876
2877	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
2878	// include in API requests with the JSON null value. By default, fields
2879	// with empty values are omitted from API requests. However, any field
2880	// with an empty value appearing in NullFields will be sent to the
2881	// server as null. It is an error if a field in this list has a
2882	// non-empty value. This may be used to include null fields in Patch
2883	// requests.
2884	NullFields []string `json:"-"`
2885}
2886
2887func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
2888	type NoMethod ClickThroughUrlSuffixProperties
2889	raw := NoMethod(*s)
2890	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2891}
2892
2893// CompanionClickThroughOverride: Companion Click-through override.
2894type CompanionClickThroughOverride struct {
2895	// ClickThroughUrl: Click-through URL of this companion click-through
2896	// override.
2897	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
2898
2899	// CreativeId: ID of the creative for this companion click-through
2900	// override.
2901	CreativeId int64 `json:"creativeId,omitempty,string"`
2902
2903	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2904	// unconditionally include in API requests. By default, fields with
2905	// empty values are omitted from API requests. However, any non-pointer,
2906	// non-interface field appearing in ForceSendFields will be sent to the
2907	// server regardless of whether the field is empty or not. This may be
2908	// used to include empty fields in Patch requests.
2909	ForceSendFields []string `json:"-"`
2910
2911	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2912	// include in API requests with the JSON null value. By default, fields
2913	// with empty values are omitted from API requests. However, any field
2914	// with an empty value appearing in NullFields will be sent to the
2915	// server as null. It is an error if a field in this list has a
2916	// non-empty value. This may be used to include null fields in Patch
2917	// requests.
2918	NullFields []string `json:"-"`
2919}
2920
2921func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
2922	type NoMethod CompanionClickThroughOverride
2923	raw := NoMethod(*s)
2924	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2925}
2926
2927// CompanionSetting: Companion Settings
2928type CompanionSetting struct {
2929	// CompanionsDisabled: Whether companions are disabled for this
2930	// placement.
2931	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
2932
2933	// EnabledSizes: Allowlist of companion sizes to be served to this
2934	// placement. Set this list to null or empty to serve all companion
2935	// sizes.
2936	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
2937
2938	// ImageOnly: Whether to serve only static images as companions.
2939	ImageOnly bool `json:"imageOnly,omitempty"`
2940
2941	// Kind: Identifies what kind of resource this is. Value: the fixed
2942	// string "dfareporting#companionSetting".
2943	Kind string `json:"kind,omitempty"`
2944
2945	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
2946	// to unconditionally include in API requests. By default, fields with
2947	// empty values are omitted from API requests. However, any non-pointer,
2948	// non-interface field appearing in ForceSendFields will be sent to the
2949	// server regardless of whether the field is empty or not. This may be
2950	// used to include empty fields in Patch requests.
2951	ForceSendFields []string `json:"-"`
2952
2953	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
2954	// include in API requests with the JSON null value. By default, fields
2955	// with empty values are omitted from API requests. However, any field
2956	// with an empty value appearing in NullFields will be sent to the
2957	// server as null. It is an error if a field in this list has a
2958	// non-empty value. This may be used to include null fields in Patch
2959	// requests.
2960	NullFields []string `json:"-"`
2961}
2962
2963func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
2964	type NoMethod CompanionSetting
2965	raw := NoMethod(*s)
2966	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2967}
2968
2969// CompatibleFields: Represents a response to the queryCompatibleFields
2970// method.
2971type CompatibleFields struct {
2972	// CrossDimensionReachReportCompatibleFields: Contains items that are
2973	// compatible to be selected for a report of type
2974	// "CROSS_DIMENSION_REACH".
2975	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
2976
2977	// FloodlightReportCompatibleFields: Contains items that are compatible
2978	// to be selected for a report of type "FLOODLIGHT".
2979	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
2980
2981	// Kind: The kind of resource this is, in this case
2982	// dfareporting#compatibleFields.
2983	Kind string `json:"kind,omitempty"`
2984
2985	// PathToConversionReportCompatibleFields: Contains items that are
2986	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
2987	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
2988
2989	// ReachReportCompatibleFields: Contains items that are compatible to be
2990	// selected for a report of type "REACH".
2991	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
2992
2993	// ReportCompatibleFields: Contains items that are compatible to be
2994	// selected for a report of type "STANDARD".
2995	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
2996
2997	// ServerResponse contains the HTTP response code and headers from the
2998	// server.
2999	googleapi.ServerResponse `json:"-"`
3000
3001	// ForceSendFields is a list of field names (e.g.
3002	// "CrossDimensionReachReportCompatibleFields") to unconditionally
3003	// include in API requests. By default, fields with empty values are
3004	// omitted from API requests. However, any non-pointer, non-interface
3005	// field appearing in ForceSendFields will be sent to the server
3006	// regardless of whether the field is empty or not. This may be used to
3007	// include empty fields in Patch requests.
3008	ForceSendFields []string `json:"-"`
3009
3010	// NullFields is a list of field names (e.g.
3011	// "CrossDimensionReachReportCompatibleFields") to include in API
3012	// requests with the JSON null value. By default, fields with empty
3013	// values are omitted from API requests. However, any field with an
3014	// empty value appearing in NullFields will be sent to the server as
3015	// null. It is an error if a field in this list has a non-empty value.
3016	// This may be used to include null fields in Patch requests.
3017	NullFields []string `json:"-"`
3018}
3019
3020func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
3021	type NoMethod CompatibleFields
3022	raw := NoMethod(*s)
3023	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3024}
3025
3026// ConnectionType: Contains information about an internet connection
3027// type that can be targeted by ads. Clients can use the connection type
3028// to target mobile vs. broadband users.
3029type ConnectionType struct {
3030	// Id: ID of this connection type.
3031	Id int64 `json:"id,omitempty,string"`
3032
3033	// Kind: Identifies what kind of resource this is. Value: the fixed
3034	// string "dfareporting#connectionType".
3035	Kind string `json:"kind,omitempty"`
3036
3037	// Name: Name of this connection type.
3038	Name string `json:"name,omitempty"`
3039
3040	// ServerResponse contains the HTTP response code and headers from the
3041	// server.
3042	googleapi.ServerResponse `json:"-"`
3043
3044	// ForceSendFields is a list of field names (e.g. "Id") to
3045	// unconditionally include in API requests. By default, fields with
3046	// empty values are omitted from API requests. However, any non-pointer,
3047	// non-interface field appearing in ForceSendFields will be sent to the
3048	// server regardless of whether the field is empty or not. This may be
3049	// used to include empty fields in Patch requests.
3050	ForceSendFields []string `json:"-"`
3051
3052	// NullFields is a list of field names (e.g. "Id") to include in API
3053	// requests with the JSON null value. By default, fields with empty
3054	// values are omitted from API requests. However, any field with an
3055	// empty value appearing in NullFields will be sent to the server as
3056	// null. It is an error if a field in this list has a non-empty value.
3057	// This may be used to include null fields in Patch requests.
3058	NullFields []string `json:"-"`
3059}
3060
3061func (s *ConnectionType) MarshalJSON() ([]byte, error) {
3062	type NoMethod ConnectionType
3063	raw := NoMethod(*s)
3064	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3065}
3066
3067// ConnectionTypesListResponse: Connection Type List Response
3068type ConnectionTypesListResponse struct {
3069	// ConnectionTypes: Collection of connection types such as broadband and
3070	// mobile.
3071	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
3072
3073	// Kind: Identifies what kind of resource this is. Value: the fixed
3074	// string "dfareporting#connectionTypesListResponse".
3075	Kind string `json:"kind,omitempty"`
3076
3077	// ServerResponse contains the HTTP response code and headers from the
3078	// server.
3079	googleapi.ServerResponse `json:"-"`
3080
3081	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
3082	// unconditionally include in API requests. By default, fields with
3083	// empty values are omitted from API requests. However, any non-pointer,
3084	// non-interface field appearing in ForceSendFields will be sent to the
3085	// server regardless of whether the field is empty or not. This may be
3086	// used to include empty fields in Patch requests.
3087	ForceSendFields []string `json:"-"`
3088
3089	// NullFields is a list of field names (e.g. "ConnectionTypes") to
3090	// include in API requests with the JSON null value. By default, fields
3091	// with empty values are omitted from API requests. However, any field
3092	// with an empty value appearing in NullFields will be sent to the
3093	// server as null. It is an error if a field in this list has a
3094	// non-empty value. This may be used to include null fields in Patch
3095	// requests.
3096	NullFields []string `json:"-"`
3097}
3098
3099func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
3100	type NoMethod ConnectionTypesListResponse
3101	raw := NoMethod(*s)
3102	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3103}
3104
3105// ContentCategoriesListResponse: Content Category List Response
3106type ContentCategoriesListResponse struct {
3107	// ContentCategories: Content category collection.
3108	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
3109
3110	// Kind: Identifies what kind of resource this is. Value: the fixed
3111	// string "dfareporting#contentCategoriesListResponse".
3112	Kind string `json:"kind,omitempty"`
3113
3114	// NextPageToken: Pagination token to be used for the next list
3115	// operation.
3116	NextPageToken string `json:"nextPageToken,omitempty"`
3117
3118	// ServerResponse contains the HTTP response code and headers from the
3119	// server.
3120	googleapi.ServerResponse `json:"-"`
3121
3122	// ForceSendFields is a list of field names (e.g. "ContentCategories")
3123	// to unconditionally include in API requests. By default, fields with
3124	// empty values are omitted from API requests. However, any non-pointer,
3125	// non-interface field appearing in ForceSendFields will be sent to the
3126	// server regardless of whether the field is empty or not. This may be
3127	// used to include empty fields in Patch requests.
3128	ForceSendFields []string `json:"-"`
3129
3130	// NullFields is a list of field names (e.g. "ContentCategories") to
3131	// include in API requests with the JSON null value. By default, fields
3132	// with empty values are omitted from API requests. However, any field
3133	// with an empty value appearing in NullFields will be sent to the
3134	// server as null. It is an error if a field in this list has a
3135	// non-empty value. This may be used to include null fields in Patch
3136	// requests.
3137	NullFields []string `json:"-"`
3138}
3139
3140func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
3141	type NoMethod ContentCategoriesListResponse
3142	raw := NoMethod(*s)
3143	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3144}
3145
3146// ContentCategory: Organizes placements according to the contents of
3147// their associated webpages.
3148type ContentCategory struct {
3149	// AccountId: Account ID of this content category. This is a read-only
3150	// field that can be left blank.
3151	AccountId int64 `json:"accountId,omitempty,string"`
3152
3153	// Id: ID of this content category. This is a read-only, auto-generated
3154	// field.
3155	Id int64 `json:"id,omitempty,string"`
3156
3157	// Kind: Identifies what kind of resource this is. Value: the fixed
3158	// string "dfareporting#contentCategory".
3159	Kind string `json:"kind,omitempty"`
3160
3161	// Name: Name of this content category. This is a required field and
3162	// must be less than 256 characters long and unique among content
3163	// categories of the same account.
3164	Name string `json:"name,omitempty"`
3165
3166	// ServerResponse contains the HTTP response code and headers from the
3167	// server.
3168	googleapi.ServerResponse `json:"-"`
3169
3170	// ForceSendFields is a list of field names (e.g. "AccountId") to
3171	// unconditionally include in API requests. By default, fields with
3172	// empty values are omitted from API requests. However, any non-pointer,
3173	// non-interface field appearing in ForceSendFields will be sent to the
3174	// server regardless of whether the field is empty or not. This may be
3175	// used to include empty fields in Patch requests.
3176	ForceSendFields []string `json:"-"`
3177
3178	// NullFields is a list of field names (e.g. "AccountId") to include in
3179	// API requests with the JSON null value. By default, fields with empty
3180	// values are omitted from API requests. However, any field with an
3181	// empty value appearing in NullFields will be sent to the server as
3182	// null. It is an error if a field in this list has a non-empty value.
3183	// This may be used to include null fields in Patch requests.
3184	NullFields []string `json:"-"`
3185}
3186
3187func (s *ContentCategory) MarshalJSON() ([]byte, error) {
3188	type NoMethod ContentCategory
3189	raw := NoMethod(*s)
3190	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3191}
3192
3193// Conversion: A Conversion represents when a user successfully performs
3194// a desired action after seeing an ad.
3195type Conversion struct {
3196	// ChildDirectedTreatment: Whether this particular request may come from
3197	// a user under the age of 13, under COPPA compliance.
3198	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
3199
3200	// CustomVariables: Custom floodlight variables.
3201	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
3202
3203	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
3204	// encryptionInfo should also be specified. This field is mutually
3205	// exclusive with encryptedUserIdCandidates[], matchId, mobileDeviceId
3206	// and gclid. This or encryptedUserIdCandidates[] or matchId or
3207	// mobileDeviceId or gclid is a required field.
3208	EncryptedUserId string `json:"encryptedUserId,omitempty"`
3209
3210	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
3211	// IDs. Any user ID with exposure prior to the conversion timestamp will
3212	// be used in the inserted conversion. If no such user ID is found then
3213	// the conversion will be rejected with INVALID_ARGUMENT error. When
3214	// set, encryptionInfo should also be specified. This field may only be
3215	// used when calling batchinsert; it is not supported by batchupdate.
3216	// This field is mutually exclusive with encryptedUserId, matchId,
3217	// mobileDeviceId and gclid. This or encryptedUserId or matchId or
3218	// mobileDeviceId or gclid is a required field.
3219	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
3220
3221	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
3222	// is a required field.
3223	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
3224
3225	// FloodlightConfigurationId: Floodlight Configuration ID of this
3226	// conversion. This is a required field.
3227	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
3228
3229	// Gclid: The Google click ID. This field is mutually exclusive with
3230	// encryptedUserId, encryptedUserIdCandidates[], matchId and
3231	// mobileDeviceId. This or encryptedUserId or
3232	// encryptedUserIdCandidates[] or matchId or mobileDeviceId is a
3233	// required field.
3234	Gclid string `json:"gclid,omitempty"`
3235
3236	// Kind: Identifies what kind of resource this is. Value: the fixed
3237	// string "dfareporting#conversion".
3238	Kind string `json:"kind,omitempty"`
3239
3240	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
3241	// true, the conversion will be used for reporting but not targeting.
3242	// This will prevent remarketing.
3243	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
3244
3245	// MatchId: The match ID field. A match ID is your own first-party
3246	// identifier that has been synced with Google using the match ID
3247	// feature in Floodlight. This field is mutually exclusive with
3248	// encryptedUserId, encryptedUserIdCandidates[],mobileDeviceId and
3249	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3250	// mobileDeviceId or gclid is a required field.
3251	MatchId string `json:"matchId,omitempty"`
3252
3253	// MobileDeviceId: The mobile device ID. This field is mutually
3254	// exclusive with encryptedUserId, encryptedUserIdCandidates[], matchId
3255	// and gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3256	// matchId or gclid is a required field.
3257	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
3258
3259	// NonPersonalizedAd: Whether the conversion was for a non personalized
3260	// ad.
3261	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
3262
3263	// Ordinal: The ordinal of the conversion. Use this field to control how
3264	// conversions of the same user and day are de-duplicated. This is a
3265	// required field.
3266	Ordinal string `json:"ordinal,omitempty"`
3267
3268	// Quantity: The quantity of the conversion.
3269	Quantity int64 `json:"quantity,omitempty,string"`
3270
3271	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
3272	// This is a required field.
3273	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
3274
3275	// TreatmentForUnderage: Whether this particular request may come from a
3276	// user under the age of 16 (may differ by country), under compliance
3277	// with the European Union's General Data Protection Regulation (GDPR).
3278	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
3279
3280	// Value: The value of the conversion.
3281	Value float64 `json:"value,omitempty"`
3282
3283	// ForceSendFields is a list of field names (e.g.
3284	// "ChildDirectedTreatment") to unconditionally include in API requests.
3285	// By default, fields with empty values are omitted from API requests.
3286	// However, any non-pointer, non-interface field appearing in
3287	// ForceSendFields will be sent to the server regardless of whether the
3288	// field is empty or not. This may be used to include empty fields in
3289	// Patch requests.
3290	ForceSendFields []string `json:"-"`
3291
3292	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
3293	// to include in API requests with the JSON null value. By default,
3294	// fields with empty values are omitted from API requests. However, any
3295	// field with an empty value appearing in NullFields will be sent to the
3296	// server as null. It is an error if a field in this list has a
3297	// non-empty value. This may be used to include null fields in Patch
3298	// requests.
3299	NullFields []string `json:"-"`
3300}
3301
3302func (s *Conversion) MarshalJSON() ([]byte, error) {
3303	type NoMethod Conversion
3304	raw := NoMethod(*s)
3305	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3306}
3307
3308func (s *Conversion) UnmarshalJSON(data []byte) error {
3309	type NoMethod Conversion
3310	var s1 struct {
3311		Value gensupport.JSONFloat64 `json:"value"`
3312		*NoMethod
3313	}
3314	s1.NoMethod = (*NoMethod)(s)
3315	if err := json.Unmarshal(data, &s1); err != nil {
3316		return err
3317	}
3318	s.Value = float64(s1.Value)
3319	return nil
3320}
3321
3322// ConversionError: The error code and description for a conversion that
3323// failed to insert or update.
3324type ConversionError struct {
3325	// Code: The error code.
3326	//
3327	// Possible values:
3328	//   "INVALID_ARGUMENT"
3329	//   "INTERNAL"
3330	//   "PERMISSION_DENIED"
3331	//   "NOT_FOUND"
3332	Code string `json:"code,omitempty"`
3333
3334	// Kind: Identifies what kind of resource this is. Value: the fixed
3335	// string "dfareporting#conversionError".
3336	Kind string `json:"kind,omitempty"`
3337
3338	// Message: A description of the error.
3339	Message string `json:"message,omitempty"`
3340
3341	// ForceSendFields is a list of field names (e.g. "Code") to
3342	// unconditionally include in API requests. By default, fields with
3343	// empty values are omitted from API requests. However, any non-pointer,
3344	// non-interface field appearing in ForceSendFields will be sent to the
3345	// server regardless of whether the field is empty or not. This may be
3346	// used to include empty fields in Patch requests.
3347	ForceSendFields []string `json:"-"`
3348
3349	// NullFields is a list of field names (e.g. "Code") to include in API
3350	// requests with the JSON null value. By default, fields with empty
3351	// values are omitted from API requests. However, any field with an
3352	// empty value appearing in NullFields will be sent to the server as
3353	// null. It is an error if a field in this list has a non-empty value.
3354	// This may be used to include null fields in Patch requests.
3355	NullFields []string `json:"-"`
3356}
3357
3358func (s *ConversionError) MarshalJSON() ([]byte, error) {
3359	type NoMethod ConversionError
3360	raw := NoMethod(*s)
3361	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3362}
3363
3364// ConversionStatus: The original conversion that was inserted or
3365// updated and whether there were any errors.
3366type ConversionStatus struct {
3367	// Conversion: The original conversion that was inserted or updated.
3368	Conversion *Conversion `json:"conversion,omitempty"`
3369
3370	// Errors: A list of errors related to this conversion.
3371	Errors []*ConversionError `json:"errors,omitempty"`
3372
3373	// Kind: Identifies what kind of resource this is. Value: the fixed
3374	// string "dfareporting#conversionStatus".
3375	Kind string `json:"kind,omitempty"`
3376
3377	// ForceSendFields is a list of field names (e.g. "Conversion") to
3378	// unconditionally include in API requests. By default, fields with
3379	// empty values are omitted from API requests. However, any non-pointer,
3380	// non-interface field appearing in ForceSendFields will be sent to the
3381	// server regardless of whether the field is empty or not. This may be
3382	// used to include empty fields in Patch requests.
3383	ForceSendFields []string `json:"-"`
3384
3385	// NullFields is a list of field names (e.g. "Conversion") to include in
3386	// API requests with the JSON null value. By default, fields with empty
3387	// values are omitted from API requests. However, any field with an
3388	// empty value appearing in NullFields will be sent to the server as
3389	// null. It is an error if a field in this list has a non-empty value.
3390	// This may be used to include null fields in Patch requests.
3391	NullFields []string `json:"-"`
3392}
3393
3394func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
3395	type NoMethod ConversionStatus
3396	raw := NoMethod(*s)
3397	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3398}
3399
3400// ConversionsBatchInsertRequest: Insert Conversions Request.
3401type ConversionsBatchInsertRequest struct {
3402	// Conversions: The set of conversions to insert.
3403	Conversions []*Conversion `json:"conversions,omitempty"`
3404
3405	// EncryptionInfo: Describes how encryptedUserId or
3406	// encryptedUserIdCandidates[] is encrypted. This is a required field if
3407	// encryptedUserId or encryptedUserIdCandidates[] is used.
3408	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3409
3410	// Kind: Identifies what kind of resource this is. Value: the fixed
3411	// string "dfareporting#conversionsBatchInsertRequest".
3412	Kind string `json:"kind,omitempty"`
3413
3414	// ForceSendFields is a list of field names (e.g. "Conversions") to
3415	// unconditionally include in API requests. By default, fields with
3416	// empty values are omitted from API requests. However, any non-pointer,
3417	// non-interface field appearing in ForceSendFields will be sent to the
3418	// server regardless of whether the field is empty or not. This may be
3419	// used to include empty fields in Patch requests.
3420	ForceSendFields []string `json:"-"`
3421
3422	// NullFields is a list of field names (e.g. "Conversions") to include
3423	// in API requests with the JSON null value. By default, fields with
3424	// empty values are omitted from API requests. However, any field with
3425	// an empty value appearing in NullFields will be sent to the server as
3426	// null. It is an error if a field in this list has a non-empty value.
3427	// This may be used to include null fields in Patch requests.
3428	NullFields []string `json:"-"`
3429}
3430
3431func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
3432	type NoMethod ConversionsBatchInsertRequest
3433	raw := NoMethod(*s)
3434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3435}
3436
3437// ConversionsBatchInsertResponse: Insert Conversions Response.
3438type ConversionsBatchInsertResponse struct {
3439	// HasFailures: Indicates that some or all conversions failed to insert.
3440	HasFailures bool `json:"hasFailures,omitempty"`
3441
3442	// Kind: Identifies what kind of resource this is. Value: the fixed
3443	// string "dfareporting#conversionsBatchInsertResponse".
3444	Kind string `json:"kind,omitempty"`
3445
3446	// Status: The insert status of each conversion. Statuses are returned
3447	// in the same order that conversions are inserted.
3448	Status []*ConversionStatus `json:"status,omitempty"`
3449
3450	// ServerResponse contains the HTTP response code and headers from the
3451	// server.
3452	googleapi.ServerResponse `json:"-"`
3453
3454	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3455	// unconditionally include in API requests. By default, fields with
3456	// empty values are omitted from API requests. However, any non-pointer,
3457	// non-interface field appearing in ForceSendFields will be sent to the
3458	// server regardless of whether the field is empty or not. This may be
3459	// used to include empty fields in Patch requests.
3460	ForceSendFields []string `json:"-"`
3461
3462	// NullFields is a list of field names (e.g. "HasFailures") to include
3463	// in API requests with the JSON null value. By default, fields with
3464	// empty values are omitted from API requests. However, any field with
3465	// an empty value appearing in NullFields will be sent to the server as
3466	// null. It is an error if a field in this list has a non-empty value.
3467	// This may be used to include null fields in Patch requests.
3468	NullFields []string `json:"-"`
3469}
3470
3471func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
3472	type NoMethod ConversionsBatchInsertResponse
3473	raw := NoMethod(*s)
3474	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3475}
3476
3477// ConversionsBatchUpdateRequest: Update Conversions Request.
3478type ConversionsBatchUpdateRequest struct {
3479	// Conversions: The set of conversions to update.
3480	Conversions []*Conversion `json:"conversions,omitempty"`
3481
3482	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
3483	// required field if encryptedUserId is used.
3484	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3485
3486	// Kind: Identifies what kind of resource this is. Value: the fixed
3487	// string "dfareporting#conversionsBatchUpdateRequest".
3488	Kind string `json:"kind,omitempty"`
3489
3490	// ForceSendFields is a list of field names (e.g. "Conversions") to
3491	// unconditionally include in API requests. By default, fields with
3492	// empty values are omitted from API requests. However, any non-pointer,
3493	// non-interface field appearing in ForceSendFields will be sent to the
3494	// server regardless of whether the field is empty or not. This may be
3495	// used to include empty fields in Patch requests.
3496	ForceSendFields []string `json:"-"`
3497
3498	// NullFields is a list of field names (e.g. "Conversions") to include
3499	// in API requests with the JSON null value. By default, fields with
3500	// empty values are omitted from API requests. However, any field with
3501	// an empty value appearing in NullFields will be sent to the server as
3502	// null. It is an error if a field in this list has a non-empty value.
3503	// This may be used to include null fields in Patch requests.
3504	NullFields []string `json:"-"`
3505}
3506
3507func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
3508	type NoMethod ConversionsBatchUpdateRequest
3509	raw := NoMethod(*s)
3510	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3511}
3512
3513// ConversionsBatchUpdateResponse: Update Conversions Response.
3514type ConversionsBatchUpdateResponse struct {
3515	// HasFailures: Indicates that some or all conversions failed to update.
3516	HasFailures bool `json:"hasFailures,omitempty"`
3517
3518	// Kind: Identifies what kind of resource this is. Value: the fixed
3519	// string "dfareporting#conversionsBatchUpdateResponse".
3520	Kind string `json:"kind,omitempty"`
3521
3522	// Status: The update status of each conversion. Statuses are returned
3523	// in the same order that conversions are updated.
3524	Status []*ConversionStatus `json:"status,omitempty"`
3525
3526	// ServerResponse contains the HTTP response code and headers from the
3527	// server.
3528	googleapi.ServerResponse `json:"-"`
3529
3530	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3531	// unconditionally include in API requests. By default, fields with
3532	// empty values are omitted from API requests. However, any non-pointer,
3533	// non-interface field appearing in ForceSendFields will be sent to the
3534	// server regardless of whether the field is empty or not. This may be
3535	// used to include empty fields in Patch requests.
3536	ForceSendFields []string `json:"-"`
3537
3538	// NullFields is a list of field names (e.g. "HasFailures") to include
3539	// in API requests with the JSON null value. By default, fields with
3540	// empty values are omitted from API requests. However, any field with
3541	// an empty value appearing in NullFields will be sent to the server as
3542	// null. It is an error if a field in this list has a non-empty value.
3543	// This may be used to include null fields in Patch requests.
3544	NullFields []string `json:"-"`
3545}
3546
3547func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
3548	type NoMethod ConversionsBatchUpdateResponse
3549	raw := NoMethod(*s)
3550	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3551}
3552
3553// CountriesListResponse: Country List Response
3554type CountriesListResponse struct {
3555	// Countries: Country collection.
3556	Countries []*Country `json:"countries,omitempty"`
3557
3558	// Kind: Identifies what kind of resource this is. Value: the fixed
3559	// string "dfareporting#countriesListResponse".
3560	Kind string `json:"kind,omitempty"`
3561
3562	// ServerResponse contains the HTTP response code and headers from the
3563	// server.
3564	googleapi.ServerResponse `json:"-"`
3565
3566	// ForceSendFields is a list of field names (e.g. "Countries") to
3567	// unconditionally include in API requests. By default, fields with
3568	// empty values are omitted from API requests. However, any non-pointer,
3569	// non-interface field appearing in ForceSendFields will be sent to the
3570	// server regardless of whether the field is empty or not. This may be
3571	// used to include empty fields in Patch requests.
3572	ForceSendFields []string `json:"-"`
3573
3574	// NullFields is a list of field names (e.g. "Countries") to include in
3575	// API requests with the JSON null value. By default, fields with empty
3576	// values are omitted from API requests. However, any field with an
3577	// empty value appearing in NullFields will be sent to the server as
3578	// null. It is an error if a field in this list has a non-empty value.
3579	// This may be used to include null fields in Patch requests.
3580	NullFields []string `json:"-"`
3581}
3582
3583func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
3584	type NoMethod CountriesListResponse
3585	raw := NoMethod(*s)
3586	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3587}
3588
3589// Country: Contains information about a country that can be targeted by
3590// ads.
3591type Country struct {
3592	// CountryCode: Country code.
3593	CountryCode string `json:"countryCode,omitempty"`
3594
3595	// DartId: DART ID of this country. This is the ID used for targeting
3596	// and generating reports.
3597	DartId int64 `json:"dartId,omitempty,string"`
3598
3599	// Kind: Identifies what kind of resource this is. Value: the fixed
3600	// string "dfareporting#country".
3601	Kind string `json:"kind,omitempty"`
3602
3603	// Name: Name of this country.
3604	Name string `json:"name,omitempty"`
3605
3606	// SslEnabled: Whether ad serving supports secure servers in this
3607	// country.
3608	SslEnabled bool `json:"sslEnabled,omitempty"`
3609
3610	// ServerResponse contains the HTTP response code and headers from the
3611	// server.
3612	googleapi.ServerResponse `json:"-"`
3613
3614	// ForceSendFields is a list of field names (e.g. "CountryCode") to
3615	// unconditionally include in API requests. By default, fields with
3616	// empty values are omitted from API requests. However, any non-pointer,
3617	// non-interface field appearing in ForceSendFields will be sent to the
3618	// server regardless of whether the field is empty or not. This may be
3619	// used to include empty fields in Patch requests.
3620	ForceSendFields []string `json:"-"`
3621
3622	// NullFields is a list of field names (e.g. "CountryCode") to include
3623	// in API requests with the JSON null value. By default, fields with
3624	// empty values are omitted from API requests. However, any field with
3625	// an empty value appearing in NullFields will be sent to the server as
3626	// null. It is an error if a field in this list has a non-empty value.
3627	// This may be used to include null fields in Patch requests.
3628	NullFields []string `json:"-"`
3629}
3630
3631func (s *Country) MarshalJSON() ([]byte, error) {
3632	type NoMethod Country
3633	raw := NoMethod(*s)
3634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3635}
3636
3637// Creative: Contains properties of a Creative.
3638type Creative struct {
3639	// AccountId: Account ID of this creative. This field, if left unset,
3640	// will be auto-generated for both insert and update operations.
3641	// Applicable to all creative types.
3642	AccountId int64 `json:"accountId,omitempty,string"`
3643
3644	// Active: Whether the creative is active. Applicable to all creative
3645	// types.
3646	Active bool `json:"active,omitempty"`
3647
3648	// AdParameters: Ad parameters user for VPAID creative. This is a
3649	// read-only field. Applicable to the following creative types: all
3650	// VPAID.
3651	AdParameters string `json:"adParameters,omitempty"`
3652
3653	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
3654	// customize the creative settings of a Rich Media ad running on your
3655	// site without having to contact the advertiser. You can use keywords
3656	// to dynamically change the look or functionality of a creative.
3657	// Applicable to the following creative types: all RICH_MEDIA, and all
3658	// VPAID.
3659	AdTagKeys []string `json:"adTagKeys,omitempty"`
3660
3661	// AdditionalSizes: Additional sizes associated with a responsive
3662	// creative. When inserting or updating a creative either the size ID
3663	// field or size width and height fields can be used. Applicable to
3664	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
3665	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
3666
3667	// AdvertiserId: Advertiser ID of this creative. This is a required
3668	// field. Applicable to all creative types.
3669	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3670
3671	// AllowScriptAccess: Whether script access is allowed for this
3672	// creative. This is a read-only and deprecated field which will
3673	// automatically be set to true on update. Applicable to the following
3674	// creative types: FLASH_INPAGE.
3675	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
3676
3677	// Archived: Whether the creative is archived. Applicable to all
3678	// creative types.
3679	Archived bool `json:"archived,omitempty"`
3680
3681	// ArtworkType: Type of artwork used for the creative. This is a
3682	// read-only field. Applicable to the following creative types: all
3683	// RICH_MEDIA, and all VPAID.
3684	//
3685	// Possible values:
3686	//   "ARTWORK_TYPE_FLASH"
3687	//   "ARTWORK_TYPE_HTML5"
3688	//   "ARTWORK_TYPE_MIXED"
3689	//   "ARTWORK_TYPE_IMAGE"
3690	ArtworkType string `json:"artworkType,omitempty"`
3691
3692	// AuthoringSource: Source application where creative was authored.
3693	// Presently, only DBM authored creatives will have this field set.
3694	// Applicable to all creative types.
3695	//
3696	// Possible values:
3697	//   "CREATIVE_AUTHORING_SOURCE_DCM"
3698	//   "CREATIVE_AUTHORING_SOURCE_DBM"
3699	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
3700	//   "CREATIVE_AUTHORING_SOURCE_GWD"
3701	AuthoringSource string `json:"authoringSource,omitempty"`
3702
3703	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
3704	// read-only field. Applicable to the following creative types:
3705	// HTML5_BANNER.
3706	//
3707	// Possible values:
3708	//   "NINJA"
3709	//   "SWIFFY"
3710	AuthoringTool string `json:"authoringTool,omitempty"`
3711
3712	// AutoAdvanceImages: Whether images are automatically advanced for
3713	// image gallery creatives. Applicable to the following creative types:
3714	// DISPLAY_IMAGE_GALLERY.
3715	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
3716
3717	// BackgroundColor: The 6-character HTML color code, beginning with #,
3718	// for the background of the window area where the Flash file is
3719	// displayed. Default is white. Applicable to the following creative
3720	// types: FLASH_INPAGE.
3721	BackgroundColor string `json:"backgroundColor,omitempty"`
3722
3723	// BackupImageClickThroughUrl: Click-through URL for backup image.
3724	// Applicable to ENHANCED_BANNER when the primary asset type is not
3725	// HTML_IMAGE.
3726	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
3727
3728	// BackupImageFeatures: List of feature dependencies that will cause a
3729	// backup image to be served if the browser that serves the ad does not
3730	// support them. Feature dependencies are features that a browser must
3731	// be able to support in order to render your HTML5 creative asset
3732	// correctly. This field is initially auto-generated to contain all
3733	// features detected by Campaign Manager for all the assets of this
3734	// creative and can then be modified by the client. To reset this field,
3735	// copy over all the creativeAssets' detected features. Applicable to
3736	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
3737	// when the primary asset type is not HTML_IMAGE.
3738	//
3739	// Possible values:
3740	//   "CSS_FONT_FACE"
3741	//   "CSS_BACKGROUND_SIZE"
3742	//   "CSS_BORDER_IMAGE"
3743	//   "CSS_BORDER_RADIUS"
3744	//   "CSS_BOX_SHADOW"
3745	//   "CSS_FLEX_BOX"
3746	//   "CSS_HSLA"
3747	//   "CSS_MULTIPLE_BGS"
3748	//   "CSS_OPACITY"
3749	//   "CSS_RGBA"
3750	//   "CSS_TEXT_SHADOW"
3751	//   "CSS_ANIMATIONS"
3752	//   "CSS_COLUMNS"
3753	//   "CSS_GENERATED_CONTENT"
3754	//   "CSS_GRADIENTS"
3755	//   "CSS_REFLECTIONS"
3756	//   "CSS_TRANSFORMS"
3757	//   "CSS_TRANSFORMS3D"
3758	//   "CSS_TRANSITIONS"
3759	//   "APPLICATION_CACHE"
3760	//   "CANVAS"
3761	//   "CANVAS_TEXT"
3762	//   "DRAG_AND_DROP"
3763	//   "HASH_CHANGE"
3764	//   "HISTORY"
3765	//   "AUDIO"
3766	//   "VIDEO"
3767	//   "INDEXED_DB"
3768	//   "INPUT_ATTR_AUTOCOMPLETE"
3769	//   "INPUT_ATTR_AUTOFOCUS"
3770	//   "INPUT_ATTR_LIST"
3771	//   "INPUT_ATTR_PLACEHOLDER"
3772	//   "INPUT_ATTR_MAX"
3773	//   "INPUT_ATTR_MIN"
3774	//   "INPUT_ATTR_MULTIPLE"
3775	//   "INPUT_ATTR_PATTERN"
3776	//   "INPUT_ATTR_REQUIRED"
3777	//   "INPUT_ATTR_STEP"
3778	//   "INPUT_TYPE_SEARCH"
3779	//   "INPUT_TYPE_TEL"
3780	//   "INPUT_TYPE_URL"
3781	//   "INPUT_TYPE_EMAIL"
3782	//   "INPUT_TYPE_DATETIME"
3783	//   "INPUT_TYPE_DATE"
3784	//   "INPUT_TYPE_MONTH"
3785	//   "INPUT_TYPE_WEEK"
3786	//   "INPUT_TYPE_TIME"
3787	//   "INPUT_TYPE_DATETIME_LOCAL"
3788	//   "INPUT_TYPE_NUMBER"
3789	//   "INPUT_TYPE_RANGE"
3790	//   "INPUT_TYPE_COLOR"
3791	//   "LOCAL_STORAGE"
3792	//   "POST_MESSAGE"
3793	//   "SESSION_STORAGE"
3794	//   "WEB_SOCKETS"
3795	//   "WEB_SQL_DATABASE"
3796	//   "WEB_WORKERS"
3797	//   "GEO_LOCATION"
3798	//   "INLINE_SVG"
3799	//   "SMIL"
3800	//   "SVG_HREF"
3801	//   "SVG_CLIP_PATHS"
3802	//   "TOUCH"
3803	//   "WEBGL"
3804	//   "SVG_FILTERS"
3805	//   "SVG_FE_IMAGE"
3806	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
3807
3808	// BackupImageReportingLabel: Reporting label used for HTML5 banner
3809	// backup image. Applicable to the following creative types: DISPLAY
3810	// when the primary asset type is not HTML_IMAGE.
3811	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
3812
3813	// BackupImageTargetWindow: Target window for backup image. Applicable
3814	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
3815	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
3816	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
3817
3818	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
3819	// HTML5_BANNER creatives, this is a subset of detected click tags for
3820	// the assets associated with this creative. After creating a flash
3821	// asset, detected click tags will be returned in the
3822	// creativeAssetMetadata. When inserting the creative, populate the
3823	// creative clickTags field using the creativeAssetMetadata.clickTags
3824	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
3825	// one entry in this list for each image creative asset. A click tag is
3826	// matched with a corresponding creative asset by matching the
3827	// clickTag.name field with the creativeAsset.assetIdentifier.name
3828	// field. Applicable to the following creative types:
3829	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
3830	// DISPLAY when the primary asset type is not HTML_IMAGE.
3831	ClickTags []*ClickTag `json:"clickTags,omitempty"`
3832
3833	// CommercialId: Industry standard ID assigned to creative for reach and
3834	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
3835	CommercialId string `json:"commercialId,omitempty"`
3836
3837	// CompanionCreatives: List of companion creatives assigned to an
3838	// in-Stream video creative. Acceptable values include IDs of existing
3839	// flash and image creatives. Applicable to the following creative
3840	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
3841	// dynamicAssetSelection set to false.
3842	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
3843
3844	// Compatibility: Compatibilities associated with this creative. This is
3845	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
3846	// rendering either on desktop or on mobile devices or in mobile apps
3847	// for regular or interstitial ads, respectively. APP and
3848	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
3849	// creatives may have these compatibilities since new creatives will
3850	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
3851	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
3852	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
3853	// in-stream audio ads developed with the VAST standard. Applicable to
3854	// all creative types. Acceptable values are: - "APP" -
3855	// "APP_INTERSTITIAL" - "IN_STREAM_VIDEO" - "IN_STREAM_AUDIO" -
3856	// "DISPLAY" - "DISPLAY_INTERSTITIAL"
3857	//
3858	// Possible values:
3859	//   "DISPLAY"
3860	//   "DISPLAY_INTERSTITIAL"
3861	//   "APP"
3862	//   "APP_INTERSTITIAL"
3863	//   "IN_STREAM_VIDEO"
3864	//   "IN_STREAM_AUDIO"
3865	Compatibility []string `json:"compatibility,omitempty"`
3866
3867	// ConvertFlashToHtml5: Whether Flash assets associated with the
3868	// creative need to be automatically converted to HTML5. This flag is
3869	// enabled by default and users can choose to disable it if they don't
3870	// want the system to generate and use HTML5 asset for this creative.
3871	// Applicable to the following creative type: FLASH_INPAGE. Applicable
3872	// to DISPLAY when the primary asset type is not HTML_IMAGE.
3873	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
3874
3875	// CounterCustomEvents: List of counter events configured for the
3876	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
3877	// and auto-generated from clickTags. Applicable to the following
3878	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
3879	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
3880
3881	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
3882	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
3883
3884	// CreativeAssets: Assets associated with a creative. Applicable to all
3885	// but the following creative types: INTERNAL_REDIRECT,
3886	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
3887	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
3888
3889	// CreativeFieldAssignments: Creative field assignments for this
3890	// creative. Applicable to all creative types.
3891	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
3892
3893	// CustomKeyValues: Custom key-values for a Rich Media creative.
3894	// Key-values let you customize the creative settings of a Rich Media ad
3895	// running on your site without having to contact the advertiser. You
3896	// can use key-values to dynamically change the look or functionality of
3897	// a creative. Applicable to the following creative types: all
3898	// RICH_MEDIA, and all VPAID.
3899	CustomKeyValues []string `json:"customKeyValues,omitempty"`
3900
3901	// DynamicAssetSelection: Set this to true to enable the use of rules to
3902	// target individual assets in this creative. When set to true
3903	// creativeAssetSelection must be set. This also controls asset-level
3904	// companions. When this is true, companion creatives should be assigned
3905	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
3906	// creatives.
3907	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
3908
3909	// ExitCustomEvents: List of exit events configured for the creative.
3910	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
3911	// and auto-generated from clickTags, For DISPLAY, an event is also
3912	// created from the backupImageReportingLabel. Applicable to the
3913	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
3914	// all VPAID. Applicable to DISPLAY when the primary asset type is not
3915	// HTML_IMAGE.
3916	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
3917
3918	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
3919	// file communicate with either Flash Player or the program hosting
3920	// Flash Player, such as a web browser. This is only triggered if
3921	// allowScriptAccess field is true. Applicable to the following creative
3922	// types: FLASH_INPAGE.
3923	FsCommand *FsCommand `json:"fsCommand,omitempty"`
3924
3925	// HtmlCode: HTML code for the creative. This is a required field when
3926	// applicable. This field is ignored if htmlCodeLocked is true.
3927	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
3928	// and HTML5_BANNER, and all RICH_MEDIA.
3929	HtmlCode string `json:"htmlCode,omitempty"`
3930
3931	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
3932	// manually entered. Set to true to ignore changes to htmlCode.
3933	// Applicable to the following creative types: FLASH_INPAGE and
3934	// HTML5_BANNER.
3935	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
3936
3937	// Id: ID of this creative. This is a read-only, auto-generated field.
3938	// Applicable to all creative types.
3939	Id int64 `json:"id,omitempty,string"`
3940
3941	// IdDimensionValue: Dimension value for the ID of this creative. This
3942	// is a read-only field. Applicable to all creative types.
3943	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
3944
3945	// Kind: Identifies what kind of resource this is. Value: the fixed
3946	// string "dfareporting#creative".
3947	Kind string `json:"kind,omitempty"`
3948
3949	// LastModifiedInfo: Creative last modification information. This is a
3950	// read-only field. Applicable to all creative types.
3951	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
3952
3953	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
3954	// associated with rich media and VPAID creatives. This is a read-only
3955	// field. Applicable to the following creative types: all RICH_MEDIA,
3956	// and all VPAID.
3957	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
3958
3959	// MediaDescription: Description of the audio or video ad. Applicable to
3960	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
3961	// all VPAID.
3962	MediaDescription string `json:"mediaDescription,omitempty"`
3963
3964	// MediaDuration: Creative audio or video duration in seconds. This is a
3965	// read-only field. Applicable to the following creative types:
3966	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
3967	MediaDuration float64 `json:"mediaDuration,omitempty"`
3968
3969	// Name: Name of the creative. This is a required field and must be less
3970	// than 256 characters long. Applicable to all creative types.
3971	Name string `json:"name,omitempty"`
3972
3973	// OverrideCss: Override CSS value for rich media creatives. Applicable
3974	// to the following creative types: all RICH_MEDIA.
3975	OverrideCss string `json:"overrideCss,omitempty"`
3976
3977	// ProgressOffset: Amount of time to play the video before counting a
3978	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
3979	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
3980
3981	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
3982	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
3983	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
3984	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
3985	// This is a required field when applicable. Applicable to the following
3986	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
3987	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
3988	RedirectUrl string `json:"redirectUrl,omitempty"`
3989
3990	// RenderingId: ID of current rendering version. This is a read-only
3991	// field. Applicable to all creative types.
3992	RenderingId int64 `json:"renderingId,omitempty,string"`
3993
3994	// RenderingIdDimensionValue: Dimension value for the rendering ID of
3995	// this creative. This is a read-only field. Applicable to all creative
3996	// types.
3997	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
3998
3999	// RequiredFlashPluginVersion: The minimum required Flash plugin version
4000	// for this creative. For example, 11.2.202.235. This is a read-only
4001	// field. Applicable to the following creative types: all RICH_MEDIA,
4002	// and all VPAID.
4003	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
4004
4005	// RequiredFlashVersion: The internal Flash version for this creative as
4006	// calculated by Studio. This is a read-only field. Applicable to the
4007	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
4008	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4009	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
4010
4011	// Size: Size associated with this creative. When inserting or updating
4012	// a creative either the size ID field or size width and height fields
4013	// can be used. This is a required field when applicable; however for
4014	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
4015	// primary asset of type HTML_IMAGE, if left blank, this field will be
4016	// automatically set using the actual size of the associated image
4017	// assets. Applicable to the following creative types: DISPLAY,
4018	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
4019	// RICH_MEDIA.
4020	Size *Size `json:"size,omitempty"`
4021
4022	// SkipOffset: Amount of time to play the video before the skip button
4023	// appears. Applicable to the following creative types: all
4024	// INSTREAM_VIDEO.
4025	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
4026
4027	// Skippable: Whether the user can choose to skip the creative.
4028	// Applicable to the following creative types: all INSTREAM_VIDEO and
4029	// all VPAID.
4030	Skippable bool `json:"skippable,omitempty"`
4031
4032	// SslCompliant: Whether the creative is SSL-compliant. This is a
4033	// read-only field. Applicable to all creative types.
4034	SslCompliant bool `json:"sslCompliant,omitempty"`
4035
4036	// SslOverride: Whether creative should be treated as SSL compliant even
4037	// if the system scan shows it's not. Applicable to all creative types.
4038	SslOverride bool `json:"sslOverride,omitempty"`
4039
4040	// StudioAdvertiserId: Studio advertiser ID associated with rich media
4041	// and VPAID creatives. This is a read-only field. Applicable to the
4042	// following creative types: all RICH_MEDIA, and all VPAID.
4043	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
4044
4045	// StudioCreativeId: Studio creative ID associated with rich media and
4046	// VPAID creatives. This is a read-only field. Applicable to the
4047	// following creative types: all RICH_MEDIA, and all VPAID.
4048	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
4049
4050	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
4051	// with rich media and VPAID creatives. This is a read-only field.
4052	// Applicable to the following creative types: all RICH_MEDIA, and all
4053	// VPAID.
4054	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
4055
4056	// SubaccountId: Subaccount ID of this creative. This field, if left
4057	// unset, will be auto-generated for both insert and update operations.
4058	// Applicable to all creative types.
4059	SubaccountId int64 `json:"subaccountId,omitempty,string"`
4060
4061	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
4062	// backup image impressions. Applicable to the following creative types:
4063	// all RICH_MEDIA.
4064	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
4065
4066	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
4067	// rich media impressions. Applicable to the following creative types:
4068	// all RICH_MEDIA.
4069	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
4070
4071	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
4072	// events. Applicable to the following creative types: all
4073	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
4074	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
4075
4076	// TimerCustomEvents: List of timer events configured for the creative.
4077	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
4078	// auto-generated from clickTags. Applicable to the following creative
4079	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
4080	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
4081	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
4082
4083	// TotalFileSize: Combined size of all creative assets. This is a
4084	// read-only field. Applicable to the following creative types: all
4085	// RICH_MEDIA, and all VPAID.
4086	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
4087
4088	// Type: Type of this creative. This is a required field. Applicable to
4089	// all creative types. *Note:* FLASH_INPAGE, HTML5_BANNER, and IMAGE are
4090	// only used for existing creatives. New creatives should use DISPLAY as
4091	// a replacement for these types.
4092	//
4093	// Possible values:
4094	//   "IMAGE"
4095	//   "DISPLAY_REDIRECT"
4096	//   "CUSTOM_DISPLAY"
4097	//   "INTERNAL_REDIRECT"
4098	//   "CUSTOM_DISPLAY_INTERSTITIAL"
4099	//   "INTERSTITIAL_INTERNAL_REDIRECT"
4100	//   "TRACKING_TEXT"
4101	//   "RICH_MEDIA_DISPLAY_BANNER"
4102	//   "RICH_MEDIA_INPAGE_FLOATING"
4103	//   "RICH_MEDIA_IM_EXPAND"
4104	//   "RICH_MEDIA_DISPLAY_EXPANDING"
4105	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
4106	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
4107	//   "RICH_MEDIA_MOBILE_IN_APP"
4108	//   "FLASH_INPAGE"
4109	//   "INSTREAM_VIDEO"
4110	//   "VPAID_LINEAR_VIDEO"
4111	//   "VPAID_NON_LINEAR_VIDEO"
4112	//   "INSTREAM_VIDEO_REDIRECT"
4113	//   "RICH_MEDIA_PEEL_DOWN"
4114	//   "HTML5_BANNER"
4115	//   "DISPLAY"
4116	//   "DISPLAY_IMAGE_GALLERY"
4117	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
4118	//   "INSTREAM_AUDIO"
4119	Type string `json:"type,omitempty"`
4120
4121	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
4122	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
4123	// and VPAID.
4124	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
4125
4126	// Version: The version number helps you keep track of multiple versions
4127	// of your creative in your reports. The version number will always be
4128	// auto-generated during insert operations to start at 1. For tracking
4129	// creatives the version cannot be incremented and will always remain at
4130	// 1. For all other creative types the version can be incremented only
4131	// by 1 during update operations. In addition, the version will be
4132	// automatically incremented by 1 when undergoing Rich Media creative
4133	// merging. Applicable to all creative types.
4134	Version int64 `json:"version,omitempty"`
4135
4136	// ServerResponse contains the HTTP response code and headers from the
4137	// server.
4138	googleapi.ServerResponse `json:"-"`
4139
4140	// ForceSendFields is a list of field names (e.g. "AccountId") to
4141	// unconditionally include in API requests. By default, fields with
4142	// empty values are omitted from API requests. However, any non-pointer,
4143	// non-interface field appearing in ForceSendFields will be sent to the
4144	// server regardless of whether the field is empty or not. This may be
4145	// used to include empty fields in Patch requests.
4146	ForceSendFields []string `json:"-"`
4147
4148	// NullFields is a list of field names (e.g. "AccountId") to include in
4149	// API requests with the JSON null value. By default, fields with empty
4150	// values are omitted from API requests. However, any field with an
4151	// empty value appearing in NullFields will be sent to the server as
4152	// null. It is an error if a field in this list has a non-empty value.
4153	// This may be used to include null fields in Patch requests.
4154	NullFields []string `json:"-"`
4155}
4156
4157func (s *Creative) MarshalJSON() ([]byte, error) {
4158	type NoMethod Creative
4159	raw := NoMethod(*s)
4160	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4161}
4162
4163func (s *Creative) UnmarshalJSON(data []byte) error {
4164	type NoMethod Creative
4165	var s1 struct {
4166		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
4167		*NoMethod
4168	}
4169	s1.NoMethod = (*NoMethod)(s)
4170	if err := json.Unmarshal(data, &s1); err != nil {
4171		return err
4172	}
4173	s.MediaDuration = float64(s1.MediaDuration)
4174	return nil
4175}
4176
4177// CreativeAsset: Creative Asset.
4178type CreativeAsset struct {
4179	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
4180	// This is a read-only field. Applicable to the following creative type:
4181	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
4182	// not HTML_IMAGE.
4183	ActionScript3 bool `json:"actionScript3,omitempty"`
4184
4185	// Active: Whether the video or audio asset is active. This is a
4186	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
4187	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
4188	// VPAID.
4189	Active bool `json:"active,omitempty"`
4190
4191	// AdditionalSizes: Additional sizes associated with this creative
4192	// asset. HTML5 asset generated by compatible software such as GWD will
4193	// be able to support more sizes this creative asset can render.
4194	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
4195
4196	// Alignment: Possible alignments for an asset. This is a read-only
4197	// field. Applicable to the following creative types:
4198	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL .
4199	//
4200	// Possible values:
4201	//   "ALIGNMENT_TOP"
4202	//   "ALIGNMENT_RIGHT"
4203	//   "ALIGNMENT_BOTTOM"
4204	//   "ALIGNMENT_LEFT"
4205	Alignment string `json:"alignment,omitempty"`
4206
4207	// ArtworkType: Artwork type of rich media creative. This is a read-only
4208	// field. Applicable to the following creative types: all RICH_MEDIA.
4209	//
4210	// Possible values:
4211	//   "ARTWORK_TYPE_FLASH"
4212	//   "ARTWORK_TYPE_HTML5"
4213	//   "ARTWORK_TYPE_MIXED"
4214	//   "ARTWORK_TYPE_IMAGE"
4215	ArtworkType string `json:"artworkType,omitempty"`
4216
4217	// AssetIdentifier: Identifier of this asset. This is the same
4218	// identifier returned during creative asset insert operation. This is a
4219	// required field. Applicable to all but the following creative types:
4220	// all REDIRECT and TRACKING_TEXT.
4221	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4222
4223	// AudioBitRate: Audio stream bit rate in kbps. This is a read-only
4224	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4225	// INSTREAM_VIDEO and all VPAID.
4226	AudioBitRate int64 `json:"audioBitRate,omitempty"`
4227
4228	// AudioSampleRate: Audio sample bit rate in hertz. This is a read-only
4229	// field. Applicable to the following creative types: INSTREAM_AUDIO,
4230	// INSTREAM_VIDEO and all VPAID.
4231	AudioSampleRate int64 `json:"audioSampleRate,omitempty"`
4232
4233	// BackupImageExit: Exit event configured for the backup image.
4234	// Applicable to the following creative types: all RICH_MEDIA.
4235	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
4236
4237	// BitRate: Detected bit-rate for audio or video asset. This is a
4238	// read-only field. Applicable to the following creative types:
4239	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4240	BitRate int64 `json:"bitRate,omitempty"`
4241
4242	// ChildAssetType: Rich media child asset type. This is a read-only
4243	// field. Applicable to the following creative types: all VPAID.
4244	//
4245	// Possible values:
4246	//   "CHILD_ASSET_TYPE_FLASH"
4247	//   "CHILD_ASSET_TYPE_VIDEO"
4248	//   "CHILD_ASSET_TYPE_IMAGE"
4249	//   "CHILD_ASSET_TYPE_DATA"
4250	ChildAssetType string `json:"childAssetType,omitempty"`
4251
4252	// CollapsedSize: Size of an asset when collapsed. This is a read-only
4253	// field. Applicable to the following creative types: all RICH_MEDIA and
4254	// all VPAID. Additionally, applicable to assets whose displayType is
4255	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
4256	CollapsedSize *Size `json:"collapsedSize,omitempty"`
4257
4258	// CompanionCreativeIds: List of companion creatives assigned to an
4259	// in-stream video creative asset. Acceptable values include IDs of
4260	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
4261	// creative type with dynamicAssetSelection set to true.
4262	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4263
4264	// CustomStartTimeValue: Custom start time in seconds for making the
4265	// asset visible. Applicable to the following creative types: all
4266	// RICH_MEDIA. Value must be greater than or equal to 0.
4267	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
4268
4269	// DetectedFeatures: List of feature dependencies for the creative asset
4270	// that are detected by Campaign Manager. Feature dependencies are
4271	// features that a browser must be able to support in order to render
4272	// your HTML5 creative correctly. This is a read-only, auto-generated
4273	// field. Applicable to the following creative types: HTML5_BANNER.
4274	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4275	//
4276	// Possible values:
4277	//   "CSS_FONT_FACE"
4278	//   "CSS_BACKGROUND_SIZE"
4279	//   "CSS_BORDER_IMAGE"
4280	//   "CSS_BORDER_RADIUS"
4281	//   "CSS_BOX_SHADOW"
4282	//   "CSS_FLEX_BOX"
4283	//   "CSS_HSLA"
4284	//   "CSS_MULTIPLE_BGS"
4285	//   "CSS_OPACITY"
4286	//   "CSS_RGBA"
4287	//   "CSS_TEXT_SHADOW"
4288	//   "CSS_ANIMATIONS"
4289	//   "CSS_COLUMNS"
4290	//   "CSS_GENERATED_CONTENT"
4291	//   "CSS_GRADIENTS"
4292	//   "CSS_REFLECTIONS"
4293	//   "CSS_TRANSFORMS"
4294	//   "CSS_TRANSFORMS3D"
4295	//   "CSS_TRANSITIONS"
4296	//   "APPLICATION_CACHE"
4297	//   "CANVAS"
4298	//   "CANVAS_TEXT"
4299	//   "DRAG_AND_DROP"
4300	//   "HASH_CHANGE"
4301	//   "HISTORY"
4302	//   "AUDIO"
4303	//   "VIDEO"
4304	//   "INDEXED_DB"
4305	//   "INPUT_ATTR_AUTOCOMPLETE"
4306	//   "INPUT_ATTR_AUTOFOCUS"
4307	//   "INPUT_ATTR_LIST"
4308	//   "INPUT_ATTR_PLACEHOLDER"
4309	//   "INPUT_ATTR_MAX"
4310	//   "INPUT_ATTR_MIN"
4311	//   "INPUT_ATTR_MULTIPLE"
4312	//   "INPUT_ATTR_PATTERN"
4313	//   "INPUT_ATTR_REQUIRED"
4314	//   "INPUT_ATTR_STEP"
4315	//   "INPUT_TYPE_SEARCH"
4316	//   "INPUT_TYPE_TEL"
4317	//   "INPUT_TYPE_URL"
4318	//   "INPUT_TYPE_EMAIL"
4319	//   "INPUT_TYPE_DATETIME"
4320	//   "INPUT_TYPE_DATE"
4321	//   "INPUT_TYPE_MONTH"
4322	//   "INPUT_TYPE_WEEK"
4323	//   "INPUT_TYPE_TIME"
4324	//   "INPUT_TYPE_DATETIME_LOCAL"
4325	//   "INPUT_TYPE_NUMBER"
4326	//   "INPUT_TYPE_RANGE"
4327	//   "INPUT_TYPE_COLOR"
4328	//   "LOCAL_STORAGE"
4329	//   "POST_MESSAGE"
4330	//   "SESSION_STORAGE"
4331	//   "WEB_SOCKETS"
4332	//   "WEB_SQL_DATABASE"
4333	//   "WEB_WORKERS"
4334	//   "GEO_LOCATION"
4335	//   "INLINE_SVG"
4336	//   "SMIL"
4337	//   "SVG_HREF"
4338	//   "SVG_CLIP_PATHS"
4339	//   "TOUCH"
4340	//   "WEBGL"
4341	//   "SVG_FILTERS"
4342	//   "SVG_FE_IMAGE"
4343	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4344
4345	// DisplayType: Type of rich media asset. This is a read-only field.
4346	// Applicable to the following creative types: all RICH_MEDIA.
4347	//
4348	// Possible values:
4349	//   "ASSET_DISPLAY_TYPE_INPAGE"
4350	//   "ASSET_DISPLAY_TYPE_FLOATING"
4351	//   "ASSET_DISPLAY_TYPE_OVERLAY"
4352	//   "ASSET_DISPLAY_TYPE_EXPANDING"
4353	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
4354	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
4355	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
4356	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
4357	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
4358	//   "ASSET_DISPLAY_TYPE_BACKDROP"
4359	DisplayType string `json:"displayType,omitempty"`
4360
4361	// Duration: Duration in seconds for which an asset will be displayed.
4362	// Applicable to the following creative types: INSTREAM_AUDIO,
4363	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
4364	// equal to 1.
4365	Duration int64 `json:"duration,omitempty"`
4366
4367	// DurationType: Duration type for which an asset will be displayed.
4368	// Applicable to the following creative types: all RICH_MEDIA.
4369	//
4370	// Possible values:
4371	//   "ASSET_DURATION_TYPE_AUTO"
4372	//   "ASSET_DURATION_TYPE_NONE"
4373	//   "ASSET_DURATION_TYPE_CUSTOM"
4374	DurationType string `json:"durationType,omitempty"`
4375
4376	// ExpandedDimension: Detected expanded dimension for video asset. This
4377	// is a read-only field. Applicable to the following creative types:
4378	// INSTREAM_VIDEO and all VPAID.
4379	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
4380
4381	// FileSize: File size associated with this creative asset. This is a
4382	// read-only field. Applicable to all but the following creative types:
4383	// all REDIRECT and TRACKING_TEXT.
4384	FileSize int64 `json:"fileSize,omitempty,string"`
4385
4386	// FlashVersion: Flash version of the asset. This is a read-only field.
4387	// Applicable to the following creative types: FLASH_INPAGE, all
4388	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
4389	// asset type is not HTML_IMAGE.
4390	FlashVersion int64 `json:"flashVersion,omitempty"`
4391
4392	// FrameRate: Video frame rate for video asset in frames per second.
4393	// This is a read-only field. Applicable to the following creative
4394	// types: INSTREAM_VIDEO and all VPAID.
4395	FrameRate float64 `json:"frameRate,omitempty"`
4396
4397	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
4398	// Applicable to the following creative types: all RICH_MEDIA.
4399	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
4400
4401	// HideSelectionBoxes: Whether to hide selection boxes flag for an
4402	// asset. Applicable to the following creative types: all RICH_MEDIA.
4403	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
4404
4405	// HorizontallyLocked: Whether the asset is horizontally locked. This is
4406	// a read-only field. Applicable to the following creative types: all
4407	// RICH_MEDIA.
4408	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
4409
4410	// Id: Numeric ID of this creative asset. This is a required field and
4411	// should not be modified. Applicable to all but the following creative
4412	// types: all REDIRECT and TRACKING_TEXT.
4413	Id int64 `json:"id,omitempty,string"`
4414
4415	// IdDimensionValue: Dimension value for the ID of the asset. This is a
4416	// read-only, auto-generated field.
4417	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4418
4419	// MediaDuration: Detected duration for audio or video asset. This is a
4420	// read-only field. Applicable to the following creative types:
4421	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4422	MediaDuration float64 `json:"mediaDuration,omitempty"`
4423
4424	// MimeType: Detected MIME type for audio or video asset. This is a
4425	// read-only field. Applicable to the following creative types:
4426	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4427	MimeType string `json:"mimeType,omitempty"`
4428
4429	// Offset: Offset position for an asset in collapsed mode. This is a
4430	// read-only field. Applicable to the following creative types: all
4431	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
4432	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
4433	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
4434	Offset *OffsetPosition `json:"offset,omitempty"`
4435
4436	// Orientation: Orientation of video asset. This is a read-only,
4437	// auto-generated field.
4438	//
4439	// Possible values:
4440	//   "LANDSCAPE"
4441	//   "PORTRAIT"
4442	//   "SQUARE"
4443	Orientation string `json:"orientation,omitempty"`
4444
4445	// OriginalBackup: Whether the backup asset is original or changed by
4446	// the user in Campaign Manager. Applicable to the following creative
4447	// types: all RICH_MEDIA.
4448	OriginalBackup bool `json:"originalBackup,omitempty"`
4449
4450	// PoliteLoad: Whether this asset is used as a polite load asset.
4451	PoliteLoad bool `json:"politeLoad,omitempty"`
4452
4453	// Position: Offset position for an asset. Applicable to the following
4454	// creative types: all RICH_MEDIA.
4455	Position *OffsetPosition `json:"position,omitempty"`
4456
4457	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
4458	// field. Applicable to the following creative types: all RICH_MEDIA.
4459	//
4460	// Possible values:
4461	//   "OFFSET_UNIT_PIXEL"
4462	//   "OFFSET_UNIT_PERCENT"
4463	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4464	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
4465
4466	// PositionTopUnit: Offset top unit for an asset. This is a read-only
4467	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
4468	// Applicable to the following creative types: all RICH_MEDIA.
4469	//
4470	// Possible values:
4471	//   "OFFSET_UNIT_PIXEL"
4472	//   "OFFSET_UNIT_PERCENT"
4473	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4474	PositionTopUnit string `json:"positionTopUnit,omitempty"`
4475
4476	// ProgressiveServingUrl: Progressive URL for video asset. This is a
4477	// read-only field. Applicable to the following creative types:
4478	// INSTREAM_VIDEO and all VPAID.
4479	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
4480
4481	// Pushdown: Whether the asset pushes down other content. Applicable to
4482	// the following creative types: all RICH_MEDIA. Additionally, only
4483	// applicable when the asset offsets are 0, the collapsedSize.width
4484	// matches size.width, and the collapsedSize.height is less than
4485	// size.height.
4486	Pushdown bool `json:"pushdown,omitempty"`
4487
4488	// PushdownDuration: Pushdown duration in seconds for an asset.
4489	// Applicable to the following creative types: all
4490	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
4491	// field is true, the offsets are 0, the collapsedSize.width matches
4492	// size.width, and the collapsedSize.height is less than size.height.
4493	// Acceptable values are 0 to 9.99, inclusive.
4494	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
4495
4496	// Role: Role of the asset in relation to creative. Applicable to all
4497	// but the following creative types: all REDIRECT and TRACKING_TEXT.
4498	// This is a required field. PRIMARY applies to DISPLAY, FLASH_INPAGE,
4499	// HTML5_BANNER, IMAGE, DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may
4500	// contain multiple primary assets), and all VPAID creatives.
4501	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
4502	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
4503	// type is not HTML_IMAGE. ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply
4504	// to FLASH_INPAGE creatives. OTHER refers to assets from sources other
4505	// than Campaign Manager, such as Studio uploaded assets, applicable to
4506	// all RICH_MEDIA and all VPAID creatives. PARENT_VIDEO refers to videos
4507	// uploaded by the user in Campaign Manager and is applicable to
4508	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO creatives. TRANSCODED_VIDEO
4509	// refers to videos transcoded by Campaign Manager from PARENT_VIDEO
4510	// assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
4511	// creatives. ALTERNATE_VIDEO refers to the Campaign Manager
4512	// representation of child asset videos from Studio, and is applicable
4513	// to VPAID_LINEAR_VIDEO creatives. These cannot be added or removed
4514	// within Campaign Manager. For VPAID_LINEAR_VIDEO creatives,
4515	// PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are
4516	// marked active serve as backup in case the VPAID creative cannot be
4517	// served. Only PARENT_VIDEO assets can be added or removed for an
4518	// INSTREAM_VIDEO or VPAID_LINEAR_VIDEO creative. PARENT_AUDIO refers to
4519	// audios uploaded by the user in Campaign Manager and is applicable to
4520	// INSTREAM_AUDIO creatives. TRANSCODED_AUDIO refers to audios
4521	// transcoded by Campaign Manager from PARENT_AUDIO assets and is
4522	// applicable to INSTREAM_AUDIO creatives.
4523	//
4524	// Possible values:
4525	//   "PRIMARY"
4526	//   "BACKUP_IMAGE"
4527	//   "ADDITIONAL_IMAGE"
4528	//   "ADDITIONAL_FLASH"
4529	//   "PARENT_VIDEO"
4530	//   "TRANSCODED_VIDEO"
4531	//   "OTHER"
4532	//   "ALTERNATE_VIDEO"
4533	//   "PARENT_AUDIO"
4534	//   "TRANSCODED_AUDIO"
4535	Role string `json:"role,omitempty"`
4536
4537	// Size: Size associated with this creative asset. This is a required
4538	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
4539	// if left blank, this field will be automatically set using the actual
4540	// size of the associated image asset. Applicable to the following
4541	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
4542	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
4543	// asset type is not HTML_IMAGE.
4544	Size *Size `json:"size,omitempty"`
4545
4546	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
4547	// field. Applicable to all but the following creative types: all
4548	// REDIRECT and TRACKING_TEXT.
4549	SslCompliant bool `json:"sslCompliant,omitempty"`
4550
4551	// StartTimeType: Initial wait time type before making the asset
4552	// visible. Applicable to the following creative types: all RICH_MEDIA.
4553	//
4554	// Possible values:
4555	//   "ASSET_START_TIME_TYPE_NONE"
4556	//   "ASSET_START_TIME_TYPE_CUSTOM"
4557	StartTimeType string `json:"startTimeType,omitempty"`
4558
4559	// StreamingServingUrl: Streaming URL for video asset. This is a
4560	// read-only field. Applicable to the following creative types:
4561	// INSTREAM_VIDEO and all VPAID.
4562	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
4563
4564	// Transparency: Whether the asset is transparent. Applicable to the
4565	// following creative types: all RICH_MEDIA. Additionally, only
4566	// applicable to HTML5 assets.
4567	Transparency bool `json:"transparency,omitempty"`
4568
4569	// VerticallyLocked: Whether the asset is vertically locked. This is a
4570	// read-only field. Applicable to the following creative types: all
4571	// RICH_MEDIA.
4572	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
4573
4574	// WindowMode: Window mode options for flash assets. Applicable to the
4575	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
4576	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
4577	// RICH_MEDIA_INPAGE_FLOATING.
4578	//
4579	// Possible values:
4580	//   "OPAQUE"
4581	//   "WINDOW"
4582	//   "TRANSPARENT"
4583	WindowMode string `json:"windowMode,omitempty"`
4584
4585	// ZIndex: zIndex value of an asset. Applicable to the following
4586	// creative types: all RICH_MEDIA.Additionally, only applicable to
4587	// assets whose displayType is NOT one of the following types:
4588	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
4589	// values are -999999999 to 999999999, inclusive.
4590	ZIndex int64 `json:"zIndex,omitempty"`
4591
4592	// ZipFilename: File name of zip file. This is a read-only field.
4593	// Applicable to the following creative types: HTML5_BANNER.
4594	ZipFilename string `json:"zipFilename,omitempty"`
4595
4596	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
4597	// to the following creative types: HTML5_BANNER.
4598	ZipFilesize string `json:"zipFilesize,omitempty"`
4599
4600	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
4601	// unconditionally include in API requests. By default, fields with
4602	// empty values are omitted from API requests. However, any non-pointer,
4603	// non-interface field appearing in ForceSendFields will be sent to the
4604	// server regardless of whether the field is empty or not. This may be
4605	// used to include empty fields in Patch requests.
4606	ForceSendFields []string `json:"-"`
4607
4608	// NullFields is a list of field names (e.g. "ActionScript3") to include
4609	// in API requests with the JSON null value. By default, fields with
4610	// empty values are omitted from API requests. However, any field with
4611	// an empty value appearing in NullFields will be sent to the server as
4612	// null. It is an error if a field in this list has a non-empty value.
4613	// This may be used to include null fields in Patch requests.
4614	NullFields []string `json:"-"`
4615}
4616
4617func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
4618	type NoMethod CreativeAsset
4619	raw := NoMethod(*s)
4620	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4621}
4622
4623func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
4624	type NoMethod CreativeAsset
4625	var s1 struct {
4626		FrameRate        gensupport.JSONFloat64 `json:"frameRate"`
4627		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
4628		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
4629		*NoMethod
4630	}
4631	s1.NoMethod = (*NoMethod)(s)
4632	if err := json.Unmarshal(data, &s1); err != nil {
4633		return err
4634	}
4635	s.FrameRate = float64(s1.FrameRate)
4636	s.MediaDuration = float64(s1.MediaDuration)
4637	s.PushdownDuration = float64(s1.PushdownDuration)
4638	return nil
4639}
4640
4641// CreativeAssetId: Creative Asset ID.
4642type CreativeAssetId struct {
4643	// Name: Name of the creative asset. This is a required field while
4644	// inserting an asset. After insertion, this assetIdentifier is used to
4645	// identify the uploaded asset. Characters in the name must be
4646	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
4647	Name string `json:"name,omitempty"`
4648
4649	// Type: Type of asset to upload. This is a required field. FLASH and
4650	// IMAGE are no longer supported for new uploads. All image assets
4651	// should use HTML_IMAGE.
4652	//
4653	// Possible values:
4654	//   "IMAGE"
4655	//   "FLASH"
4656	//   "VIDEO"
4657	//   "HTML"
4658	//   "HTML_IMAGE"
4659	//   "AUDIO"
4660	Type string `json:"type,omitempty"`
4661
4662	// ForceSendFields is a list of field names (e.g. "Name") to
4663	// unconditionally include in API requests. By default, fields with
4664	// empty values are omitted from API requests. However, any non-pointer,
4665	// non-interface field appearing in ForceSendFields will be sent to the
4666	// server regardless of whether the field is empty or not. This may be
4667	// used to include empty fields in Patch requests.
4668	ForceSendFields []string `json:"-"`
4669
4670	// NullFields is a list of field names (e.g. "Name") to include in API
4671	// requests with the JSON null value. By default, fields with empty
4672	// values are omitted from API requests. However, any field with an
4673	// empty value appearing in NullFields will be sent to the server as
4674	// null. It is an error if a field in this list has a non-empty value.
4675	// This may be used to include null fields in Patch requests.
4676	NullFields []string `json:"-"`
4677}
4678
4679func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
4680	type NoMethod CreativeAssetId
4681	raw := NoMethod(*s)
4682	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4683}
4684
4685// CreativeAssetMetadata: CreativeAssets contains properties of a
4686// creative asset file which will be uploaded or has already been
4687// uploaded. Refer to the creative sample code for how to upload assets
4688// and insert a creative.
4689type CreativeAssetMetadata struct {
4690	// AssetIdentifier: ID of the creative asset. This is a required field.
4691	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4692
4693	// ClickTags: List of detected click tags for assets. This is a
4694	// read-only, auto-generated field. This field is empty for a rich media
4695	// asset.
4696	ClickTags []*ClickTag `json:"clickTags,omitempty"`
4697
4698	// DetectedFeatures: List of feature dependencies for the creative asset
4699	// that are detected by Campaign Manager. Feature dependencies are
4700	// features that a browser must be able to support in order to render
4701	// your HTML5 creative correctly. This is a read-only, auto-generated
4702	// field.
4703	//
4704	// Possible values:
4705	//   "CSS_FONT_FACE"
4706	//   "CSS_BACKGROUND_SIZE"
4707	//   "CSS_BORDER_IMAGE"
4708	//   "CSS_BORDER_RADIUS"
4709	//   "CSS_BOX_SHADOW"
4710	//   "CSS_FLEX_BOX"
4711	//   "CSS_HSLA"
4712	//   "CSS_MULTIPLE_BGS"
4713	//   "CSS_OPACITY"
4714	//   "CSS_RGBA"
4715	//   "CSS_TEXT_SHADOW"
4716	//   "CSS_ANIMATIONS"
4717	//   "CSS_COLUMNS"
4718	//   "CSS_GENERATED_CONTENT"
4719	//   "CSS_GRADIENTS"
4720	//   "CSS_REFLECTIONS"
4721	//   "CSS_TRANSFORMS"
4722	//   "CSS_TRANSFORMS3D"
4723	//   "CSS_TRANSITIONS"
4724	//   "APPLICATION_CACHE"
4725	//   "CANVAS"
4726	//   "CANVAS_TEXT"
4727	//   "DRAG_AND_DROP"
4728	//   "HASH_CHANGE"
4729	//   "HISTORY"
4730	//   "AUDIO"
4731	//   "VIDEO"
4732	//   "INDEXED_DB"
4733	//   "INPUT_ATTR_AUTOCOMPLETE"
4734	//   "INPUT_ATTR_AUTOFOCUS"
4735	//   "INPUT_ATTR_LIST"
4736	//   "INPUT_ATTR_PLACEHOLDER"
4737	//   "INPUT_ATTR_MAX"
4738	//   "INPUT_ATTR_MIN"
4739	//   "INPUT_ATTR_MULTIPLE"
4740	//   "INPUT_ATTR_PATTERN"
4741	//   "INPUT_ATTR_REQUIRED"
4742	//   "INPUT_ATTR_STEP"
4743	//   "INPUT_TYPE_SEARCH"
4744	//   "INPUT_TYPE_TEL"
4745	//   "INPUT_TYPE_URL"
4746	//   "INPUT_TYPE_EMAIL"
4747	//   "INPUT_TYPE_DATETIME"
4748	//   "INPUT_TYPE_DATE"
4749	//   "INPUT_TYPE_MONTH"
4750	//   "INPUT_TYPE_WEEK"
4751	//   "INPUT_TYPE_TIME"
4752	//   "INPUT_TYPE_DATETIME_LOCAL"
4753	//   "INPUT_TYPE_NUMBER"
4754	//   "INPUT_TYPE_RANGE"
4755	//   "INPUT_TYPE_COLOR"
4756	//   "LOCAL_STORAGE"
4757	//   "POST_MESSAGE"
4758	//   "SESSION_STORAGE"
4759	//   "WEB_SOCKETS"
4760	//   "WEB_SQL_DATABASE"
4761	//   "WEB_WORKERS"
4762	//   "GEO_LOCATION"
4763	//   "INLINE_SVG"
4764	//   "SMIL"
4765	//   "SVG_HREF"
4766	//   "SVG_CLIP_PATHS"
4767	//   "TOUCH"
4768	//   "WEBGL"
4769	//   "SVG_FILTERS"
4770	//   "SVG_FE_IMAGE"
4771	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4772
4773	// Id: Numeric ID of the asset. This is a read-only, auto-generated
4774	// field.
4775	Id int64 `json:"id,omitempty,string"`
4776
4777	// IdDimensionValue: Dimension value for the numeric ID of the asset.
4778	// This is a read-only, auto-generated field.
4779	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4780
4781	// Kind: Identifies what kind of resource this is. Value: the fixed
4782	// string "dfareporting#creativeAssetMetadata".
4783	Kind string `json:"kind,omitempty"`
4784
4785	// WarnedValidationRules: Rules validated during code generation that
4786	// generated a warning. This is a read-only, auto-generated field.
4787	// Possible values are: - "ADMOB_REFERENCED" -
4788	// "ASSET_FORMAT_UNSUPPORTED_DCM" - "ASSET_INVALID" -
4789	// "CLICK_TAG_HARD_CODED" - "CLICK_TAG_INVALID" - "CLICK_TAG_IN_GWD" -
4790	// "CLICK_TAG_MISSING" - "CLICK_TAG_MORE_THAN_ONE" -
4791	// "CLICK_TAG_NON_TOP_LEVEL" - "COMPONENT_UNSUPPORTED_DCM" -
4792	// "ENABLER_UNSUPPORTED_METHOD_DCM" - "EXTERNAL_FILE_REFERENCED" -
4793	// "FILE_DETAIL_EMPTY" - "FILE_TYPE_INVALID" - "GWD_PROPERTIES_INVALID"
4794	// - "HTML5_FEATURE_UNSUPPORTED" - "LINKED_FILE_NOT_FOUND" -
4795	// "MAX_FLASH_VERSION_11" - "MRAID_REFERENCED" - "NOT_SSL_COMPLIANT" -
4796	// "ORPHANED_ASSET" - "PRIMARY_HTML_MISSING" - "SVG_INVALID" -
4797	// "ZIP_INVALID"
4798	//
4799	// Possible values:
4800	//   "CLICK_TAG_NON_TOP_LEVEL"
4801	//   "CLICK_TAG_MISSING"
4802	//   "CLICK_TAG_MORE_THAN_ONE"
4803	//   "CLICK_TAG_INVALID"
4804	//   "ORPHANED_ASSET"
4805	//   "PRIMARY_HTML_MISSING"
4806	//   "EXTERNAL_FILE_REFERENCED"
4807	//   "MRAID_REFERENCED"
4808	//   "ADMOB_REFERENCED"
4809	//   "FILE_TYPE_INVALID"
4810	//   "ZIP_INVALID"
4811	//   "LINKED_FILE_NOT_FOUND"
4812	//   "MAX_FLASH_VERSION_11"
4813	//   "NOT_SSL_COMPLIANT"
4814	//   "FILE_DETAIL_EMPTY"
4815	//   "ASSET_INVALID"
4816	//   "GWD_PROPERTIES_INVALID"
4817	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
4818	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
4819	//   "COMPONENT_UNSUPPORTED_DCM"
4820	//   "HTML5_FEATURE_UNSUPPORTED"
4821	//   "CLICK_TAG_IN_GWD"
4822	//   "CLICK_TAG_HARD_CODED"
4823	//   "SVG_INVALID"
4824	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
4825
4826	// ServerResponse contains the HTTP response code and headers from the
4827	// server.
4828	googleapi.ServerResponse `json:"-"`
4829
4830	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
4831	// unconditionally include in API requests. By default, fields with
4832	// empty values are omitted from API requests. However, any non-pointer,
4833	// non-interface field appearing in ForceSendFields will be sent to the
4834	// server regardless of whether the field is empty or not. This may be
4835	// used to include empty fields in Patch requests.
4836	ForceSendFields []string `json:"-"`
4837
4838	// NullFields is a list of field names (e.g. "AssetIdentifier") to
4839	// include in API requests with the JSON null value. By default, fields
4840	// with empty values are omitted from API requests. However, any field
4841	// with an empty value appearing in NullFields will be sent to the
4842	// server as null. It is an error if a field in this list has a
4843	// non-empty value. This may be used to include null fields in Patch
4844	// requests.
4845	NullFields []string `json:"-"`
4846}
4847
4848func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
4849	type NoMethod CreativeAssetMetadata
4850	raw := NoMethod(*s)
4851	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4852}
4853
4854// CreativeAssetSelection: Encapsulates the list of rules for asset
4855// selection and a default asset in case none of the rules match.
4856// Applicable to INSTREAM_VIDEO creatives.
4857type CreativeAssetSelection struct {
4858	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
4859	// the parent assets in this creative, and will be served if none of the
4860	// rules match. This is a required field.
4861	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
4862
4863	// Rules: Rules determine which asset will be served to a viewer. Rules
4864	// will be evaluated in the order in which they are stored in this list.
4865	// This list must contain at least one rule. Applicable to
4866	// INSTREAM_VIDEO creatives.
4867	Rules []*Rule `json:"rules,omitempty"`
4868
4869	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
4870	// unconditionally include in API requests. By default, fields with
4871	// empty values are omitted from API requests. However, any non-pointer,
4872	// non-interface field appearing in ForceSendFields will be sent to the
4873	// server regardless of whether the field is empty or not. This may be
4874	// used to include empty fields in Patch requests.
4875	ForceSendFields []string `json:"-"`
4876
4877	// NullFields is a list of field names (e.g. "DefaultAssetId") to
4878	// include in API requests with the JSON null value. By default, fields
4879	// with empty values are omitted from API requests. However, any field
4880	// with an empty value appearing in NullFields will be sent to the
4881	// server as null. It is an error if a field in this list has a
4882	// non-empty value. This may be used to include null fields in Patch
4883	// requests.
4884	NullFields []string `json:"-"`
4885}
4886
4887func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
4888	type NoMethod CreativeAssetSelection
4889	raw := NoMethod(*s)
4890	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4891}
4892
4893// CreativeAssignment: Creative Assignment.
4894type CreativeAssignment struct {
4895	// Active: Whether this creative assignment is active. When true, the
4896	// creative will be included in the ad's rotation.
4897	Active bool `json:"active,omitempty"`
4898
4899	// ApplyEventTags: Whether applicable event tags should fire when this
4900	// creative assignment is rendered. If this value is unset when the ad
4901	// is inserted or updated, it will default to true for all creative
4902	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
4903	// and INSTREAM_VIDEO.
4904	ApplyEventTags bool `json:"applyEventTags,omitempty"`
4905
4906	// ClickThroughUrl: Click-through URL of the creative assignment.
4907	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
4908
4909	// CompanionCreativeOverrides: Companion creative overrides for this
4910	// creative assignment. Applicable to video ads.
4911	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
4912
4913	// CreativeGroupAssignments: Creative group assignments for this
4914	// creative assignment. Only one assignment per creative group number is
4915	// allowed for a maximum of two assignments.
4916	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
4917
4918	// CreativeId: ID of the creative to be assigned. This is a required
4919	// field.
4920	CreativeId int64 `json:"creativeId,omitempty,string"`
4921
4922	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
4923	// This is a read-only, auto-generated field.
4924	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
4925
4926	EndTime string `json:"endTime,omitempty"`
4927
4928	// RichMediaExitOverrides: Rich media exit overrides for this creative
4929	// assignment. Applicable when the creative type is any of the
4930	// following: - DISPLAY - RICH_MEDIA_INPAGE - RICH_MEDIA_INPAGE_FLOATING
4931	// - RICH_MEDIA_IM_EXPAND - RICH_MEDIA_EXPANDING -
4932	// RICH_MEDIA_INTERSTITIAL_FLOAT - RICH_MEDIA_MOBILE_IN_APP -
4933	// RICH_MEDIA_MULTI_FLOATING - RICH_MEDIA_PEEL_DOWN - VPAID_LINEAR -
4934	// VPAID_NON_LINEAR
4935	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
4936
4937	// Sequence: Sequence number of the creative assignment, applicable when
4938	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
4939	// values are 1 to 65535, inclusive.
4940	Sequence int64 `json:"sequence,omitempty"`
4941
4942	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
4943	// This is a read-only field that is auto-generated when the ad is
4944	// inserted or updated.
4945	SslCompliant bool `json:"sslCompliant,omitempty"`
4946
4947	StartTime string `json:"startTime,omitempty"`
4948
4949	// Weight: Weight of the creative assignment, applicable when the
4950	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
4951	// than or equal to 1.
4952	Weight int64 `json:"weight,omitempty"`
4953
4954	// ForceSendFields is a list of field names (e.g. "Active") to
4955	// unconditionally include in API requests. By default, fields with
4956	// empty values are omitted from API requests. However, any non-pointer,
4957	// non-interface field appearing in ForceSendFields will be sent to the
4958	// server regardless of whether the field is empty or not. This may be
4959	// used to include empty fields in Patch requests.
4960	ForceSendFields []string `json:"-"`
4961
4962	// NullFields is a list of field names (e.g. "Active") to include in API
4963	// requests with the JSON null value. By default, fields with empty
4964	// values are omitted from API requests. However, any field with an
4965	// empty value appearing in NullFields will be sent to the server as
4966	// null. It is an error if a field in this list has a non-empty value.
4967	// This may be used to include null fields in Patch requests.
4968	NullFields []string `json:"-"`
4969}
4970
4971func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
4972	type NoMethod CreativeAssignment
4973	raw := NoMethod(*s)
4974	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4975}
4976
4977// CreativeClickThroughUrl: Click-through URL
4978type CreativeClickThroughUrl struct {
4979	// ComputedClickThroughUrl: Read-only convenience field representing the
4980	// actual URL that will be used for this click-through. The URL is
4981	// computed as follows: - If landingPageId is specified then that
4982	// landing page's URL is assigned to this field. - Otherwise, the
4983	// customClickThroughUrl is assigned to this field.
4984	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
4985
4986	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
4987	// landingPageId field is left unset.
4988	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
4989
4990	// LandingPageId: ID of the landing page for the click-through URL.
4991	LandingPageId int64 `json:"landingPageId,omitempty,string"`
4992
4993	// ForceSendFields is a list of field names (e.g.
4994	// "ComputedClickThroughUrl") to unconditionally include in API
4995	// requests. By default, fields with empty values are omitted from API
4996	// requests. However, any non-pointer, non-interface field appearing in
4997	// ForceSendFields will be sent to the server regardless of whether the
4998	// field is empty or not. This may be used to include empty fields in
4999	// Patch requests.
5000	ForceSendFields []string `json:"-"`
5001
5002	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
5003	// to include in API requests with the JSON null value. By default,
5004	// fields with empty values are omitted from API requests. However, any
5005	// field with an empty value appearing in NullFields will be sent to the
5006	// server as null. It is an error if a field in this list has a
5007	// non-empty value. This may be used to include null fields in Patch
5008	// requests.
5009	NullFields []string `json:"-"`
5010}
5011
5012func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
5013	type NoMethod CreativeClickThroughUrl
5014	raw := NoMethod(*s)
5015	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5016}
5017
5018// CreativeCustomEvent: Creative Custom Event.
5019type CreativeCustomEvent struct {
5020	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
5021	// and Data Transfer. This is a read-only field.
5022	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
5023
5024	// AdvertiserCustomEventName: User-entered name for the event.
5025	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
5026
5027	// AdvertiserCustomEventType: Type of the event. This is a read-only
5028	// field.
5029	//
5030	// Possible values:
5031	//   "ADVERTISER_EVENT_TIMER"
5032	//   "ADVERTISER_EVENT_EXIT"
5033	//   "ADVERTISER_EVENT_COUNTER"
5034	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
5035
5036	// ArtworkLabel: Artwork label column, used to link events in Campaign
5037	// Manager back to events in Studio. This is a required field and should
5038	// not be modified after insertion.
5039	ArtworkLabel string `json:"artworkLabel,omitempty"`
5040
5041	// ArtworkType: Artwork type used by the creative.This is a read-only
5042	// field.
5043	//
5044	// Possible values:
5045	//   "ARTWORK_TYPE_FLASH"
5046	//   "ARTWORK_TYPE_HTML5"
5047	//   "ARTWORK_TYPE_MIXED"
5048	//   "ARTWORK_TYPE_IMAGE"
5049	ArtworkType string `json:"artworkType,omitempty"`
5050
5051	// ExitClickThroughUrl: Exit click-through URL for the event. This field
5052	// is used only for exit events.
5053	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
5054
5055	// Id: ID of this event. This is a required field and should not be
5056	// modified after insertion.
5057	Id int64 `json:"id,omitempty,string"`
5058
5059	// PopupWindowProperties: Properties for rich media popup windows. This
5060	// field is used only for exit events.
5061	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
5062
5063	// TargetType: Target type used by the event.
5064	//
5065	// Possible values:
5066	//   "TARGET_BLANK"
5067	//   "TARGET_TOP"
5068	//   "TARGET_SELF"
5069	//   "TARGET_PARENT"
5070	//   "TARGET_POPUP"
5071	TargetType string `json:"targetType,omitempty"`
5072
5073	// VideoReportingId: Video reporting ID, used to differentiate multiple
5074	// videos in a single creative. This is a read-only field.
5075	VideoReportingId string `json:"videoReportingId,omitempty"`
5076
5077	// ForceSendFields is a list of field names (e.g.
5078	// "AdvertiserCustomEventId") to unconditionally include in API
5079	// requests. By default, fields with empty values are omitted from API
5080	// requests. However, any non-pointer, non-interface field appearing in
5081	// ForceSendFields will be sent to the server regardless of whether the
5082	// field is empty or not. This may be used to include empty fields in
5083	// Patch requests.
5084	ForceSendFields []string `json:"-"`
5085
5086	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
5087	// to include in API requests with the JSON null value. By default,
5088	// fields with empty values are omitted from API requests. However, any
5089	// field with an empty value appearing in NullFields will be sent to the
5090	// server as null. It is an error if a field in this list has a
5091	// non-empty value. This may be used to include null fields in Patch
5092	// requests.
5093	NullFields []string `json:"-"`
5094}
5095
5096func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
5097	type NoMethod CreativeCustomEvent
5098	raw := NoMethod(*s)
5099	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5100}
5101
5102// CreativeField: Contains properties of a creative field.
5103type CreativeField struct {
5104	// AccountId: Account ID of this creative field. This is a read-only
5105	// field that can be left blank.
5106	AccountId int64 `json:"accountId,omitempty,string"`
5107
5108	// AdvertiserId: Advertiser ID of this creative field. This is a
5109	// required field on insertion.
5110	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5111
5112	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5113	// advertiser. This is a read-only, auto-generated field.
5114	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5115
5116	// Id: ID of this creative field. This is a read-only, auto-generated
5117	// field.
5118	Id int64 `json:"id,omitempty,string"`
5119
5120	// Kind: Identifies what kind of resource this is. Value: the fixed
5121	// string "dfareporting#creativeField".
5122	Kind string `json:"kind,omitempty"`
5123
5124	// Name: Name of this creative field. This is a required field and must
5125	// be less than 256 characters long and unique among creative fields of
5126	// the same advertiser.
5127	Name string `json:"name,omitempty"`
5128
5129	// SubaccountId: Subaccount ID of this creative field. This is a
5130	// read-only field that can be left blank.
5131	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5132
5133	// ServerResponse contains the HTTP response code and headers from the
5134	// server.
5135	googleapi.ServerResponse `json:"-"`
5136
5137	// ForceSendFields is a list of field names (e.g. "AccountId") to
5138	// unconditionally include in API requests. By default, fields with
5139	// empty values are omitted from API requests. However, any non-pointer,
5140	// non-interface field appearing in ForceSendFields will be sent to the
5141	// server regardless of whether the field is empty or not. This may be
5142	// used to include empty fields in Patch requests.
5143	ForceSendFields []string `json:"-"`
5144
5145	// NullFields is a list of field names (e.g. "AccountId") to include in
5146	// API requests with the JSON null value. By default, fields with empty
5147	// values are omitted from API requests. However, any field with an
5148	// empty value appearing in NullFields will be sent to the server as
5149	// null. It is an error if a field in this list has a non-empty value.
5150	// This may be used to include null fields in Patch requests.
5151	NullFields []string `json:"-"`
5152}
5153
5154func (s *CreativeField) MarshalJSON() ([]byte, error) {
5155	type NoMethod CreativeField
5156	raw := NoMethod(*s)
5157	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5158}
5159
5160// CreativeFieldAssignment: Creative Field Assignment.
5161type CreativeFieldAssignment struct {
5162	// CreativeFieldId: ID of the creative field.
5163	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
5164
5165	// CreativeFieldValueId: ID of the creative field value.
5166	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
5167
5168	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
5169	// unconditionally include in API requests. By default, fields with
5170	// empty values are omitted from API requests. However, any non-pointer,
5171	// non-interface field appearing in ForceSendFields will be sent to the
5172	// server regardless of whether the field is empty or not. This may be
5173	// used to include empty fields in Patch requests.
5174	ForceSendFields []string `json:"-"`
5175
5176	// NullFields is a list of field names (e.g. "CreativeFieldId") to
5177	// include in API requests with the JSON null value. By default, fields
5178	// with empty values are omitted from API requests. However, any field
5179	// with an empty value appearing in NullFields will be sent to the
5180	// server as null. It is an error if a field in this list has a
5181	// non-empty value. This may be used to include null fields in Patch
5182	// requests.
5183	NullFields []string `json:"-"`
5184}
5185
5186func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
5187	type NoMethod CreativeFieldAssignment
5188	raw := NoMethod(*s)
5189	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5190}
5191
5192// CreativeFieldValue: Contains properties of a creative field value.
5193type CreativeFieldValue struct {
5194	// Id: ID of this creative field value. This is a read-only,
5195	// auto-generated field.
5196	Id int64 `json:"id,omitempty,string"`
5197
5198	// Kind: Identifies what kind of resource this is. Value: the fixed
5199	// string "dfareporting#creativeFieldValue".
5200	Kind string `json:"kind,omitempty"`
5201
5202	// Value: Value of this creative field value. It needs to be less than
5203	// 256 characters in length and unique per creative field.
5204	Value string `json:"value,omitempty"`
5205
5206	// ServerResponse contains the HTTP response code and headers from the
5207	// server.
5208	googleapi.ServerResponse `json:"-"`
5209
5210	// ForceSendFields is a list of field names (e.g. "Id") to
5211	// unconditionally include in API requests. By default, fields with
5212	// empty values are omitted from API requests. However, any non-pointer,
5213	// non-interface field appearing in ForceSendFields will be sent to the
5214	// server regardless of whether the field is empty or not. This may be
5215	// used to include empty fields in Patch requests.
5216	ForceSendFields []string `json:"-"`
5217
5218	// NullFields is a list of field names (e.g. "Id") to include in API
5219	// requests with the JSON null value. By default, fields with empty
5220	// values are omitted from API requests. However, any field with an
5221	// empty value appearing in NullFields will be sent to the server as
5222	// null. It is an error if a field in this list has a non-empty value.
5223	// This may be used to include null fields in Patch requests.
5224	NullFields []string `json:"-"`
5225}
5226
5227func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
5228	type NoMethod CreativeFieldValue
5229	raw := NoMethod(*s)
5230	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5231}
5232
5233// CreativeFieldValuesListResponse: Creative Field Value List Response
5234type CreativeFieldValuesListResponse struct {
5235	// CreativeFieldValues: Creative field value collection.
5236	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
5237
5238	// Kind: Identifies what kind of resource this is. Value: the fixed
5239	// string "dfareporting#creativeFieldValuesListResponse".
5240	Kind string `json:"kind,omitempty"`
5241
5242	// NextPageToken: Pagination token to be used for the next list
5243	// operation.
5244	NextPageToken string `json:"nextPageToken,omitempty"`
5245
5246	// ServerResponse contains the HTTP response code and headers from the
5247	// server.
5248	googleapi.ServerResponse `json:"-"`
5249
5250	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
5251	// to unconditionally include in API requests. By default, fields with
5252	// empty values are omitted from API requests. However, any non-pointer,
5253	// non-interface field appearing in ForceSendFields will be sent to the
5254	// server regardless of whether the field is empty or not. This may be
5255	// used to include empty fields in Patch requests.
5256	ForceSendFields []string `json:"-"`
5257
5258	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
5259	// include in API requests with the JSON null value. By default, fields
5260	// with empty values are omitted from API requests. However, any field
5261	// with an empty value appearing in NullFields will be sent to the
5262	// server as null. It is an error if a field in this list has a
5263	// non-empty value. This may be used to include null fields in Patch
5264	// requests.
5265	NullFields []string `json:"-"`
5266}
5267
5268func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
5269	type NoMethod CreativeFieldValuesListResponse
5270	raw := NoMethod(*s)
5271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5272}
5273
5274// CreativeFieldsListResponse: Creative Field List Response
5275type CreativeFieldsListResponse struct {
5276	// CreativeFields: Creative field collection.
5277	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
5278
5279	// Kind: Identifies what kind of resource this is. Value: the fixed
5280	// string "dfareporting#creativeFieldsListResponse".
5281	Kind string `json:"kind,omitempty"`
5282
5283	// NextPageToken: Pagination token to be used for the next list
5284	// operation.
5285	NextPageToken string `json:"nextPageToken,omitempty"`
5286
5287	// ServerResponse contains the HTTP response code and headers from the
5288	// server.
5289	googleapi.ServerResponse `json:"-"`
5290
5291	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
5292	// unconditionally include in API requests. By default, fields with
5293	// empty values are omitted from API requests. However, any non-pointer,
5294	// non-interface field appearing in ForceSendFields will be sent to the
5295	// server regardless of whether the field is empty or not. This may be
5296	// used to include empty fields in Patch requests.
5297	ForceSendFields []string `json:"-"`
5298
5299	// NullFields is a list of field names (e.g. "CreativeFields") to
5300	// include in API requests with the JSON null value. By default, fields
5301	// with empty values are omitted from API requests. However, any field
5302	// with an empty value appearing in NullFields will be sent to the
5303	// server as null. It is an error if a field in this list has a
5304	// non-empty value. This may be used to include null fields in Patch
5305	// requests.
5306	NullFields []string `json:"-"`
5307}
5308
5309func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
5310	type NoMethod CreativeFieldsListResponse
5311	raw := NoMethod(*s)
5312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5313}
5314
5315// CreativeGroup: Contains properties of a creative group.
5316type CreativeGroup struct {
5317	// AccountId: Account ID of this creative group. This is a read-only
5318	// field that can be left blank.
5319	AccountId int64 `json:"accountId,omitempty,string"`
5320
5321	// AdvertiserId: Advertiser ID of this creative group. This is a
5322	// required field on insertion.
5323	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5324
5325	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5326	// advertiser. This is a read-only, auto-generated field.
5327	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5328
5329	// GroupNumber: Subgroup of the creative group. Assign your creative
5330	// groups to a subgroup in order to filter or manage them more easily.
5331	// This field is required on insertion and is read-only after insertion.
5332	// Acceptable values are 1 to 2, inclusive.
5333	GroupNumber int64 `json:"groupNumber,omitempty"`
5334
5335	// Id: ID of this creative group. This is a read-only, auto-generated
5336	// field.
5337	Id int64 `json:"id,omitempty,string"`
5338
5339	// Kind: Identifies what kind of resource this is. Value: the fixed
5340	// string "dfareporting#creativeGroup".
5341	Kind string `json:"kind,omitempty"`
5342
5343	// Name: Name of this creative group. This is a required field and must
5344	// be less than 256 characters long and unique among creative groups of
5345	// the same advertiser.
5346	Name string `json:"name,omitempty"`
5347
5348	// SubaccountId: Subaccount ID of this creative group. This is a
5349	// read-only field that can be left blank.
5350	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5351
5352	// ServerResponse contains the HTTP response code and headers from the
5353	// server.
5354	googleapi.ServerResponse `json:"-"`
5355
5356	// ForceSendFields is a list of field names (e.g. "AccountId") to
5357	// unconditionally include in API requests. By default, fields with
5358	// empty values are omitted from API requests. However, any non-pointer,
5359	// non-interface field appearing in ForceSendFields will be sent to the
5360	// server regardless of whether the field is empty or not. This may be
5361	// used to include empty fields in Patch requests.
5362	ForceSendFields []string `json:"-"`
5363
5364	// NullFields is a list of field names (e.g. "AccountId") to include in
5365	// API requests with the JSON null value. By default, fields with empty
5366	// values are omitted from API requests. However, any field with an
5367	// empty value appearing in NullFields will be sent to the server as
5368	// null. It is an error if a field in this list has a non-empty value.
5369	// This may be used to include null fields in Patch requests.
5370	NullFields []string `json:"-"`
5371}
5372
5373func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
5374	type NoMethod CreativeGroup
5375	raw := NoMethod(*s)
5376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5377}
5378
5379// CreativeGroupAssignment: Creative Group Assignment.
5380type CreativeGroupAssignment struct {
5381	// CreativeGroupId: ID of the creative group to be assigned.
5382	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
5383
5384	// CreativeGroupNumber: Creative group number of the creative group
5385	// assignment.
5386	//
5387	// Possible values:
5388	//   "CREATIVE_GROUP_ONE"
5389	//   "CREATIVE_GROUP_TWO"
5390	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
5391
5392	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
5393	// unconditionally include in API requests. By default, fields with
5394	// empty values are omitted from API requests. However, any non-pointer,
5395	// non-interface field appearing in ForceSendFields will be sent to the
5396	// server regardless of whether the field is empty or not. This may be
5397	// used to include empty fields in Patch requests.
5398	ForceSendFields []string `json:"-"`
5399
5400	// NullFields is a list of field names (e.g. "CreativeGroupId") to
5401	// include in API requests with the JSON null value. By default, fields
5402	// with empty values are omitted from API requests. However, any field
5403	// with an empty value appearing in NullFields will be sent to the
5404	// server as null. It is an error if a field in this list has a
5405	// non-empty value. This may be used to include null fields in Patch
5406	// requests.
5407	NullFields []string `json:"-"`
5408}
5409
5410func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
5411	type NoMethod CreativeGroupAssignment
5412	raw := NoMethod(*s)
5413	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5414}
5415
5416// CreativeGroupsListResponse: Creative Group List Response
5417type CreativeGroupsListResponse struct {
5418	// CreativeGroups: Creative group collection.
5419	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
5420
5421	// Kind: Identifies what kind of resource this is. Value: the fixed
5422	// string "dfareporting#creativeGroupsListResponse".
5423	Kind string `json:"kind,omitempty"`
5424
5425	// NextPageToken: Pagination token to be used for the next list
5426	// operation.
5427	NextPageToken string `json:"nextPageToken,omitempty"`
5428
5429	// ServerResponse contains the HTTP response code and headers from the
5430	// server.
5431	googleapi.ServerResponse `json:"-"`
5432
5433	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
5434	// unconditionally include in API requests. By default, fields with
5435	// empty values are omitted from API requests. However, any non-pointer,
5436	// non-interface field appearing in ForceSendFields will be sent to the
5437	// server regardless of whether the field is empty or not. This may be
5438	// used to include empty fields in Patch requests.
5439	ForceSendFields []string `json:"-"`
5440
5441	// NullFields is a list of field names (e.g. "CreativeGroups") to
5442	// include in API requests with the JSON null value. By default, fields
5443	// with empty values are omitted from API requests. However, any field
5444	// with an empty value appearing in NullFields will be sent to the
5445	// server as null. It is an error if a field in this list has a
5446	// non-empty value. This may be used to include null fields in Patch
5447	// requests.
5448	NullFields []string `json:"-"`
5449}
5450
5451func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
5452	type NoMethod CreativeGroupsListResponse
5453	raw := NoMethod(*s)
5454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5455}
5456
5457// CreativeOptimizationConfiguration: Creative optimization settings.
5458type CreativeOptimizationConfiguration struct {
5459	// Id: ID of this creative optimization config. This field is
5460	// auto-generated when the campaign is inserted or updated. It can be
5461	// null for existing campaigns.
5462	Id int64 `json:"id,omitempty,string"`
5463
5464	// Name: Name of this creative optimization config. This is a required
5465	// field and must be less than 129 characters long.
5466	Name string `json:"name,omitempty"`
5467
5468	// OptimizationActivitys: List of optimization activities associated
5469	// with this configuration.
5470	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
5471
5472	// OptimizationModel: Optimization model for this configuration.
5473	//
5474	// Possible values:
5475	//   "CLICK"
5476	//   "POST_CLICK"
5477	//   "POST_IMPRESSION"
5478	//   "POST_CLICK_AND_IMPRESSION"
5479	//   "VIDEO_COMPLETION"
5480	OptimizationModel string `json:"optimizationModel,omitempty"`
5481
5482	// ForceSendFields is a list of field names (e.g. "Id") to
5483	// unconditionally include in API requests. By default, fields with
5484	// empty values are omitted from API requests. However, any non-pointer,
5485	// non-interface field appearing in ForceSendFields will be sent to the
5486	// server regardless of whether the field is empty or not. This may be
5487	// used to include empty fields in Patch requests.
5488	ForceSendFields []string `json:"-"`
5489
5490	// NullFields is a list of field names (e.g. "Id") to include in API
5491	// requests with the JSON null value. By default, fields with empty
5492	// values are omitted from API requests. However, any field with an
5493	// empty value appearing in NullFields will be sent to the server as
5494	// null. It is an error if a field in this list has a non-empty value.
5495	// This may be used to include null fields in Patch requests.
5496	NullFields []string `json:"-"`
5497}
5498
5499func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
5500	type NoMethod CreativeOptimizationConfiguration
5501	raw := NoMethod(*s)
5502	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5503}
5504
5505// CreativeRotation: Creative Rotation.
5506type CreativeRotation struct {
5507	// CreativeAssignments: Creative assignments in this creative rotation.
5508	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
5509
5510	// CreativeOptimizationConfigurationId: Creative optimization
5511	// configuration that is used by this ad. It should refer to one of the
5512	// existing optimization configurations in the ad's campaign. If it is
5513	// unset or set to 0, then the campaign's default optimization
5514	// configuration will be used for this ad.
5515	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
5516
5517	// Type: Type of creative rotation. Can be used to specify whether to
5518	// use sequential or random rotation.
5519	//
5520	// Possible values:
5521	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
5522	//   "CREATIVE_ROTATION_TYPE_RANDOM"
5523	Type string `json:"type,omitempty"`
5524
5525	// WeightCalculationStrategy: Strategy for calculating weights. Used
5526	// with CREATIVE_ROTATION_TYPE_RANDOM.
5527	//
5528	// Possible values:
5529	//   "WEIGHT_STRATEGY_EQUAL"
5530	//   "WEIGHT_STRATEGY_CUSTOM"
5531	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
5532	//   "WEIGHT_STRATEGY_OPTIMIZED"
5533	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
5534
5535	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
5536	// to unconditionally include in API requests. By default, fields with
5537	// empty values are omitted from API requests. However, any non-pointer,
5538	// non-interface field appearing in ForceSendFields will be sent to the
5539	// server regardless of whether the field is empty or not. This may be
5540	// used to include empty fields in Patch requests.
5541	ForceSendFields []string `json:"-"`
5542
5543	// NullFields is a list of field names (e.g. "CreativeAssignments") to
5544	// include in API requests with the JSON null value. By default, fields
5545	// with empty values are omitted from API requests. However, any field
5546	// with an empty value appearing in NullFields will be sent to the
5547	// server as null. It is an error if a field in this list has a
5548	// non-empty value. This may be used to include null fields in Patch
5549	// requests.
5550	NullFields []string `json:"-"`
5551}
5552
5553func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
5554	type NoMethod CreativeRotation
5555	raw := NoMethod(*s)
5556	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5557}
5558
5559// CreativesListResponse: Creative List Response
5560type CreativesListResponse struct {
5561	// Creatives: Creative collection.
5562	Creatives []*Creative `json:"creatives,omitempty"`
5563
5564	// Kind: Identifies what kind of resource this is. Value: the fixed
5565	// string "dfareporting#creativesListResponse".
5566	Kind string `json:"kind,omitempty"`
5567
5568	// NextPageToken: Pagination token to be used for the next list
5569	// operation.
5570	NextPageToken string `json:"nextPageToken,omitempty"`
5571
5572	// ServerResponse contains the HTTP response code and headers from the
5573	// server.
5574	googleapi.ServerResponse `json:"-"`
5575
5576	// ForceSendFields is a list of field names (e.g. "Creatives") to
5577	// unconditionally include in API requests. By default, fields with
5578	// empty values are omitted from API requests. However, any non-pointer,
5579	// non-interface field appearing in ForceSendFields will be sent to the
5580	// server regardless of whether the field is empty or not. This may be
5581	// used to include empty fields in Patch requests.
5582	ForceSendFields []string `json:"-"`
5583
5584	// NullFields is a list of field names (e.g. "Creatives") to include in
5585	// API requests with the JSON null value. By default, fields with empty
5586	// values are omitted from API requests. However, any field with an
5587	// empty value appearing in NullFields will be sent to the server as
5588	// null. It is an error if a field in this list has a non-empty value.
5589	// This may be used to include null fields in Patch requests.
5590	NullFields []string `json:"-"`
5591}
5592
5593func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
5594	type NoMethod CreativesListResponse
5595	raw := NoMethod(*s)
5596	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5597}
5598
5599// CrossDimensionReachReportCompatibleFields: Represents fields that are
5600// compatible to be selected for a report of type
5601// "CROSS_DIMENSION_REACH".
5602type CrossDimensionReachReportCompatibleFields struct {
5603	// Breakdown: Dimensions which are compatible to be selected in the
5604	// "breakdown" section of the report.
5605	Breakdown []*Dimension `json:"breakdown,omitempty"`
5606
5607	// DimensionFilters: Dimensions which are compatible to be selected in
5608	// the "dimensionFilters" section of the report.
5609	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
5610
5611	// Kind: The kind of resource this is, in this case
5612	// dfareporting#crossDimensionReachReportCompatibleFields.
5613	Kind string `json:"kind,omitempty"`
5614
5615	// Metrics: Metrics which are compatible to be selected in the
5616	// "metricNames" section of the report.
5617	Metrics []*Metric `json:"metrics,omitempty"`
5618
5619	// OverlapMetrics: Metrics which are compatible to be selected in the
5620	// "overlapMetricNames" section of the report.
5621	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
5622
5623	// ForceSendFields is a list of field names (e.g. "Breakdown") to
5624	// unconditionally include in API requests. By default, fields with
5625	// empty values are omitted from API requests. However, any non-pointer,
5626	// non-interface field appearing in ForceSendFields will be sent to the
5627	// server regardless of whether the field is empty or not. This may be
5628	// used to include empty fields in Patch requests.
5629	ForceSendFields []string `json:"-"`
5630
5631	// NullFields is a list of field names (e.g. "Breakdown") to include in
5632	// API requests with the JSON null value. By default, fields with empty
5633	// values are omitted from API requests. However, any field with an
5634	// empty value appearing in NullFields will be sent to the server as
5635	// null. It is an error if a field in this list has a non-empty value.
5636	// This may be used to include null fields in Patch requests.
5637	NullFields []string `json:"-"`
5638}
5639
5640func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
5641	type NoMethod CrossDimensionReachReportCompatibleFields
5642	raw := NoMethod(*s)
5643	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5644}
5645
5646// CustomFloodlightVariable: A custom floodlight variable.
5647type CustomFloodlightVariable struct {
5648	// Kind: Identifies what kind of resource this is. Value: the fixed
5649	// string "dfareporting#customFloodlightVariable".
5650	Kind string `json:"kind,omitempty"`
5651
5652	// Type: The type of custom floodlight variable to supply a value for.
5653	// These map to the "u[1-20]=" in the tags.
5654	//
5655	// Possible values:
5656	//   "U1"
5657	//   "U2"
5658	//   "U3"
5659	//   "U4"
5660	//   "U5"
5661	//   "U6"
5662	//   "U7"
5663	//   "U8"
5664	//   "U9"
5665	//   "U10"
5666	//   "U11"
5667	//   "U12"
5668	//   "U13"
5669	//   "U14"
5670	//   "U15"
5671	//   "U16"
5672	//   "U17"
5673	//   "U18"
5674	//   "U19"
5675	//   "U20"
5676	//   "U21"
5677	//   "U22"
5678	//   "U23"
5679	//   "U24"
5680	//   "U25"
5681	//   "U26"
5682	//   "U27"
5683	//   "U28"
5684	//   "U29"
5685	//   "U30"
5686	//   "U31"
5687	//   "U32"
5688	//   "U33"
5689	//   "U34"
5690	//   "U35"
5691	//   "U36"
5692	//   "U37"
5693	//   "U38"
5694	//   "U39"
5695	//   "U40"
5696	//   "U41"
5697	//   "U42"
5698	//   "U43"
5699	//   "U44"
5700	//   "U45"
5701	//   "U46"
5702	//   "U47"
5703	//   "U48"
5704	//   "U49"
5705	//   "U50"
5706	//   "U51"
5707	//   "U52"
5708	//   "U53"
5709	//   "U54"
5710	//   "U55"
5711	//   "U56"
5712	//   "U57"
5713	//   "U58"
5714	//   "U59"
5715	//   "U60"
5716	//   "U61"
5717	//   "U62"
5718	//   "U63"
5719	//   "U64"
5720	//   "U65"
5721	//   "U66"
5722	//   "U67"
5723	//   "U68"
5724	//   "U69"
5725	//   "U70"
5726	//   "U71"
5727	//   "U72"
5728	//   "U73"
5729	//   "U74"
5730	//   "U75"
5731	//   "U76"
5732	//   "U77"
5733	//   "U78"
5734	//   "U79"
5735	//   "U80"
5736	//   "U81"
5737	//   "U82"
5738	//   "U83"
5739	//   "U84"
5740	//   "U85"
5741	//   "U86"
5742	//   "U87"
5743	//   "U88"
5744	//   "U89"
5745	//   "U90"
5746	//   "U91"
5747	//   "U92"
5748	//   "U93"
5749	//   "U94"
5750	//   "U95"
5751	//   "U96"
5752	//   "U97"
5753	//   "U98"
5754	//   "U99"
5755	//   "U100"
5756	Type string `json:"type,omitempty"`
5757
5758	// Value: The value of the custom floodlight variable. The length of
5759	// string must not exceed 50 characters.
5760	Value string `json:"value,omitempty"`
5761
5762	// ForceSendFields is a list of field names (e.g. "Kind") to
5763	// unconditionally include in API requests. By default, fields with
5764	// empty values are omitted from API requests. However, any non-pointer,
5765	// non-interface field appearing in ForceSendFields will be sent to the
5766	// server regardless of whether the field is empty or not. This may be
5767	// used to include empty fields in Patch requests.
5768	ForceSendFields []string `json:"-"`
5769
5770	// NullFields is a list of field names (e.g. "Kind") to include in API
5771	// requests with the JSON null value. By default, fields with empty
5772	// values are omitted from API requests. However, any field with an
5773	// empty value appearing in NullFields will be sent to the server as
5774	// null. It is an error if a field in this list has a non-empty value.
5775	// This may be used to include null fields in Patch requests.
5776	NullFields []string `json:"-"`
5777}
5778
5779func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
5780	type NoMethod CustomFloodlightVariable
5781	raw := NoMethod(*s)
5782	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5783}
5784
5785// CustomRichMediaEvents: Represents a Custom Rich Media Events group.
5786type CustomRichMediaEvents struct {
5787	// FilteredEventIds: List of custom rich media event IDs. Dimension
5788	// values must be all of type dfa:richMediaEventTypeIdAndName.
5789	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
5790
5791	// Kind: The kind of resource this is, in this case
5792	// dfareporting#customRichMediaEvents.
5793	Kind string `json:"kind,omitempty"`
5794
5795	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
5796	// unconditionally include in API requests. By default, fields with
5797	// empty values are omitted from API requests. However, any non-pointer,
5798	// non-interface field appearing in ForceSendFields will be sent to the
5799	// server regardless of whether the field is empty or not. This may be
5800	// used to include empty fields in Patch requests.
5801	ForceSendFields []string `json:"-"`
5802
5803	// NullFields is a list of field names (e.g. "FilteredEventIds") to
5804	// include in API requests with the JSON null value. By default, fields
5805	// with empty values are omitted from API requests. However, any field
5806	// with an empty value appearing in NullFields will be sent to the
5807	// server as null. It is an error if a field in this list has a
5808	// non-empty value. This may be used to include null fields in Patch
5809	// requests.
5810	NullFields []string `json:"-"`
5811}
5812
5813func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
5814	type NoMethod CustomRichMediaEvents
5815	raw := NoMethod(*s)
5816	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5817}
5818
5819// CustomViewabilityMetric: Custom Viewability Metric
5820type CustomViewabilityMetric struct {
5821	// Configuration: Configuration of the custom viewability metric.
5822	Configuration *CustomViewabilityMetricConfiguration `json:"configuration,omitempty"`
5823
5824	// Id: ID of the custom viewability metric.
5825	Id int64 `json:"id,omitempty,string"`
5826
5827	// Name: Name of the custom viewability metric.
5828	Name string `json:"name,omitempty"`
5829
5830	// ForceSendFields is a list of field names (e.g. "Configuration") to
5831	// unconditionally include in API requests. By default, fields with
5832	// empty values are omitted from API requests. However, any non-pointer,
5833	// non-interface field appearing in ForceSendFields will be sent to the
5834	// server regardless of whether the field is empty or not. This may be
5835	// used to include empty fields in Patch requests.
5836	ForceSendFields []string `json:"-"`
5837
5838	// NullFields is a list of field names (e.g. "Configuration") to include
5839	// in API requests with the JSON null value. By default, fields with
5840	// empty values are omitted from API requests. However, any field with
5841	// an empty value appearing in NullFields will be sent to the server as
5842	// null. It is an error if a field in this list has a non-empty value.
5843	// This may be used to include null fields in Patch requests.
5844	NullFields []string `json:"-"`
5845}
5846
5847func (s *CustomViewabilityMetric) MarshalJSON() ([]byte, error) {
5848	type NoMethod CustomViewabilityMetric
5849	raw := NoMethod(*s)
5850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5851}
5852
5853// CustomViewabilityMetricConfiguration: The attributes, like playtime
5854// and percent onscreen, that define the Custom Viewability Metric.
5855type CustomViewabilityMetricConfiguration struct {
5856	// Audible: Whether the video must be audible to count an impression.
5857	Audible bool `json:"audible,omitempty"`
5858
5859	// TimeMillis: The time in milliseconds the video must play for the
5860	// Custom Viewability Metric to count an impression. If both this and
5861	// timePercent are specified, the earlier of the two will be used.
5862	TimeMillis int64 `json:"timeMillis,omitempty"`
5863
5864	// TimePercent: The percentage of video that must play for the Custom
5865	// Viewability Metric to count an impression. If both this and
5866	// timeMillis are specified, the earlier of the two will be used.
5867	TimePercent int64 `json:"timePercent,omitempty"`
5868
5869	// ViewabilityPercent: The percentage of video that must be on screen
5870	// for the Custom Viewability Metric to count an impression.
5871	ViewabilityPercent int64 `json:"viewabilityPercent,omitempty"`
5872
5873	// ForceSendFields is a list of field names (e.g. "Audible") to
5874	// unconditionally include in API requests. By default, fields with
5875	// empty values are omitted from API requests. However, any non-pointer,
5876	// non-interface field appearing in ForceSendFields will be sent to the
5877	// server regardless of whether the field is empty or not. This may be
5878	// used to include empty fields in Patch requests.
5879	ForceSendFields []string `json:"-"`
5880
5881	// NullFields is a list of field names (e.g. "Audible") to include in
5882	// API requests with the JSON null value. By default, fields with empty
5883	// values are omitted from API requests. However, any field with an
5884	// empty value appearing in NullFields will be sent to the server as
5885	// null. It is an error if a field in this list has a non-empty value.
5886	// This may be used to include null fields in Patch requests.
5887	NullFields []string `json:"-"`
5888}
5889
5890func (s *CustomViewabilityMetricConfiguration) MarshalJSON() ([]byte, error) {
5891	type NoMethod CustomViewabilityMetricConfiguration
5892	raw := NoMethod(*s)
5893	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5894}
5895
5896// DateRange: Represents a date range.
5897type DateRange struct {
5898	EndDate string `json:"endDate,omitempty"`
5899
5900	// Kind: The kind of resource this is, in this case
5901	// dfareporting#dateRange.
5902	Kind string `json:"kind,omitempty"`
5903
5904	// RelativeDateRange: The date range relative to the date of when the
5905	// report is run.
5906	//
5907	// Possible values:
5908	//   "TODAY"
5909	//   "YESTERDAY"
5910	//   "WEEK_TO_DATE"
5911	//   "MONTH_TO_DATE"
5912	//   "QUARTER_TO_DATE"
5913	//   "YEAR_TO_DATE"
5914	//   "PREVIOUS_WEEK"
5915	//   "PREVIOUS_MONTH"
5916	//   "PREVIOUS_QUARTER"
5917	//   "PREVIOUS_YEAR"
5918	//   "LAST_7_DAYS"
5919	//   "LAST_30_DAYS"
5920	//   "LAST_90_DAYS"
5921	//   "LAST_365_DAYS"
5922	//   "LAST_24_MONTHS"
5923	//   "LAST_14_DAYS"
5924	//   "LAST_60_DAYS"
5925	RelativeDateRange string `json:"relativeDateRange,omitempty"`
5926
5927	StartDate string `json:"startDate,omitempty"`
5928
5929	// ForceSendFields is a list of field names (e.g. "EndDate") to
5930	// unconditionally include in API requests. By default, fields with
5931	// empty values are omitted from API requests. However, any non-pointer,
5932	// non-interface field appearing in ForceSendFields will be sent to the
5933	// server regardless of whether the field is empty or not. This may be
5934	// used to include empty fields in Patch requests.
5935	ForceSendFields []string `json:"-"`
5936
5937	// NullFields is a list of field names (e.g. "EndDate") to include in
5938	// API requests with the JSON null value. By default, fields with empty
5939	// values are omitted from API requests. However, any field with an
5940	// empty value appearing in NullFields will be sent to the server as
5941	// null. It is an error if a field in this list has a non-empty value.
5942	// This may be used to include null fields in Patch requests.
5943	NullFields []string `json:"-"`
5944}
5945
5946func (s *DateRange) MarshalJSON() ([]byte, error) {
5947	type NoMethod DateRange
5948	raw := NoMethod(*s)
5949	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5950}
5951
5952// DayPartTargeting: Day Part Targeting.
5953type DayPartTargeting struct {
5954	// DaysOfWeek: Days of the week when the ad will serve. Acceptable
5955	// values are: - "SUNDAY" - "MONDAY" - "TUESDAY" - "WEDNESDAY" -
5956	// "THURSDAY" - "FRIDAY" - "SATURDAY"
5957	//
5958	// Possible values:
5959	//   "MONDAY"
5960	//   "TUESDAY"
5961	//   "WEDNESDAY"
5962	//   "THURSDAY"
5963	//   "FRIDAY"
5964	//   "SATURDAY"
5965	//   "SUNDAY"
5966	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
5967
5968	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
5969	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
5970	// days of week, in which case the ad would serve during these hours on
5971	// the specified days. For example if Monday, Wednesday, Friday are the
5972	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
5973	// specified, the ad would serve Monday, Wednesdays, and Fridays at
5974	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
5975	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
5976
5977	// UserLocalTime: Whether or not to use the user's local time. If false,
5978	// the America/New York time zone applies.
5979	UserLocalTime bool `json:"userLocalTime,omitempty"`
5980
5981	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
5982	// unconditionally include in API requests. By default, fields with
5983	// empty values are omitted from API requests. However, any non-pointer,
5984	// non-interface field appearing in ForceSendFields will be sent to the
5985	// server regardless of whether the field is empty or not. This may be
5986	// used to include empty fields in Patch requests.
5987	ForceSendFields []string `json:"-"`
5988
5989	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
5990	// API requests with the JSON null value. By default, fields with empty
5991	// values are omitted from API requests. However, any field with an
5992	// empty value appearing in NullFields will be sent to the server as
5993	// null. It is an error if a field in this list has a non-empty value.
5994	// This may be used to include null fields in Patch requests.
5995	NullFields []string `json:"-"`
5996}
5997
5998func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
5999	type NoMethod DayPartTargeting
6000	raw := NoMethod(*s)
6001	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6002}
6003
6004// DeepLink: Contains information about a landing page deep link.
6005type DeepLink struct {
6006	// AppUrl: The URL of the mobile app being linked to.
6007	AppUrl string `json:"appUrl,omitempty"`
6008
6009	// FallbackUrl: The fallback URL. This URL will be served to users who
6010	// do not have the mobile app installed.
6011	FallbackUrl string `json:"fallbackUrl,omitempty"`
6012
6013	// Kind: Identifies what kind of resource this is. Value: the fixed
6014	// string "dfareporting#deepLink".
6015	Kind string `json:"kind,omitempty"`
6016
6017	// MobileApp: The mobile app targeted by this deep link.
6018	MobileApp *MobileApp `json:"mobileApp,omitempty"`
6019
6020	// RemarketingListIds: Ads served to users on these remarketing lists
6021	// will use this deep link. Applicable when mobileApp.directory is
6022	// APPLE_APP_STORE.
6023	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
6024
6025	// ForceSendFields is a list of field names (e.g. "AppUrl") to
6026	// unconditionally include in API requests. By default, fields with
6027	// empty values are omitted from API requests. However, any non-pointer,
6028	// non-interface field appearing in ForceSendFields will be sent to the
6029	// server regardless of whether the field is empty or not. This may be
6030	// used to include empty fields in Patch requests.
6031	ForceSendFields []string `json:"-"`
6032
6033	// NullFields is a list of field names (e.g. "AppUrl") to include in API
6034	// requests with the JSON null value. By default, fields with empty
6035	// values are omitted from API requests. However, any field with an
6036	// empty value appearing in NullFields will be sent to the server as
6037	// null. It is an error if a field in this list has a non-empty value.
6038	// This may be used to include null fields in Patch requests.
6039	NullFields []string `json:"-"`
6040}
6041
6042func (s *DeepLink) MarshalJSON() ([]byte, error) {
6043	type NoMethod DeepLink
6044	raw := NoMethod(*s)
6045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6046}
6047
6048// DefaultClickThroughEventTagProperties: Properties of inheriting and
6049// overriding the default click-through event tag. A campaign may
6050// override the event tag defined at the advertiser level, and an ad may
6051// also override the campaign's setting further.
6052type DefaultClickThroughEventTagProperties struct {
6053	// DefaultClickThroughEventTagId: ID of the click-through event tag to
6054	// apply to all ads in this entity's scope.
6055	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
6056
6057	// OverrideInheritedEventTag: Whether this entity should override the
6058	// inherited default click-through event tag with its own defined value.
6059	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
6060
6061	// ForceSendFields is a list of field names (e.g.
6062	// "DefaultClickThroughEventTagId") to unconditionally include in API
6063	// requests. By default, fields with empty values are omitted from API
6064	// requests. However, any non-pointer, non-interface field appearing in
6065	// ForceSendFields will be sent to the server regardless of whether the
6066	// field is empty or not. This may be used to include empty fields in
6067	// Patch requests.
6068	ForceSendFields []string `json:"-"`
6069
6070	// NullFields is a list of field names (e.g.
6071	// "DefaultClickThroughEventTagId") to include in API requests with the
6072	// JSON null value. By default, fields with empty values are omitted
6073	// from API requests. However, any field with an empty value appearing
6074	// in NullFields will be sent to the server as null. It is an error if a
6075	// field in this list has a non-empty value. This may be used to include
6076	// null fields in Patch requests.
6077	NullFields []string `json:"-"`
6078}
6079
6080func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
6081	type NoMethod DefaultClickThroughEventTagProperties
6082	raw := NoMethod(*s)
6083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6084}
6085
6086// DeliverySchedule: Delivery Schedule.
6087type DeliverySchedule struct {
6088	// FrequencyCap: Limit on the number of times an individual user can be
6089	// served the ad within a specified period of time.
6090	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
6091
6092	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
6093	// will not serve after the end date and time. Otherwise the ad will
6094	// continue to be served until it has reached its delivery goals.
6095	HardCutoff bool `json:"hardCutoff,omitempty"`
6096
6097	// ImpressionRatio: Impression ratio for this ad. This ratio determines
6098	// how often each ad is served relative to the others. For example, if
6099	// ad A has an impression ratio of 1 and ad B has an impression ratio of
6100	// 3, then Campaign Manager will serve ad B three times as often as ad
6101	// A. Acceptable values are 1 to 10, inclusive.
6102	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
6103
6104	// Priority: Serving priority of an ad, with respect to other ads. The
6105	// lower the priority number, the greater the priority with which it is
6106	// served.
6107	//
6108	// Possible values:
6109	//   "AD_PRIORITY_01"
6110	//   "AD_PRIORITY_02"
6111	//   "AD_PRIORITY_03"
6112	//   "AD_PRIORITY_04"
6113	//   "AD_PRIORITY_05"
6114	//   "AD_PRIORITY_06"
6115	//   "AD_PRIORITY_07"
6116	//   "AD_PRIORITY_08"
6117	//   "AD_PRIORITY_09"
6118	//   "AD_PRIORITY_10"
6119	//   "AD_PRIORITY_11"
6120	//   "AD_PRIORITY_12"
6121	//   "AD_PRIORITY_13"
6122	//   "AD_PRIORITY_14"
6123	//   "AD_PRIORITY_15"
6124	//   "AD_PRIORITY_16"
6125	Priority string `json:"priority,omitempty"`
6126
6127	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
6128	// unconditionally include in API requests. By default, fields with
6129	// empty values are omitted from API requests. However, any non-pointer,
6130	// non-interface field appearing in ForceSendFields will be sent to the
6131	// server regardless of whether the field is empty or not. This may be
6132	// used to include empty fields in Patch requests.
6133	ForceSendFields []string `json:"-"`
6134
6135	// NullFields is a list of field names (e.g. "FrequencyCap") to include
6136	// in API requests with the JSON null value. By default, fields with
6137	// empty values are omitted from API requests. However, any field with
6138	// an empty value appearing in NullFields will be sent to the server as
6139	// null. It is an error if a field in this list has a non-empty value.
6140	// This may be used to include null fields in Patch requests.
6141	NullFields []string `json:"-"`
6142}
6143
6144func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
6145	type NoMethod DeliverySchedule
6146	raw := NoMethod(*s)
6147	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6148}
6149
6150// DfpSettings: Google Ad Manager Settings
6151type DfpSettings struct {
6152	// DfpNetworkCode: Ad Manager network code for this directory site.
6153	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
6154
6155	// DfpNetworkName: Ad Manager network name for this directory site.
6156	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
6157
6158	// ProgrammaticPlacementAccepted: Whether this directory site accepts
6159	// programmatic placements.
6160	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
6161
6162	// PubPaidPlacementAccepted: Whether this directory site accepts
6163	// publisher-paid tags.
6164	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
6165
6166	// PublisherPortalOnly: Whether this directory site is available only
6167	// via Publisher Portal.
6168	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
6169
6170	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
6171	// unconditionally include in API requests. By default, fields with
6172	// empty values are omitted from API requests. However, any non-pointer,
6173	// non-interface field appearing in ForceSendFields will be sent to the
6174	// server regardless of whether the field is empty or not. This may be
6175	// used to include empty fields in Patch requests.
6176	ForceSendFields []string `json:"-"`
6177
6178	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
6179	// include in API requests with the JSON null value. By default, fields
6180	// with empty values are omitted from API requests. However, any field
6181	// with an empty value appearing in NullFields will be sent to the
6182	// server as null. It is an error if a field in this list has a
6183	// non-empty value. This may be used to include null fields in Patch
6184	// requests.
6185	NullFields []string `json:"-"`
6186}
6187
6188func (s *DfpSettings) MarshalJSON() ([]byte, error) {
6189	type NoMethod DfpSettings
6190	raw := NoMethod(*s)
6191	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6192}
6193
6194// Dimension: Represents a dimension.
6195type Dimension struct {
6196	// Kind: The kind of resource this is, in this case
6197	// dfareporting#dimension.
6198	Kind string `json:"kind,omitempty"`
6199
6200	// Name: The dimension name, e.g. dfa:advertiser
6201	Name string `json:"name,omitempty"`
6202
6203	// ForceSendFields is a list of field names (e.g. "Kind") to
6204	// unconditionally include in API requests. By default, fields with
6205	// empty values are omitted from API requests. However, any non-pointer,
6206	// non-interface field appearing in ForceSendFields will be sent to the
6207	// server regardless of whether the field is empty or not. This may be
6208	// used to include empty fields in Patch requests.
6209	ForceSendFields []string `json:"-"`
6210
6211	// NullFields is a list of field names (e.g. "Kind") to include in API
6212	// requests with the JSON null value. By default, fields with empty
6213	// values are omitted from API requests. However, any field with an
6214	// empty value appearing in NullFields will be sent to the server as
6215	// null. It is an error if a field in this list has a non-empty value.
6216	// This may be used to include null fields in Patch requests.
6217	NullFields []string `json:"-"`
6218}
6219
6220func (s *Dimension) MarshalJSON() ([]byte, error) {
6221	type NoMethod Dimension
6222	raw := NoMethod(*s)
6223	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6224}
6225
6226// DimensionFilter: Represents a dimension filter.
6227type DimensionFilter struct {
6228	// DimensionName: The name of the dimension to filter.
6229	DimensionName string `json:"dimensionName,omitempty"`
6230
6231	// Kind: The kind of resource this is, in this case
6232	// dfareporting#dimensionFilter.
6233	Kind string `json:"kind,omitempty"`
6234
6235	// Value: The value of the dimension to filter.
6236	Value string `json:"value,omitempty"`
6237
6238	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6239	// unconditionally include in API requests. By default, fields with
6240	// empty values are omitted from API requests. However, any non-pointer,
6241	// non-interface field appearing in ForceSendFields will be sent to the
6242	// server regardless of whether the field is empty or not. This may be
6243	// used to include empty fields in Patch requests.
6244	ForceSendFields []string `json:"-"`
6245
6246	// NullFields is a list of field names (e.g. "DimensionName") to include
6247	// in API requests with the JSON null value. By default, fields with
6248	// empty values are omitted from API requests. However, any field with
6249	// an empty value appearing in NullFields will be sent to the server as
6250	// null. It is an error if a field in this list has a non-empty value.
6251	// This may be used to include null fields in Patch requests.
6252	NullFields []string `json:"-"`
6253}
6254
6255func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
6256	type NoMethod DimensionFilter
6257	raw := NoMethod(*s)
6258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6259}
6260
6261// DimensionValue: Represents a DimensionValue resource.
6262type DimensionValue struct {
6263	// DimensionName: The name of the dimension.
6264	DimensionName string `json:"dimensionName,omitempty"`
6265
6266	// Etag: The eTag of this response for caching purposes.
6267	Etag string `json:"etag,omitempty"`
6268
6269	// Id: The ID associated with the value if available.
6270	Id string `json:"id,omitempty"`
6271
6272	// Kind: The kind of resource this is, in this case
6273	// dfareporting#dimensionValue.
6274	Kind string `json:"kind,omitempty"`
6275
6276	// MatchType: Determines how the 'value' field is matched when
6277	// filtering. If not specified, defaults to EXACT. If set to
6278	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
6279	// length character sequences, and it can be escaped with a backslash.
6280	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
6281	// matchType other than EXACT.
6282	//
6283	// Possible values:
6284	//   "EXACT"
6285	//   "BEGINS_WITH"
6286	//   "CONTAINS"
6287	//   "WILDCARD_EXPRESSION"
6288	MatchType string `json:"matchType,omitempty"`
6289
6290	// Value: The value of the dimension.
6291	Value string `json:"value,omitempty"`
6292
6293	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6294	// unconditionally include in API requests. By default, fields with
6295	// empty values are omitted from API requests. However, any non-pointer,
6296	// non-interface field appearing in ForceSendFields will be sent to the
6297	// server regardless of whether the field is empty or not. This may be
6298	// used to include empty fields in Patch requests.
6299	ForceSendFields []string `json:"-"`
6300
6301	// NullFields is a list of field names (e.g. "DimensionName") to include
6302	// in API requests with the JSON null value. By default, fields with
6303	// empty values are omitted from API requests. However, any field with
6304	// an empty value appearing in NullFields will be sent to the server as
6305	// null. It is an error if a field in this list has a non-empty value.
6306	// This may be used to include null fields in Patch requests.
6307	NullFields []string `json:"-"`
6308}
6309
6310func (s *DimensionValue) MarshalJSON() ([]byte, error) {
6311	type NoMethod DimensionValue
6312	raw := NoMethod(*s)
6313	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6314}
6315
6316// DimensionValueList: Represents the list of DimensionValue resources.
6317type DimensionValueList struct {
6318	// Etag: The eTag of this response for caching purposes.
6319	Etag string `json:"etag,omitempty"`
6320
6321	// Items: The dimension values returned in this response.
6322	Items []*DimensionValue `json:"items,omitempty"`
6323
6324	// Kind: The kind of list this is, in this case
6325	// dfareporting#dimensionValueList.
6326	Kind string `json:"kind,omitempty"`
6327
6328	// NextPageToken: Continuation token used to page through dimension
6329	// values. To retrieve the next page of results, set the next request's
6330	// "pageToken" to the value of this field. The page token is only valid
6331	// for a limited amount of time and should not be persisted.
6332	NextPageToken string `json:"nextPageToken,omitempty"`
6333
6334	// ServerResponse contains the HTTP response code and headers from the
6335	// server.
6336	googleapi.ServerResponse `json:"-"`
6337
6338	// ForceSendFields is a list of field names (e.g. "Etag") to
6339	// unconditionally include in API requests. By default, fields with
6340	// empty values are omitted from API requests. However, any non-pointer,
6341	// non-interface field appearing in ForceSendFields will be sent to the
6342	// server regardless of whether the field is empty or not. This may be
6343	// used to include empty fields in Patch requests.
6344	ForceSendFields []string `json:"-"`
6345
6346	// NullFields is a list of field names (e.g. "Etag") to include in API
6347	// requests with the JSON null value. By default, fields with empty
6348	// values are omitted from API requests. However, any field with an
6349	// empty value appearing in NullFields will be sent to the server as
6350	// null. It is an error if a field in this list has a non-empty value.
6351	// This may be used to include null fields in Patch requests.
6352	NullFields []string `json:"-"`
6353}
6354
6355func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
6356	type NoMethod DimensionValueList
6357	raw := NoMethod(*s)
6358	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6359}
6360
6361// DimensionValueRequest: Represents a DimensionValuesRequest.
6362type DimensionValueRequest struct {
6363	// DimensionName: The name of the dimension for which values should be
6364	// requested.
6365	DimensionName string `json:"dimensionName,omitempty"`
6366
6367	EndDate string `json:"endDate,omitempty"`
6368
6369	// Filters: The list of filters by which to filter values. The filters
6370	// are ANDed.
6371	Filters []*DimensionFilter `json:"filters,omitempty"`
6372
6373	// Kind: The kind of request this is, in this case
6374	// dfareporting#dimensionValueRequest .
6375	Kind string `json:"kind,omitempty"`
6376
6377	StartDate string `json:"startDate,omitempty"`
6378
6379	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6380	// unconditionally include in API requests. By default, fields with
6381	// empty values are omitted from API requests. However, any non-pointer,
6382	// non-interface field appearing in ForceSendFields will be sent to the
6383	// server regardless of whether the field is empty or not. This may be
6384	// used to include empty fields in Patch requests.
6385	ForceSendFields []string `json:"-"`
6386
6387	// NullFields is a list of field names (e.g. "DimensionName") to include
6388	// in API requests with the JSON null value. By default, fields with
6389	// empty values are omitted from API requests. However, any field with
6390	// an empty value appearing in NullFields will be sent to the server as
6391	// null. It is an error if a field in this list has a non-empty value.
6392	// This may be used to include null fields in Patch requests.
6393	NullFields []string `json:"-"`
6394}
6395
6396func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
6397	type NoMethod DimensionValueRequest
6398	raw := NoMethod(*s)
6399	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6400}
6401
6402// DirectorySite: DirectorySites contains properties of a website from
6403// the Site Directory. Sites need to be added to an account via the
6404// Sites resource before they can be assigned to a placement.
6405type DirectorySite struct {
6406	// Active: Whether this directory site is active.
6407	Active bool `json:"active,omitempty"`
6408
6409	// Id: ID of this directory site. This is a read-only, auto-generated
6410	// field.
6411	Id int64 `json:"id,omitempty,string"`
6412
6413	// IdDimensionValue: Dimension value for the ID of this directory site.
6414	// This is a read-only, auto-generated field.
6415	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
6416
6417	// InpageTagFormats: Tag types for regular placements. Acceptable values
6418	// are: - "STANDARD" - "IFRAME_JAVASCRIPT_INPAGE" -
6419	// "INTERNAL_REDIRECT_INPAGE" - "JAVASCRIPT_INPAGE"
6420	//
6421	// Possible values:
6422	//   "STANDARD"
6423	//   "IFRAME_JAVASCRIPT_INPAGE"
6424	//   "INTERNAL_REDIRECT_INPAGE"
6425	//   "JAVASCRIPT_INPAGE"
6426	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
6427
6428	// InterstitialTagFormats: Tag types for interstitial placements.
6429	// Acceptable values are: - "IFRAME_JAVASCRIPT_INTERSTITIAL" -
6430	// "INTERNAL_REDIRECT_INTERSTITIAL" - "JAVASCRIPT_INTERSTITIAL"
6431	//
6432	// Possible values:
6433	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
6434	//   "INTERNAL_REDIRECT_INTERSTITIAL"
6435	//   "JAVASCRIPT_INTERSTITIAL"
6436	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
6437
6438	// Kind: Identifies what kind of resource this is. Value: the fixed
6439	// string "dfareporting#directorySite".
6440	Kind string `json:"kind,omitempty"`
6441
6442	// Name: Name of this directory site.
6443	Name string `json:"name,omitempty"`
6444
6445	// Settings: Directory site settings.
6446	Settings *DirectorySiteSettings `json:"settings,omitempty"`
6447
6448	// Url: URL of this directory site.
6449	Url string `json:"url,omitempty"`
6450
6451	// ServerResponse contains the HTTP response code and headers from the
6452	// server.
6453	googleapi.ServerResponse `json:"-"`
6454
6455	// ForceSendFields is a list of field names (e.g. "Active") to
6456	// unconditionally include in API requests. By default, fields with
6457	// empty values are omitted from API requests. However, any non-pointer,
6458	// non-interface field appearing in ForceSendFields will be sent to the
6459	// server regardless of whether the field is empty or not. This may be
6460	// used to include empty fields in Patch requests.
6461	ForceSendFields []string `json:"-"`
6462
6463	// NullFields is a list of field names (e.g. "Active") to include in API
6464	// requests with the JSON null value. By default, fields with empty
6465	// values are omitted from API requests. However, any field with an
6466	// empty value appearing in NullFields will be sent to the server as
6467	// null. It is an error if a field in this list has a non-empty value.
6468	// This may be used to include null fields in Patch requests.
6469	NullFields []string `json:"-"`
6470}
6471
6472func (s *DirectorySite) MarshalJSON() ([]byte, error) {
6473	type NoMethod DirectorySite
6474	raw := NoMethod(*s)
6475	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6476}
6477
6478// DirectorySiteSettings: Directory Site Settings
6479type DirectorySiteSettings struct {
6480	// ActiveViewOptOut: Whether this directory site has disabled active
6481	// view creatives.
6482	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
6483
6484	// DfpSettings: Directory site Ad Manager settings.
6485	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
6486
6487	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
6488	// video ads.
6489	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
6490
6491	// InterstitialPlacementAccepted: Whether this site accepts interstitial
6492	// ads.
6493	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
6494
6495	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
6496	// unconditionally include in API requests. By default, fields with
6497	// empty values are omitted from API requests. However, any non-pointer,
6498	// non-interface field appearing in ForceSendFields will be sent to the
6499	// server regardless of whether the field is empty or not. This may be
6500	// used to include empty fields in Patch requests.
6501	ForceSendFields []string `json:"-"`
6502
6503	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
6504	// include in API requests with the JSON null value. By default, fields
6505	// with empty values are omitted from API requests. However, any field
6506	// with an empty value appearing in NullFields will be sent to the
6507	// server as null. It is an error if a field in this list has a
6508	// non-empty value. This may be used to include null fields in Patch
6509	// requests.
6510	NullFields []string `json:"-"`
6511}
6512
6513func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
6514	type NoMethod DirectorySiteSettings
6515	raw := NoMethod(*s)
6516	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6517}
6518
6519// DirectorySitesListResponse: Directory Site List Response
6520type DirectorySitesListResponse struct {
6521	// DirectorySites: Directory site collection.
6522	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
6523
6524	// Kind: Identifies what kind of resource this is. Value: the fixed
6525	// string "dfareporting#directorySitesListResponse".
6526	Kind string `json:"kind,omitempty"`
6527
6528	// NextPageToken: Pagination token to be used for the next list
6529	// operation.
6530	NextPageToken string `json:"nextPageToken,omitempty"`
6531
6532	// ServerResponse contains the HTTP response code and headers from the
6533	// server.
6534	googleapi.ServerResponse `json:"-"`
6535
6536	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
6537	// unconditionally include in API requests. By default, fields with
6538	// empty values are omitted from API requests. However, any non-pointer,
6539	// non-interface field appearing in ForceSendFields will be sent to the
6540	// server regardless of whether the field is empty or not. This may be
6541	// used to include empty fields in Patch requests.
6542	ForceSendFields []string `json:"-"`
6543
6544	// NullFields is a list of field names (e.g. "DirectorySites") to
6545	// include in API requests with the JSON null value. By default, fields
6546	// with empty values are omitted from API requests. However, any field
6547	// with an empty value appearing in NullFields will be sent to the
6548	// server as null. It is an error if a field in this list has a
6549	// non-empty value. This may be used to include null fields in Patch
6550	// requests.
6551	NullFields []string `json:"-"`
6552}
6553
6554func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
6555	type NoMethod DirectorySitesListResponse
6556	raw := NoMethod(*s)
6557	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6558}
6559
6560// DynamicTargetingKey: Contains properties of a dynamic targeting key.
6561// Dynamic targeting keys are unique, user-friendly labels, created at
6562// the advertiser level in DCM, that can be assigned to ads, creatives,
6563// and placements and used for targeting with Studio dynamic creatives.
6564// Use these labels instead of numeric Campaign Manager IDs (such as
6565// placement IDs) to save time and avoid errors in your dynamic feeds.
6566type DynamicTargetingKey struct {
6567	// Kind: Identifies what kind of resource this is. Value: the fixed
6568	// string "dfareporting#dynamicTargetingKey".
6569	Kind string `json:"kind,omitempty"`
6570
6571	// Name: Name of this dynamic targeting key. This is a required field.
6572	// Must be less than 256 characters long and cannot contain commas. All
6573	// characters are converted to lowercase.
6574	Name string `json:"name,omitempty"`
6575
6576	// ObjectId: ID of the object of this dynamic targeting key. This is a
6577	// required field.
6578	ObjectId int64 `json:"objectId,omitempty,string"`
6579
6580	// ObjectType: Type of the object of this dynamic targeting key. This is
6581	// a required field.
6582	//
6583	// Possible values:
6584	//   "OBJECT_ADVERTISER"
6585	//   "OBJECT_AD"
6586	//   "OBJECT_CREATIVE"
6587	//   "OBJECT_PLACEMENT"
6588	ObjectType string `json:"objectType,omitempty"`
6589
6590	// ServerResponse contains the HTTP response code and headers from the
6591	// server.
6592	googleapi.ServerResponse `json:"-"`
6593
6594	// ForceSendFields is a list of field names (e.g. "Kind") to
6595	// unconditionally include in API requests. By default, fields with
6596	// empty values are omitted from API requests. However, any non-pointer,
6597	// non-interface field appearing in ForceSendFields will be sent to the
6598	// server regardless of whether the field is empty or not. This may be
6599	// used to include empty fields in Patch requests.
6600	ForceSendFields []string `json:"-"`
6601
6602	// NullFields is a list of field names (e.g. "Kind") to include in API
6603	// requests with the JSON null value. By default, fields with empty
6604	// values are omitted from API requests. However, any field with an
6605	// empty value appearing in NullFields will be sent to the server as
6606	// null. It is an error if a field in this list has a non-empty value.
6607	// This may be used to include null fields in Patch requests.
6608	NullFields []string `json:"-"`
6609}
6610
6611func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
6612	type NoMethod DynamicTargetingKey
6613	raw := NoMethod(*s)
6614	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6615}
6616
6617// DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
6618type DynamicTargetingKeysListResponse struct {
6619	// DynamicTargetingKeys: Dynamic targeting key collection.
6620	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
6621
6622	// Kind: Identifies what kind of resource this is. Value: the fixed
6623	// string "dfareporting#dynamicTargetingKeysListResponse".
6624	Kind string `json:"kind,omitempty"`
6625
6626	// ServerResponse contains the HTTP response code and headers from the
6627	// server.
6628	googleapi.ServerResponse `json:"-"`
6629
6630	// ForceSendFields is a list of field names (e.g.
6631	// "DynamicTargetingKeys") to unconditionally include in API requests.
6632	// By default, fields with empty values are omitted from API requests.
6633	// However, any non-pointer, non-interface field appearing in
6634	// ForceSendFields will be sent to the server regardless of whether the
6635	// field is empty or not. This may be used to include empty fields in
6636	// Patch requests.
6637	ForceSendFields []string `json:"-"`
6638
6639	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
6640	// include in API requests with the JSON null value. By default, fields
6641	// with empty values are omitted from API requests. However, any field
6642	// with an empty value appearing in NullFields will be sent to the
6643	// server as null. It is an error if a field in this list has a
6644	// non-empty value. This may be used to include null fields in Patch
6645	// requests.
6646	NullFields []string `json:"-"`
6647}
6648
6649func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
6650	type NoMethod DynamicTargetingKeysListResponse
6651	raw := NoMethod(*s)
6652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6653}
6654
6655// EncryptionInfo: A description of how user IDs are encrypted.
6656type EncryptionInfo struct {
6657	// EncryptionEntityId: The encryption entity ID. This should match the
6658	// encryption configuration for ad serving or Data Transfer.
6659	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
6660
6661	// EncryptionEntityType: The encryption entity type. This should match
6662	// the encryption configuration for ad serving or Data Transfer.
6663	//
6664	// Possible values:
6665	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
6666	//   "DCM_ACCOUNT"
6667	//   "DCM_ADVERTISER"
6668	//   "DBM_PARTNER"
6669	//   "DBM_ADVERTISER"
6670	//   "ADWORDS_CUSTOMER"
6671	//   "DFP_NETWORK_CODE"
6672	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
6673
6674	// EncryptionSource: Describes whether the encrypted cookie was received
6675	// from ad serving (the %m macro) or from Data Transfer.
6676	//
6677	// Possible values:
6678	//   "ENCRYPTION_SCOPE_UNKNOWN"
6679	//   "AD_SERVING"
6680	//   "DATA_TRANSFER"
6681	EncryptionSource string `json:"encryptionSource,omitempty"`
6682
6683	// Kind: Identifies what kind of resource this is. Value: the fixed
6684	// string "dfareporting#encryptionInfo".
6685	Kind string `json:"kind,omitempty"`
6686
6687	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
6688	// to unconditionally include in API requests. By default, fields with
6689	// empty values are omitted from API requests. However, any non-pointer,
6690	// non-interface field appearing in ForceSendFields will be sent to the
6691	// server regardless of whether the field is empty or not. This may be
6692	// used to include empty fields in Patch requests.
6693	ForceSendFields []string `json:"-"`
6694
6695	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
6696	// include in API requests with the JSON null value. By default, fields
6697	// with empty values are omitted from API requests. However, any field
6698	// with an empty value appearing in NullFields will be sent to the
6699	// server as null. It is an error if a field in this list has a
6700	// non-empty value. This may be used to include null fields in Patch
6701	// requests.
6702	NullFields []string `json:"-"`
6703}
6704
6705func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
6706	type NoMethod EncryptionInfo
6707	raw := NoMethod(*s)
6708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6709}
6710
6711// EventTag: Contains properties of an event tag.
6712type EventTag struct {
6713	// AccountId: Account ID of this event tag. This is a read-only field
6714	// that can be left blank.
6715	AccountId int64 `json:"accountId,omitempty,string"`
6716
6717	// AdvertiserId: Advertiser ID of this event tag. This field or the
6718	// campaignId field is required on insertion.
6719	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
6720
6721	// AdvertiserIdDimensionValue: Dimension value for the ID of the
6722	// advertiser. This is a read-only, auto-generated field.
6723	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
6724
6725	// CampaignId: Campaign ID of this event tag. This field or the
6726	// advertiserId field is required on insertion.
6727	CampaignId int64 `json:"campaignId,omitempty,string"`
6728
6729	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
6730	// This is a read-only, auto-generated field.
6731	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
6732
6733	// EnabledByDefault: Whether this event tag should be automatically
6734	// enabled for all of the advertiser's campaigns and ads.
6735	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
6736
6737	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
6738	// that are trafficked through Display & Video 360 to Ad Exchange. This
6739	// may be useful if the event tag uses a pixel that is unapproved for Ad
6740	// Exchange bids on one or more networks, such as the Google Display
6741	// Network.
6742	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
6743
6744	// Id: ID of this event tag. This is a read-only, auto-generated field.
6745	Id int64 `json:"id,omitempty,string"`
6746
6747	// Kind: Identifies what kind of resource this is. Value: the fixed
6748	// string "dfareporting#eventTag".
6749	Kind string `json:"kind,omitempty"`
6750
6751	// Name: Name of this event tag. This is a required field and must be
6752	// less than 256 characters long.
6753	Name string `json:"name,omitempty"`
6754
6755	// SiteFilterType: Site filter type for this event tag. If no type is
6756	// specified then the event tag will be applied to all sites.
6757	//
6758	// Possible values:
6759	//   "WHITELIST"
6760	//   "BLACKLIST"
6761	SiteFilterType string `json:"siteFilterType,omitempty"`
6762
6763	// SiteIds: Filter list of site IDs associated with this event tag. The
6764	// siteFilterType determines whether this is a allowlist or blocklist
6765	// filter.
6766	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
6767
6768	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
6769	// read-only field.
6770	SslCompliant bool `json:"sslCompliant,omitempty"`
6771
6772	// Status: Status of this event tag. Must be ENABLED for this event tag
6773	// to fire. This is a required field.
6774	//
6775	// Possible values:
6776	//   "ENABLED"
6777	//   "DISABLED"
6778	Status string `json:"status,omitempty"`
6779
6780	// SubaccountId: Subaccount ID of this event tag. This is a read-only
6781	// field that can be left blank.
6782	SubaccountId int64 `json:"subaccountId,omitempty,string"`
6783
6784	// Type: Event tag type. Can be used to specify whether to use a
6785	// third-party pixel, a third-party JavaScript URL, or a third-party
6786	// click-through URL for either impression or click tracking. This is a
6787	// required field.
6788	//
6789	// Possible values:
6790	//   "IMPRESSION_IMAGE_EVENT_TAG"
6791	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
6792	//   "CLICK_THROUGH_EVENT_TAG"
6793	Type string `json:"type,omitempty"`
6794
6795	// Url: Payload URL for this event tag. The URL on a click-through event
6796	// tag should have a landing page URL appended to the end of it. This
6797	// field is required on insertion.
6798	Url string `json:"url,omitempty"`
6799
6800	// UrlEscapeLevels: Number of times the landing page URL should be
6801	// URL-escaped before being appended to the click-through event tag URL.
6802	// Only applies to click-through event tags as specified by the event
6803	// tag type.
6804	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
6805
6806	// ServerResponse contains the HTTP response code and headers from the
6807	// server.
6808	googleapi.ServerResponse `json:"-"`
6809
6810	// ForceSendFields is a list of field names (e.g. "AccountId") to
6811	// unconditionally include in API requests. By default, fields with
6812	// empty values are omitted from API requests. However, any non-pointer,
6813	// non-interface field appearing in ForceSendFields will be sent to the
6814	// server regardless of whether the field is empty or not. This may be
6815	// used to include empty fields in Patch requests.
6816	ForceSendFields []string `json:"-"`
6817
6818	// NullFields is a list of field names (e.g. "AccountId") to include in
6819	// API requests with the JSON null value. By default, fields with empty
6820	// values are omitted from API requests. However, any field with an
6821	// empty value appearing in NullFields will be sent to the server as
6822	// null. It is an error if a field in this list has a non-empty value.
6823	// This may be used to include null fields in Patch requests.
6824	NullFields []string `json:"-"`
6825}
6826
6827func (s *EventTag) MarshalJSON() ([]byte, error) {
6828	type NoMethod EventTag
6829	raw := NoMethod(*s)
6830	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6831}
6832
6833// EventTagOverride: Event tag override information.
6834type EventTagOverride struct {
6835	// Enabled: Whether this override is enabled.
6836	Enabled bool `json:"enabled,omitempty"`
6837
6838	// Id: ID of this event tag override. This is a read-only,
6839	// auto-generated field.
6840	Id int64 `json:"id,omitempty,string"`
6841
6842	// ForceSendFields is a list of field names (e.g. "Enabled") to
6843	// unconditionally include in API requests. By default, fields with
6844	// empty values are omitted from API requests. However, any non-pointer,
6845	// non-interface field appearing in ForceSendFields will be sent to the
6846	// server regardless of whether the field is empty or not. This may be
6847	// used to include empty fields in Patch requests.
6848	ForceSendFields []string `json:"-"`
6849
6850	// NullFields is a list of field names (e.g. "Enabled") to include in
6851	// API requests with the JSON null value. By default, fields with empty
6852	// values are omitted from API requests. However, any field with an
6853	// empty value appearing in NullFields will be sent to the server as
6854	// null. It is an error if a field in this list has a non-empty value.
6855	// This may be used to include null fields in Patch requests.
6856	NullFields []string `json:"-"`
6857}
6858
6859func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
6860	type NoMethod EventTagOverride
6861	raw := NoMethod(*s)
6862	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6863}
6864
6865// EventTagsListResponse: Event Tag List Response
6866type EventTagsListResponse struct {
6867	// EventTags: Event tag collection.
6868	EventTags []*EventTag `json:"eventTags,omitempty"`
6869
6870	// Kind: Identifies what kind of resource this is. Value: the fixed
6871	// string "dfareporting#eventTagsListResponse".
6872	Kind string `json:"kind,omitempty"`
6873
6874	// ServerResponse contains the HTTP response code and headers from the
6875	// server.
6876	googleapi.ServerResponse `json:"-"`
6877
6878	// ForceSendFields is a list of field names (e.g. "EventTags") to
6879	// unconditionally include in API requests. By default, fields with
6880	// empty values are omitted from API requests. However, any non-pointer,
6881	// non-interface field appearing in ForceSendFields will be sent to the
6882	// server regardless of whether the field is empty or not. This may be
6883	// used to include empty fields in Patch requests.
6884	ForceSendFields []string `json:"-"`
6885
6886	// NullFields is a list of field names (e.g. "EventTags") to include in
6887	// API requests with the JSON null value. By default, fields with empty
6888	// values are omitted from API requests. However, any field with an
6889	// empty value appearing in NullFields will be sent to the server as
6890	// null. It is an error if a field in this list has a non-empty value.
6891	// This may be used to include null fields in Patch requests.
6892	NullFields []string `json:"-"`
6893}
6894
6895func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
6896	type NoMethod EventTagsListResponse
6897	raw := NoMethod(*s)
6898	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6899}
6900
6901// File: Represents a File resource. A file contains the metadata for a
6902// report run. It shows the status of the run and holds the URLs to the
6903// generated report data if the run is finished and the status is
6904// "REPORT_AVAILABLE".
6905type File struct {
6906	// DateRange: The date range for which the file has report data. The
6907	// date range will always be the absolute date range for which the
6908	// report is run.
6909	DateRange *DateRange `json:"dateRange,omitempty"`
6910
6911	// Etag: Etag of this resource.
6912	Etag string `json:"etag,omitempty"`
6913
6914	// FileName: The filename of the file.
6915	FileName string `json:"fileName,omitempty"`
6916
6917	// Format: The output format of the report. Only available once the file
6918	// is available.
6919	//
6920	// Possible values:
6921	//   "CSV"
6922	//   "EXCEL"
6923	Format string `json:"format,omitempty"`
6924
6925	// Id: The unique ID of this report file.
6926	Id int64 `json:"id,omitempty,string"`
6927
6928	// Kind: Identifies what kind of resource this is. Value: the fixed
6929	// string "dfareporting#file".
6930	Kind string `json:"kind,omitempty"`
6931
6932	// LastModifiedTime: The timestamp in milliseconds since epoch when this
6933	// file was last modified.
6934	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
6935
6936	// ReportId: The ID of the report this file was generated from.
6937	ReportId int64 `json:"reportId,omitempty,string"`
6938
6939	// Status: The status of the report file.
6940	//
6941	// Possible values:
6942	//   "PROCESSING"
6943	//   "REPORT_AVAILABLE"
6944	//   "FAILED"
6945	//   "CANCELLED"
6946	Status string `json:"status,omitempty"`
6947
6948	// Urls: The URLs where the completed report file can be downloaded.
6949	Urls *FileUrls `json:"urls,omitempty"`
6950
6951	// ServerResponse contains the HTTP response code and headers from the
6952	// server.
6953	googleapi.ServerResponse `json:"-"`
6954
6955	// ForceSendFields is a list of field names (e.g. "DateRange") to
6956	// unconditionally include in API requests. By default, fields with
6957	// empty values are omitted from API requests. However, any non-pointer,
6958	// non-interface field appearing in ForceSendFields will be sent to the
6959	// server regardless of whether the field is empty or not. This may be
6960	// used to include empty fields in Patch requests.
6961	ForceSendFields []string `json:"-"`
6962
6963	// NullFields is a list of field names (e.g. "DateRange") to include in
6964	// API requests with the JSON null value. By default, fields with empty
6965	// values are omitted from API requests. However, any field with an
6966	// empty value appearing in NullFields will be sent to the server as
6967	// null. It is an error if a field in this list has a non-empty value.
6968	// This may be used to include null fields in Patch requests.
6969	NullFields []string `json:"-"`
6970}
6971
6972func (s *File) MarshalJSON() ([]byte, error) {
6973	type NoMethod File
6974	raw := NoMethod(*s)
6975	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6976}
6977
6978// FileUrls: The URLs where the completed report file can be downloaded.
6979type FileUrls struct {
6980	// ApiUrl: The URL for downloading the report data through the API.
6981	ApiUrl string `json:"apiUrl,omitempty"`
6982
6983	// BrowserUrl: The URL for downloading the report data through a
6984	// browser.
6985	BrowserUrl string `json:"browserUrl,omitempty"`
6986
6987	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
6988	// unconditionally include in API requests. By default, fields with
6989	// empty values are omitted from API requests. However, any non-pointer,
6990	// non-interface field appearing in ForceSendFields will be sent to the
6991	// server regardless of whether the field is empty or not. This may be
6992	// used to include empty fields in Patch requests.
6993	ForceSendFields []string `json:"-"`
6994
6995	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
6996	// requests with the JSON null value. By default, fields with empty
6997	// values are omitted from API requests. However, any field with an
6998	// empty value appearing in NullFields will be sent to the server as
6999	// null. It is an error if a field in this list has a non-empty value.
7000	// This may be used to include null fields in Patch requests.
7001	NullFields []string `json:"-"`
7002}
7003
7004func (s *FileUrls) MarshalJSON() ([]byte, error) {
7005	type NoMethod FileUrls
7006	raw := NoMethod(*s)
7007	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7008}
7009
7010// FileList: List of files for a report.
7011type FileList struct {
7012	// Etag: Etag of this resource.
7013	Etag string `json:"etag,omitempty"`
7014
7015	// Items: The files returned in this response.
7016	Items []*File `json:"items,omitempty"`
7017
7018	// Kind: Identifies what kind of resource this is. Value: the fixed
7019	// string "dfareporting#fileList".
7020	Kind string `json:"kind,omitempty"`
7021
7022	// NextPageToken: Continuation token used to page through files. To
7023	// retrieve the next page of results, set the next request's "pageToken"
7024	// to the value of this field. The page token is only valid for a
7025	// limited amount of time and should not be persisted.
7026	NextPageToken string `json:"nextPageToken,omitempty"`
7027
7028	// ServerResponse contains the HTTP response code and headers from the
7029	// server.
7030	googleapi.ServerResponse `json:"-"`
7031
7032	// ForceSendFields is a list of field names (e.g. "Etag") to
7033	// unconditionally include in API requests. By default, fields with
7034	// empty values are omitted from API requests. However, any non-pointer,
7035	// non-interface field appearing in ForceSendFields will be sent to the
7036	// server regardless of whether the field is empty or not. This may be
7037	// used to include empty fields in Patch requests.
7038	ForceSendFields []string `json:"-"`
7039
7040	// NullFields is a list of field names (e.g. "Etag") to include in API
7041	// requests with the JSON null value. By default, fields with empty
7042	// values are omitted from API requests. However, any field with an
7043	// empty value appearing in NullFields will be sent to the server as
7044	// null. It is an error if a field in this list has a non-empty value.
7045	// This may be used to include null fields in Patch requests.
7046	NullFields []string `json:"-"`
7047}
7048
7049func (s *FileList) MarshalJSON() ([]byte, error) {
7050	type NoMethod FileList
7051	raw := NoMethod(*s)
7052	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7053}
7054
7055// Flight: Flight
7056type Flight struct {
7057	EndDate string `json:"endDate,omitempty"`
7058
7059	// RateOrCost: Rate or cost of this flight.
7060	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
7061
7062	StartDate string `json:"startDate,omitempty"`
7063
7064	// Units: Units of this flight.
7065	Units int64 `json:"units,omitempty,string"`
7066
7067	// ForceSendFields is a list of field names (e.g. "EndDate") to
7068	// unconditionally include in API requests. By default, fields with
7069	// empty values are omitted from API requests. However, any non-pointer,
7070	// non-interface field appearing in ForceSendFields will be sent to the
7071	// server regardless of whether the field is empty or not. This may be
7072	// used to include empty fields in Patch requests.
7073	ForceSendFields []string `json:"-"`
7074
7075	// NullFields is a list of field names (e.g. "EndDate") to include in
7076	// API requests with the JSON null value. By default, fields with empty
7077	// values are omitted from API requests. However, any field with an
7078	// empty value appearing in NullFields will be sent to the server as
7079	// null. It is an error if a field in this list has a non-empty value.
7080	// This may be used to include null fields in Patch requests.
7081	NullFields []string `json:"-"`
7082}
7083
7084func (s *Flight) MarshalJSON() ([]byte, error) {
7085	type NoMethod Flight
7086	raw := NoMethod(*s)
7087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7088}
7089
7090// FloodlightActivitiesGenerateTagResponse: Floodlight Activity
7091// GenerateTag Response
7092type FloodlightActivitiesGenerateTagResponse struct {
7093	// FloodlightActivityTag: Generated tag for this Floodlight activity.
7094	// For global site tags, this is the event snippet.
7095	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
7096
7097	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
7098	// site tag. The global site tag sets new cookies on your domain, which
7099	// will store a unique identifier for a user or the ad click that
7100	// brought the user to your site. Learn more.
7101	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
7102
7103	// Kind: Identifies what kind of resource this is. Value: the fixed
7104	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
7105	Kind string `json:"kind,omitempty"`
7106
7107	// ServerResponse contains the HTTP response code and headers from the
7108	// server.
7109	googleapi.ServerResponse `json:"-"`
7110
7111	// ForceSendFields is a list of field names (e.g.
7112	// "FloodlightActivityTag") to unconditionally include in API requests.
7113	// By default, fields with empty values are omitted from API requests.
7114	// However, any non-pointer, non-interface field appearing in
7115	// ForceSendFields will be sent to the server regardless of whether the
7116	// field is empty or not. This may be used to include empty fields in
7117	// Patch requests.
7118	ForceSendFields []string `json:"-"`
7119
7120	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
7121	// include in API requests with the JSON null value. By default, fields
7122	// with empty values are omitted from API requests. However, any field
7123	// with an empty value appearing in NullFields will be sent to the
7124	// server as null. It is an error if a field in this list has a
7125	// non-empty value. This may be used to include null fields in Patch
7126	// requests.
7127	NullFields []string `json:"-"`
7128}
7129
7130func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
7131	type NoMethod FloodlightActivitiesGenerateTagResponse
7132	raw := NoMethod(*s)
7133	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7134}
7135
7136// FloodlightActivitiesListResponse: Floodlight Activity List Response
7137type FloodlightActivitiesListResponse struct {
7138	// FloodlightActivities: Floodlight activity collection.
7139	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
7140
7141	// Kind: Identifies what kind of resource this is. Value: the fixed
7142	// string "dfareporting#floodlightActivitiesListResponse".
7143	Kind string `json:"kind,omitempty"`
7144
7145	// NextPageToken: Pagination token to be used for the next list
7146	// operation.
7147	NextPageToken string `json:"nextPageToken,omitempty"`
7148
7149	// ServerResponse contains the HTTP response code and headers from the
7150	// server.
7151	googleapi.ServerResponse `json:"-"`
7152
7153	// ForceSendFields is a list of field names (e.g.
7154	// "FloodlightActivities") to unconditionally include in API requests.
7155	// By default, fields with empty values are omitted from API requests.
7156	// However, any non-pointer, non-interface field appearing in
7157	// ForceSendFields will be sent to the server regardless of whether the
7158	// field is empty or not. This may be used to include empty fields in
7159	// Patch requests.
7160	ForceSendFields []string `json:"-"`
7161
7162	// NullFields is a list of field names (e.g. "FloodlightActivities") to
7163	// include in API requests with the JSON null value. By default, fields
7164	// with empty values are omitted from API requests. However, any field
7165	// with an empty value appearing in NullFields will be sent to the
7166	// server as null. It is an error if a field in this list has a
7167	// non-empty value. This may be used to include null fields in Patch
7168	// requests.
7169	NullFields []string `json:"-"`
7170}
7171
7172func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
7173	type NoMethod FloodlightActivitiesListResponse
7174	raw := NoMethod(*s)
7175	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7176}
7177
7178// FloodlightActivity: Contains properties of a Floodlight activity.
7179type FloodlightActivity struct {
7180	// AccountId: Account ID of this floodlight activity. This is a
7181	// read-only field that can be left blank.
7182	AccountId int64 `json:"accountId,omitempty,string"`
7183
7184	// AdvertiserId: Advertiser ID of this floodlight activity. If this
7185	// field is left blank, the value will be copied over either from the
7186	// activity group's advertiser or the existing activity's advertiser.
7187	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7188
7189	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7190	// advertiser. This is a read-only, auto-generated field.
7191	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7192
7193	// CacheBustingType: Code type used for cache busting in the generated
7194	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
7195	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
7196	//
7197	// Possible values:
7198	//   "JAVASCRIPT"
7199	//   "ACTIVE_SERVER_PAGE"
7200	//   "JSP"
7201	//   "PHP"
7202	//   "COLD_FUSION"
7203	CacheBustingType string `json:"cacheBustingType,omitempty"`
7204
7205	// CountingMethod: Counting method for conversions for this floodlight
7206	// activity. This is a required field.
7207	//
7208	// Possible values:
7209	//   "STANDARD_COUNTING"
7210	//   "UNIQUE_COUNTING"
7211	//   "SESSION_COUNTING"
7212	//   "TRANSACTIONS_COUNTING"
7213	//   "ITEMS_SOLD_COUNTING"
7214	CountingMethod string `json:"countingMethod,omitempty"`
7215
7216	// DefaultTags: Dynamic floodlight tags.
7217	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
7218
7219	// ExpectedUrl: URL where this tag will be deployed. If specified, must
7220	// be less than 256 characters long.
7221	ExpectedUrl string `json:"expectedUrl,omitempty"`
7222
7223	// FloodlightActivityGroupId: Floodlight activity group ID of this
7224	// floodlight activity. This is a required field.
7225	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
7226
7227	// FloodlightActivityGroupName: Name of the associated floodlight
7228	// activity group. This is a read-only field.
7229	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
7230
7231	// FloodlightActivityGroupTagString: Tag string of the associated
7232	// floodlight activity group. This is a read-only field.
7233	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
7234
7235	// FloodlightActivityGroupType: Type of the associated floodlight
7236	// activity group. This is a read-only field.
7237	//
7238	// Possible values:
7239	//   "COUNTER"
7240	//   "SALE"
7241	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
7242
7243	// FloodlightConfigurationId: Floodlight configuration ID of this
7244	// floodlight activity. If this field is left blank, the value will be
7245	// copied over either from the activity group's floodlight configuration
7246	// or from the existing activity's floodlight configuration.
7247	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7248
7249	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7250	// of the floodlight configuration. This is a read-only, auto-generated
7251	// field.
7252	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7253
7254	// FloodlightTagType: The type of Floodlight tag this activity will
7255	// generate. This is a required field.
7256	//
7257	// Possible values:
7258	//   "IFRAME"
7259	//   "IMAGE"
7260	//   "GLOBAL_SITE_TAG"
7261	FloodlightTagType string `json:"floodlightTagType,omitempty"`
7262
7263	// Hidden: Whether this activity is archived.
7264	Hidden bool `json:"hidden,omitempty"`
7265
7266	// Id: ID of this floodlight activity. This is a read-only,
7267	// auto-generated field.
7268	Id int64 `json:"id,omitempty,string"`
7269
7270	// IdDimensionValue: Dimension value for the ID of this floodlight
7271	// activity. This is a read-only, auto-generated field.
7272	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7273
7274	// Kind: Identifies what kind of resource this is. Value: the fixed
7275	// string "dfareporting#floodlightActivity".
7276	Kind string `json:"kind,omitempty"`
7277
7278	// Name: Name of this floodlight activity. This is a required field.
7279	// Must be less than 129 characters long and cannot contain quotes.
7280	Name string `json:"name,omitempty"`
7281
7282	// Notes: General notes or implementation instructions for the tag.
7283	Notes string `json:"notes,omitempty"`
7284
7285	// PublisherTags: Publisher dynamic floodlight tags.
7286	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
7287
7288	// Secure: Whether this tag should use SSL.
7289	Secure bool `json:"secure,omitempty"`
7290
7291	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
7292	// is a read-only field, its value detected by the system from the
7293	// floodlight tags.
7294	SslCompliant bool `json:"sslCompliant,omitempty"`
7295
7296	// SslRequired: Whether this floodlight activity must be SSL-compliant.
7297	SslRequired bool `json:"sslRequired,omitempty"`
7298
7299	// SubaccountId: Subaccount ID of this floodlight activity. This is a
7300	// read-only field that can be left blank.
7301	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7302
7303	// TagFormat: Tag format type for the floodlight activity. If left
7304	// blank, the tag format will default to HTML.
7305	//
7306	// Possible values:
7307	//   "HTML"
7308	//   "XHTML"
7309	TagFormat string `json:"tagFormat,omitempty"`
7310
7311	// TagString: Value of the cat= parameter in the floodlight tag, which
7312	// the ad servers use to identify the activity. This is optional: if
7313	// empty, a new tag string will be generated for you. This string must
7314	// be 1 to 8 characters long, with valid characters being a-z0-9[ _ ].
7315	// This tag string must also be unique among activities of the same
7316	// activity group. This field is read-only after insertion.
7317	TagString string `json:"tagString,omitempty"`
7318
7319	// UserDefinedVariableTypes: List of the user-defined variables used by
7320	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
7321	// of these can have a user defined type. Acceptable values are U1 to
7322	// U100, inclusive.
7323	//
7324	// Possible values:
7325	//   "U1"
7326	//   "U2"
7327	//   "U3"
7328	//   "U4"
7329	//   "U5"
7330	//   "U6"
7331	//   "U7"
7332	//   "U8"
7333	//   "U9"
7334	//   "U10"
7335	//   "U11"
7336	//   "U12"
7337	//   "U13"
7338	//   "U14"
7339	//   "U15"
7340	//   "U16"
7341	//   "U17"
7342	//   "U18"
7343	//   "U19"
7344	//   "U20"
7345	//   "U21"
7346	//   "U22"
7347	//   "U23"
7348	//   "U24"
7349	//   "U25"
7350	//   "U26"
7351	//   "U27"
7352	//   "U28"
7353	//   "U29"
7354	//   "U30"
7355	//   "U31"
7356	//   "U32"
7357	//   "U33"
7358	//   "U34"
7359	//   "U35"
7360	//   "U36"
7361	//   "U37"
7362	//   "U38"
7363	//   "U39"
7364	//   "U40"
7365	//   "U41"
7366	//   "U42"
7367	//   "U43"
7368	//   "U44"
7369	//   "U45"
7370	//   "U46"
7371	//   "U47"
7372	//   "U48"
7373	//   "U49"
7374	//   "U50"
7375	//   "U51"
7376	//   "U52"
7377	//   "U53"
7378	//   "U54"
7379	//   "U55"
7380	//   "U56"
7381	//   "U57"
7382	//   "U58"
7383	//   "U59"
7384	//   "U60"
7385	//   "U61"
7386	//   "U62"
7387	//   "U63"
7388	//   "U64"
7389	//   "U65"
7390	//   "U66"
7391	//   "U67"
7392	//   "U68"
7393	//   "U69"
7394	//   "U70"
7395	//   "U71"
7396	//   "U72"
7397	//   "U73"
7398	//   "U74"
7399	//   "U75"
7400	//   "U76"
7401	//   "U77"
7402	//   "U78"
7403	//   "U79"
7404	//   "U80"
7405	//   "U81"
7406	//   "U82"
7407	//   "U83"
7408	//   "U84"
7409	//   "U85"
7410	//   "U86"
7411	//   "U87"
7412	//   "U88"
7413	//   "U89"
7414	//   "U90"
7415	//   "U91"
7416	//   "U92"
7417	//   "U93"
7418	//   "U94"
7419	//   "U95"
7420	//   "U96"
7421	//   "U97"
7422	//   "U98"
7423	//   "U99"
7424	//   "U100"
7425	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
7426
7427	// ServerResponse contains the HTTP response code and headers from the
7428	// server.
7429	googleapi.ServerResponse `json:"-"`
7430
7431	// ForceSendFields is a list of field names (e.g. "AccountId") to
7432	// unconditionally include in API requests. By default, fields with
7433	// empty values are omitted from API requests. However, any non-pointer,
7434	// non-interface field appearing in ForceSendFields will be sent to the
7435	// server regardless of whether the field is empty or not. This may be
7436	// used to include empty fields in Patch requests.
7437	ForceSendFields []string `json:"-"`
7438
7439	// NullFields is a list of field names (e.g. "AccountId") to include in
7440	// API requests with the JSON null value. By default, fields with empty
7441	// values are omitted from API requests. However, any field with an
7442	// empty value appearing in NullFields will be sent to the server as
7443	// null. It is an error if a field in this list has a non-empty value.
7444	// This may be used to include null fields in Patch requests.
7445	NullFields []string `json:"-"`
7446}
7447
7448func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
7449	type NoMethod FloodlightActivity
7450	raw := NoMethod(*s)
7451	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7452}
7453
7454// FloodlightActivityDynamicTag: Dynamic Tag
7455type FloodlightActivityDynamicTag struct {
7456	// Id: ID of this dynamic tag. This is a read-only, auto-generated
7457	// field.
7458	Id int64 `json:"id,omitempty,string"`
7459
7460	// Name: Name of this tag.
7461	Name string `json:"name,omitempty"`
7462
7463	// Tag: Tag code.
7464	Tag string `json:"tag,omitempty"`
7465
7466	// ForceSendFields is a list of field names (e.g. "Id") to
7467	// unconditionally include in API requests. By default, fields with
7468	// empty values are omitted from API requests. However, any non-pointer,
7469	// non-interface field appearing in ForceSendFields will be sent to the
7470	// server regardless of whether the field is empty or not. This may be
7471	// used to include empty fields in Patch requests.
7472	ForceSendFields []string `json:"-"`
7473
7474	// NullFields is a list of field names (e.g. "Id") to include in API
7475	// requests with the JSON null value. By default, fields with empty
7476	// values are omitted from API requests. However, any field with an
7477	// empty value appearing in NullFields will be sent to the server as
7478	// null. It is an error if a field in this list has a non-empty value.
7479	// This may be used to include null fields in Patch requests.
7480	NullFields []string `json:"-"`
7481}
7482
7483func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
7484	type NoMethod FloodlightActivityDynamicTag
7485	raw := NoMethod(*s)
7486	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7487}
7488
7489// FloodlightActivityGroup: Contains properties of a Floodlight activity
7490// group.
7491type FloodlightActivityGroup struct {
7492	// AccountId: Account ID of this floodlight activity group. This is a
7493	// read-only field that can be left blank.
7494	AccountId int64 `json:"accountId,omitempty,string"`
7495
7496	// AdvertiserId: Advertiser ID of this floodlight activity group. If
7497	// this field is left blank, the value will be copied over either from
7498	// the floodlight configuration's advertiser or from the existing
7499	// activity group's advertiser.
7500	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7501
7502	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7503	// advertiser. This is a read-only, auto-generated field.
7504	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7505
7506	// FloodlightConfigurationId: Floodlight configuration ID of this
7507	// floodlight activity group. This is a required field.
7508	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7509
7510	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7511	// of the floodlight configuration. This is a read-only, auto-generated
7512	// field.
7513	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7514
7515	// Id: ID of this floodlight activity group. This is a read-only,
7516	// auto-generated field.
7517	Id int64 `json:"id,omitempty,string"`
7518
7519	// IdDimensionValue: Dimension value for the ID of this floodlight
7520	// activity group. This is a read-only, auto-generated field.
7521	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7522
7523	// Kind: Identifies what kind of resource this is. Value: the fixed
7524	// string "dfareporting#floodlightActivityGroup".
7525	Kind string `json:"kind,omitempty"`
7526
7527	// Name: Name of this floodlight activity group. This is a required
7528	// field. Must be less than 65 characters long and cannot contain
7529	// quotes.
7530	Name string `json:"name,omitempty"`
7531
7532	// SubaccountId: Subaccount ID of this floodlight activity group. This
7533	// is a read-only field that can be left blank.
7534	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7535
7536	// TagString: Value of the type= parameter in the floodlight tag, which
7537	// the ad servers use to identify the activity group that the activity
7538	// belongs to. This is optional: if empty, a new tag string will be
7539	// generated for you. This string must be 1 to 8 characters long, with
7540	// valid characters being a-z0-9[ _ ]. This tag string must also be
7541	// unique among activity groups of the same floodlight configuration.
7542	// This field is read-only after insertion.
7543	TagString string `json:"tagString,omitempty"`
7544
7545	// Type: Type of the floodlight activity group. This is a required field
7546	// that is read-only after insertion.
7547	//
7548	// Possible values:
7549	//   "COUNTER"
7550	//   "SALE"
7551	Type string `json:"type,omitempty"`
7552
7553	// ServerResponse contains the HTTP response code and headers from the
7554	// server.
7555	googleapi.ServerResponse `json:"-"`
7556
7557	// ForceSendFields is a list of field names (e.g. "AccountId") to
7558	// unconditionally include in API requests. By default, fields with
7559	// empty values are omitted from API requests. However, any non-pointer,
7560	// non-interface field appearing in ForceSendFields will be sent to the
7561	// server regardless of whether the field is empty or not. This may be
7562	// used to include empty fields in Patch requests.
7563	ForceSendFields []string `json:"-"`
7564
7565	// NullFields is a list of field names (e.g. "AccountId") to include in
7566	// API requests with the JSON null value. By default, fields with empty
7567	// values are omitted from API requests. However, any field with an
7568	// empty value appearing in NullFields will be sent to the server as
7569	// null. It is an error if a field in this list has a non-empty value.
7570	// This may be used to include null fields in Patch requests.
7571	NullFields []string `json:"-"`
7572}
7573
7574func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
7575	type NoMethod FloodlightActivityGroup
7576	raw := NoMethod(*s)
7577	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7578}
7579
7580// FloodlightActivityGroupsListResponse: Floodlight Activity Group List
7581// Response
7582type FloodlightActivityGroupsListResponse struct {
7583	// FloodlightActivityGroups: Floodlight activity group collection.
7584	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
7585
7586	// Kind: Identifies what kind of resource this is. Value: the fixed
7587	// string "dfareporting#floodlightActivityGroupsListResponse".
7588	Kind string `json:"kind,omitempty"`
7589
7590	// NextPageToken: Pagination token to be used for the next list
7591	// operation.
7592	NextPageToken string `json:"nextPageToken,omitempty"`
7593
7594	// ServerResponse contains the HTTP response code and headers from the
7595	// server.
7596	googleapi.ServerResponse `json:"-"`
7597
7598	// ForceSendFields is a list of field names (e.g.
7599	// "FloodlightActivityGroups") to unconditionally include in API
7600	// requests. By default, fields with empty values are omitted from API
7601	// requests. However, any non-pointer, non-interface field appearing in
7602	// ForceSendFields will be sent to the server regardless of whether the
7603	// field is empty or not. This may be used to include empty fields in
7604	// Patch requests.
7605	ForceSendFields []string `json:"-"`
7606
7607	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
7608	// to include in API requests with the JSON null value. By default,
7609	// fields with empty values are omitted from API requests. However, any
7610	// field with an empty value appearing in NullFields will be sent to the
7611	// server as null. It is an error if a field in this list has a
7612	// non-empty value. This may be used to include null fields in Patch
7613	// requests.
7614	NullFields []string `json:"-"`
7615}
7616
7617func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
7618	type NoMethod FloodlightActivityGroupsListResponse
7619	raw := NoMethod(*s)
7620	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7621}
7622
7623// FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
7624type FloodlightActivityPublisherDynamicTag struct {
7625	// ClickThrough: Whether this tag is applicable only for click-throughs.
7626	ClickThrough bool `json:"clickThrough,omitempty"`
7627
7628	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
7629	// write-only field that can be used as an alternative to the siteId
7630	// field. When this resource is retrieved, only the siteId field will be
7631	// populated.
7632	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
7633
7634	// DynamicTag: Dynamic floodlight tag.
7635	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
7636
7637	// SiteId: Site ID of this dynamic tag.
7638	SiteId int64 `json:"siteId,omitempty,string"`
7639
7640	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
7641	// a read-only, auto-generated field.
7642	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
7643
7644	// ViewThrough: Whether this tag is applicable only for view-throughs.
7645	ViewThrough bool `json:"viewThrough,omitempty"`
7646
7647	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
7648	// unconditionally include in API requests. By default, fields with
7649	// empty values are omitted from API requests. However, any non-pointer,
7650	// non-interface field appearing in ForceSendFields will be sent to the
7651	// server regardless of whether the field is empty or not. This may be
7652	// used to include empty fields in Patch requests.
7653	ForceSendFields []string `json:"-"`
7654
7655	// NullFields is a list of field names (e.g. "ClickThrough") to include
7656	// in API requests with the JSON null value. By default, fields with
7657	// empty values are omitted from API requests. However, any field with
7658	// an empty value appearing in NullFields will be sent to the server as
7659	// null. It is an error if a field in this list has a non-empty value.
7660	// This may be used to include null fields in Patch requests.
7661	NullFields []string `json:"-"`
7662}
7663
7664func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
7665	type NoMethod FloodlightActivityPublisherDynamicTag
7666	raw := NoMethod(*s)
7667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7668}
7669
7670// FloodlightConfiguration: Contains properties of a Floodlight
7671// configuration.
7672type FloodlightConfiguration struct {
7673	// AccountId: Account ID of this floodlight configuration. This is a
7674	// read-only field that can be left blank.
7675	AccountId int64 `json:"accountId,omitempty,string"`
7676
7677	// AdvertiserId: Advertiser ID of the parent advertiser of this
7678	// floodlight configuration.
7679	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7680
7681	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7682	// advertiser. This is a read-only, auto-generated field.
7683	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7684
7685	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
7686	// Google Analytics.
7687	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
7688
7689	// CustomViewabilityMetric: Custom Viewability metric for the floodlight
7690	// configuration.
7691	CustomViewabilityMetric *CustomViewabilityMetric `json:"customViewabilityMetric,omitempty"`
7692
7693	// ExposureToConversionEnabled: Whether the exposure-to-conversion
7694	// report is enabled. This report shows detailed pathway information on
7695	// up to 10 of the most recent ad exposures seen by a user before
7696	// converting.
7697	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
7698
7699	// FirstDayOfWeek: Day that will be counted as the first day of the week
7700	// in reports. This is a required field.
7701	//
7702	// Possible values:
7703	//   "MONDAY"
7704	//   "SUNDAY"
7705	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
7706
7707	// Id: ID of this floodlight configuration. This is a read-only,
7708	// auto-generated field.
7709	Id int64 `json:"id,omitempty,string"`
7710
7711	// IdDimensionValue: Dimension value for the ID of this floodlight
7712	// configuration. This is a read-only, auto-generated field.
7713	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7714
7715	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
7716	// is enabled.
7717	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
7718
7719	// Kind: Identifies what kind of resource this is. Value: the fixed
7720	// string "dfareporting#floodlightConfiguration".
7721	Kind string `json:"kind,omitempty"`
7722
7723	// LookbackConfiguration: Lookback window settings for this floodlight
7724	// configuration.
7725	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
7726
7727	// NaturalSearchConversionAttributionOption: Types of attribution
7728	// options for natural search conversions.
7729	//
7730	// Possible values:
7731	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7732	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
7733	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
7734	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
7735
7736	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
7737	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
7738
7739	// SubaccountId: Subaccount ID of this floodlight configuration. This is
7740	// a read-only field that can be left blank.
7741	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7742
7743	// TagSettings: Configuration settings for dynamic and image floodlight
7744	// tags.
7745	TagSettings *TagSettings `json:"tagSettings,omitempty"`
7746
7747	// ThirdPartyAuthenticationTokens: List of third-party authentication
7748	// tokens enabled for this configuration.
7749	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
7750
7751	// UserDefinedVariableConfigurations: List of user defined variables
7752	// enabled for this configuration.
7753	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
7754
7755	// ServerResponse contains the HTTP response code and headers from the
7756	// server.
7757	googleapi.ServerResponse `json:"-"`
7758
7759	// ForceSendFields is a list of field names (e.g. "AccountId") to
7760	// unconditionally include in API requests. By default, fields with
7761	// empty values are omitted from API requests. However, any non-pointer,
7762	// non-interface field appearing in ForceSendFields will be sent to the
7763	// server regardless of whether the field is empty or not. This may be
7764	// used to include empty fields in Patch requests.
7765	ForceSendFields []string `json:"-"`
7766
7767	// NullFields is a list of field names (e.g. "AccountId") to include in
7768	// API requests with the JSON null value. By default, fields with empty
7769	// values are omitted from API requests. However, any field with an
7770	// empty value appearing in NullFields will be sent to the server as
7771	// null. It is an error if a field in this list has a non-empty value.
7772	// This may be used to include null fields in Patch requests.
7773	NullFields []string `json:"-"`
7774}
7775
7776func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
7777	type NoMethod FloodlightConfiguration
7778	raw := NoMethod(*s)
7779	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7780}
7781
7782// FloodlightConfigurationsListResponse: Floodlight Configuration List
7783// Response
7784type FloodlightConfigurationsListResponse struct {
7785	// FloodlightConfigurations: Floodlight configuration collection.
7786	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
7787
7788	// Kind: Identifies what kind of resource this is. Value: the fixed
7789	// string "dfareporting#floodlightConfigurationsListResponse".
7790	Kind string `json:"kind,omitempty"`
7791
7792	// ServerResponse contains the HTTP response code and headers from the
7793	// server.
7794	googleapi.ServerResponse `json:"-"`
7795
7796	// ForceSendFields is a list of field names (e.g.
7797	// "FloodlightConfigurations") to unconditionally include in API
7798	// requests. By default, fields with empty values are omitted from API
7799	// requests. However, any non-pointer, non-interface field appearing in
7800	// ForceSendFields will be sent to the server regardless of whether the
7801	// field is empty or not. This may be used to include empty fields in
7802	// Patch requests.
7803	ForceSendFields []string `json:"-"`
7804
7805	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
7806	// to include in API requests with the JSON null value. By default,
7807	// fields with empty values are omitted from API requests. However, any
7808	// field with an empty value appearing in NullFields will be sent to the
7809	// server as null. It is an error if a field in this list has a
7810	// non-empty value. This may be used to include null fields in Patch
7811	// requests.
7812	NullFields []string `json:"-"`
7813}
7814
7815func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
7816	type NoMethod FloodlightConfigurationsListResponse
7817	raw := NoMethod(*s)
7818	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7819}
7820
7821// FloodlightReportCompatibleFields: Represents fields that are
7822// compatible to be selected for a report of type "FlOODLIGHT".
7823type FloodlightReportCompatibleFields struct {
7824	// DimensionFilters: Dimensions which are compatible to be selected in
7825	// the "dimensionFilters" section of the report.
7826	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
7827
7828	// Dimensions: Dimensions which are compatible to be selected in the
7829	// "dimensions" section of the report.
7830	Dimensions []*Dimension `json:"dimensions,omitempty"`
7831
7832	// Kind: The kind of resource this is, in this case
7833	// dfareporting#floodlightReportCompatibleFields.
7834	Kind string `json:"kind,omitempty"`
7835
7836	// Metrics: Metrics which are compatible to be selected in the
7837	// "metricNames" section of the report.
7838	Metrics []*Metric `json:"metrics,omitempty"`
7839
7840	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
7841	// unconditionally include in API requests. By default, fields with
7842	// empty values are omitted from API requests. However, any non-pointer,
7843	// non-interface field appearing in ForceSendFields will be sent to the
7844	// server regardless of whether the field is empty or not. This may be
7845	// used to include empty fields in Patch requests.
7846	ForceSendFields []string `json:"-"`
7847
7848	// NullFields is a list of field names (e.g. "DimensionFilters") to
7849	// include in API requests with the JSON null value. By default, fields
7850	// with empty values are omitted from API requests. However, any field
7851	// with an empty value appearing in NullFields will be sent to the
7852	// server as null. It is an error if a field in this list has a
7853	// non-empty value. This may be used to include null fields in Patch
7854	// requests.
7855	NullFields []string `json:"-"`
7856}
7857
7858func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
7859	type NoMethod FloodlightReportCompatibleFields
7860	raw := NoMethod(*s)
7861	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7862}
7863
7864// FrequencyCap: Frequency Cap.
7865type FrequencyCap struct {
7866	// Duration: Duration of time, in seconds, for this frequency cap. The
7867	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
7868	// inclusive.
7869	Duration int64 `json:"duration,omitempty,string"`
7870
7871	// Impressions: Number of times an individual user can be served the ad
7872	// within the specified duration. Acceptable values are 1 to 15,
7873	// inclusive.
7874	Impressions int64 `json:"impressions,omitempty,string"`
7875
7876	// ForceSendFields is a list of field names (e.g. "Duration") to
7877	// unconditionally include in API requests. By default, fields with
7878	// empty values are omitted from API requests. However, any non-pointer,
7879	// non-interface field appearing in ForceSendFields will be sent to the
7880	// server regardless of whether the field is empty or not. This may be
7881	// used to include empty fields in Patch requests.
7882	ForceSendFields []string `json:"-"`
7883
7884	// NullFields is a list of field names (e.g. "Duration") to include in
7885	// API requests with the JSON null value. By default, fields with empty
7886	// values are omitted from API requests. However, any field with an
7887	// empty value appearing in NullFields will be sent to the server as
7888	// null. It is an error if a field in this list has a non-empty value.
7889	// This may be used to include null fields in Patch requests.
7890	NullFields []string `json:"-"`
7891}
7892
7893func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
7894	type NoMethod FrequencyCap
7895	raw := NoMethod(*s)
7896	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7897}
7898
7899// FsCommand: FsCommand.
7900type FsCommand struct {
7901	// Left: Distance from the left of the browser.Applicable when
7902	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7903	Left int64 `json:"left,omitempty"`
7904
7905	// PositionOption: Position in the browser where the window will open.
7906	//
7907	// Possible values:
7908	//   "CENTERED"
7909	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
7910	PositionOption string `json:"positionOption,omitempty"`
7911
7912	// Top: Distance from the top of the browser. Applicable when
7913	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
7914	Top int64 `json:"top,omitempty"`
7915
7916	// WindowHeight: Height of the window.
7917	WindowHeight int64 `json:"windowHeight,omitempty"`
7918
7919	// WindowWidth: Width of the window.
7920	WindowWidth int64 `json:"windowWidth,omitempty"`
7921
7922	// ForceSendFields is a list of field names (e.g. "Left") to
7923	// unconditionally include in API requests. By default, fields with
7924	// empty values are omitted from API requests. However, any non-pointer,
7925	// non-interface field appearing in ForceSendFields will be sent to the
7926	// server regardless of whether the field is empty or not. This may be
7927	// used to include empty fields in Patch requests.
7928	ForceSendFields []string `json:"-"`
7929
7930	// NullFields is a list of field names (e.g. "Left") to include in API
7931	// requests with the JSON null value. By default, fields with empty
7932	// values are omitted from API requests. However, any field with an
7933	// empty value appearing in NullFields will be sent to the server as
7934	// null. It is an error if a field in this list has a non-empty value.
7935	// This may be used to include null fields in Patch requests.
7936	NullFields []string `json:"-"`
7937}
7938
7939func (s *FsCommand) MarshalJSON() ([]byte, error) {
7940	type NoMethod FsCommand
7941	raw := NoMethod(*s)
7942	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7943}
7944
7945// GeoTargeting: Geographical Targeting.
7946type GeoTargeting struct {
7947	// Cities: Cities to be targeted. For each city only dartId is required.
7948	// The other fields are populated automatically when the ad is inserted
7949	// or updated. If targeting a city, do not target or exclude the country
7950	// of the city, and do not target the metro or region of the city.
7951	Cities []*City `json:"cities,omitempty"`
7952
7953	// Countries: Countries to be targeted or excluded from targeting,
7954	// depending on the setting of the excludeCountries field. For each
7955	// country only dartId is required. The other fields are populated
7956	// automatically when the ad is inserted or updated. If targeting or
7957	// excluding a country, do not target regions, cities, metros, or postal
7958	// codes in the same country.
7959	Countries []*Country `json:"countries,omitempty"`
7960
7961	// ExcludeCountries: Whether or not to exclude the countries in the
7962	// countries field from targeting. If false, the countries field refers
7963	// to countries which will be targeted by the ad.
7964	ExcludeCountries bool `json:"excludeCountries,omitempty"`
7965
7966	// Metros: Metros to be targeted. For each metro only dmaId is required.
7967	// The other fields are populated automatically when the ad is inserted
7968	// or updated. If targeting a metro, do not target or exclude the
7969	// country of the metro.
7970	Metros []*Metro `json:"metros,omitempty"`
7971
7972	// PostalCodes: Postal codes to be targeted. For each postal code only
7973	// id is required. The other fields are populated automatically when the
7974	// ad is inserted or updated. If targeting a postal code, do not target
7975	// or exclude the country of the postal code.
7976	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
7977
7978	// Regions: Regions to be targeted. For each region only dartId is
7979	// required. The other fields are populated automatically when the ad is
7980	// inserted or updated. If targeting a region, do not target or exclude
7981	// the country of the region.
7982	Regions []*Region `json:"regions,omitempty"`
7983
7984	// ForceSendFields is a list of field names (e.g. "Cities") to
7985	// unconditionally include in API requests. By default, fields with
7986	// empty values are omitted from API requests. However, any non-pointer,
7987	// non-interface field appearing in ForceSendFields will be sent to the
7988	// server regardless of whether the field is empty or not. This may be
7989	// used to include empty fields in Patch requests.
7990	ForceSendFields []string `json:"-"`
7991
7992	// NullFields is a list of field names (e.g. "Cities") to include in API
7993	// requests with the JSON null value. By default, fields with empty
7994	// values are omitted from API requests. However, any field with an
7995	// empty value appearing in NullFields will be sent to the server as
7996	// null. It is an error if a field in this list has a non-empty value.
7997	// This may be used to include null fields in Patch requests.
7998	NullFields []string `json:"-"`
7999}
8000
8001func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
8002	type NoMethod GeoTargeting
8003	raw := NoMethod(*s)
8004	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8005}
8006
8007// InventoryItem: Represents a buy from the Planning inventory store.
8008type InventoryItem struct {
8009	// AccountId: Account ID of this inventory item.
8010	AccountId int64 `json:"accountId,omitempty,string"`
8011
8012	// AdSlots: Ad slots of this inventory item. If this inventory item
8013	// represents a standalone placement, there will be exactly one ad slot.
8014	// If this inventory item represents a placement group, there will be
8015	// more than one ad slot, each representing one child placement in that
8016	// placement group.
8017	AdSlots []*AdSlot `json:"adSlots,omitempty"`
8018
8019	// AdvertiserId: Advertiser ID of this inventory item.
8020	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8021
8022	// ContentCategoryId: Content category ID of this inventory item.
8023	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
8024
8025	// EstimatedClickThroughRate: Estimated click-through rate of this
8026	// inventory item.
8027	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
8028
8029	// EstimatedConversionRate: Estimated conversion rate of this inventory
8030	// item.
8031	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
8032
8033	// Id: ID of this inventory item.
8034	Id int64 `json:"id,omitempty,string"`
8035
8036	// InPlan: Whether this inventory item is in plan.
8037	InPlan bool `json:"inPlan,omitempty"`
8038
8039	// Kind: Identifies what kind of resource this is. Value: the fixed
8040	// string "dfareporting#inventoryItem".
8041	Kind string `json:"kind,omitempty"`
8042
8043	// LastModifiedInfo: Information about the most recent modification of
8044	// this inventory item.
8045	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
8046
8047	// Name: Name of this inventory item. For standalone inventory items,
8048	// this is the same name as that of its only ad slot. For group
8049	// inventory items, this can differ from the name of any of its ad
8050	// slots.
8051	Name string `json:"name,omitempty"`
8052
8053	// NegotiationChannelId: Negotiation channel ID of this inventory item.
8054	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
8055
8056	// OrderId: Order ID of this inventory item.
8057	OrderId int64 `json:"orderId,omitempty,string"`
8058
8059	// PlacementStrategyId: Placement strategy ID of this inventory item.
8060	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
8061
8062	// Pricing: Pricing of this inventory item.
8063	Pricing *Pricing `json:"pricing,omitempty"`
8064
8065	// ProjectId: Project ID of this inventory item.
8066	ProjectId int64 `json:"projectId,omitempty,string"`
8067
8068	// RfpId: RFP ID of this inventory item.
8069	RfpId int64 `json:"rfpId,omitempty,string"`
8070
8071	// SiteId: ID of the site this inventory item is associated with.
8072	SiteId int64 `json:"siteId,omitempty,string"`
8073
8074	// SubaccountId: Subaccount ID of this inventory item.
8075	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8076
8077	// Type: Type of inventory item.
8078	//
8079	// Possible values:
8080	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
8081	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
8082	Type string `json:"type,omitempty"`
8083
8084	// ServerResponse contains the HTTP response code and headers from the
8085	// server.
8086	googleapi.ServerResponse `json:"-"`
8087
8088	// ForceSendFields is a list of field names (e.g. "AccountId") to
8089	// unconditionally include in API requests. By default, fields with
8090	// empty values are omitted from API requests. However, any non-pointer,
8091	// non-interface field appearing in ForceSendFields will be sent to the
8092	// server regardless of whether the field is empty or not. This may be
8093	// used to include empty fields in Patch requests.
8094	ForceSendFields []string `json:"-"`
8095
8096	// NullFields is a list of field names (e.g. "AccountId") to include in
8097	// API requests with the JSON null value. By default, fields with empty
8098	// values are omitted from API requests. However, any field with an
8099	// empty value appearing in NullFields will be sent to the server as
8100	// null. It is an error if a field in this list has a non-empty value.
8101	// This may be used to include null fields in Patch requests.
8102	NullFields []string `json:"-"`
8103}
8104
8105func (s *InventoryItem) MarshalJSON() ([]byte, error) {
8106	type NoMethod InventoryItem
8107	raw := NoMethod(*s)
8108	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8109}
8110
8111// InventoryItemsListResponse: Inventory item List Response
8112type InventoryItemsListResponse struct {
8113	// InventoryItems: Inventory item collection
8114	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
8115
8116	// Kind: Identifies what kind of resource this is. Value: the fixed
8117	// string "dfareporting#inventoryItemsListResponse".
8118	Kind string `json:"kind,omitempty"`
8119
8120	// NextPageToken: Pagination token to be used for the next list
8121	// operation.
8122	NextPageToken string `json:"nextPageToken,omitempty"`
8123
8124	// ServerResponse contains the HTTP response code and headers from the
8125	// server.
8126	googleapi.ServerResponse `json:"-"`
8127
8128	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
8129	// unconditionally include in API requests. By default, fields with
8130	// empty values are omitted from API requests. However, any non-pointer,
8131	// non-interface field appearing in ForceSendFields will be sent to the
8132	// server regardless of whether the field is empty or not. This may be
8133	// used to include empty fields in Patch requests.
8134	ForceSendFields []string `json:"-"`
8135
8136	// NullFields is a list of field names (e.g. "InventoryItems") to
8137	// include in API requests with the JSON null value. By default, fields
8138	// with empty values are omitted from API requests. However, any field
8139	// with an empty value appearing in NullFields will be sent to the
8140	// server as null. It is an error if a field in this list has a
8141	// non-empty value. This may be used to include null fields in Patch
8142	// requests.
8143	NullFields []string `json:"-"`
8144}
8145
8146func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
8147	type NoMethod InventoryItemsListResponse
8148	raw := NoMethod(*s)
8149	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8150}
8151
8152// KeyValueTargetingExpression: Key Value Targeting Expression.
8153type KeyValueTargetingExpression struct {
8154	// Expression: Keyword expression being targeted by the ad.
8155	Expression string `json:"expression,omitempty"`
8156
8157	// ForceSendFields is a list of field names (e.g. "Expression") to
8158	// unconditionally include in API requests. By default, fields with
8159	// empty values are omitted from API requests. However, any non-pointer,
8160	// non-interface field appearing in ForceSendFields will be sent to the
8161	// server regardless of whether the field is empty or not. This may be
8162	// used to include empty fields in Patch requests.
8163	ForceSendFields []string `json:"-"`
8164
8165	// NullFields is a list of field names (e.g. "Expression") to include in
8166	// API requests with the JSON null value. By default, fields with empty
8167	// values are omitted from API requests. However, any field with an
8168	// empty value appearing in NullFields will be sent to the server as
8169	// null. It is an error if a field in this list has a non-empty value.
8170	// This may be used to include null fields in Patch requests.
8171	NullFields []string `json:"-"`
8172}
8173
8174func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
8175	type NoMethod KeyValueTargetingExpression
8176	raw := NoMethod(*s)
8177	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8178}
8179
8180// LandingPage: Contains information about where a user's browser is
8181// taken after the user clicks an ad.
8182type LandingPage struct {
8183	// AdvertiserId: Advertiser ID of this landing page. This is a required
8184	// field.
8185	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8186
8187	// Archived: Whether this landing page has been archived.
8188	Archived bool `json:"archived,omitempty"`
8189
8190	// DeepLinks: Links that will direct the user to a mobile app, if
8191	// installed.
8192	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
8193
8194	// Id: ID of this landing page. This is a read-only, auto-generated
8195	// field.
8196	Id int64 `json:"id,omitempty,string"`
8197
8198	// Kind: Identifies what kind of resource this is. Value: the fixed
8199	// string "dfareporting#landingPage".
8200	Kind string `json:"kind,omitempty"`
8201
8202	// Name: Name of this landing page. This is a required field. It must be
8203	// less than 256 characters long.
8204	Name string `json:"name,omitempty"`
8205
8206	// Url: URL of this landing page. This is a required field.
8207	Url string `json:"url,omitempty"`
8208
8209	// ServerResponse contains the HTTP response code and headers from the
8210	// server.
8211	googleapi.ServerResponse `json:"-"`
8212
8213	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8214	// unconditionally include in API requests. By default, fields with
8215	// empty values are omitted from API requests. However, any non-pointer,
8216	// non-interface field appearing in ForceSendFields will be sent to the
8217	// server regardless of whether the field is empty or not. This may be
8218	// used to include empty fields in Patch requests.
8219	ForceSendFields []string `json:"-"`
8220
8221	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8222	// in API requests with the JSON null value. By default, fields with
8223	// empty values are omitted from API requests. However, any field with
8224	// an empty value appearing in NullFields will be sent to the server as
8225	// null. It is an error if a field in this list has a non-empty value.
8226	// This may be used to include null fields in Patch requests.
8227	NullFields []string `json:"-"`
8228}
8229
8230func (s *LandingPage) MarshalJSON() ([]byte, error) {
8231	type NoMethod LandingPage
8232	raw := NoMethod(*s)
8233	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8234}
8235
8236// Language: Contains information about a language that can be targeted
8237// by ads.
8238type Language struct {
8239	// Id: Language ID of this language. This is the ID used for targeting
8240	// and generating reports.
8241	Id int64 `json:"id,omitempty,string"`
8242
8243	// Kind: Identifies what kind of resource this is. Value: the fixed
8244	// string "dfareporting#language".
8245	Kind string `json:"kind,omitempty"`
8246
8247	// LanguageCode: Format of language code is an ISO 639 two-letter
8248	// language code optionally followed by an underscore followed by an ISO
8249	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
8250	// Chinese.
8251	LanguageCode string `json:"languageCode,omitempty"`
8252
8253	// Name: Name of this language.
8254	Name string `json:"name,omitempty"`
8255
8256	// ForceSendFields is a list of field names (e.g. "Id") to
8257	// unconditionally include in API requests. By default, fields with
8258	// empty values are omitted from API requests. However, any non-pointer,
8259	// non-interface field appearing in ForceSendFields will be sent to the
8260	// server regardless of whether the field is empty or not. This may be
8261	// used to include empty fields in Patch requests.
8262	ForceSendFields []string `json:"-"`
8263
8264	// NullFields is a list of field names (e.g. "Id") to include in API
8265	// requests with the JSON null value. By default, fields with empty
8266	// values are omitted from API requests. However, any field with an
8267	// empty value appearing in NullFields will be sent to the server as
8268	// null. It is an error if a field in this list has a non-empty value.
8269	// This may be used to include null fields in Patch requests.
8270	NullFields []string `json:"-"`
8271}
8272
8273func (s *Language) MarshalJSON() ([]byte, error) {
8274	type NoMethod Language
8275	raw := NoMethod(*s)
8276	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8277}
8278
8279// LanguageTargeting: Language Targeting.
8280type LanguageTargeting struct {
8281	// Languages: Languages that this ad targets. For each language only
8282	// languageId is required. The other fields are populated automatically
8283	// when the ad is inserted or updated.
8284	Languages []*Language `json:"languages,omitempty"`
8285
8286	// ForceSendFields is a list of field names (e.g. "Languages") to
8287	// unconditionally include in API requests. By default, fields with
8288	// empty values are omitted from API requests. However, any non-pointer,
8289	// non-interface field appearing in ForceSendFields will be sent to the
8290	// server regardless of whether the field is empty or not. This may be
8291	// used to include empty fields in Patch requests.
8292	ForceSendFields []string `json:"-"`
8293
8294	// NullFields is a list of field names (e.g. "Languages") to include in
8295	// API requests with the JSON null value. By default, fields with empty
8296	// values are omitted from API requests. However, any field with an
8297	// empty value appearing in NullFields will be sent to the server as
8298	// null. It is an error if a field in this list has a non-empty value.
8299	// This may be used to include null fields in Patch requests.
8300	NullFields []string `json:"-"`
8301}
8302
8303func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
8304	type NoMethod LanguageTargeting
8305	raw := NoMethod(*s)
8306	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8307}
8308
8309// LanguagesListResponse: Language List Response
8310type LanguagesListResponse struct {
8311	// Kind: Identifies what kind of resource this is. Value: the fixed
8312	// string "dfareporting#languagesListResponse".
8313	Kind string `json:"kind,omitempty"`
8314
8315	// Languages: Language collection.
8316	Languages []*Language `json:"languages,omitempty"`
8317
8318	// ServerResponse contains the HTTP response code and headers from the
8319	// server.
8320	googleapi.ServerResponse `json:"-"`
8321
8322	// ForceSendFields is a list of field names (e.g. "Kind") to
8323	// unconditionally include in API requests. By default, fields with
8324	// empty values are omitted from API requests. However, any non-pointer,
8325	// non-interface field appearing in ForceSendFields will be sent to the
8326	// server regardless of whether the field is empty or not. This may be
8327	// used to include empty fields in Patch requests.
8328	ForceSendFields []string `json:"-"`
8329
8330	// NullFields is a list of field names (e.g. "Kind") to include in API
8331	// requests with the JSON null value. By default, fields with empty
8332	// values are omitted from API requests. However, any field with an
8333	// empty value appearing in NullFields will be sent to the server as
8334	// null. It is an error if a field in this list has a non-empty value.
8335	// This may be used to include null fields in Patch requests.
8336	NullFields []string `json:"-"`
8337}
8338
8339func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
8340	type NoMethod LanguagesListResponse
8341	raw := NoMethod(*s)
8342	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8343}
8344
8345// LastModifiedInfo: Modification timestamp.
8346type LastModifiedInfo struct {
8347	// Time: Timestamp of the last change in milliseconds since epoch.
8348	Time int64 `json:"time,omitempty,string"`
8349
8350	// ForceSendFields is a list of field names (e.g. "Time") to
8351	// unconditionally include in API requests. By default, fields with
8352	// empty values are omitted from API requests. However, any non-pointer,
8353	// non-interface field appearing in ForceSendFields will be sent to the
8354	// server regardless of whether the field is empty or not. This may be
8355	// used to include empty fields in Patch requests.
8356	ForceSendFields []string `json:"-"`
8357
8358	// NullFields is a list of field names (e.g. "Time") to include in API
8359	// requests with the JSON null value. By default, fields with empty
8360	// values are omitted from API requests. However, any field with an
8361	// empty value appearing in NullFields will be sent to the server as
8362	// null. It is an error if a field in this list has a non-empty value.
8363	// This may be used to include null fields in Patch requests.
8364	NullFields []string `json:"-"`
8365}
8366
8367func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
8368	type NoMethod LastModifiedInfo
8369	raw := NoMethod(*s)
8370	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8371}
8372
8373// ListPopulationClause: A group clause made up of list population terms
8374// representing constraints joined by ORs.
8375type ListPopulationClause struct {
8376	// Terms: Terms of this list population clause. Each clause is made up
8377	// of list population terms representing constraints and are joined by
8378	// ORs.
8379	Terms []*ListPopulationTerm `json:"terms,omitempty"`
8380
8381	// ForceSendFields is a list of field names (e.g. "Terms") to
8382	// unconditionally include in API requests. By default, fields with
8383	// empty values are omitted from API requests. However, any non-pointer,
8384	// non-interface field appearing in ForceSendFields will be sent to the
8385	// server regardless of whether the field is empty or not. This may be
8386	// used to include empty fields in Patch requests.
8387	ForceSendFields []string `json:"-"`
8388
8389	// NullFields is a list of field names (e.g. "Terms") to include in API
8390	// requests with the JSON null value. By default, fields with empty
8391	// values are omitted from API requests. However, any field with an
8392	// empty value appearing in NullFields will be sent to the server as
8393	// null. It is an error if a field in this list has a non-empty value.
8394	// This may be used to include null fields in Patch requests.
8395	NullFields []string `json:"-"`
8396}
8397
8398func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
8399	type NoMethod ListPopulationClause
8400	raw := NoMethod(*s)
8401	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8402}
8403
8404// ListPopulationRule: Remarketing List Population Rule.
8405type ListPopulationRule struct {
8406	// FloodlightActivityId: Floodlight activity ID associated with this
8407	// rule. This field can be left blank.
8408	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
8409
8410	// FloodlightActivityName: Name of floodlight activity associated with
8411	// this rule. This is a read-only, auto-generated field.
8412	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
8413
8414	// ListPopulationClauses: Clauses that make up this list population
8415	// rule. Clauses are joined by ANDs, and the clauses themselves are made
8416	// up of list population terms which are joined by ORs.
8417	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
8418
8419	// ForceSendFields is a list of field names (e.g.
8420	// "FloodlightActivityId") to unconditionally include in API requests.
8421	// By default, fields with empty values are omitted from API requests.
8422	// However, any non-pointer, non-interface field appearing in
8423	// ForceSendFields will be sent to the server regardless of whether the
8424	// field is empty or not. This may be used to include empty fields in
8425	// Patch requests.
8426	ForceSendFields []string `json:"-"`
8427
8428	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
8429	// include in API requests with the JSON null value. By default, fields
8430	// with empty values are omitted from API requests. However, any field
8431	// with an empty value appearing in NullFields will be sent to the
8432	// server as null. It is an error if a field in this list has a
8433	// non-empty value. This may be used to include null fields in Patch
8434	// requests.
8435	NullFields []string `json:"-"`
8436}
8437
8438func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
8439	type NoMethod ListPopulationRule
8440	raw := NoMethod(*s)
8441	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8442}
8443
8444// ListPopulationTerm: Remarketing List Population Rule Term.
8445type ListPopulationTerm struct {
8446	// Contains: Will be true if the term should check if the user is in the
8447	// list and false if the term should check if the user is not in the
8448	// list. This field is only relevant when type is set to
8449	// LIST_MEMBERSHIP_TERM. False by default.
8450	Contains bool `json:"contains,omitempty"`
8451
8452	// Negation: Whether to negate the comparison result of this term during
8453	// rule evaluation. This field is only relevant when type is left unset
8454	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8455	Negation bool `json:"negation,omitempty"`
8456
8457	// Operator: Comparison operator of this term. This field is only
8458	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8459	// REFERRER_TERM.
8460	//
8461	// Possible values:
8462	//   "NUM_EQUALS"
8463	//   "NUM_LESS_THAN"
8464	//   "NUM_LESS_THAN_EQUAL"
8465	//   "NUM_GREATER_THAN"
8466	//   "NUM_GREATER_THAN_EQUAL"
8467	//   "STRING_EQUALS"
8468	//   "STRING_CONTAINS"
8469	Operator string `json:"operator,omitempty"`
8470
8471	// RemarketingListId: ID of the list in question. This field is only
8472	// relevant when type is set to LIST_MEMBERSHIP_TERM.
8473	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
8474
8475	// Type: List population term type determines the applicable fields in
8476	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
8477	// variableName, variableFriendlyName, operator, value, and negation are
8478	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
8479	// contains are applicable. If set to REFERRER_TERM then operator,
8480	// value, and negation are applicable.
8481	//
8482	// Possible values:
8483	//   "CUSTOM_VARIABLE_TERM"
8484	//   "LIST_MEMBERSHIP_TERM"
8485	//   "REFERRER_TERM"
8486	Type string `json:"type,omitempty"`
8487
8488	// Value: Literal to compare the variable to. This field is only
8489	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8490	// REFERRER_TERM.
8491	Value string `json:"value,omitempty"`
8492
8493	// VariableFriendlyName: Friendly name of this term's variable. This is
8494	// a read-only, auto-generated field. This field is only relevant when
8495	// type is left unset or set to CUSTOM_VARIABLE_TERM.
8496	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
8497
8498	// VariableName: Name of the variable (U1, U2, etc.) being compared in
8499	// this term. This field is only relevant when type is set to null,
8500	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8501	VariableName string `json:"variableName,omitempty"`
8502
8503	// ForceSendFields is a list of field names (e.g. "Contains") to
8504	// unconditionally include in API requests. By default, fields with
8505	// empty values are omitted from API requests. However, any non-pointer,
8506	// non-interface field appearing in ForceSendFields will be sent to the
8507	// server regardless of whether the field is empty or not. This may be
8508	// used to include empty fields in Patch requests.
8509	ForceSendFields []string `json:"-"`
8510
8511	// NullFields is a list of field names (e.g. "Contains") to include in
8512	// API requests with the JSON null value. By default, fields with empty
8513	// values are omitted from API requests. However, any field with an
8514	// empty value appearing in NullFields will be sent to the server as
8515	// null. It is an error if a field in this list has a non-empty value.
8516	// This may be used to include null fields in Patch requests.
8517	NullFields []string `json:"-"`
8518}
8519
8520func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
8521	type NoMethod ListPopulationTerm
8522	raw := NoMethod(*s)
8523	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8524}
8525
8526// ListTargetingExpression: Remarketing List Targeting Expression.
8527type ListTargetingExpression struct {
8528	// Expression: Expression describing which lists are being targeted by
8529	// the ad.
8530	Expression string `json:"expression,omitempty"`
8531
8532	// ForceSendFields is a list of field names (e.g. "Expression") to
8533	// unconditionally include in API requests. By default, fields with
8534	// empty values are omitted from API requests. However, any non-pointer,
8535	// non-interface field appearing in ForceSendFields will be sent to the
8536	// server regardless of whether the field is empty or not. This may be
8537	// used to include empty fields in Patch requests.
8538	ForceSendFields []string `json:"-"`
8539
8540	// NullFields is a list of field names (e.g. "Expression") to include in
8541	// API requests with the JSON null value. By default, fields with empty
8542	// values are omitted from API requests. However, any field with an
8543	// empty value appearing in NullFields will be sent to the server as
8544	// null. It is an error if a field in this list has a non-empty value.
8545	// This may be used to include null fields in Patch requests.
8546	NullFields []string `json:"-"`
8547}
8548
8549func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
8550	type NoMethod ListTargetingExpression
8551	raw := NoMethod(*s)
8552	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8553}
8554
8555// LookbackConfiguration: Lookback configuration settings.
8556type LookbackConfiguration struct {
8557	// ClickDuration: Lookback window, in days, from the last time a given
8558	// user clicked on one of your ads. If you enter 0, clicks will not be
8559	// considered as triggering events for floodlight tracking. If you leave
8560	// this field blank, the default value for your account will be used.
8561	// Acceptable values are 0 to 90, inclusive.
8562	ClickDuration int64 `json:"clickDuration,omitempty"`
8563
8564	// PostImpressionActivitiesDuration: Lookback window, in days, from the
8565	// last time a given user viewed one of your ads. If you enter 0,
8566	// impressions will not be considered as triggering events for
8567	// floodlight tracking. If you leave this field blank, the default value
8568	// for your account will be used. Acceptable values are 0 to 90,
8569	// inclusive.
8570	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
8571
8572	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
8573	// unconditionally include in API requests. By default, fields with
8574	// empty values are omitted from API requests. However, any non-pointer,
8575	// non-interface field appearing in ForceSendFields will be sent to the
8576	// server regardless of whether the field is empty or not. This may be
8577	// used to include empty fields in Patch requests.
8578	ForceSendFields []string `json:"-"`
8579
8580	// NullFields is a list of field names (e.g. "ClickDuration") to include
8581	// in API requests with the JSON null value. By default, fields with
8582	// empty values are omitted from API requests. However, any field with
8583	// an empty value appearing in NullFields will be sent to the server as
8584	// null. It is an error if a field in this list has a non-empty value.
8585	// This may be used to include null fields in Patch requests.
8586	NullFields []string `json:"-"`
8587}
8588
8589func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
8590	type NoMethod LookbackConfiguration
8591	raw := NoMethod(*s)
8592	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8593}
8594
8595// Metric: Represents a metric.
8596type Metric struct {
8597	// Kind: The kind of resource this is, in this case dfareporting#metric.
8598	Kind string `json:"kind,omitempty"`
8599
8600	// Name: The metric name, e.g. dfa:impressions
8601	Name string `json:"name,omitempty"`
8602
8603	// ForceSendFields is a list of field names (e.g. "Kind") to
8604	// unconditionally include in API requests. By default, fields with
8605	// empty values are omitted from API requests. However, any non-pointer,
8606	// non-interface field appearing in ForceSendFields will be sent to the
8607	// server regardless of whether the field is empty or not. This may be
8608	// used to include empty fields in Patch requests.
8609	ForceSendFields []string `json:"-"`
8610
8611	// NullFields is a list of field names (e.g. "Kind") to include in API
8612	// requests with the JSON null value. By default, fields with empty
8613	// values are omitted from API requests. However, any field with an
8614	// empty value appearing in NullFields will be sent to the server as
8615	// null. It is an error if a field in this list has a non-empty value.
8616	// This may be used to include null fields in Patch requests.
8617	NullFields []string `json:"-"`
8618}
8619
8620func (s *Metric) MarshalJSON() ([]byte, error) {
8621	type NoMethod Metric
8622	raw := NoMethod(*s)
8623	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8624}
8625
8626// Metro: Contains information about a metro region that can be targeted
8627// by ads.
8628type Metro struct {
8629	// CountryCode: Country code of the country to which this metro region
8630	// belongs.
8631	CountryCode string `json:"countryCode,omitempty"`
8632
8633	// CountryDartId: DART ID of the country to which this metro region
8634	// belongs.
8635	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8636
8637	// DartId: DART ID of this metro region.
8638	DartId int64 `json:"dartId,omitempty,string"`
8639
8640	// DmaId: DMA ID of this metro region. This is the ID used for targeting
8641	// and generating reports, and is equivalent to metro_code.
8642	DmaId int64 `json:"dmaId,omitempty,string"`
8643
8644	// Kind: Identifies what kind of resource this is. Value: the fixed
8645	// string "dfareporting#metro".
8646	Kind string `json:"kind,omitempty"`
8647
8648	// MetroCode: Metro code of this metro region. This is equivalent to
8649	// dma_id.
8650	MetroCode string `json:"metroCode,omitempty"`
8651
8652	// Name: Name of this metro region.
8653	Name string `json:"name,omitempty"`
8654
8655	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8656	// unconditionally include in API requests. By default, fields with
8657	// empty values are omitted from API requests. However, any non-pointer,
8658	// non-interface field appearing in ForceSendFields will be sent to the
8659	// server regardless of whether the field is empty or not. This may be
8660	// used to include empty fields in Patch requests.
8661	ForceSendFields []string `json:"-"`
8662
8663	// NullFields is a list of field names (e.g. "CountryCode") to include
8664	// in API requests with the JSON null value. By default, fields with
8665	// empty values are omitted from API requests. However, any field with
8666	// an empty value appearing in NullFields will be sent to the server as
8667	// null. It is an error if a field in this list has a non-empty value.
8668	// This may be used to include null fields in Patch requests.
8669	NullFields []string `json:"-"`
8670}
8671
8672func (s *Metro) MarshalJSON() ([]byte, error) {
8673	type NoMethod Metro
8674	raw := NoMethod(*s)
8675	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8676}
8677
8678// MetrosListResponse: Metro List Response
8679type MetrosListResponse struct {
8680	// Kind: Identifies what kind of resource this is. Value: the fixed
8681	// string "dfareporting#metrosListResponse".
8682	Kind string `json:"kind,omitempty"`
8683
8684	// Metros: Metro collection.
8685	Metros []*Metro `json:"metros,omitempty"`
8686
8687	// ServerResponse contains the HTTP response code and headers from the
8688	// server.
8689	googleapi.ServerResponse `json:"-"`
8690
8691	// ForceSendFields is a list of field names (e.g. "Kind") to
8692	// unconditionally include in API requests. By default, fields with
8693	// empty values are omitted from API requests. However, any non-pointer,
8694	// non-interface field appearing in ForceSendFields will be sent to the
8695	// server regardless of whether the field is empty or not. This may be
8696	// used to include empty fields in Patch requests.
8697	ForceSendFields []string `json:"-"`
8698
8699	// NullFields is a list of field names (e.g. "Kind") to include in API
8700	// requests with the JSON null value. By default, fields with empty
8701	// values are omitted from API requests. However, any field with an
8702	// empty value appearing in NullFields will be sent to the server as
8703	// null. It is an error if a field in this list has a non-empty value.
8704	// This may be used to include null fields in Patch requests.
8705	NullFields []string `json:"-"`
8706}
8707
8708func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
8709	type NoMethod MetrosListResponse
8710	raw := NoMethod(*s)
8711	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8712}
8713
8714// MobileApp: Contains information about a mobile app. Used as a landing
8715// page deep link.
8716type MobileApp struct {
8717	// Directory: Mobile app directory.
8718	//
8719	// Possible values:
8720	//   "UNKNOWN"
8721	//   "APPLE_APP_STORE"
8722	//   "GOOGLE_PLAY_STORE"
8723	Directory string `json:"directory,omitempty"`
8724
8725	// Id: ID of this mobile app.
8726	Id string `json:"id,omitempty"`
8727
8728	// Kind: Identifies what kind of resource this is. Value: the fixed
8729	// string "dfareporting#mobileApp".
8730	Kind string `json:"kind,omitempty"`
8731
8732	// PublisherName: Publisher name.
8733	PublisherName string `json:"publisherName,omitempty"`
8734
8735	// Title: Title of this mobile app.
8736	Title string `json:"title,omitempty"`
8737
8738	// ServerResponse contains the HTTP response code and headers from the
8739	// server.
8740	googleapi.ServerResponse `json:"-"`
8741
8742	// ForceSendFields is a list of field names (e.g. "Directory") to
8743	// unconditionally include in API requests. By default, fields with
8744	// empty values are omitted from API requests. However, any non-pointer,
8745	// non-interface field appearing in ForceSendFields will be sent to the
8746	// server regardless of whether the field is empty or not. This may be
8747	// used to include empty fields in Patch requests.
8748	ForceSendFields []string `json:"-"`
8749
8750	// NullFields is a list of field names (e.g. "Directory") to include in
8751	// API requests with the JSON null value. By default, fields with empty
8752	// values are omitted from API requests. However, any field with an
8753	// empty value appearing in NullFields will be sent to the server as
8754	// null. It is an error if a field in this list has a non-empty value.
8755	// This may be used to include null fields in Patch requests.
8756	NullFields []string `json:"-"`
8757}
8758
8759func (s *MobileApp) MarshalJSON() ([]byte, error) {
8760	type NoMethod MobileApp
8761	raw := NoMethod(*s)
8762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8763}
8764
8765// MobileAppsListResponse: Mobile app List Response
8766type MobileAppsListResponse struct {
8767	// Kind: Identifies what kind of resource this is. Value: the fixed
8768	// string "dfareporting#mobileAppsListResponse".
8769	Kind string `json:"kind,omitempty"`
8770
8771	// MobileApps: Mobile apps collection.
8772	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
8773
8774	// NextPageToken: Pagination token to be used for the next list
8775	// operation.
8776	NextPageToken string `json:"nextPageToken,omitempty"`
8777
8778	// ServerResponse contains the HTTP response code and headers from the
8779	// server.
8780	googleapi.ServerResponse `json:"-"`
8781
8782	// ForceSendFields is a list of field names (e.g. "Kind") to
8783	// unconditionally include in API requests. By default, fields with
8784	// empty values are omitted from API requests. However, any non-pointer,
8785	// non-interface field appearing in ForceSendFields will be sent to the
8786	// server regardless of whether the field is empty or not. This may be
8787	// used to include empty fields in Patch requests.
8788	ForceSendFields []string `json:"-"`
8789
8790	// NullFields is a list of field names (e.g. "Kind") to include in API
8791	// requests with the JSON null value. By default, fields with empty
8792	// values are omitted from API requests. However, any field with an
8793	// empty value appearing in NullFields will be sent to the server as
8794	// null. It is an error if a field in this list has a non-empty value.
8795	// This may be used to include null fields in Patch requests.
8796	NullFields []string `json:"-"`
8797}
8798
8799func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
8800	type NoMethod MobileAppsListResponse
8801	raw := NoMethod(*s)
8802	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8803}
8804
8805// MobileCarrier: Contains information about a mobile carrier that can
8806// be targeted by ads.
8807type MobileCarrier struct {
8808	// CountryCode: Country code of the country to which this mobile carrier
8809	// belongs.
8810	CountryCode string `json:"countryCode,omitempty"`
8811
8812	// CountryDartId: DART ID of the country to which this mobile carrier
8813	// belongs.
8814	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8815
8816	// Id: ID of this mobile carrier.
8817	Id int64 `json:"id,omitempty,string"`
8818
8819	// Kind: Identifies what kind of resource this is. Value: the fixed
8820	// string "dfareporting#mobileCarrier".
8821	Kind string `json:"kind,omitempty"`
8822
8823	// Name: Name of this mobile carrier.
8824	Name string `json:"name,omitempty"`
8825
8826	// ServerResponse contains the HTTP response code and headers from the
8827	// server.
8828	googleapi.ServerResponse `json:"-"`
8829
8830	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8831	// unconditionally include in API requests. By default, fields with
8832	// empty values are omitted from API requests. However, any non-pointer,
8833	// non-interface field appearing in ForceSendFields will be sent to the
8834	// server regardless of whether the field is empty or not. This may be
8835	// used to include empty fields in Patch requests.
8836	ForceSendFields []string `json:"-"`
8837
8838	// NullFields is a list of field names (e.g. "CountryCode") to include
8839	// in API requests with the JSON null value. By default, fields with
8840	// empty values are omitted from API requests. However, any field with
8841	// an empty value appearing in NullFields will be sent to the server as
8842	// null. It is an error if a field in this list has a non-empty value.
8843	// This may be used to include null fields in Patch requests.
8844	NullFields []string `json:"-"`
8845}
8846
8847func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
8848	type NoMethod MobileCarrier
8849	raw := NoMethod(*s)
8850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8851}
8852
8853// MobileCarriersListResponse: Mobile Carrier List Response
8854type MobileCarriersListResponse struct {
8855	// Kind: Identifies what kind of resource this is. Value: the fixed
8856	// string "dfareporting#mobileCarriersListResponse".
8857	Kind string `json:"kind,omitempty"`
8858
8859	// MobileCarriers: Mobile carrier collection.
8860	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
8861
8862	// ServerResponse contains the HTTP response code and headers from the
8863	// server.
8864	googleapi.ServerResponse `json:"-"`
8865
8866	// ForceSendFields is a list of field names (e.g. "Kind") to
8867	// unconditionally include in API requests. By default, fields with
8868	// empty values are omitted from API requests. However, any non-pointer,
8869	// non-interface field appearing in ForceSendFields will be sent to the
8870	// server regardless of whether the field is empty or not. This may be
8871	// used to include empty fields in Patch requests.
8872	ForceSendFields []string `json:"-"`
8873
8874	// NullFields is a list of field names (e.g. "Kind") to include in API
8875	// requests with the JSON null value. By default, fields with empty
8876	// values are omitted from API requests. However, any field with an
8877	// empty value appearing in NullFields will be sent to the server as
8878	// null. It is an error if a field in this list has a non-empty value.
8879	// This may be used to include null fields in Patch requests.
8880	NullFields []string `json:"-"`
8881}
8882
8883func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
8884	type NoMethod MobileCarriersListResponse
8885	raw := NoMethod(*s)
8886	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8887}
8888
8889// ObjectFilter: Object Filter.
8890type ObjectFilter struct {
8891	// Kind: Identifies what kind of resource this is. Value: the fixed
8892	// string "dfareporting#objectFilter".
8893	Kind string `json:"kind,omitempty"`
8894
8895	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
8896	// objects with these object IDs.
8897	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
8898
8899	// Status: Status of the filter. NONE means the user has access to none
8900	// of the objects. ALL means the user has access to all objects.
8901	// ASSIGNED means the user has access to the objects with IDs in the
8902	// objectIds list.
8903	//
8904	// Possible values:
8905	//   "NONE"
8906	//   "ASSIGNED"
8907	//   "ALL"
8908	Status string `json:"status,omitempty"`
8909
8910	// ForceSendFields is a list of field names (e.g. "Kind") to
8911	// unconditionally include in API requests. By default, fields with
8912	// empty values are omitted from API requests. However, any non-pointer,
8913	// non-interface field appearing in ForceSendFields will be sent to the
8914	// server regardless of whether the field is empty or not. This may be
8915	// used to include empty fields in Patch requests.
8916	ForceSendFields []string `json:"-"`
8917
8918	// NullFields is a list of field names (e.g. "Kind") to include in API
8919	// requests with the JSON null value. By default, fields with empty
8920	// values are omitted from API requests. However, any field with an
8921	// empty value appearing in NullFields will be sent to the server as
8922	// null. It is an error if a field in this list has a non-empty value.
8923	// This may be used to include null fields in Patch requests.
8924	NullFields []string `json:"-"`
8925}
8926
8927func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
8928	type NoMethod ObjectFilter
8929	raw := NoMethod(*s)
8930	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8931}
8932
8933// OffsetPosition: Offset Position.
8934type OffsetPosition struct {
8935	// Left: Offset distance from left side of an asset or a window.
8936	Left int64 `json:"left,omitempty"`
8937
8938	// Top: Offset distance from top side of an asset or a window.
8939	Top int64 `json:"top,omitempty"`
8940
8941	// ForceSendFields is a list of field names (e.g. "Left") to
8942	// unconditionally include in API requests. By default, fields with
8943	// empty values are omitted from API requests. However, any non-pointer,
8944	// non-interface field appearing in ForceSendFields will be sent to the
8945	// server regardless of whether the field is empty or not. This may be
8946	// used to include empty fields in Patch requests.
8947	ForceSendFields []string `json:"-"`
8948
8949	// NullFields is a list of field names (e.g. "Left") to include in API
8950	// requests with the JSON null value. By default, fields with empty
8951	// values are omitted from API requests. However, any field with an
8952	// empty value appearing in NullFields will be sent to the server as
8953	// null. It is an error if a field in this list has a non-empty value.
8954	// This may be used to include null fields in Patch requests.
8955	NullFields []string `json:"-"`
8956}
8957
8958func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
8959	type NoMethod OffsetPosition
8960	raw := NoMethod(*s)
8961	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8962}
8963
8964// OmnitureSettings: Omniture Integration Settings.
8965type OmnitureSettings struct {
8966	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
8967	// Omniture. This property can be enabled only if
8968	// omnitureIntegrationEnabled is true.
8969	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
8970
8971	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
8972	// This property can be enabled only when the "Advanced Ad Serving"
8973	// account setting is enabled.
8974	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
8975
8976	// ForceSendFields is a list of field names (e.g.
8977	// "OmnitureCostDataEnabled") to unconditionally include in API
8978	// requests. By default, fields with empty values are omitted from API
8979	// requests. However, any non-pointer, non-interface field appearing in
8980	// ForceSendFields will be sent to the server regardless of whether the
8981	// field is empty or not. This may be used to include empty fields in
8982	// Patch requests.
8983	ForceSendFields []string `json:"-"`
8984
8985	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
8986	// to include in API requests with the JSON null value. By default,
8987	// fields with empty values are omitted from API requests. However, any
8988	// field with an empty value appearing in NullFields will be sent to the
8989	// server as null. It is an error if a field in this list has a
8990	// non-empty value. This may be used to include null fields in Patch
8991	// requests.
8992	NullFields []string `json:"-"`
8993}
8994
8995func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
8996	type NoMethod OmnitureSettings
8997	raw := NoMethod(*s)
8998	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8999}
9000
9001// OperatingSystem: Contains information about an operating system that
9002// can be targeted by ads.
9003type OperatingSystem struct {
9004	// DartId: DART ID of this operating system. This is the ID used for
9005	// targeting.
9006	DartId int64 `json:"dartId,omitempty,string"`
9007
9008	// Desktop: Whether this operating system is for desktop.
9009	Desktop bool `json:"desktop,omitempty"`
9010
9011	// Kind: Identifies what kind of resource this is. Value: the fixed
9012	// string "dfareporting#operatingSystem".
9013	Kind string `json:"kind,omitempty"`
9014
9015	// Mobile: Whether this operating system is for mobile.
9016	Mobile bool `json:"mobile,omitempty"`
9017
9018	// Name: Name of this operating system.
9019	Name string `json:"name,omitempty"`
9020
9021	// ServerResponse contains the HTTP response code and headers from the
9022	// server.
9023	googleapi.ServerResponse `json:"-"`
9024
9025	// ForceSendFields is a list of field names (e.g. "DartId") to
9026	// unconditionally include in API requests. By default, fields with
9027	// empty values are omitted from API requests. However, any non-pointer,
9028	// non-interface field appearing in ForceSendFields will be sent to the
9029	// server regardless of whether the field is empty or not. This may be
9030	// used to include empty fields in Patch requests.
9031	ForceSendFields []string `json:"-"`
9032
9033	// NullFields is a list of field names (e.g. "DartId") to include in API
9034	// requests with the JSON null value. By default, fields with empty
9035	// values are omitted from API requests. However, any field with an
9036	// empty value appearing in NullFields will be sent to the server as
9037	// null. It is an error if a field in this list has a non-empty value.
9038	// This may be used to include null fields in Patch requests.
9039	NullFields []string `json:"-"`
9040}
9041
9042func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
9043	type NoMethod OperatingSystem
9044	raw := NoMethod(*s)
9045	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9046}
9047
9048// OperatingSystemVersion: Contains information about a particular
9049// version of an operating system that can be targeted by ads.
9050type OperatingSystemVersion struct {
9051	// Id: ID of this operating system version.
9052	Id int64 `json:"id,omitempty,string"`
9053
9054	// Kind: Identifies what kind of resource this is. Value: the fixed
9055	// string "dfareporting#operatingSystemVersion".
9056	Kind string `json:"kind,omitempty"`
9057
9058	// MajorVersion: Major version (leftmost number) of this operating
9059	// system version.
9060	MajorVersion string `json:"majorVersion,omitempty"`
9061
9062	// MinorVersion: Minor version (number after the first dot) of this
9063	// operating system version.
9064	MinorVersion string `json:"minorVersion,omitempty"`
9065
9066	// Name: Name of this operating system version.
9067	Name string `json:"name,omitempty"`
9068
9069	// OperatingSystem: Operating system of this operating system version.
9070	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
9071
9072	// ServerResponse contains the HTTP response code and headers from the
9073	// server.
9074	googleapi.ServerResponse `json:"-"`
9075
9076	// ForceSendFields is a list of field names (e.g. "Id") to
9077	// unconditionally include in API requests. By default, fields with
9078	// empty values are omitted from API requests. However, any non-pointer,
9079	// non-interface field appearing in ForceSendFields will be sent to the
9080	// server regardless of whether the field is empty or not. This may be
9081	// used to include empty fields in Patch requests.
9082	ForceSendFields []string `json:"-"`
9083
9084	// NullFields is a list of field names (e.g. "Id") to include in API
9085	// requests with the JSON null value. By default, fields with empty
9086	// values are omitted from API requests. However, any field with an
9087	// empty value appearing in NullFields will be sent to the server as
9088	// null. It is an error if a field in this list has a non-empty value.
9089	// This may be used to include null fields in Patch requests.
9090	NullFields []string `json:"-"`
9091}
9092
9093func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
9094	type NoMethod OperatingSystemVersion
9095	raw := NoMethod(*s)
9096	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9097}
9098
9099// OperatingSystemVersionsListResponse: Operating System Version List
9100// Response
9101type OperatingSystemVersionsListResponse struct {
9102	// Kind: Identifies what kind of resource this is. Value: the fixed
9103	// string "dfareporting#operatingSystemVersionsListResponse".
9104	Kind string `json:"kind,omitempty"`
9105
9106	// OperatingSystemVersions: Operating system version collection.
9107	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
9108
9109	// ServerResponse contains the HTTP response code and headers from the
9110	// server.
9111	googleapi.ServerResponse `json:"-"`
9112
9113	// ForceSendFields is a list of field names (e.g. "Kind") to
9114	// unconditionally include in API requests. By default, fields with
9115	// empty values are omitted from API requests. However, any non-pointer,
9116	// non-interface field appearing in ForceSendFields will be sent to the
9117	// server regardless of whether the field is empty or not. This may be
9118	// used to include empty fields in Patch requests.
9119	ForceSendFields []string `json:"-"`
9120
9121	// NullFields is a list of field names (e.g. "Kind") to include in API
9122	// requests with the JSON null value. By default, fields with empty
9123	// values are omitted from API requests. However, any field with an
9124	// empty value appearing in NullFields will be sent to the server as
9125	// null. It is an error if a field in this list has a non-empty value.
9126	// This may be used to include null fields in Patch requests.
9127	NullFields []string `json:"-"`
9128}
9129
9130func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
9131	type NoMethod OperatingSystemVersionsListResponse
9132	raw := NoMethod(*s)
9133	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9134}
9135
9136// OperatingSystemsListResponse: Operating System List Response
9137type OperatingSystemsListResponse struct {
9138	// Kind: Identifies what kind of resource this is. Value: the fixed
9139	// string "dfareporting#operatingSystemsListResponse".
9140	Kind string `json:"kind,omitempty"`
9141
9142	// OperatingSystems: Operating system collection.
9143	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
9144
9145	// ServerResponse contains the HTTP response code and headers from the
9146	// server.
9147	googleapi.ServerResponse `json:"-"`
9148
9149	// ForceSendFields is a list of field names (e.g. "Kind") to
9150	// unconditionally include in API requests. By default, fields with
9151	// empty values are omitted from API requests. However, any non-pointer,
9152	// non-interface field appearing in ForceSendFields will be sent to the
9153	// server regardless of whether the field is empty or not. This may be
9154	// used to include empty fields in Patch requests.
9155	ForceSendFields []string `json:"-"`
9156
9157	// NullFields is a list of field names (e.g. "Kind") to include in API
9158	// requests with the JSON null value. By default, fields with empty
9159	// values are omitted from API requests. However, any field with an
9160	// empty value appearing in NullFields will be sent to the server as
9161	// null. It is an error if a field in this list has a non-empty value.
9162	// This may be used to include null fields in Patch requests.
9163	NullFields []string `json:"-"`
9164}
9165
9166func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
9167	type NoMethod OperatingSystemsListResponse
9168	raw := NoMethod(*s)
9169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9170}
9171
9172// OptimizationActivity: Creative optimization activity.
9173type OptimizationActivity struct {
9174	// FloodlightActivityId: Floodlight activity ID of this optimization
9175	// activity. This is a required field.
9176	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9177
9178	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
9179	// floodlight activity. This is a read-only, auto-generated field.
9180	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
9181
9182	// Weight: Weight associated with this optimization. The weight assigned
9183	// will be understood in proportion to the weights assigned to the other
9184	// optimization activities. Value must be greater than or equal to 1.
9185	Weight int64 `json:"weight,omitempty"`
9186
9187	// ForceSendFields is a list of field names (e.g.
9188	// "FloodlightActivityId") to unconditionally include in API requests.
9189	// By default, fields with empty values are omitted from API requests.
9190	// However, any non-pointer, non-interface field appearing in
9191	// ForceSendFields will be sent to the server regardless of whether the
9192	// field is empty or not. This may be used to include empty fields in
9193	// Patch requests.
9194	ForceSendFields []string `json:"-"`
9195
9196	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9197	// include in API requests with the JSON null value. By default, fields
9198	// with empty values are omitted from API requests. However, any field
9199	// with an empty value appearing in NullFields will be sent to the
9200	// server as null. It is an error if a field in this list has a
9201	// non-empty value. This may be used to include null fields in Patch
9202	// requests.
9203	NullFields []string `json:"-"`
9204}
9205
9206func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
9207	type NoMethod OptimizationActivity
9208	raw := NoMethod(*s)
9209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9210}
9211
9212// Order: Describes properties of a Planning order.
9213type Order struct {
9214	// AccountId: Account ID of this order.
9215	AccountId int64 `json:"accountId,omitempty,string"`
9216
9217	// AdvertiserId: Advertiser ID of this order.
9218	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9219
9220	// ApproverUserProfileIds: IDs for users that have to approve documents
9221	// created for this order.
9222	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
9223
9224	// BuyerInvoiceId: Buyer invoice ID associated with this order.
9225	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
9226
9227	// BuyerOrganizationName: Name of the buyer organization.
9228	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
9229
9230	// Comments: Comments in this order.
9231	Comments string `json:"comments,omitempty"`
9232
9233	// Contacts: Contacts for this order.
9234	Contacts []*OrderContact `json:"contacts,omitempty"`
9235
9236	// Id: ID of this order. This is a read-only, auto-generated field.
9237	Id int64 `json:"id,omitempty,string"`
9238
9239	// Kind: Identifies what kind of resource this is. Value: the fixed
9240	// string "dfareporting#order".
9241	Kind string `json:"kind,omitempty"`
9242
9243	// LastModifiedInfo: Information about the most recent modification of
9244	// this order.
9245	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9246
9247	// Name: Name of this order.
9248	Name string `json:"name,omitempty"`
9249
9250	// Notes: Notes of this order.
9251	Notes string `json:"notes,omitempty"`
9252
9253	// PlanningTermId: ID of the terms and conditions template used in this
9254	// order.
9255	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
9256
9257	// ProjectId: Project ID of this order.
9258	ProjectId int64 `json:"projectId,omitempty,string"`
9259
9260	// SellerOrderId: Seller order ID associated with this order.
9261	SellerOrderId string `json:"sellerOrderId,omitempty"`
9262
9263	// SellerOrganizationName: Name of the seller organization.
9264	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
9265
9266	// SiteId: Site IDs this order is associated with.
9267	SiteId googleapi.Int64s `json:"siteId,omitempty"`
9268
9269	// SiteNames: Free-form site names this order is associated with.
9270	SiteNames []string `json:"siteNames,omitempty"`
9271
9272	// SubaccountId: Subaccount ID of this order.
9273	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9274
9275	// TermsAndConditions: Terms and conditions of this order.
9276	TermsAndConditions string `json:"termsAndConditions,omitempty"`
9277
9278	// ServerResponse contains the HTTP response code and headers from the
9279	// server.
9280	googleapi.ServerResponse `json:"-"`
9281
9282	// ForceSendFields is a list of field names (e.g. "AccountId") to
9283	// unconditionally include in API requests. By default, fields with
9284	// empty values are omitted from API requests. However, any non-pointer,
9285	// non-interface field appearing in ForceSendFields will be sent to the
9286	// server regardless of whether the field is empty or not. This may be
9287	// used to include empty fields in Patch requests.
9288	ForceSendFields []string `json:"-"`
9289
9290	// NullFields is a list of field names (e.g. "AccountId") to include in
9291	// API requests with the JSON null value. By default, fields with empty
9292	// values are omitted from API requests. However, any field with an
9293	// empty value appearing in NullFields will be sent to the server as
9294	// null. It is an error if a field in this list has a non-empty value.
9295	// This may be used to include null fields in Patch requests.
9296	NullFields []string `json:"-"`
9297}
9298
9299func (s *Order) MarshalJSON() ([]byte, error) {
9300	type NoMethod Order
9301	raw := NoMethod(*s)
9302	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9303}
9304
9305// OrderContact: Contact of an order.
9306type OrderContact struct {
9307	// ContactInfo: Free-form information about this contact. It could be
9308	// any information related to this contact in addition to type, title,
9309	// name, and signature user profile ID.
9310	ContactInfo string `json:"contactInfo,omitempty"`
9311
9312	// ContactName: Name of this contact.
9313	ContactName string `json:"contactName,omitempty"`
9314
9315	// ContactTitle: Title of this contact.
9316	ContactTitle string `json:"contactTitle,omitempty"`
9317
9318	// ContactType: Type of this contact.
9319	//
9320	// Possible values:
9321	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
9322	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
9323	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
9324	ContactType string `json:"contactType,omitempty"`
9325
9326	// SignatureUserProfileId: ID of the user profile containing the
9327	// signature that will be embedded into order documents.
9328	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
9329
9330	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
9331	// unconditionally include in API requests. By default, fields with
9332	// empty values are omitted from API requests. However, any non-pointer,
9333	// non-interface field appearing in ForceSendFields will be sent to the
9334	// server regardless of whether the field is empty or not. This may be
9335	// used to include empty fields in Patch requests.
9336	ForceSendFields []string `json:"-"`
9337
9338	// NullFields is a list of field names (e.g. "ContactInfo") to include
9339	// in API requests with the JSON null value. By default, fields with
9340	// empty values are omitted from API requests. However, any field with
9341	// an empty value appearing in NullFields will be sent to the server as
9342	// null. It is an error if a field in this list has a non-empty value.
9343	// This may be used to include null fields in Patch requests.
9344	NullFields []string `json:"-"`
9345}
9346
9347func (s *OrderContact) MarshalJSON() ([]byte, error) {
9348	type NoMethod OrderContact
9349	raw := NoMethod(*s)
9350	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9351}
9352
9353// OrderDocument: Contains properties of a Planning order document.
9354type OrderDocument struct {
9355	// AccountId: Account ID of this order document.
9356	AccountId int64 `json:"accountId,omitempty,string"`
9357
9358	// AdvertiserId: Advertiser ID of this order document.
9359	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9360
9361	// AmendedOrderDocumentId: The amended order document ID of this order
9362	// document. An order document can be created by optionally amending
9363	// another order document so that the change history can be preserved.
9364	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
9365
9366	// ApprovedByUserProfileIds: IDs of users who have approved this order
9367	// document.
9368	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
9369
9370	// Cancelled: Whether this order document is cancelled.
9371	Cancelled bool `json:"cancelled,omitempty"`
9372
9373	// CreatedInfo: Information about the creation of this order document.
9374	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
9375
9376	EffectiveDate string `json:"effectiveDate,omitempty"`
9377
9378	// Id: ID of this order document.
9379	Id int64 `json:"id,omitempty,string"`
9380
9381	// Kind: Identifies what kind of resource this is. Value: the fixed
9382	// string "dfareporting#orderDocument".
9383	Kind string `json:"kind,omitempty"`
9384
9385	// LastSentRecipients: List of email addresses that received the last
9386	// sent document.
9387	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
9388
9389	LastSentTime string `json:"lastSentTime,omitempty"`
9390
9391	// OrderId: ID of the order from which this order document is created.
9392	OrderId int64 `json:"orderId,omitempty,string"`
9393
9394	// ProjectId: Project ID of this order document.
9395	ProjectId int64 `json:"projectId,omitempty,string"`
9396
9397	// Signed: Whether this order document has been signed.
9398	Signed bool `json:"signed,omitempty"`
9399
9400	// SubaccountId: Subaccount ID of this order document.
9401	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9402
9403	// Title: Title of this order document.
9404	Title string `json:"title,omitempty"`
9405
9406	// Type: Type of this order document
9407	//
9408	// Possible values:
9409	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
9410	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
9411	Type string `json:"type,omitempty"`
9412
9413	// ServerResponse contains the HTTP response code and headers from the
9414	// server.
9415	googleapi.ServerResponse `json:"-"`
9416
9417	// ForceSendFields is a list of field names (e.g. "AccountId") to
9418	// unconditionally include in API requests. By default, fields with
9419	// empty values are omitted from API requests. However, any non-pointer,
9420	// non-interface field appearing in ForceSendFields will be sent to the
9421	// server regardless of whether the field is empty or not. This may be
9422	// used to include empty fields in Patch requests.
9423	ForceSendFields []string `json:"-"`
9424
9425	// NullFields is a list of field names (e.g. "AccountId") to include in
9426	// API requests with the JSON null value. By default, fields with empty
9427	// values are omitted from API requests. However, any field with an
9428	// empty value appearing in NullFields will be sent to the server as
9429	// null. It is an error if a field in this list has a non-empty value.
9430	// This may be used to include null fields in Patch requests.
9431	NullFields []string `json:"-"`
9432}
9433
9434func (s *OrderDocument) MarshalJSON() ([]byte, error) {
9435	type NoMethod OrderDocument
9436	raw := NoMethod(*s)
9437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9438}
9439
9440// OrderDocumentsListResponse: Order document List Response
9441type OrderDocumentsListResponse struct {
9442	// Kind: Identifies what kind of resource this is. Value: the fixed
9443	// string "dfareporting#orderDocumentsListResponse".
9444	Kind string `json:"kind,omitempty"`
9445
9446	// NextPageToken: Pagination token to be used for the next list
9447	// operation.
9448	NextPageToken string `json:"nextPageToken,omitempty"`
9449
9450	// OrderDocuments: Order document collection
9451	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
9452
9453	// ServerResponse contains the HTTP response code and headers from the
9454	// server.
9455	googleapi.ServerResponse `json:"-"`
9456
9457	// ForceSendFields is a list of field names (e.g. "Kind") to
9458	// unconditionally include in API requests. By default, fields with
9459	// empty values are omitted from API requests. However, any non-pointer,
9460	// non-interface field appearing in ForceSendFields will be sent to the
9461	// server regardless of whether the field is empty or not. This may be
9462	// used to include empty fields in Patch requests.
9463	ForceSendFields []string `json:"-"`
9464
9465	// NullFields is a list of field names (e.g. "Kind") to include in API
9466	// requests with the JSON null value. By default, fields with empty
9467	// values are omitted from API requests. However, any field with an
9468	// empty value appearing in NullFields will be sent to the server as
9469	// null. It is an error if a field in this list has a non-empty value.
9470	// This may be used to include null fields in Patch requests.
9471	NullFields []string `json:"-"`
9472}
9473
9474func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
9475	type NoMethod OrderDocumentsListResponse
9476	raw := NoMethod(*s)
9477	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9478}
9479
9480// OrdersListResponse: Order List Response
9481type OrdersListResponse struct {
9482	// Kind: Identifies what kind of resource this is. Value: the fixed
9483	// string "dfareporting#ordersListResponse".
9484	Kind string `json:"kind,omitempty"`
9485
9486	// NextPageToken: Pagination token to be used for the next list
9487	// operation.
9488	NextPageToken string `json:"nextPageToken,omitempty"`
9489
9490	// Orders: Order collection.
9491	Orders []*Order `json:"orders,omitempty"`
9492
9493	// ServerResponse contains the HTTP response code and headers from the
9494	// server.
9495	googleapi.ServerResponse `json:"-"`
9496
9497	// ForceSendFields is a list of field names (e.g. "Kind") to
9498	// unconditionally include in API requests. By default, fields with
9499	// empty values are omitted from API requests. However, any non-pointer,
9500	// non-interface field appearing in ForceSendFields will be sent to the
9501	// server regardless of whether the field is empty or not. This may be
9502	// used to include empty fields in Patch requests.
9503	ForceSendFields []string `json:"-"`
9504
9505	// NullFields is a list of field names (e.g. "Kind") to include in API
9506	// requests with the JSON null value. By default, fields with empty
9507	// values are omitted from API requests. However, any field with an
9508	// empty value appearing in NullFields will be sent to the server as
9509	// null. It is an error if a field in this list has a non-empty value.
9510	// This may be used to include null fields in Patch requests.
9511	NullFields []string `json:"-"`
9512}
9513
9514func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
9515	type NoMethod OrdersListResponse
9516	raw := NoMethod(*s)
9517	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9518}
9519
9520// PathToConversionReportCompatibleFields: Represents fields that are
9521// compatible to be selected for a report of type "PATH_TO_CONVERSION".
9522type PathToConversionReportCompatibleFields struct {
9523	// ConversionDimensions: Conversion dimensions which are compatible to
9524	// be selected in the "conversionDimensions" section of the report.
9525	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
9526
9527	// CustomFloodlightVariables: Custom floodlight variables which are
9528	// compatible to be selected in the "customFloodlightVariables" section
9529	// of the report.
9530	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
9531
9532	// Kind: The kind of resource this is, in this case
9533	// dfareporting#pathToConversionReportCompatibleFields.
9534	Kind string `json:"kind,omitempty"`
9535
9536	// Metrics: Metrics which are compatible to be selected in the
9537	// "metricNames" section of the report.
9538	Metrics []*Metric `json:"metrics,omitempty"`
9539
9540	// PerInteractionDimensions: Per-interaction dimensions which are
9541	// compatible to be selected in the "perInteractionDimensions" section
9542	// of the report.
9543	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
9544
9545	// ForceSendFields is a list of field names (e.g.
9546	// "ConversionDimensions") to unconditionally include in API requests.
9547	// By default, fields with empty values are omitted from API requests.
9548	// However, any non-pointer, non-interface field appearing in
9549	// ForceSendFields will be sent to the server regardless of whether the
9550	// field is empty or not. This may be used to include empty fields in
9551	// Patch requests.
9552	ForceSendFields []string `json:"-"`
9553
9554	// NullFields is a list of field names (e.g. "ConversionDimensions") to
9555	// include in API requests with the JSON null value. By default, fields
9556	// with empty values are omitted from API requests. However, any field
9557	// with an empty value appearing in NullFields will be sent to the
9558	// server as null. It is an error if a field in this list has a
9559	// non-empty value. This may be used to include null fields in Patch
9560	// requests.
9561	NullFields []string `json:"-"`
9562}
9563
9564func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
9565	type NoMethod PathToConversionReportCompatibleFields
9566	raw := NoMethod(*s)
9567	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9568}
9569
9570// Placement: Contains properties of a placement.
9571type Placement struct {
9572	// AccountId: Account ID of this placement. This field can be left
9573	// blank.
9574	AccountId int64 `json:"accountId,omitempty,string"`
9575
9576	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
9577	// When true, ad blocking is disabled for this placement. When false,
9578	// the campaign and site settings take effect.
9579	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
9580
9581	// AdditionalSizes: Additional sizes associated with this placement.
9582	// When inserting or updating a placement, only the size ID field is
9583	// used.
9584	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
9585
9586	// AdvertiserId: Advertiser ID of this placement. This field can be left
9587	// blank.
9588	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9589
9590	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9591	// advertiser. This is a read-only, auto-generated field.
9592	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9593
9594	// Archived: Whether this placement is archived.
9595	Archived bool `json:"archived,omitempty"`
9596
9597	// CampaignId: Campaign ID of this placement. This field is a required
9598	// field on insertion.
9599	CampaignId int64 `json:"campaignId,omitempty,string"`
9600
9601	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9602	// This is a read-only, auto-generated field.
9603	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9604
9605	// Comment: Comments for this placement.
9606	Comment string `json:"comment,omitempty"`
9607
9608	// Compatibility: Placement compatibility. DISPLAY and
9609	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
9610	// or in mobile apps for regular or interstitial ads respectively. APP
9611	// and APP_INTERSTITIAL are no longer allowed for new placement
9612	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
9613	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
9614	// with the VAST standard. This field is required on insertion.
9615	//
9616	// Possible values:
9617	//   "DISPLAY"
9618	//   "DISPLAY_INTERSTITIAL"
9619	//   "APP"
9620	//   "APP_INTERSTITIAL"
9621	//   "IN_STREAM_VIDEO"
9622	//   "IN_STREAM_AUDIO"
9623	Compatibility string `json:"compatibility,omitempty"`
9624
9625	// ContentCategoryId: ID of the content category assigned to this
9626	// placement.
9627	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9628
9629	// CreateInfo: Information about the creation of this placement. This is
9630	// a read-only field.
9631	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9632
9633	// DirectorySiteId: Directory site ID of this placement. On insert, you
9634	// must set either this field or the siteId field to specify the site
9635	// associated with this placement. This is a required field that is
9636	// read-only after insertion.
9637	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9638
9639	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9640	// directory site. This is a read-only, auto-generated field.
9641	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9642
9643	// ExternalId: External ID for this placement.
9644	ExternalId string `json:"externalId,omitempty"`
9645
9646	// Id: ID of this placement. This is a read-only, auto-generated field.
9647	Id int64 `json:"id,omitempty,string"`
9648
9649	// IdDimensionValue: Dimension value for the ID of this placement. This
9650	// is a read-only, auto-generated field.
9651	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9652
9653	// KeyName: Key name of this placement. This is a read-only,
9654	// auto-generated field.
9655	KeyName string `json:"keyName,omitempty"`
9656
9657	// Kind: Identifies what kind of resource this is. Value: the fixed
9658	// string "dfareporting#placement".
9659	Kind string `json:"kind,omitempty"`
9660
9661	// LastModifiedInfo: Information about the most recent modification of
9662	// this placement. This is a read-only field.
9663	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9664
9665	// LookbackConfiguration: Lookback window settings for this placement.
9666	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
9667
9668	// Name: Name of this placement.This is a required field and must be
9669	// less than or equal to 256 characters long.
9670	Name string `json:"name,omitempty"`
9671
9672	// PaymentApproved: Whether payment was approved for this placement.
9673	// This is a read-only field relevant only to publisher-paid placements.
9674	PaymentApproved bool `json:"paymentApproved,omitempty"`
9675
9676	// PaymentSource: Payment source for this placement. This is a required
9677	// field that is read-only after insertion.
9678	//
9679	// Possible values:
9680	//   "PLACEMENT_AGENCY_PAID"
9681	//   "PLACEMENT_PUBLISHER_PAID"
9682	PaymentSource string `json:"paymentSource,omitempty"`
9683
9684	// PlacementGroupId: ID of this placement's group, if applicable.
9685	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
9686
9687	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
9688	// placement group. This is a read-only, auto-generated field.
9689	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
9690
9691	// PlacementStrategyId: ID of the placement strategy assigned to this
9692	// placement.
9693	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9694
9695	// PricingSchedule: Pricing schedule of this placement. This field is
9696	// required on insertion, specifically subfields startDate, endDate and
9697	// pricingType.
9698	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9699
9700	// Primary: Whether this placement is the primary placement of a
9701	// roadblock (placement group). You cannot change this field from true
9702	// to false. Setting this field to true will automatically set the
9703	// primary field on the original primary placement of the roadblock to
9704	// false, and it will automatically set the roadblock's
9705	// primaryPlacementId field to the ID of this placement.
9706	Primary bool `json:"primary,omitempty"`
9707
9708	// PublisherUpdateInfo: Information about the last publisher update.
9709	// This is a read-only field.
9710	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
9711
9712	// SiteId: Site ID associated with this placement. On insert, you must
9713	// set either this field or the directorySiteId field to specify the
9714	// site associated with this placement. This is a required field that is
9715	// read-only after insertion.
9716	SiteId int64 `json:"siteId,omitempty,string"`
9717
9718	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9719	// a read-only, auto-generated field.
9720	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9721
9722	// Size: Size associated with this placement. When inserting or updating
9723	// a placement, only the size ID field is used. This field is required
9724	// on insertion.
9725	Size *Size `json:"size,omitempty"`
9726
9727	// SslRequired: Whether creatives assigned to this placement must be
9728	// SSL-compliant.
9729	SslRequired bool `json:"sslRequired,omitempty"`
9730
9731	// Status: Third-party placement status.
9732	//
9733	// Possible values:
9734	//   "PENDING_REVIEW"
9735	//   "PAYMENT_ACCEPTED"
9736	//   "PAYMENT_REJECTED"
9737	//   "ACKNOWLEDGE_REJECTION"
9738	//   "ACKNOWLEDGE_ACCEPTANCE"
9739	//   "DRAFT"
9740	Status string `json:"status,omitempty"`
9741
9742	// SubaccountId: Subaccount ID of this placement. This field can be left
9743	// blank.
9744	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9745
9746	// TagFormats: Tag formats to generate for this placement. This field is
9747	// required on insertion. Acceptable values are: -
9748	// "PLACEMENT_TAG_STANDARD" - "PLACEMENT_TAG_IFRAME_JAVASCRIPT" -
9749	// "PLACEMENT_TAG_IFRAME_ILAYER" - "PLACEMENT_TAG_INTERNAL_REDIRECT" -
9750	// "PLACEMENT_TAG_JAVASCRIPT" -
9751	// "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT" -
9752	// "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT" -
9753	// "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT" -
9754	// "PLACEMENT_TAG_CLICK_COMMANDS" -
9755	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH" -
9756	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3" -
9757	// "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4" -
9758	// "PLACEMENT_TAG_TRACKING" - "PLACEMENT_TAG_TRACKING_IFRAME" -
9759	// "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9760	//
9761	// Possible values:
9762	//   "PLACEMENT_TAG_STANDARD"
9763	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
9764	//   "PLACEMENT_TAG_IFRAME_ILAYER"
9765	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
9766	//   "PLACEMENT_TAG_JAVASCRIPT"
9767	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
9768	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
9769	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
9770	//   "PLACEMENT_TAG_CLICK_COMMANDS"
9771	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
9772	//   "PLACEMENT_TAG_TRACKING"
9773	//   "PLACEMENT_TAG_TRACKING_IFRAME"
9774	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
9775	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
9776	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
9777	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
9778	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
9779	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
9780	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
9781	TagFormats []string `json:"tagFormats,omitempty"`
9782
9783	// TagSetting: Tag settings for this placement.
9784	TagSetting *TagSetting `json:"tagSetting,omitempty"`
9785
9786	// VideoActiveViewOptOut: Whether Verification and ActiveView are
9787	// disabled for in-stream video creatives for this placement. The same
9788	// setting videoActiveViewOptOut exists on the site level -- the opt out
9789	// occurs if either of these settings are true. These settings are
9790	// distinct from DirectorySites.settings.activeViewOptOut or
9791	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
9792	// However, Accounts.activeViewOptOut opts out both video traffic, as
9793	// well as display ads, from Verification and ActiveView.
9794	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
9795
9796	// VideoSettings: A collection of settings which affect video creatives
9797	// served through this placement. Applicable to placements with
9798	// IN_STREAM_VIDEO compatibility.
9799	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
9800
9801	// VpaidAdapterChoice: VPAID adapter setting for this placement.
9802	// Controls which VPAID format the measurement adapter will use for
9803	// in-stream video creatives assigned to this placement. *Note:* Flash
9804	// is no longer supported. This field now defaults to HTML5 when the
9805	// following values are provided: FLASH, BOTH.
9806	//
9807	// Possible values:
9808	//   "DEFAULT"
9809	//   "FLASH"
9810	//   "HTML5"
9811	//   "BOTH"
9812	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
9813
9814	// ServerResponse contains the HTTP response code and headers from the
9815	// server.
9816	googleapi.ServerResponse `json:"-"`
9817
9818	// ForceSendFields is a list of field names (e.g. "AccountId") to
9819	// unconditionally include in API requests. By default, fields with
9820	// empty values are omitted from API requests. However, any non-pointer,
9821	// non-interface field appearing in ForceSendFields will be sent to the
9822	// server regardless of whether the field is empty or not. This may be
9823	// used to include empty fields in Patch requests.
9824	ForceSendFields []string `json:"-"`
9825
9826	// NullFields is a list of field names (e.g. "AccountId") to include in
9827	// API requests with the JSON null value. By default, fields with empty
9828	// values are omitted from API requests. However, any field with an
9829	// empty value appearing in NullFields will be sent to the server as
9830	// null. It is an error if a field in this list has a non-empty value.
9831	// This may be used to include null fields in Patch requests.
9832	NullFields []string `json:"-"`
9833}
9834
9835func (s *Placement) MarshalJSON() ([]byte, error) {
9836	type NoMethod Placement
9837	raw := NoMethod(*s)
9838	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9839}
9840
9841// PlacementAssignment: Placement Assignment.
9842type PlacementAssignment struct {
9843	// Active: Whether this placement assignment is active. When true, the
9844	// placement will be included in the ad's rotation.
9845	Active bool `json:"active,omitempty"`
9846
9847	// PlacementId: ID of the placement to be assigned. This is a required
9848	// field.
9849	PlacementId int64 `json:"placementId,omitempty,string"`
9850
9851	// PlacementIdDimensionValue: Dimension value for the ID of the
9852	// placement. This is a read-only, auto-generated field.
9853	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
9854
9855	// SslRequired: Whether the placement to be assigned requires SSL. This
9856	// is a read-only field that is auto-generated when the ad is inserted
9857	// or updated.
9858	SslRequired bool `json:"sslRequired,omitempty"`
9859
9860	// ForceSendFields is a list of field names (e.g. "Active") to
9861	// unconditionally include in API requests. By default, fields with
9862	// empty values are omitted from API requests. However, any non-pointer,
9863	// non-interface field appearing in ForceSendFields will be sent to the
9864	// server regardless of whether the field is empty or not. This may be
9865	// used to include empty fields in Patch requests.
9866	ForceSendFields []string `json:"-"`
9867
9868	// NullFields is a list of field names (e.g. "Active") to include in API
9869	// requests with the JSON null value. By default, fields with empty
9870	// values are omitted from API requests. However, any field with an
9871	// empty value appearing in NullFields will be sent to the server as
9872	// null. It is an error if a field in this list has a non-empty value.
9873	// This may be used to include null fields in Patch requests.
9874	NullFields []string `json:"-"`
9875}
9876
9877func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
9878	type NoMethod PlacementAssignment
9879	raw := NoMethod(*s)
9880	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9881}
9882
9883// PlacementGroup: Contains properties of a package or roadblock.
9884type PlacementGroup struct {
9885	// AccountId: Account ID of this placement group. This is a read-only
9886	// field that can be left blank.
9887	AccountId int64 `json:"accountId,omitempty,string"`
9888
9889	// AdvertiserId: Advertiser ID of this placement group. This is a
9890	// required field on insertion.
9891	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9892
9893	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9894	// advertiser. This is a read-only, auto-generated field.
9895	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9896
9897	// Archived: Whether this placement group is archived.
9898	Archived bool `json:"archived,omitempty"`
9899
9900	// CampaignId: Campaign ID of this placement group. This field is
9901	// required on insertion.
9902	CampaignId int64 `json:"campaignId,omitempty,string"`
9903
9904	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9905	// This is a read-only, auto-generated field.
9906	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9907
9908	// ChildPlacementIds: IDs of placements which are assigned to this
9909	// placement group. This is a read-only, auto-generated field.
9910	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
9911
9912	// Comment: Comments for this placement group.
9913	Comment string `json:"comment,omitempty"`
9914
9915	// ContentCategoryId: ID of the content category assigned to this
9916	// placement group.
9917	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9918
9919	// CreateInfo: Information about the creation of this placement group.
9920	// This is a read-only field.
9921	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9922
9923	// DirectorySiteId: Directory site ID associated with this placement
9924	// group. On insert, you must set either this field or the site_id field
9925	// to specify the site associated with this placement group. This is a
9926	// required field that is read-only after insertion.
9927	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9928
9929	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9930	// directory site. This is a read-only, auto-generated field.
9931	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9932
9933	// ExternalId: External ID for this placement.
9934	ExternalId string `json:"externalId,omitempty"`
9935
9936	// Id: ID of this placement group. This is a read-only, auto-generated
9937	// field.
9938	Id int64 `json:"id,omitempty,string"`
9939
9940	// IdDimensionValue: Dimension value for the ID of this placement group.
9941	// This is a read-only, auto-generated field.
9942	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9943
9944	// Kind: Identifies what kind of resource this is. Value: the fixed
9945	// string "dfareporting#placementGroup".
9946	Kind string `json:"kind,omitempty"`
9947
9948	// LastModifiedInfo: Information about the most recent modification of
9949	// this placement group. This is a read-only field.
9950	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9951
9952	// Name: Name of this placement group. This is a required field and must
9953	// be less than 256 characters long.
9954	Name string `json:"name,omitempty"`
9955
9956	// PlacementGroupType: Type of this placement group. A package is a
9957	// simple group of placements that acts as a single pricing point for a
9958	// group of tags. A roadblock is a group of placements that not only
9959	// acts as a single pricing point, but also assumes that all the tags in
9960	// it will be served at the same time. A roadblock requires one of its
9961	// assigned placements to be marked as primary for reporting. This field
9962	// is required on insertion.
9963	//
9964	// Possible values:
9965	//   "PLACEMENT_PACKAGE"
9966	//   "PLACEMENT_ROADBLOCK"
9967	PlacementGroupType string `json:"placementGroupType,omitempty"`
9968
9969	// PlacementStrategyId: ID of the placement strategy assigned to this
9970	// placement group.
9971	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
9972
9973	// PricingSchedule: Pricing schedule of this placement group. This field
9974	// is required on insertion.
9975	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
9976
9977	// PrimaryPlacementId: ID of the primary placement, used to calculate
9978	// the media cost of a roadblock (placement group). Modifying this field
9979	// will automatically modify the primary field on all affected roadblock
9980	// child placements.
9981	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
9982
9983	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
9984	// primary placement. This is a read-only, auto-generated field.
9985	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
9986
9987	// SiteId: Site ID associated with this placement group. On insert, you
9988	// must set either this field or the directorySiteId field to specify
9989	// the site associated with this placement group. This is a required
9990	// field that is read-only after insertion.
9991	SiteId int64 `json:"siteId,omitempty,string"`
9992
9993	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
9994	// a read-only, auto-generated field.
9995	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
9996
9997	// SubaccountId: Subaccount ID of this placement group. This is a
9998	// read-only field that can be left blank.
9999	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10000
10001	// ServerResponse contains the HTTP response code and headers from the
10002	// server.
10003	googleapi.ServerResponse `json:"-"`
10004
10005	// ForceSendFields is a list of field names (e.g. "AccountId") to
10006	// unconditionally include in API requests. By default, fields with
10007	// empty values are omitted from API requests. However, any non-pointer,
10008	// non-interface field appearing in ForceSendFields will be sent to the
10009	// server regardless of whether the field is empty or not. This may be
10010	// used to include empty fields in Patch requests.
10011	ForceSendFields []string `json:"-"`
10012
10013	// NullFields is a list of field names (e.g. "AccountId") to include in
10014	// API requests with the JSON null value. By default, fields with empty
10015	// values are omitted from API requests. However, any field with an
10016	// empty value appearing in NullFields will be sent to the server as
10017	// null. It is an error if a field in this list has a non-empty value.
10018	// This may be used to include null fields in Patch requests.
10019	NullFields []string `json:"-"`
10020}
10021
10022func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
10023	type NoMethod PlacementGroup
10024	raw := NoMethod(*s)
10025	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10026}
10027
10028// PlacementGroupsListResponse: Placement Group List Response
10029type PlacementGroupsListResponse struct {
10030	// Kind: Identifies what kind of resource this is. Value: the fixed
10031	// string "dfareporting#placementGroupsListResponse".
10032	Kind string `json:"kind,omitempty"`
10033
10034	// NextPageToken: Pagination token to be used for the next list
10035	// operation.
10036	NextPageToken string `json:"nextPageToken,omitempty"`
10037
10038	// PlacementGroups: Placement group collection.
10039	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
10040
10041	// ServerResponse contains the HTTP response code and headers from the
10042	// server.
10043	googleapi.ServerResponse `json:"-"`
10044
10045	// ForceSendFields is a list of field names (e.g. "Kind") to
10046	// unconditionally include in API requests. By default, fields with
10047	// empty values are omitted from API requests. However, any non-pointer,
10048	// non-interface field appearing in ForceSendFields will be sent to the
10049	// server regardless of whether the field is empty or not. This may be
10050	// used to include empty fields in Patch requests.
10051	ForceSendFields []string `json:"-"`
10052
10053	// NullFields is a list of field names (e.g. "Kind") to include in API
10054	// requests with the JSON null value. By default, fields with empty
10055	// values are omitted from API requests. However, any field with an
10056	// empty value appearing in NullFields will be sent to the server as
10057	// null. It is an error if a field in this list has a non-empty value.
10058	// This may be used to include null fields in Patch requests.
10059	NullFields []string `json:"-"`
10060}
10061
10062func (s *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
10063	type NoMethod PlacementGroupsListResponse
10064	raw := NoMethod(*s)
10065	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10066}
10067
10068// PlacementStrategiesListResponse: Placement Strategy List Response
10069type PlacementStrategiesListResponse struct {
10070	// Kind: Identifies what kind of resource this is. Value: the fixed
10071	// string "dfareporting#placementStrategiesListResponse".
10072	Kind string `json:"kind,omitempty"`
10073
10074	// NextPageToken: Pagination token to be used for the next list
10075	// operation.
10076	NextPageToken string `json:"nextPageToken,omitempty"`
10077
10078	// PlacementStrategies: Placement strategy collection.
10079	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
10080
10081	// ServerResponse contains the HTTP response code and headers from the
10082	// server.
10083	googleapi.ServerResponse `json:"-"`
10084
10085	// ForceSendFields is a list of field names (e.g. "Kind") to
10086	// unconditionally include in API requests. By default, fields with
10087	// empty values are omitted from API requests. However, any non-pointer,
10088	// non-interface field appearing in ForceSendFields will be sent to the
10089	// server regardless of whether the field is empty or not. This may be
10090	// used to include empty fields in Patch requests.
10091	ForceSendFields []string `json:"-"`
10092
10093	// NullFields is a list of field names (e.g. "Kind") to include in API
10094	// requests with the JSON null value. By default, fields with empty
10095	// values are omitted from API requests. However, any field with an
10096	// empty value appearing in NullFields will be sent to the server as
10097	// null. It is an error if a field in this list has a non-empty value.
10098	// This may be used to include null fields in Patch requests.
10099	NullFields []string `json:"-"`
10100}
10101
10102func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
10103	type NoMethod PlacementStrategiesListResponse
10104	raw := NoMethod(*s)
10105	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10106}
10107
10108// PlacementStrategy: Contains properties of a placement strategy.
10109type PlacementStrategy struct {
10110	// AccountId: Account ID of this placement strategy.This is a read-only
10111	// field that can be left blank.
10112	AccountId int64 `json:"accountId,omitempty,string"`
10113
10114	// Id: ID of this placement strategy. This is a read-only,
10115	// auto-generated field.
10116	Id int64 `json:"id,omitempty,string"`
10117
10118	// Kind: Identifies what kind of resource this is. Value: the fixed
10119	// string "dfareporting#placementStrategy".
10120	Kind string `json:"kind,omitempty"`
10121
10122	// Name: Name of this placement strategy. This is a required field. It
10123	// must be less than 256 characters long and unique among placement
10124	// strategies of the same account.
10125	Name string `json:"name,omitempty"`
10126
10127	// ServerResponse contains the HTTP response code and headers from the
10128	// server.
10129	googleapi.ServerResponse `json:"-"`
10130
10131	// ForceSendFields is a list of field names (e.g. "AccountId") to
10132	// unconditionally include in API requests. By default, fields with
10133	// empty values are omitted from API requests. However, any non-pointer,
10134	// non-interface field appearing in ForceSendFields will be sent to the
10135	// server regardless of whether the field is empty or not. This may be
10136	// used to include empty fields in Patch requests.
10137	ForceSendFields []string `json:"-"`
10138
10139	// NullFields is a list of field names (e.g. "AccountId") to include in
10140	// API requests with the JSON null value. By default, fields with empty
10141	// values are omitted from API requests. However, any field with an
10142	// empty value appearing in NullFields will be sent to the server as
10143	// null. It is an error if a field in this list has a non-empty value.
10144	// This may be used to include null fields in Patch requests.
10145	NullFields []string `json:"-"`
10146}
10147
10148func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
10149	type NoMethod PlacementStrategy
10150	raw := NoMethod(*s)
10151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10152}
10153
10154// PlacementTag: Placement Tag
10155type PlacementTag struct {
10156	// PlacementId: Placement ID
10157	PlacementId int64 `json:"placementId,omitempty,string"`
10158
10159	// TagDatas: Tags generated for this placement.
10160	TagDatas []*TagData `json:"tagDatas,omitempty"`
10161
10162	// ForceSendFields is a list of field names (e.g. "PlacementId") to
10163	// unconditionally include in API requests. By default, fields with
10164	// empty values are omitted from API requests. However, any non-pointer,
10165	// non-interface field appearing in ForceSendFields will be sent to the
10166	// server regardless of whether the field is empty or not. This may be
10167	// used to include empty fields in Patch requests.
10168	ForceSendFields []string `json:"-"`
10169
10170	// NullFields is a list of field names (e.g. "PlacementId") to include
10171	// in API requests with the JSON null value. By default, fields with
10172	// empty values are omitted from API requests. However, any field with
10173	// an empty value appearing in NullFields will be sent to the server as
10174	// null. It is an error if a field in this list has a non-empty value.
10175	// This may be used to include null fields in Patch requests.
10176	NullFields []string `json:"-"`
10177}
10178
10179func (s *PlacementTag) MarshalJSON() ([]byte, error) {
10180	type NoMethod PlacementTag
10181	raw := NoMethod(*s)
10182	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10183}
10184
10185// PlacementsGenerateTagsResponse: Placement GenerateTags Response
10186type PlacementsGenerateTagsResponse struct {
10187	// Kind: Identifies what kind of resource this is. Value: the fixed
10188	// string "dfareporting#placementsGenerateTagsResponse".
10189	Kind string `json:"kind,omitempty"`
10190
10191	// PlacementTags: Set of generated tags for the specified placements.
10192	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
10193
10194	// ServerResponse contains the HTTP response code and headers from the
10195	// server.
10196	googleapi.ServerResponse `json:"-"`
10197
10198	// ForceSendFields is a list of field names (e.g. "Kind") to
10199	// unconditionally include in API requests. By default, fields with
10200	// empty values are omitted from API requests. However, any non-pointer,
10201	// non-interface field appearing in ForceSendFields will be sent to the
10202	// server regardless of whether the field is empty or not. This may be
10203	// used to include empty fields in Patch requests.
10204	ForceSendFields []string `json:"-"`
10205
10206	// NullFields is a list of field names (e.g. "Kind") to include in API
10207	// requests with the JSON null value. By default, fields with empty
10208	// values are omitted from API requests. However, any field with an
10209	// empty value appearing in NullFields will be sent to the server as
10210	// null. It is an error if a field in this list has a non-empty value.
10211	// This may be used to include null fields in Patch requests.
10212	NullFields []string `json:"-"`
10213}
10214
10215func (s *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
10216	type NoMethod PlacementsGenerateTagsResponse
10217	raw := NoMethod(*s)
10218	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10219}
10220
10221// PlacementsListResponse: Placement List Response
10222type PlacementsListResponse struct {
10223	// Kind: Identifies what kind of resource this is. Value: the fixed
10224	// string "dfareporting#placementsListResponse".
10225	Kind string `json:"kind,omitempty"`
10226
10227	// NextPageToken: Pagination token to be used for the next list
10228	// operation.
10229	NextPageToken string `json:"nextPageToken,omitempty"`
10230
10231	// Placements: Placement collection.
10232	Placements []*Placement `json:"placements,omitempty"`
10233
10234	// ServerResponse contains the HTTP response code and headers from the
10235	// server.
10236	googleapi.ServerResponse `json:"-"`
10237
10238	// ForceSendFields is a list of field names (e.g. "Kind") to
10239	// unconditionally include in API requests. By default, fields with
10240	// empty values are omitted from API requests. However, any non-pointer,
10241	// non-interface field appearing in ForceSendFields will be sent to the
10242	// server regardless of whether the field is empty or not. This may be
10243	// used to include empty fields in Patch requests.
10244	ForceSendFields []string `json:"-"`
10245
10246	// NullFields is a list of field names (e.g. "Kind") to include in API
10247	// requests with the JSON null value. By default, fields with empty
10248	// values are omitted from API requests. However, any field with an
10249	// empty value appearing in NullFields will be sent to the server as
10250	// null. It is an error if a field in this list has a non-empty value.
10251	// This may be used to include null fields in Patch requests.
10252	NullFields []string `json:"-"`
10253}
10254
10255func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
10256	type NoMethod PlacementsListResponse
10257	raw := NoMethod(*s)
10258	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10259}
10260
10261// PlatformType: Contains information about a platform type that can be
10262// targeted by ads.
10263type PlatformType struct {
10264	// Id: ID of this platform type.
10265	Id int64 `json:"id,omitempty,string"`
10266
10267	// Kind: Identifies what kind of resource this is. Value: the fixed
10268	// string "dfareporting#platformType".
10269	Kind string `json:"kind,omitempty"`
10270
10271	// Name: Name of this platform type.
10272	Name string `json:"name,omitempty"`
10273
10274	// ServerResponse contains the HTTP response code and headers from the
10275	// server.
10276	googleapi.ServerResponse `json:"-"`
10277
10278	// ForceSendFields is a list of field names (e.g. "Id") to
10279	// unconditionally include in API requests. By default, fields with
10280	// empty values are omitted from API requests. However, any non-pointer,
10281	// non-interface field appearing in ForceSendFields will be sent to the
10282	// server regardless of whether the field is empty or not. This may be
10283	// used to include empty fields in Patch requests.
10284	ForceSendFields []string `json:"-"`
10285
10286	// NullFields is a list of field names (e.g. "Id") to include in API
10287	// requests with the JSON null value. By default, fields with empty
10288	// values are omitted from API requests. However, any field with an
10289	// empty value appearing in NullFields will be sent to the server as
10290	// null. It is an error if a field in this list has a non-empty value.
10291	// This may be used to include null fields in Patch requests.
10292	NullFields []string `json:"-"`
10293}
10294
10295func (s *PlatformType) MarshalJSON() ([]byte, error) {
10296	type NoMethod PlatformType
10297	raw := NoMethod(*s)
10298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10299}
10300
10301// PlatformTypesListResponse: Platform Type List Response
10302type PlatformTypesListResponse struct {
10303	// Kind: Identifies what kind of resource this is. Value: the fixed
10304	// string "dfareporting#platformTypesListResponse".
10305	Kind string `json:"kind,omitempty"`
10306
10307	// PlatformTypes: Platform type collection.
10308	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
10309
10310	// ServerResponse contains the HTTP response code and headers from the
10311	// server.
10312	googleapi.ServerResponse `json:"-"`
10313
10314	// ForceSendFields is a list of field names (e.g. "Kind") to
10315	// unconditionally include in API requests. By default, fields with
10316	// empty values are omitted from API requests. However, any non-pointer,
10317	// non-interface field appearing in ForceSendFields will be sent to the
10318	// server regardless of whether the field is empty or not. This may be
10319	// used to include empty fields in Patch requests.
10320	ForceSendFields []string `json:"-"`
10321
10322	// NullFields is a list of field names (e.g. "Kind") to include in API
10323	// requests with the JSON null value. By default, fields with empty
10324	// values are omitted from API requests. However, any field with an
10325	// empty value appearing in NullFields will be sent to the server as
10326	// null. It is an error if a field in this list has a non-empty value.
10327	// This may be used to include null fields in Patch requests.
10328	NullFields []string `json:"-"`
10329}
10330
10331func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
10332	type NoMethod PlatformTypesListResponse
10333	raw := NoMethod(*s)
10334	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10335}
10336
10337// PopupWindowProperties: Popup Window Properties.
10338type PopupWindowProperties struct {
10339	// Dimension: Popup dimension for a creative. This is a read-only field.
10340	// Applicable to the following creative types: all RICH_MEDIA and all
10341	// VPAID
10342	Dimension *Size `json:"dimension,omitempty"`
10343
10344	// Offset: Upper-left corner coordinates of the popup window. Applicable
10345	// if positionType is COORDINATES.
10346	Offset *OffsetPosition `json:"offset,omitempty"`
10347
10348	// PositionType: Popup window position either centered or at specific
10349	// coordinate.
10350	//
10351	// Possible values:
10352	//   "CENTER"
10353	//   "COORDINATES"
10354	PositionType string `json:"positionType,omitempty"`
10355
10356	// ShowAddressBar: Whether to display the browser address bar.
10357	ShowAddressBar bool `json:"showAddressBar,omitempty"`
10358
10359	// ShowMenuBar: Whether to display the browser menu bar.
10360	ShowMenuBar bool `json:"showMenuBar,omitempty"`
10361
10362	// ShowScrollBar: Whether to display the browser scroll bar.
10363	ShowScrollBar bool `json:"showScrollBar,omitempty"`
10364
10365	// ShowStatusBar: Whether to display the browser status bar.
10366	ShowStatusBar bool `json:"showStatusBar,omitempty"`
10367
10368	// ShowToolBar: Whether to display the browser tool bar.
10369	ShowToolBar bool `json:"showToolBar,omitempty"`
10370
10371	// Title: Title of popup window.
10372	Title string `json:"title,omitempty"`
10373
10374	// ForceSendFields is a list of field names (e.g. "Dimension") to
10375	// unconditionally include in API requests. By default, fields with
10376	// empty values are omitted from API requests. However, any non-pointer,
10377	// non-interface field appearing in ForceSendFields will be sent to the
10378	// server regardless of whether the field is empty or not. This may be
10379	// used to include empty fields in Patch requests.
10380	ForceSendFields []string `json:"-"`
10381
10382	// NullFields is a list of field names (e.g. "Dimension") to include in
10383	// API requests with the JSON null value. By default, fields with empty
10384	// values are omitted from API requests. However, any field with an
10385	// empty value appearing in NullFields will be sent to the server as
10386	// null. It is an error if a field in this list has a non-empty value.
10387	// This may be used to include null fields in Patch requests.
10388	NullFields []string `json:"-"`
10389}
10390
10391func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
10392	type NoMethod PopupWindowProperties
10393	raw := NoMethod(*s)
10394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10395}
10396
10397// PostalCode: Contains information about a postal code that can be
10398// targeted by ads.
10399type PostalCode struct {
10400	// Code: Postal code. This is equivalent to the id field.
10401	Code string `json:"code,omitempty"`
10402
10403	// CountryCode: Country code of the country to which this postal code
10404	// belongs.
10405	CountryCode string `json:"countryCode,omitempty"`
10406
10407	// CountryDartId: DART ID of the country to which this postal code
10408	// belongs.
10409	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10410
10411	// Id: ID of this postal code.
10412	Id string `json:"id,omitempty"`
10413
10414	// Kind: Identifies what kind of resource this is. Value: the fixed
10415	// string "dfareporting#postalCode".
10416	Kind string `json:"kind,omitempty"`
10417
10418	// ServerResponse contains the HTTP response code and headers from the
10419	// server.
10420	googleapi.ServerResponse `json:"-"`
10421
10422	// ForceSendFields is a list of field names (e.g. "Code") to
10423	// unconditionally include in API requests. By default, fields with
10424	// empty values are omitted from API requests. However, any non-pointer,
10425	// non-interface field appearing in ForceSendFields will be sent to the
10426	// server regardless of whether the field is empty or not. This may be
10427	// used to include empty fields in Patch requests.
10428	ForceSendFields []string `json:"-"`
10429
10430	// NullFields is a list of field names (e.g. "Code") to include in API
10431	// requests with the JSON null value. By default, fields with empty
10432	// values are omitted from API requests. However, any field with an
10433	// empty value appearing in NullFields will be sent to the server as
10434	// null. It is an error if a field in this list has a non-empty value.
10435	// This may be used to include null fields in Patch requests.
10436	NullFields []string `json:"-"`
10437}
10438
10439func (s *PostalCode) MarshalJSON() ([]byte, error) {
10440	type NoMethod PostalCode
10441	raw := NoMethod(*s)
10442	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10443}
10444
10445// PostalCodesListResponse: Postal Code List Response
10446type PostalCodesListResponse struct {
10447	// Kind: Identifies what kind of resource this is. Value: the fixed
10448	// string "dfareporting#postalCodesListResponse".
10449	Kind string `json:"kind,omitempty"`
10450
10451	// PostalCodes: Postal code collection.
10452	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
10453
10454	// ServerResponse contains the HTTP response code and headers from the
10455	// server.
10456	googleapi.ServerResponse `json:"-"`
10457
10458	// ForceSendFields is a list of field names (e.g. "Kind") to
10459	// unconditionally include in API requests. By default, fields with
10460	// empty values are omitted from API requests. However, any non-pointer,
10461	// non-interface field appearing in ForceSendFields will be sent to the
10462	// server regardless of whether the field is empty or not. This may be
10463	// used to include empty fields in Patch requests.
10464	ForceSendFields []string `json:"-"`
10465
10466	// NullFields is a list of field names (e.g. "Kind") to include in API
10467	// requests with the JSON null value. By default, fields with empty
10468	// values are omitted from API requests. However, any field with an
10469	// empty value appearing in NullFields will be sent to the server as
10470	// null. It is an error if a field in this list has a non-empty value.
10471	// This may be used to include null fields in Patch requests.
10472	NullFields []string `json:"-"`
10473}
10474
10475func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
10476	type NoMethod PostalCodesListResponse
10477	raw := NoMethod(*s)
10478	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10479}
10480
10481// Pricing: Pricing Information
10482type Pricing struct {
10483	// CapCostType: Cap cost type of this inventory item.
10484	//
10485	// Possible values:
10486	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
10487	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
10488	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
10489	CapCostType string `json:"capCostType,omitempty"`
10490
10491	EndDate string `json:"endDate,omitempty"`
10492
10493	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
10494	// period) represents the inventory item pricing information for a
10495	// specific period of time.
10496	Flights []*Flight `json:"flights,omitempty"`
10497
10498	// GroupType: Group type of this inventory item if it represents a
10499	// placement group. Is null otherwise. There are two type of placement
10500	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
10501	// inventory items that acts as a single pricing point for a group of
10502	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
10503	// items that not only acts as a single pricing point, but also assumes
10504	// that all the tags in it will be served at the same time. A roadblock
10505	// requires one of its assigned inventory items to be marked as primary.
10506	//
10507	// Possible values:
10508	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
10509	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
10510	GroupType string `json:"groupType,omitempty"`
10511
10512	// PricingType: Pricing type of this inventory item.
10513	//
10514	// Possible values:
10515	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
10516	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
10517	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
10518	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
10519	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
10520	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10521	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
10522	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
10523	PricingType string `json:"pricingType,omitempty"`
10524
10525	StartDate string `json:"startDate,omitempty"`
10526
10527	// ForceSendFields is a list of field names (e.g. "CapCostType") to
10528	// unconditionally include in API requests. By default, fields with
10529	// empty values are omitted from API requests. However, any non-pointer,
10530	// non-interface field appearing in ForceSendFields will be sent to the
10531	// server regardless of whether the field is empty or not. This may be
10532	// used to include empty fields in Patch requests.
10533	ForceSendFields []string `json:"-"`
10534
10535	// NullFields is a list of field names (e.g. "CapCostType") to include
10536	// in API requests with the JSON null value. By default, fields with
10537	// empty values are omitted from API requests. However, any field with
10538	// an empty value appearing in NullFields will be sent to the server as
10539	// null. It is an error if a field in this list has a non-empty value.
10540	// This may be used to include null fields in Patch requests.
10541	NullFields []string `json:"-"`
10542}
10543
10544func (s *Pricing) MarshalJSON() ([]byte, error) {
10545	type NoMethod Pricing
10546	raw := NoMethod(*s)
10547	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10548}
10549
10550// PricingSchedule: Pricing Schedule
10551type PricingSchedule struct {
10552	// CapCostOption: Placement cap cost option.
10553	//
10554	// Possible values:
10555	//   "CAP_COST_NONE"
10556	//   "CAP_COST_MONTHLY"
10557	//   "CAP_COST_CUMULATIVE"
10558	CapCostOption string `json:"capCostOption,omitempty"`
10559
10560	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
10561	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
10562
10563	EndDate string `json:"endDate,omitempty"`
10564
10565	// Flighted: Whether this placement is flighted. If true, pricing
10566	// periods will be computed automatically.
10567	Flighted bool `json:"flighted,omitempty"`
10568
10569	// FloodlightActivityId: Floodlight activity ID associated with this
10570	// placement. This field should be set when placement pricing type is
10571	// set to PRICING_TYPE_CPA.
10572	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
10573
10574	// PricingPeriods: Pricing periods for this placement.
10575	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
10576
10577	// PricingType: Placement pricing type. This field is required on
10578	// insertion.
10579	//
10580	// Possible values:
10581	//   "PRICING_TYPE_CPM"
10582	//   "PRICING_TYPE_CPC"
10583	//   "PRICING_TYPE_CPA"
10584	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10585	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
10586	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
10587	PricingType string `json:"pricingType,omitempty"`
10588
10589	StartDate string `json:"startDate,omitempty"`
10590
10591	TestingStartDate string `json:"testingStartDate,omitempty"`
10592
10593	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
10594	// unconditionally include in API requests. By default, fields with
10595	// empty values are omitted from API requests. However, any non-pointer,
10596	// non-interface field appearing in ForceSendFields will be sent to the
10597	// server regardless of whether the field is empty or not. This may be
10598	// used to include empty fields in Patch requests.
10599	ForceSendFields []string `json:"-"`
10600
10601	// NullFields is a list of field names (e.g. "CapCostOption") to include
10602	// in API requests with the JSON null value. By default, fields with
10603	// empty values are omitted from API requests. However, any field with
10604	// an empty value appearing in NullFields will be sent to the server as
10605	// null. It is an error if a field in this list has a non-empty value.
10606	// This may be used to include null fields in Patch requests.
10607	NullFields []string `json:"-"`
10608}
10609
10610func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
10611	type NoMethod PricingSchedule
10612	raw := NoMethod(*s)
10613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10614}
10615
10616// PricingSchedulePricingPeriod: Pricing Period
10617type PricingSchedulePricingPeriod struct {
10618	EndDate string `json:"endDate,omitempty"`
10619
10620	// PricingComment: Comments for this pricing period.
10621	PricingComment string `json:"pricingComment,omitempty"`
10622
10623	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
10624	// multipled by 1000000000). Acceptable values are 0 to
10625	// 1000000000000000000, inclusive.
10626	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
10627
10628	StartDate string `json:"startDate,omitempty"`
10629
10630	// Units: Units of this pricing period. Acceptable values are 0 to
10631	// 10000000000, inclusive.
10632	Units int64 `json:"units,omitempty,string"`
10633
10634	// ForceSendFields is a list of field names (e.g. "EndDate") to
10635	// unconditionally include in API requests. By default, fields with
10636	// empty values are omitted from API requests. However, any non-pointer,
10637	// non-interface field appearing in ForceSendFields will be sent to the
10638	// server regardless of whether the field is empty or not. This may be
10639	// used to include empty fields in Patch requests.
10640	ForceSendFields []string `json:"-"`
10641
10642	// NullFields is a list of field names (e.g. "EndDate") to include in
10643	// API requests with the JSON null value. By default, fields with empty
10644	// values are omitted from API requests. However, any field with an
10645	// empty value appearing in NullFields will be sent to the server as
10646	// null. It is an error if a field in this list has a non-empty value.
10647	// This may be used to include null fields in Patch requests.
10648	NullFields []string `json:"-"`
10649}
10650
10651func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
10652	type NoMethod PricingSchedulePricingPeriod
10653	raw := NoMethod(*s)
10654	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10655}
10656
10657// Project: Contains properties of a Planning project.
10658type Project struct {
10659	// AccountId: Account ID of this project.
10660	AccountId int64 `json:"accountId,omitempty,string"`
10661
10662	// AdvertiserId: Advertiser ID of this project.
10663	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10664
10665	// AudienceAgeGroup: Audience age group of this project.
10666	//
10667	// Possible values:
10668	//   "PLANNING_AUDIENCE_AGE_18_24"
10669	//   "PLANNING_AUDIENCE_AGE_25_34"
10670	//   "PLANNING_AUDIENCE_AGE_35_44"
10671	//   "PLANNING_AUDIENCE_AGE_45_54"
10672	//   "PLANNING_AUDIENCE_AGE_55_64"
10673	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
10674	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
10675	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
10676
10677	// AudienceGender: Audience gender of this project.
10678	//
10679	// Possible values:
10680	//   "PLANNING_AUDIENCE_GENDER_MALE"
10681	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
10682	AudienceGender string `json:"audienceGender,omitempty"`
10683
10684	// Budget: Budget of this project in the currency specified by the
10685	// current account. The value stored in this field represents only the
10686	// non-fractional amount. For example, for USD, the smallest value that
10687	// can be represented by this field is 1 US dollar.
10688	Budget int64 `json:"budget,omitempty,string"`
10689
10690	// ClientBillingCode: Client billing code of this project.
10691	ClientBillingCode string `json:"clientBillingCode,omitempty"`
10692
10693	// ClientName: Name of the project client.
10694	ClientName string `json:"clientName,omitempty"`
10695
10696	EndDate string `json:"endDate,omitempty"`
10697
10698	// Id: ID of this project. This is a read-only, auto-generated field.
10699	Id int64 `json:"id,omitempty,string"`
10700
10701	// Kind: Identifies what kind of resource this is. Value: the fixed
10702	// string "dfareporting#project".
10703	Kind string `json:"kind,omitempty"`
10704
10705	// LastModifiedInfo: Information about the most recent modification of
10706	// this project.
10707	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10708
10709	// Name: Name of this project.
10710	Name string `json:"name,omitempty"`
10711
10712	// Overview: Overview of this project.
10713	Overview string `json:"overview,omitempty"`
10714
10715	StartDate string `json:"startDate,omitempty"`
10716
10717	// SubaccountId: Subaccount ID of this project.
10718	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10719
10720	// TargetClicks: Number of clicks that the advertiser is targeting.
10721	TargetClicks int64 `json:"targetClicks,omitempty,string"`
10722
10723	// TargetConversions: Number of conversions that the advertiser is
10724	// targeting.
10725	TargetConversions int64 `json:"targetConversions,omitempty,string"`
10726
10727	// TargetCpaNanos: CPA that the advertiser is targeting.
10728	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
10729
10730	// TargetCpcNanos: CPC that the advertiser is targeting.
10731	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
10732
10733	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
10734	// is targeting.
10735	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
10736
10737	// TargetCpmNanos: CPM that the advertiser is targeting.
10738	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
10739
10740	// TargetImpressions: Number of impressions that the advertiser is
10741	// targeting.
10742	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
10743
10744	// ServerResponse contains the HTTP response code and headers from the
10745	// server.
10746	googleapi.ServerResponse `json:"-"`
10747
10748	// ForceSendFields is a list of field names (e.g. "AccountId") to
10749	// unconditionally include in API requests. By default, fields with
10750	// empty values are omitted from API requests. However, any non-pointer,
10751	// non-interface field appearing in ForceSendFields will be sent to the
10752	// server regardless of whether the field is empty or not. This may be
10753	// used to include empty fields in Patch requests.
10754	ForceSendFields []string `json:"-"`
10755
10756	// NullFields is a list of field names (e.g. "AccountId") to include in
10757	// API requests with the JSON null value. By default, fields with empty
10758	// values are omitted from API requests. However, any field with an
10759	// empty value appearing in NullFields will be sent to the server as
10760	// null. It is an error if a field in this list has a non-empty value.
10761	// This may be used to include null fields in Patch requests.
10762	NullFields []string `json:"-"`
10763}
10764
10765func (s *Project) MarshalJSON() ([]byte, error) {
10766	type NoMethod Project
10767	raw := NoMethod(*s)
10768	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10769}
10770
10771// ProjectsListResponse: Project List Response
10772type ProjectsListResponse struct {
10773	// Kind: Identifies what kind of resource this is. Value: the fixed
10774	// string "dfareporting#projectsListResponse".
10775	Kind string `json:"kind,omitempty"`
10776
10777	// NextPageToken: Pagination token to be used for the next list
10778	// operation.
10779	NextPageToken string `json:"nextPageToken,omitempty"`
10780
10781	// Projects: Project collection.
10782	Projects []*Project `json:"projects,omitempty"`
10783
10784	// ServerResponse contains the HTTP response code and headers from the
10785	// server.
10786	googleapi.ServerResponse `json:"-"`
10787
10788	// ForceSendFields is a list of field names (e.g. "Kind") to
10789	// unconditionally include in API requests. By default, fields with
10790	// empty values are omitted from API requests. However, any non-pointer,
10791	// non-interface field appearing in ForceSendFields will be sent to the
10792	// server regardless of whether the field is empty or not. This may be
10793	// used to include empty fields in Patch requests.
10794	ForceSendFields []string `json:"-"`
10795
10796	// NullFields is a list of field names (e.g. "Kind") to include in API
10797	// requests with the JSON null value. By default, fields with empty
10798	// values are omitted from API requests. However, any field with an
10799	// empty value appearing in NullFields will be sent to the server as
10800	// null. It is an error if a field in this list has a non-empty value.
10801	// This may be used to include null fields in Patch requests.
10802	NullFields []string `json:"-"`
10803}
10804
10805func (s *ProjectsListResponse) MarshalJSON() ([]byte, error) {
10806	type NoMethod ProjectsListResponse
10807	raw := NoMethod(*s)
10808	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10809}
10810
10811// ReachReportCompatibleFields: Represents fields that are compatible to
10812// be selected for a report of type "REACH".
10813type ReachReportCompatibleFields struct {
10814	// DimensionFilters: Dimensions which are compatible to be selected in
10815	// the "dimensionFilters" section of the report.
10816	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
10817
10818	// Dimensions: Dimensions which are compatible to be selected in the
10819	// "dimensions" section of the report.
10820	Dimensions []*Dimension `json:"dimensions,omitempty"`
10821
10822	// Kind: The kind of resource this is, in this case
10823	// dfareporting#reachReportCompatibleFields.
10824	Kind string `json:"kind,omitempty"`
10825
10826	// Metrics: Metrics which are compatible to be selected in the
10827	// "metricNames" section of the report.
10828	Metrics []*Metric `json:"metrics,omitempty"`
10829
10830	// PivotedActivityMetrics: Metrics which are compatible to be selected
10831	// as activity metrics to pivot on in the "activities" section of the
10832	// report.
10833	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
10834
10835	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
10836	// in the "reachByFrequencyMetricNames" section of the report.
10837	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
10838
10839	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
10840	// unconditionally include in API requests. By default, fields with
10841	// empty values are omitted from API requests. However, any non-pointer,
10842	// non-interface field appearing in ForceSendFields will be sent to the
10843	// server regardless of whether the field is empty or not. This may be
10844	// used to include empty fields in Patch requests.
10845	ForceSendFields []string `json:"-"`
10846
10847	// NullFields is a list of field names (e.g. "DimensionFilters") to
10848	// include in API requests with the JSON null value. By default, fields
10849	// with empty values are omitted from API requests. However, any field
10850	// with an empty value appearing in NullFields will be sent to the
10851	// server as null. It is an error if a field in this list has a
10852	// non-empty value. This may be used to include null fields in Patch
10853	// requests.
10854	NullFields []string `json:"-"`
10855}
10856
10857func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
10858	type NoMethod ReachReportCompatibleFields
10859	raw := NoMethod(*s)
10860	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10861}
10862
10863// Recipient: Represents a recipient.
10864type Recipient struct {
10865	// DeliveryType: The delivery type for the recipient.
10866	//
10867	// Possible values:
10868	//   "LINK"
10869	//   "ATTACHMENT"
10870	DeliveryType string `json:"deliveryType,omitempty"`
10871
10872	// Email: The email address of the recipient.
10873	Email string `json:"email,omitempty"`
10874
10875	// Kind: The kind of resource this is, in this case
10876	// dfareporting#recipient.
10877	Kind string `json:"kind,omitempty"`
10878
10879	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
10880	// unconditionally include in API requests. By default, fields with
10881	// empty values are omitted from API requests. However, any non-pointer,
10882	// non-interface field appearing in ForceSendFields will be sent to the
10883	// server regardless of whether the field is empty or not. This may be
10884	// used to include empty fields in Patch requests.
10885	ForceSendFields []string `json:"-"`
10886
10887	// NullFields is a list of field names (e.g. "DeliveryType") to include
10888	// in API requests with the JSON null value. By default, fields with
10889	// empty values are omitted from API requests. However, any field with
10890	// an empty value appearing in NullFields will be sent to the server as
10891	// null. It is an error if a field in this list has a non-empty value.
10892	// This may be used to include null fields in Patch requests.
10893	NullFields []string `json:"-"`
10894}
10895
10896func (s *Recipient) MarshalJSON() ([]byte, error) {
10897	type NoMethod Recipient
10898	raw := NoMethod(*s)
10899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10900}
10901
10902// Region: Contains information about a region that can be targeted by
10903// ads.
10904type Region struct {
10905	// CountryCode: Country code of the country to which this region
10906	// belongs.
10907	CountryCode string `json:"countryCode,omitempty"`
10908
10909	// CountryDartId: DART ID of the country to which this region belongs.
10910	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10911
10912	// DartId: DART ID of this region.
10913	DartId int64 `json:"dartId,omitempty,string"`
10914
10915	// Kind: Identifies what kind of resource this is. Value: the fixed
10916	// string "dfareporting#region".
10917	Kind string `json:"kind,omitempty"`
10918
10919	// Name: Name of this region.
10920	Name string `json:"name,omitempty"`
10921
10922	// RegionCode: Region code.
10923	RegionCode string `json:"regionCode,omitempty"`
10924
10925	// ForceSendFields is a list of field names (e.g. "CountryCode") to
10926	// unconditionally include in API requests. By default, fields with
10927	// empty values are omitted from API requests. However, any non-pointer,
10928	// non-interface field appearing in ForceSendFields will be sent to the
10929	// server regardless of whether the field is empty or not. This may be
10930	// used to include empty fields in Patch requests.
10931	ForceSendFields []string `json:"-"`
10932
10933	// NullFields is a list of field names (e.g. "CountryCode") to include
10934	// in API requests with the JSON null value. By default, fields with
10935	// empty values are omitted from API requests. However, any field with
10936	// an empty value appearing in NullFields will be sent to the server as
10937	// null. It is an error if a field in this list has a non-empty value.
10938	// This may be used to include null fields in Patch requests.
10939	NullFields []string `json:"-"`
10940}
10941
10942func (s *Region) MarshalJSON() ([]byte, error) {
10943	type NoMethod Region
10944	raw := NoMethod(*s)
10945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10946}
10947
10948// RegionsListResponse: Region List Response
10949type RegionsListResponse struct {
10950	// Kind: Identifies what kind of resource this is. Value: the fixed
10951	// string "dfareporting#regionsListResponse".
10952	Kind string `json:"kind,omitempty"`
10953
10954	// Regions: Region collection.
10955	Regions []*Region `json:"regions,omitempty"`
10956
10957	// ServerResponse contains the HTTP response code and headers from the
10958	// server.
10959	googleapi.ServerResponse `json:"-"`
10960
10961	// ForceSendFields is a list of field names (e.g. "Kind") to
10962	// unconditionally include in API requests. By default, fields with
10963	// empty values are omitted from API requests. However, any non-pointer,
10964	// non-interface field appearing in ForceSendFields will be sent to the
10965	// server regardless of whether the field is empty or not. This may be
10966	// used to include empty fields in Patch requests.
10967	ForceSendFields []string `json:"-"`
10968
10969	// NullFields is a list of field names (e.g. "Kind") to include in API
10970	// requests with the JSON null value. By default, fields with empty
10971	// values are omitted from API requests. However, any field with an
10972	// empty value appearing in NullFields will be sent to the server as
10973	// null. It is an error if a field in this list has a non-empty value.
10974	// This may be used to include null fields in Patch requests.
10975	NullFields []string `json:"-"`
10976}
10977
10978func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
10979	type NoMethod RegionsListResponse
10980	raw := NoMethod(*s)
10981	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10982}
10983
10984// RemarketingList: Contains properties of a remarketing list.
10985// Remarketing enables you to create lists of users who have performed
10986// specific actions on a site, then target ads to members of those
10987// lists. This resource can be used to manage remarketing lists that are
10988// owned by your advertisers. To see all remarketing lists that are
10989// visible to your advertisers, including those that are shared to your
10990// advertiser or account, use the TargetableRemarketingLists resource.
10991type RemarketingList struct {
10992	// AccountId: Account ID of this remarketing list. This is a read-only,
10993	// auto-generated field that is only returned in GET requests.
10994	AccountId int64 `json:"accountId,omitempty,string"`
10995
10996	// Active: Whether this remarketing list is active.
10997	Active bool `json:"active,omitempty"`
10998
10999	// AdvertiserId: Dimension value for the advertiser ID that owns this
11000	// remarketing list. This is a required field.
11001	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11002
11003	// AdvertiserIdDimensionValue: Dimension value for the ID of the
11004	// advertiser. This is a read-only, auto-generated field.
11005	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
11006
11007	// Description: Remarketing list description.
11008	Description string `json:"description,omitempty"`
11009
11010	// Id: Remarketing list ID. This is a read-only, auto-generated field.
11011	Id int64 `json:"id,omitempty,string"`
11012
11013	// Kind: Identifies what kind of resource this is. Value: the fixed
11014	// string "dfareporting#remarketingList".
11015	Kind string `json:"kind,omitempty"`
11016
11017	// LifeSpan: Number of days that a user should remain in the remarketing
11018	// list without an impression. Acceptable values are 1 to 540,
11019	// inclusive.
11020	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
11021
11022	// ListPopulationRule: Rule used to populate the remarketing list with
11023	// users.
11024	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
11025
11026	// ListSize: Number of users currently in the list. This is a read-only
11027	// field.
11028	ListSize int64 `json:"listSize,omitempty,string"`
11029
11030	// ListSource: Product from which this remarketing list was originated.
11031	//
11032	// Possible values:
11033	//   "REMARKETING_LIST_SOURCE_OTHER"
11034	//   "REMARKETING_LIST_SOURCE_ADX"
11035	//   "REMARKETING_LIST_SOURCE_DFP"
11036	//   "REMARKETING_LIST_SOURCE_XFP"
11037	//   "REMARKETING_LIST_SOURCE_DFA"
11038	//   "REMARKETING_LIST_SOURCE_GA"
11039	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
11040	//   "REMARKETING_LIST_SOURCE_DBM"
11041	//   "REMARKETING_LIST_SOURCE_GPLUS"
11042	//   "REMARKETING_LIST_SOURCE_DMP"
11043	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
11044	ListSource string `json:"listSource,omitempty"`
11045
11046	// Name: Name of the remarketing list. This is a required field. Must be
11047	// no greater than 128 characters long.
11048	Name string `json:"name,omitempty"`
11049
11050	// SubaccountId: Subaccount ID of this remarketing list. This is a
11051	// read-only, auto-generated field that is only returned in GET
11052	// requests.
11053	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11054
11055	// ServerResponse contains the HTTP response code and headers from the
11056	// server.
11057	googleapi.ServerResponse `json:"-"`
11058
11059	// ForceSendFields is a list of field names (e.g. "AccountId") to
11060	// unconditionally include in API requests. By default, fields with
11061	// empty values are omitted from API requests. However, any non-pointer,
11062	// non-interface field appearing in ForceSendFields will be sent to the
11063	// server regardless of whether the field is empty or not. This may be
11064	// used to include empty fields in Patch requests.
11065	ForceSendFields []string `json:"-"`
11066
11067	// NullFields is a list of field names (e.g. "AccountId") to include in
11068	// API requests with the JSON null value. By default, fields with empty
11069	// values are omitted from API requests. However, any field with an
11070	// empty value appearing in NullFields will be sent to the server as
11071	// null. It is an error if a field in this list has a non-empty value.
11072	// This may be used to include null fields in Patch requests.
11073	NullFields []string `json:"-"`
11074}
11075
11076func (s *RemarketingList) MarshalJSON() ([]byte, error) {
11077	type NoMethod RemarketingList
11078	raw := NoMethod(*s)
11079	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11080}
11081
11082// RemarketingListShare: Contains properties of a remarketing list's
11083// sharing information. Sharing allows other accounts or advertisers to
11084// target to your remarketing lists. This resource can be used to manage
11085// remarketing list sharing to other accounts and advertisers.
11086type RemarketingListShare struct {
11087	// Kind: Identifies what kind of resource this is. Value: the fixed
11088	// string "dfareporting#remarketingListShare".
11089	Kind string `json:"kind,omitempty"`
11090
11091	// RemarketingListId: Remarketing list ID. This is a read-only,
11092	// auto-generated field.
11093	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
11094
11095	// SharedAccountIds: Accounts that the remarketing list is shared with.
11096	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
11097
11098	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
11099	// with.
11100	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
11101
11102	// ServerResponse contains the HTTP response code and headers from the
11103	// server.
11104	googleapi.ServerResponse `json:"-"`
11105
11106	// ForceSendFields is a list of field names (e.g. "Kind") to
11107	// unconditionally include in API requests. By default, fields with
11108	// empty values are omitted from API requests. However, any non-pointer,
11109	// non-interface field appearing in ForceSendFields will be sent to the
11110	// server regardless of whether the field is empty or not. This may be
11111	// used to include empty fields in Patch requests.
11112	ForceSendFields []string `json:"-"`
11113
11114	// NullFields is a list of field names (e.g. "Kind") to include in API
11115	// requests with the JSON null value. By default, fields with empty
11116	// values are omitted from API requests. However, any field with an
11117	// empty value appearing in NullFields will be sent to the server as
11118	// null. It is an error if a field in this list has a non-empty value.
11119	// This may be used to include null fields in Patch requests.
11120	NullFields []string `json:"-"`
11121}
11122
11123func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
11124	type NoMethod RemarketingListShare
11125	raw := NoMethod(*s)
11126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11127}
11128
11129// RemarketingListsListResponse: Remarketing list response
11130type RemarketingListsListResponse struct {
11131	// Kind: Identifies what kind of resource this is. Value: the fixed
11132	// string "dfareporting#remarketingListsListResponse".
11133	Kind string `json:"kind,omitempty"`
11134
11135	// NextPageToken: Pagination token to be used for the next list
11136	// operation.
11137	NextPageToken string `json:"nextPageToken,omitempty"`
11138
11139	// RemarketingLists: Remarketing list collection.
11140	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
11141
11142	// ServerResponse contains the HTTP response code and headers from the
11143	// server.
11144	googleapi.ServerResponse `json:"-"`
11145
11146	// ForceSendFields is a list of field names (e.g. "Kind") to
11147	// unconditionally include in API requests. By default, fields with
11148	// empty values are omitted from API requests. However, any non-pointer,
11149	// non-interface field appearing in ForceSendFields will be sent to the
11150	// server regardless of whether the field is empty or not. This may be
11151	// used to include empty fields in Patch requests.
11152	ForceSendFields []string `json:"-"`
11153
11154	// NullFields is a list of field names (e.g. "Kind") to include in API
11155	// requests with the JSON null value. By default, fields with empty
11156	// values are omitted from API requests. However, any field with an
11157	// empty value appearing in NullFields will be sent to the server as
11158	// null. It is an error if a field in this list has a non-empty value.
11159	// This may be used to include null fields in Patch requests.
11160	NullFields []string `json:"-"`
11161}
11162
11163func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
11164	type NoMethod RemarketingListsListResponse
11165	raw := NoMethod(*s)
11166	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11167}
11168
11169// Report: Represents a Report resource.
11170type Report struct {
11171	// AccountId: The account ID to which this report belongs.
11172	AccountId int64 `json:"accountId,omitempty,string"`
11173
11174	// Criteria: The report criteria for a report of type "STANDARD".
11175	Criteria *ReportCriteria `json:"criteria,omitempty"`
11176
11177	// CrossDimensionReachCriteria: The report criteria for a report of type
11178	// "CROSS_DIMENSION_REACH".
11179	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
11180
11181	// Delivery: The report's email delivery settings.
11182	Delivery *ReportDelivery `json:"delivery,omitempty"`
11183
11184	// Etag: The eTag of this response for caching purposes.
11185	Etag string `json:"etag,omitempty"`
11186
11187	// FileName: The filename used when generating report files for this
11188	// report.
11189	FileName string `json:"fileName,omitempty"`
11190
11191	// FloodlightCriteria: The report criteria for a report of type
11192	// "FLOODLIGHT".
11193	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
11194
11195	// Format: The output format of the report. If not specified, default
11196	// format is "CSV". Note that the actual format in the completed report
11197	// file might differ if for instance the report's size exceeds the
11198	// format's capabilities. "CSV" will then be the fallback format.
11199	//
11200	// Possible values:
11201	//   "CSV"
11202	//   "EXCEL"
11203	Format string `json:"format,omitempty"`
11204
11205	// Id: The unique ID identifying this report resource.
11206	Id int64 `json:"id,omitempty,string"`
11207
11208	// Kind: The kind of resource this is, in this case dfareporting#report.
11209	Kind string `json:"kind,omitempty"`
11210
11211	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
11212	// this report was last modified.
11213	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
11214
11215	// Name: The name of the report.
11216	Name string `json:"name,omitempty"`
11217
11218	// OwnerProfileId: The user profile id of the owner of this report.
11219	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
11220
11221	// PathToConversionCriteria: The report criteria for a report of type
11222	// "PATH_TO_CONVERSION".
11223	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
11224
11225	// ReachCriteria: The report criteria for a report of type "REACH".
11226	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
11227
11228	// Schedule: The report's schedule. Can only be set if the report's
11229	// 'dateRange' is a relative date range and the relative date range is
11230	// not "TODAY".
11231	Schedule *ReportSchedule `json:"schedule,omitempty"`
11232
11233	// SubAccountId: The subaccount ID to which this report belongs if
11234	// applicable.
11235	SubAccountId int64 `json:"subAccountId,omitempty,string"`
11236
11237	// Type: The type of the report.
11238	//
11239	// Possible values:
11240	//   "STANDARD"
11241	//   "REACH"
11242	//   "PATH_TO_CONVERSION"
11243	//   "CROSS_DIMENSION_REACH"
11244	//   "FLOODLIGHT"
11245	Type string `json:"type,omitempty"`
11246
11247	// ServerResponse contains the HTTP response code and headers from the
11248	// server.
11249	googleapi.ServerResponse `json:"-"`
11250
11251	// ForceSendFields is a list of field names (e.g. "AccountId") to
11252	// unconditionally include in API requests. By default, fields with
11253	// empty values are omitted from API requests. However, any non-pointer,
11254	// non-interface field appearing in ForceSendFields will be sent to the
11255	// server regardless of whether the field is empty or not. This may be
11256	// used to include empty fields in Patch requests.
11257	ForceSendFields []string `json:"-"`
11258
11259	// NullFields is a list of field names (e.g. "AccountId") to include in
11260	// API requests with the JSON null value. By default, fields with empty
11261	// values are omitted from API requests. However, any field with an
11262	// empty value appearing in NullFields will be sent to the server as
11263	// null. It is an error if a field in this list has a non-empty value.
11264	// This may be used to include null fields in Patch requests.
11265	NullFields []string `json:"-"`
11266}
11267
11268func (s *Report) MarshalJSON() ([]byte, error) {
11269	type NoMethod Report
11270	raw := NoMethod(*s)
11271	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11272}
11273
11274// ReportCriteria: The report criteria for a report of type "STANDARD".
11275type ReportCriteria struct {
11276	// Activities: Activity group.
11277	Activities *Activities `json:"activities,omitempty"`
11278
11279	// CustomRichMediaEvents: Custom Rich Media Events group.
11280	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11281
11282	// DateRange: The date range for which this report should be run.
11283	DateRange *DateRange `json:"dateRange,omitempty"`
11284
11285	// DimensionFilters: The list of filters on which dimensions are
11286	// filtered. Filters for different dimensions are ANDed, filters for the
11287	// same dimension are grouped together and ORed.
11288	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11289
11290	// Dimensions: The list of standard dimensions the report should
11291	// include.
11292	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11293
11294	// MetricNames: The list of names of metrics the report should include.
11295	MetricNames []string `json:"metricNames,omitempty"`
11296
11297	// ForceSendFields is a list of field names (e.g. "Activities") to
11298	// unconditionally include in API requests. By default, fields with
11299	// empty values are omitted from API requests. However, any non-pointer,
11300	// non-interface field appearing in ForceSendFields will be sent to the
11301	// server regardless of whether the field is empty or not. This may be
11302	// used to include empty fields in Patch requests.
11303	ForceSendFields []string `json:"-"`
11304
11305	// NullFields is a list of field names (e.g. "Activities") to include in
11306	// API requests with the JSON null value. By default, fields with empty
11307	// values are omitted from API requests. However, any field with an
11308	// empty value appearing in NullFields will be sent to the server as
11309	// null. It is an error if a field in this list has a non-empty value.
11310	// This may be used to include null fields in Patch requests.
11311	NullFields []string `json:"-"`
11312}
11313
11314func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
11315	type NoMethod ReportCriteria
11316	raw := NoMethod(*s)
11317	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11318}
11319
11320// ReportCrossDimensionReachCriteria: The report criteria for a report
11321// of type "CROSS_DIMENSION_REACH".
11322type ReportCrossDimensionReachCriteria struct {
11323	// Breakdown: The list of dimensions the report should include.
11324	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
11325
11326	// DateRange: The date range this report should be run for.
11327	DateRange *DateRange `json:"dateRange,omitempty"`
11328
11329	// Dimension: The dimension option.
11330	//
11331	// Possible values:
11332	//   "ADVERTISER"
11333	//   "CAMPAIGN"
11334	//   "SITE_BY_ADVERTISER"
11335	//   "SITE_BY_CAMPAIGN"
11336	Dimension string `json:"dimension,omitempty"`
11337
11338	// DimensionFilters: The list of filters on which dimensions are
11339	// filtered.
11340	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11341
11342	// MetricNames: The list of names of metrics the report should include.
11343	MetricNames []string `json:"metricNames,omitempty"`
11344
11345	// OverlapMetricNames: The list of names of overlap metrics the report
11346	// should include.
11347	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
11348
11349	// Pivoted: Whether the report is pivoted or not. Defaults to true.
11350	Pivoted bool `json:"pivoted,omitempty"`
11351
11352	// ForceSendFields is a list of field names (e.g. "Breakdown") to
11353	// unconditionally include in API requests. By default, fields with
11354	// empty values are omitted from API requests. However, any non-pointer,
11355	// non-interface field appearing in ForceSendFields will be sent to the
11356	// server regardless of whether the field is empty or not. This may be
11357	// used to include empty fields in Patch requests.
11358	ForceSendFields []string `json:"-"`
11359
11360	// NullFields is a list of field names (e.g. "Breakdown") to include in
11361	// API requests with the JSON null value. By default, fields with empty
11362	// values are omitted from API requests. However, any field with an
11363	// empty value appearing in NullFields will be sent to the server as
11364	// null. It is an error if a field in this list has a non-empty value.
11365	// This may be used to include null fields in Patch requests.
11366	NullFields []string `json:"-"`
11367}
11368
11369func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
11370	type NoMethod ReportCrossDimensionReachCriteria
11371	raw := NoMethod(*s)
11372	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11373}
11374
11375// ReportDelivery: The report's email delivery settings.
11376type ReportDelivery struct {
11377	// EmailOwner: Whether the report should be emailed to the report owner.
11378	EmailOwner bool `json:"emailOwner,omitempty"`
11379
11380	// EmailOwnerDeliveryType: The type of delivery for the owner to
11381	// receive, if enabled.
11382	//
11383	// Possible values:
11384	//   "LINK"
11385	//   "ATTACHMENT"
11386	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
11387
11388	// Message: The message to be sent with each email.
11389	Message string `json:"message,omitempty"`
11390
11391	// Recipients: The list of recipients to which to email the report.
11392	Recipients []*Recipient `json:"recipients,omitempty"`
11393
11394	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
11395	// unconditionally include in API requests. By default, fields with
11396	// empty values are omitted from API requests. However, any non-pointer,
11397	// non-interface field appearing in ForceSendFields will be sent to the
11398	// server regardless of whether the field is empty or not. This may be
11399	// used to include empty fields in Patch requests.
11400	ForceSendFields []string `json:"-"`
11401
11402	// NullFields is a list of field names (e.g. "EmailOwner") to include in
11403	// API requests with the JSON null value. By default, fields with empty
11404	// values are omitted from API requests. However, any field with an
11405	// empty value appearing in NullFields will be sent to the server as
11406	// null. It is an error if a field in this list has a non-empty value.
11407	// This may be used to include null fields in Patch requests.
11408	NullFields []string `json:"-"`
11409}
11410
11411func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
11412	type NoMethod ReportDelivery
11413	raw := NoMethod(*s)
11414	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11415}
11416
11417// ReportFloodlightCriteria: The report criteria for a report of type
11418// "FLOODLIGHT".
11419type ReportFloodlightCriteria struct {
11420	// CustomRichMediaEvents: The list of custom rich media events to
11421	// include.
11422	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11423
11424	// DateRange: The date range this report should be run for.
11425	DateRange *DateRange `json:"dateRange,omitempty"`
11426
11427	// DimensionFilters: The list of filters on which dimensions are
11428	// filtered. Filters for different dimensions are ANDed, filters for the
11429	// same dimension are grouped together and ORed.
11430	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11431
11432	// Dimensions: The list of dimensions the report should include.
11433	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11434
11435	// FloodlightConfigId: The floodlight ID for which to show data in this
11436	// report. All advertisers associated with that ID will automatically be
11437	// added. The dimension of the value needs to be
11438	// 'dfa:floodlightConfigId'.
11439	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11440
11441	// MetricNames: The list of names of metrics the report should include.
11442	MetricNames []string `json:"metricNames,omitempty"`
11443
11444	// ReportProperties: The properties of the report.
11445	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
11446
11447	// ForceSendFields is a list of field names (e.g.
11448	// "CustomRichMediaEvents") to unconditionally include in API requests.
11449	// By default, fields with empty values are omitted from API requests.
11450	// However, any non-pointer, non-interface field appearing in
11451	// ForceSendFields will be sent to the server regardless of whether the
11452	// field is empty or not. This may be used to include empty fields in
11453	// Patch requests.
11454	ForceSendFields []string `json:"-"`
11455
11456	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") to
11457	// include in API requests with the JSON null value. By default, fields
11458	// with empty values are omitted from API requests. However, any field
11459	// with an empty value appearing in NullFields will be sent to the
11460	// server as null. It is an error if a field in this list has a
11461	// non-empty value. This may be used to include null fields in Patch
11462	// requests.
11463	NullFields []string `json:"-"`
11464}
11465
11466func (s *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
11467	type NoMethod ReportFloodlightCriteria
11468	raw := NoMethod(*s)
11469	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11470}
11471
11472// ReportFloodlightCriteriaReportProperties: The properties of the
11473// report.
11474type ReportFloodlightCriteriaReportProperties struct {
11475	// IncludeAttributedIPConversions: Include conversions that have no
11476	// cookie, but do have an exposure path.
11477	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11478
11479	// IncludeUnattributedCookieConversions: Include conversions of users
11480	// with a DoubleClick cookie but without an exposure. That means the
11481	// user did not click or see an ad from the advertiser within the
11482	// Floodlight group, or that the interaction happened outside the
11483	// lookback window.
11484	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11485
11486	// IncludeUnattributedIPConversions: Include conversions that have no
11487	// associated cookies and no exposures. It’s therefore impossible to
11488	// know how the user was exposed to your ads during the lookback window
11489	// prior to a conversion.
11490	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11491
11492	// ForceSendFields is a list of field names (e.g.
11493	// "IncludeAttributedIPConversions") to unconditionally include in API
11494	// requests. By default, fields with empty values are omitted from API
11495	// requests. However, any non-pointer, non-interface field appearing in
11496	// ForceSendFields will be sent to the server regardless of whether the
11497	// field is empty or not. This may be used to include empty fields in
11498	// Patch requests.
11499	ForceSendFields []string `json:"-"`
11500
11501	// NullFields is a list of field names (e.g.
11502	// "IncludeAttributedIPConversions") to include in API requests with the
11503	// JSON null value. By default, fields with empty values are omitted
11504	// from API requests. However, any field with an empty value appearing
11505	// in NullFields will be sent to the server as null. It is an error if a
11506	// field in this list has a non-empty value. This may be used to include
11507	// null fields in Patch requests.
11508	NullFields []string `json:"-"`
11509}
11510
11511func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11512	type NoMethod ReportFloodlightCriteriaReportProperties
11513	raw := NoMethod(*s)
11514	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11515}
11516
11517// ReportPathToConversionCriteria: The report criteria for a report of
11518// type "PATH_TO_CONVERSION".
11519type ReportPathToConversionCriteria struct {
11520	// ActivityFilters: The list of 'dfa:activity' values to filter on.
11521	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
11522
11523	// ConversionDimensions: The list of conversion dimensions the report
11524	// should include.
11525	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
11526
11527	// CustomFloodlightVariables: The list of custom floodlight variables
11528	// the report should include.
11529	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
11530
11531	// CustomRichMediaEvents: The list of custom rich media events to
11532	// include.
11533	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11534
11535	// DateRange: The date range this report should be run for.
11536	DateRange *DateRange `json:"dateRange,omitempty"`
11537
11538	// FloodlightConfigId: The floodlight ID for which to show data in this
11539	// report. All advertisers associated with that ID will automatically be
11540	// added. The dimension of the value needs to be
11541	// 'dfa:floodlightConfigId'.
11542	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11543
11544	// MetricNames: The list of names of metrics the report should include.
11545	MetricNames []string `json:"metricNames,omitempty"`
11546
11547	// PerInteractionDimensions: The list of per interaction dimensions the
11548	// report should include.
11549	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
11550
11551	// ReportProperties: The properties of the report.
11552	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
11553
11554	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
11555	// unconditionally include in API requests. By default, fields with
11556	// empty values are omitted from API requests. However, any non-pointer,
11557	// non-interface field appearing in ForceSendFields will be sent to the
11558	// server regardless of whether the field is empty or not. This may be
11559	// used to include empty fields in Patch requests.
11560	ForceSendFields []string `json:"-"`
11561
11562	// NullFields is a list of field names (e.g. "ActivityFilters") to
11563	// include in API requests with the JSON null value. By default, fields
11564	// with empty values are omitted from API requests. However, any field
11565	// with an empty value appearing in NullFields will be sent to the
11566	// server as null. It is an error if a field in this list has a
11567	// non-empty value. This may be used to include null fields in Patch
11568	// requests.
11569	NullFields []string `json:"-"`
11570}
11571
11572func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
11573	type NoMethod ReportPathToConversionCriteria
11574	raw := NoMethod(*s)
11575	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11576}
11577
11578// ReportPathToConversionCriteriaReportProperties: The properties of the
11579// report.
11580type ReportPathToConversionCriteriaReportProperties struct {
11581	// ClicksLookbackWindow: DFA checks to see if a click interaction
11582	// occurred within the specified period of time before a conversion. By
11583	// default the value is pulled from Floodlight or you can manually enter
11584	// a custom value. Valid values: 1-90.
11585	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
11586
11587	// ImpressionsLookbackWindow: DFA checks to see if an impression
11588	// interaction occurred within the specified period of time before a
11589	// conversion. By default the value is pulled from Floodlight or you can
11590	// manually enter a custom value. Valid values: 1-90.
11591	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
11592
11593	// IncludeAttributedIPConversions: Deprecated: has no effect.
11594	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11595
11596	// IncludeUnattributedCookieConversions: Include conversions of users
11597	// with a DoubleClick cookie but without an exposure. That means the
11598	// user did not click or see an ad from the advertiser within the
11599	// Floodlight group, or that the interaction happened outside the
11600	// lookback window.
11601	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11602
11603	// IncludeUnattributedIPConversions: Include conversions that have no
11604	// associated cookies and no exposures. It’s therefore impossible to
11605	// know how the user was exposed to your ads during the lookback window
11606	// prior to a conversion.
11607	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11608
11609	// MaximumClickInteractions: The maximum number of click interactions to
11610	// include in the report. Advertisers currently paying for E2C reports
11611	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
11612	// your network is paying for E2C, you can have up to 5 total exposures
11613	// per report.
11614	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
11615
11616	// MaximumImpressionInteractions: The maximum number of click
11617	// interactions to include in the report. Advertisers currently paying
11618	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
11619	// another advertiser in your network is paying for E2C, you can have up
11620	// to 5 total exposures per report.
11621	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
11622
11623	// MaximumInteractionGap: The maximum amount of time that can take place
11624	// between interactions (clicks or impressions) by the same user. Valid
11625	// values: 1-90.
11626	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
11627
11628	// PivotOnInteractionPath: Enable pivoting on interaction path.
11629	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
11630
11631	// ForceSendFields is a list of field names (e.g.
11632	// "ClicksLookbackWindow") to unconditionally include in API requests.
11633	// By default, fields with empty values are omitted from API requests.
11634	// However, any non-pointer, non-interface field appearing in
11635	// ForceSendFields will be sent to the server regardless of whether the
11636	// field is empty or not. This may be used to include empty fields in
11637	// Patch requests.
11638	ForceSendFields []string `json:"-"`
11639
11640	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
11641	// include in API requests with the JSON null value. By default, fields
11642	// with empty values are omitted from API requests. However, any field
11643	// with an empty value appearing in NullFields will be sent to the
11644	// server as null. It is an error if a field in this list has a
11645	// non-empty value. This may be used to include null fields in Patch
11646	// requests.
11647	NullFields []string `json:"-"`
11648}
11649
11650func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11651	type NoMethod ReportPathToConversionCriteriaReportProperties
11652	raw := NoMethod(*s)
11653	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11654}
11655
11656// ReportReachCriteria: The report criteria for a report of type
11657// "REACH".
11658type ReportReachCriteria struct {
11659	// Activities: Activity group.
11660	Activities *Activities `json:"activities,omitempty"`
11661
11662	// CustomRichMediaEvents: Custom Rich Media Events group.
11663	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11664
11665	// DateRange: The date range this report should be run for.
11666	DateRange *DateRange `json:"dateRange,omitempty"`
11667
11668	// DimensionFilters: The list of filters on which dimensions are
11669	// filtered. Filters for different dimensions are ANDed, filters for the
11670	// same dimension are grouped together and ORed.
11671	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11672
11673	// Dimensions: The list of dimensions the report should include.
11674	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11675
11676	// EnableAllDimensionCombinations: Whether to enable all reach dimension
11677	// combinations in the report. Defaults to false. If enabled, the date
11678	// range of the report should be within the last 42 days.
11679	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
11680
11681	// MetricNames: The list of names of metrics the report should include.
11682	MetricNames []string `json:"metricNames,omitempty"`
11683
11684	// ReachByFrequencyMetricNames: The list of names of Reach By Frequency
11685	// metrics the report should include.
11686	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
11687
11688	// ForceSendFields is a list of field names (e.g. "Activities") to
11689	// unconditionally include in API requests. By default, fields with
11690	// empty values are omitted from API requests. However, any non-pointer,
11691	// non-interface field appearing in ForceSendFields will be sent to the
11692	// server regardless of whether the field is empty or not. This may be
11693	// used to include empty fields in Patch requests.
11694	ForceSendFields []string `json:"-"`
11695
11696	// NullFields is a list of field names (e.g. "Activities") to include in
11697	// API requests with the JSON null value. By default, fields with empty
11698	// values are omitted from API requests. However, any field with an
11699	// empty value appearing in NullFields will be sent to the server as
11700	// null. It is an error if a field in this list has a non-empty value.
11701	// This may be used to include null fields in Patch requests.
11702	NullFields []string `json:"-"`
11703}
11704
11705func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
11706	type NoMethod ReportReachCriteria
11707	raw := NoMethod(*s)
11708	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11709}
11710
11711// ReportSchedule: The report's schedule. Can only be set if the
11712// report's 'dateRange' is a relative date range and the relative date
11713// range is not "TODAY".
11714type ReportSchedule struct {
11715	// Active: Whether the schedule is active or not. Must be set to either
11716	// true or false.
11717	Active bool `json:"active,omitempty"`
11718
11719	// Every: Defines every how many days, weeks or months the report should
11720	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
11721	// "MONTHLY".
11722	Every int64 `json:"every,omitempty"`
11723
11724	ExpirationDate string `json:"expirationDate,omitempty"`
11725
11726	// Repeats: The interval for which the report is repeated. Note: -
11727	// "DAILY" also requires field "every" to be set. - "WEEKLY" also
11728	// requires fields "every" and "repeatsOnWeekDays" to be set. -
11729	// "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
11730	// set.
11731	Repeats string `json:"repeats,omitempty"`
11732
11733	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
11734	// reports should run.
11735	//
11736	// Possible values:
11737	//   "SUNDAY"
11738	//   "MONDAY"
11739	//   "TUESDAY"
11740	//   "WEDNESDAY"
11741	//   "THURSDAY"
11742	//   "FRIDAY"
11743	//   "SATURDAY"
11744	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
11745
11746	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
11747	// whether reports should be repeated on the same day of the month as
11748	// "startDate" or the same day of the week of the month. Example: If
11749	// 'startDate' is Monday, April 2nd 2012 (2012-04-02), "DAY_OF_MONTH"
11750	// would run subsequent reports on the 2nd of every Month, and
11751	// "WEEK_OF_MONTH" would run subsequent reports on the first Monday of
11752	// the month.
11753	//
11754	// Possible values:
11755	//   "DAY_OF_MONTH"
11756	//   "WEEK_OF_MONTH"
11757	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
11758
11759	StartDate string `json:"startDate,omitempty"`
11760
11761	// ForceSendFields is a list of field names (e.g. "Active") to
11762	// unconditionally include in API requests. By default, fields with
11763	// empty values are omitted from API requests. However, any non-pointer,
11764	// non-interface field appearing in ForceSendFields will be sent to the
11765	// server regardless of whether the field is empty or not. This may be
11766	// used to include empty fields in Patch requests.
11767	ForceSendFields []string `json:"-"`
11768
11769	// NullFields is a list of field names (e.g. "Active") to include in API
11770	// requests with the JSON null value. By default, fields with empty
11771	// values are omitted from API requests. However, any field with an
11772	// empty value appearing in NullFields will be sent to the server as
11773	// null. It is an error if a field in this list has a non-empty value.
11774	// This may be used to include null fields in Patch requests.
11775	NullFields []string `json:"-"`
11776}
11777
11778func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
11779	type NoMethod ReportSchedule
11780	raw := NoMethod(*s)
11781	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11782}
11783
11784// ReportCompatibleFields: Represents fields that are compatible to be
11785// selected for a report of type "STANDARD".
11786type ReportCompatibleFields struct {
11787	// DimensionFilters: Dimensions which are compatible to be selected in
11788	// the "dimensionFilters" section of the report.
11789	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
11790
11791	// Dimensions: Dimensions which are compatible to be selected in the
11792	// "dimensions" section of the report.
11793	Dimensions []*Dimension `json:"dimensions,omitempty"`
11794
11795	// Kind: The kind of resource this is, in this case
11796	// dfareporting#reportCompatibleFields.
11797	Kind string `json:"kind,omitempty"`
11798
11799	// Metrics: Metrics which are compatible to be selected in the
11800	// "metricNames" section of the report.
11801	Metrics []*Metric `json:"metrics,omitempty"`
11802
11803	// PivotedActivityMetrics: Metrics which are compatible to be selected
11804	// as activity metrics to pivot on in the "activities" section of the
11805	// report.
11806	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
11807
11808	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
11809	// unconditionally include in API requests. By default, fields with
11810	// empty values are omitted from API requests. However, any non-pointer,
11811	// non-interface field appearing in ForceSendFields will be sent to the
11812	// server regardless of whether the field is empty or not. This may be
11813	// used to include empty fields in Patch requests.
11814	ForceSendFields []string `json:"-"`
11815
11816	// NullFields is a list of field names (e.g. "DimensionFilters") to
11817	// include in API requests with the JSON null value. By default, fields
11818	// with empty values are omitted from API requests. However, any field
11819	// with an empty value appearing in NullFields will be sent to the
11820	// server as null. It is an error if a field in this list has a
11821	// non-empty value. This may be used to include null fields in Patch
11822	// requests.
11823	NullFields []string `json:"-"`
11824}
11825
11826func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
11827	type NoMethod ReportCompatibleFields
11828	raw := NoMethod(*s)
11829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11830}
11831
11832// ReportList: Represents the list of reports.
11833type ReportList struct {
11834	// Etag: The eTag of this response for caching purposes.
11835	Etag string `json:"etag,omitempty"`
11836
11837	// Items: The reports returned in this response.
11838	Items []*Report `json:"items,omitempty"`
11839
11840	// Kind: The kind of list this is, in this case dfareporting#reportList.
11841	Kind string `json:"kind,omitempty"`
11842
11843	// NextPageToken: Continuation token used to page through reports. To
11844	// retrieve the next page of results, set the next request's "pageToken"
11845	// to the value of this field. The page token is only valid for a
11846	// limited amount of time and should not be persisted.
11847	NextPageToken string `json:"nextPageToken,omitempty"`
11848
11849	// ServerResponse contains the HTTP response code and headers from the
11850	// server.
11851	googleapi.ServerResponse `json:"-"`
11852
11853	// ForceSendFields is a list of field names (e.g. "Etag") to
11854	// unconditionally include in API requests. By default, fields with
11855	// empty values are omitted from API requests. However, any non-pointer,
11856	// non-interface field appearing in ForceSendFields will be sent to the
11857	// server regardless of whether the field is empty or not. This may be
11858	// used to include empty fields in Patch requests.
11859	ForceSendFields []string `json:"-"`
11860
11861	// NullFields is a list of field names (e.g. "Etag") to include in API
11862	// requests with the JSON null value. By default, fields with empty
11863	// values are omitted from API requests. However, any field with an
11864	// empty value appearing in NullFields will be sent to the server as
11865	// null. It is an error if a field in this list has a non-empty value.
11866	// This may be used to include null fields in Patch requests.
11867	NullFields []string `json:"-"`
11868}
11869
11870func (s *ReportList) MarshalJSON() ([]byte, error) {
11871	type NoMethod ReportList
11872	raw := NoMethod(*s)
11873	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11874}
11875
11876// ReportsConfiguration: Reporting Configuration
11877type ReportsConfiguration struct {
11878	// ExposureToConversionEnabled: Whether the exposure to conversion
11879	// report is enabled. This report shows detailed pathway information on
11880	// up to 10 of the most recent ad exposures seen by a user before
11881	// converting.
11882	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
11883
11884	// LookbackConfiguration: Default lookback windows for new advertisers
11885	// in this account.
11886	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
11887
11888	// ReportGenerationTimeZoneId: Report generation time zone ID of this
11889	// account. This is a required field that can only be changed by a
11890	// superuser. Acceptable values are: - "1" for "America/New_York" - "2"
11891	// for "Europe/London" - "3" for "Europe/Paris" - "4" for
11892	// "Africa/Johannesburg" - "5" for "Asia/Jerusalem" - "6" for
11893	// "Asia/Shanghai" - "7" for "Asia/Hong_Kong" - "8" for "Asia/Tokyo" -
11894	// "9" for "Australia/Sydney" - "10" for "Asia/Dubai" - "11" for
11895	// "America/Los_Angeles" - "12" for "Pacific/Auckland" - "13" for
11896	// "America/Sao_Paulo" - "16" for "America/Asuncion" - "17" for
11897	// "America/Chicago" - "18" for "America/Denver" - "19" for
11898	// "America/St_Johns" - "20" for "Asia/Dhaka" - "21" for "Asia/Jakarta"
11899	// - "22" for "Asia/Kabul" - "23" for "Asia/Karachi" - "24" for
11900	// "Asia/Calcutta" - "25" for "Asia/Pyongyang" - "26" for "Asia/Rangoon"
11901	// - "27" for "Atlantic/Cape_Verde" - "28" for "Atlantic/South_Georgia"
11902	// - "29" for "Australia/Adelaide" - "30" for "Australia/Lord_Howe" -
11903	// "31" for "Europe/Moscow" - "32" for "Pacific/Kiritimati" - "35" for
11904	// "Pacific/Norfolk" - "36" for "Pacific/Tongatapu"
11905	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
11906
11907	// ForceSendFields is a list of field names (e.g.
11908	// "ExposureToConversionEnabled") to unconditionally include in API
11909	// requests. By default, fields with empty values are omitted from API
11910	// requests. However, any non-pointer, non-interface field appearing in
11911	// ForceSendFields will be sent to the server regardless of whether the
11912	// field is empty or not. This may be used to include empty fields in
11913	// Patch requests.
11914	ForceSendFields []string `json:"-"`
11915
11916	// NullFields is a list of field names (e.g.
11917	// "ExposureToConversionEnabled") to include in API requests with the
11918	// JSON null value. By default, fields with empty values are omitted
11919	// from API requests. However, any field with an empty value appearing
11920	// in NullFields will be sent to the server as null. It is an error if a
11921	// field in this list has a non-empty value. This may be used to include
11922	// null fields in Patch requests.
11923	NullFields []string `json:"-"`
11924}
11925
11926func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
11927	type NoMethod ReportsConfiguration
11928	raw := NoMethod(*s)
11929	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11930}
11931
11932// RichMediaExitOverride: Rich Media Exit Override.
11933type RichMediaExitOverride struct {
11934	// ClickThroughUrl: Click-through URL of this rich media exit override.
11935	// Applicable if the enabled field is set to true.
11936	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
11937
11938	// Enabled: Whether to use the clickThroughUrl. If false, the
11939	// creative-level exit will be used.
11940	Enabled bool `json:"enabled,omitempty"`
11941
11942	// ExitId: ID for the override to refer to a specific exit in the
11943	// creative.
11944	ExitId int64 `json:"exitId,omitempty,string"`
11945
11946	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
11947	// unconditionally include in API requests. By default, fields with
11948	// empty values are omitted from API requests. However, any non-pointer,
11949	// non-interface field appearing in ForceSendFields will be sent to the
11950	// server regardless of whether the field is empty or not. This may be
11951	// used to include empty fields in Patch requests.
11952	ForceSendFields []string `json:"-"`
11953
11954	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
11955	// include in API requests with the JSON null value. By default, fields
11956	// with empty values are omitted from API requests. However, any field
11957	// with an empty value appearing in NullFields will be sent to the
11958	// server as null. It is an error if a field in this list has a
11959	// non-empty value. This may be used to include null fields in Patch
11960	// requests.
11961	NullFields []string `json:"-"`
11962}
11963
11964func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
11965	type NoMethod RichMediaExitOverride
11966	raw := NoMethod(*s)
11967	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11968}
11969
11970// Rule: A rule associates an asset with a targeting template for
11971// asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
11972type Rule struct {
11973	// AssetId: A creativeAssets[].id. This should refer to one of the
11974	// parent assets in this creative. This is a required field.
11975	AssetId int64 `json:"assetId,omitempty,string"`
11976
11977	// Name: A user-friendly name for this rule. This is a required field.
11978	Name string `json:"name,omitempty"`
11979
11980	// TargetingTemplateId: A targeting template ID. The targeting from the
11981	// targeting template will be used to determine whether this asset
11982	// should be served. This is a required field.
11983	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
11984
11985	// ForceSendFields is a list of field names (e.g. "AssetId") to
11986	// unconditionally include in API requests. By default, fields with
11987	// empty values are omitted from API requests. However, any non-pointer,
11988	// non-interface field appearing in ForceSendFields will be sent to the
11989	// server regardless of whether the field is empty or not. This may be
11990	// used to include empty fields in Patch requests.
11991	ForceSendFields []string `json:"-"`
11992
11993	// NullFields is a list of field names (e.g. "AssetId") to include in
11994	// API requests with the JSON null value. By default, fields with empty
11995	// values are omitted from API requests. However, any field with an
11996	// empty value appearing in NullFields will be sent to the server as
11997	// null. It is an error if a field in this list has a non-empty value.
11998	// This may be used to include null fields in Patch requests.
11999	NullFields []string `json:"-"`
12000}
12001
12002func (s *Rule) MarshalJSON() ([]byte, error) {
12003	type NoMethod Rule
12004	raw := NoMethod(*s)
12005	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12006}
12007
12008// Site: Contains properties of a site.
12009type Site struct {
12010	// AccountId: Account ID of this site. This is a read-only field that
12011	// can be left blank.
12012	AccountId int64 `json:"accountId,omitempty,string"`
12013
12014	// Approved: Whether this site is approved.
12015	Approved bool `json:"approved,omitempty"`
12016
12017	// DirectorySiteId: Directory site associated with this site. This is a
12018	// required field that is read-only after insertion.
12019	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
12020
12021	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
12022	// directory site. This is a read-only, auto-generated field.
12023	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
12024
12025	// Id: ID of this site. This is a read-only, auto-generated field.
12026	Id int64 `json:"id,omitempty,string"`
12027
12028	// IdDimensionValue: Dimension value for the ID of this site. This is a
12029	// read-only, auto-generated field.
12030	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
12031
12032	// KeyName: Key name of this site. This is a read-only, auto-generated
12033	// field.
12034	KeyName string `json:"keyName,omitempty"`
12035
12036	// Kind: Identifies what kind of resource this is. Value: the fixed
12037	// string "dfareporting#site".
12038	Kind string `json:"kind,omitempty"`
12039
12040	// Name: Name of this site.This is a required field. Must be less than
12041	// 128 characters long. If this site is under a subaccount, the name
12042	// must be unique among sites of the same subaccount. Otherwise, this
12043	// site is a top-level site, and the name must be unique among top-level
12044	// sites of the same account.
12045	Name string `json:"name,omitempty"`
12046
12047	// SiteContacts: Site contacts.
12048	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
12049
12050	// SiteSettings: Site-wide settings.
12051	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
12052
12053	// SubaccountId: Subaccount ID of this site. This is a read-only field
12054	// that can be left blank.
12055	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12056
12057	// VideoSettings: Default video settings for new placements created
12058	// under this site. This value will be used to populate the
12059	// placements.videoSettings field, when no value is specified for the
12060	// new placement.
12061	VideoSettings *SiteVideoSettings `json:"videoSettings,omitempty"`
12062
12063	// ServerResponse contains the HTTP response code and headers from the
12064	// server.
12065	googleapi.ServerResponse `json:"-"`
12066
12067	// ForceSendFields is a list of field names (e.g. "AccountId") to
12068	// unconditionally include in API requests. By default, fields with
12069	// empty values are omitted from API requests. However, any non-pointer,
12070	// non-interface field appearing in ForceSendFields will be sent to the
12071	// server regardless of whether the field is empty or not. This may be
12072	// used to include empty fields in Patch requests.
12073	ForceSendFields []string `json:"-"`
12074
12075	// NullFields is a list of field names (e.g. "AccountId") to include in
12076	// API requests with the JSON null value. By default, fields with empty
12077	// values are omitted from API requests. However, any field with an
12078	// empty value appearing in NullFields will be sent to the server as
12079	// null. It is an error if a field in this list has a non-empty value.
12080	// This may be used to include null fields in Patch requests.
12081	NullFields []string `json:"-"`
12082}
12083
12084func (s *Site) MarshalJSON() ([]byte, error) {
12085	type NoMethod Site
12086	raw := NoMethod(*s)
12087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12088}
12089
12090// SiteCompanionSetting: Companion Settings
12091type SiteCompanionSetting struct {
12092	// CompanionsDisabled: Whether companions are disabled for this site
12093	// template.
12094	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
12095
12096	// EnabledSizes: Allowlist of companion sizes to be served via this site
12097	// template. Set this list to null or empty to serve all companion
12098	// sizes.
12099	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
12100
12101	// ImageOnly: Whether to serve only static images as companions.
12102	ImageOnly bool `json:"imageOnly,omitempty"`
12103
12104	// Kind: Identifies what kind of resource this is. Value: the fixed
12105	// string "dfareporting#siteCompanionSetting".
12106	Kind string `json:"kind,omitempty"`
12107
12108	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
12109	// to unconditionally include in API requests. By default, fields with
12110	// empty values are omitted from API requests. However, any non-pointer,
12111	// non-interface field appearing in ForceSendFields will be sent to the
12112	// server regardless of whether the field is empty or not. This may be
12113	// used to include empty fields in Patch requests.
12114	ForceSendFields []string `json:"-"`
12115
12116	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
12117	// include in API requests with the JSON null value. By default, fields
12118	// with empty values are omitted from API requests. However, any field
12119	// with an empty value appearing in NullFields will be sent to the
12120	// server as null. It is an error if a field in this list has a
12121	// non-empty value. This may be used to include null fields in Patch
12122	// requests.
12123	NullFields []string `json:"-"`
12124}
12125
12126func (s *SiteCompanionSetting) MarshalJSON() ([]byte, error) {
12127	type NoMethod SiteCompanionSetting
12128	raw := NoMethod(*s)
12129	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12130}
12131
12132// SiteContact: Site Contact
12133type SiteContact struct {
12134	// Address: Address of this site contact.
12135	Address string `json:"address,omitempty"`
12136
12137	// ContactType: Site contact type.
12138	//
12139	// Possible values:
12140	//   "SALES_PERSON"
12141	//   "TRAFFICKER"
12142	ContactType string `json:"contactType,omitempty"`
12143
12144	// Email: Email address of this site contact. This is a required field.
12145	Email string `json:"email,omitempty"`
12146
12147	// FirstName: First name of this site contact.
12148	FirstName string `json:"firstName,omitempty"`
12149
12150	// Id: ID of this site contact. This is a read-only, auto-generated
12151	// field.
12152	Id int64 `json:"id,omitempty,string"`
12153
12154	// LastName: Last name of this site contact.
12155	LastName string `json:"lastName,omitempty"`
12156
12157	// Phone: Primary phone number of this site contact.
12158	Phone string `json:"phone,omitempty"`
12159
12160	// Title: Title or designation of this site contact.
12161	Title string `json:"title,omitempty"`
12162
12163	// ForceSendFields is a list of field names (e.g. "Address") to
12164	// unconditionally include in API requests. By default, fields with
12165	// empty values are omitted from API requests. However, any non-pointer,
12166	// non-interface field appearing in ForceSendFields will be sent to the
12167	// server regardless of whether the field is empty or not. This may be
12168	// used to include empty fields in Patch requests.
12169	ForceSendFields []string `json:"-"`
12170
12171	// NullFields is a list of field names (e.g. "Address") to include in
12172	// API requests with the JSON null value. By default, fields with empty
12173	// values are omitted from API requests. However, any field with an
12174	// empty value appearing in NullFields will be sent to the server as
12175	// null. It is an error if a field in this list has a non-empty value.
12176	// This may be used to include null fields in Patch requests.
12177	NullFields []string `json:"-"`
12178}
12179
12180func (s *SiteContact) MarshalJSON() ([]byte, error) {
12181	type NoMethod SiteContact
12182	raw := NoMethod(*s)
12183	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12184}
12185
12186// SiteSettings: Site Settings
12187type SiteSettings struct {
12188	// ActiveViewOptOut: Whether active view creatives are disabled for this
12189	// site.
12190	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
12191
12192	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
12193	// true, ad blocking is disabled for all placements under the site,
12194	// regardless of the individual placement settings. When false, the
12195	// campaign and placement settings take effect.
12196	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
12197
12198	// DisableNewCookie: Whether new cookies are disabled for this site.
12199	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
12200
12201	// TagSetting: Configuration settings for dynamic and image floodlight
12202	// tags.
12203	TagSetting *TagSetting `json:"tagSetting,omitempty"`
12204
12205	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
12206	// for in-stream video creatives are disabled by default for new
12207	// placements created under this site. This value will be used to
12208	// populate the placement.videoActiveViewOptOut field, when no value is
12209	// specified for the new placement.
12210	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
12211
12212	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
12213	// placements created under this site. This value will be used to
12214	// populate the placements.vpaidAdapterChoice field, when no value is
12215	// specified for the new placement. Controls which VPAID format the
12216	// measurement adapter will use for in-stream video creatives assigned
12217	// to the placement. The publisher's specifications will typically
12218	// determine this setting. For VPAID creatives, the adapter format will
12219	// match the VPAID format (HTML5 VPAID creatives use the HTML5 adapter).
12220	// *Note:* Flash is no longer supported. This field now defaults to
12221	// HTML5 when the following values are provided: FLASH, BOTH.
12222	//
12223	// Possible values:
12224	//   "DEFAULT"
12225	//   "FLASH"
12226	//   "HTML5"
12227	//   "BOTH"
12228	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
12229
12230	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
12231	// unconditionally include in API requests. By default, fields with
12232	// empty values are omitted from API requests. However, any non-pointer,
12233	// non-interface field appearing in ForceSendFields will be sent to the
12234	// server regardless of whether the field is empty or not. This may be
12235	// used to include empty fields in Patch requests.
12236	ForceSendFields []string `json:"-"`
12237
12238	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
12239	// include in API requests with the JSON null value. By default, fields
12240	// with empty values are omitted from API requests. However, any field
12241	// with an empty value appearing in NullFields will be sent to the
12242	// server as null. It is an error if a field in this list has a
12243	// non-empty value. This may be used to include null fields in Patch
12244	// requests.
12245	NullFields []string `json:"-"`
12246}
12247
12248func (s *SiteSettings) MarshalJSON() ([]byte, error) {
12249	type NoMethod SiteSettings
12250	raw := NoMethod(*s)
12251	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12252}
12253
12254// SiteSkippableSetting: Skippable Settings
12255type SiteSkippableSetting struct {
12256	// Kind: Identifies what kind of resource this is. Value: the fixed
12257	// string "dfareporting#siteSkippableSetting".
12258	Kind string `json:"kind,omitempty"`
12259
12260	// ProgressOffset: Amount of time to play videos served to this site
12261	// template before counting a view. Applicable when skippable is true.
12262	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12263
12264	// SkipOffset: Amount of time to play videos served to this site before
12265	// the skip button should appear. Applicable when skippable is true.
12266	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12267
12268	// Skippable: Whether the user can skip creatives served to this site.
12269	// This will act as default for new placements created under this site.
12270	Skippable bool `json:"skippable,omitempty"`
12271
12272	// ForceSendFields is a list of field names (e.g. "Kind") to
12273	// unconditionally include in API requests. By default, fields with
12274	// empty values are omitted from API requests. However, any non-pointer,
12275	// non-interface field appearing in ForceSendFields will be sent to the
12276	// server regardless of whether the field is empty or not. This may be
12277	// used to include empty fields in Patch requests.
12278	ForceSendFields []string `json:"-"`
12279
12280	// NullFields is a list of field names (e.g. "Kind") to include in API
12281	// requests with the JSON null value. By default, fields with empty
12282	// values are omitted from API requests. However, any field with an
12283	// empty value appearing in NullFields will be sent to the server as
12284	// null. It is an error if a field in this list has a non-empty value.
12285	// This may be used to include null fields in Patch requests.
12286	NullFields []string `json:"-"`
12287}
12288
12289func (s *SiteSkippableSetting) MarshalJSON() ([]byte, error) {
12290	type NoMethod SiteSkippableSetting
12291	raw := NoMethod(*s)
12292	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12293}
12294
12295// SiteTranscodeSetting: Transcode Settings
12296type SiteTranscodeSetting struct {
12297	// EnabledVideoFormats: Allowlist of video formats to be served to this
12298	// site template. Set this list to null or empty to serve all video
12299	// formats.
12300	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
12301
12302	// Kind: Identifies what kind of resource this is. Value: the fixed
12303	// string "dfareporting#siteTranscodeSetting".
12304	Kind string `json:"kind,omitempty"`
12305
12306	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
12307	// to unconditionally include in API requests. By default, fields with
12308	// empty values are omitted from API requests. However, any non-pointer,
12309	// non-interface field appearing in ForceSendFields will be sent to the
12310	// server regardless of whether the field is empty or not. This may be
12311	// used to include empty fields in Patch requests.
12312	ForceSendFields []string `json:"-"`
12313
12314	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
12315	// include in API requests with the JSON null value. By default, fields
12316	// with empty values are omitted from API requests. However, any field
12317	// with an empty value appearing in NullFields will be sent to the
12318	// server as null. It is an error if a field in this list has a
12319	// non-empty value. This may be used to include null fields in Patch
12320	// requests.
12321	NullFields []string `json:"-"`
12322}
12323
12324func (s *SiteTranscodeSetting) MarshalJSON() ([]byte, error) {
12325	type NoMethod SiteTranscodeSetting
12326	raw := NoMethod(*s)
12327	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12328}
12329
12330// SiteVideoSettings: Video Settings
12331type SiteVideoSettings struct {
12332	// CompanionSettings: Settings for the companion creatives of video
12333	// creatives served to this site.
12334	CompanionSettings *SiteCompanionSetting `json:"companionSettings,omitempty"`
12335
12336	// Kind: Identifies what kind of resource this is. Value: the fixed
12337	// string "dfareporting#siteVideoSettings".
12338	Kind string `json:"kind,omitempty"`
12339
12340	// Orientation: Orientation of a site template used for video. This will
12341	// act as default for new placements created under this site.
12342	//
12343	// Possible values:
12344	//   "ANY"
12345	//   "LANDSCAPE"
12346	//   "PORTRAIT"
12347	Orientation string `json:"orientation,omitempty"`
12348
12349	// SkippableSettings: Settings for the skippability of video creatives
12350	// served to this site. This will act as default for new placements
12351	// created under this site.
12352	SkippableSettings *SiteSkippableSetting `json:"skippableSettings,omitempty"`
12353
12354	// TranscodeSettings: Settings for the transcodes of video creatives
12355	// served to this site. This will act as default for new placements
12356	// created under this site.
12357	TranscodeSettings *SiteTranscodeSetting `json:"transcodeSettings,omitempty"`
12358
12359	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
12360	// to unconditionally include in API requests. By default, fields with
12361	// empty values are omitted from API requests. However, any non-pointer,
12362	// non-interface field appearing in ForceSendFields will be sent to the
12363	// server regardless of whether the field is empty or not. This may be
12364	// used to include empty fields in Patch requests.
12365	ForceSendFields []string `json:"-"`
12366
12367	// NullFields is a list of field names (e.g. "CompanionSettings") to
12368	// include in API requests with the JSON null value. By default, fields
12369	// with empty values are omitted from API requests. However, any field
12370	// with an empty value appearing in NullFields will be sent to the
12371	// server as null. It is an error if a field in this list has a
12372	// non-empty value. This may be used to include null fields in Patch
12373	// requests.
12374	NullFields []string `json:"-"`
12375}
12376
12377func (s *SiteVideoSettings) MarshalJSON() ([]byte, error) {
12378	type NoMethod SiteVideoSettings
12379	raw := NoMethod(*s)
12380	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12381}
12382
12383// SitesListResponse: Site List Response
12384type SitesListResponse struct {
12385	// Kind: Identifies what kind of resource this is. Value: the fixed
12386	// string "dfareporting#sitesListResponse".
12387	Kind string `json:"kind,omitempty"`
12388
12389	// NextPageToken: Pagination token to be used for the next list
12390	// operation.
12391	NextPageToken string `json:"nextPageToken,omitempty"`
12392
12393	// Sites: Site collection.
12394	Sites []*Site `json:"sites,omitempty"`
12395
12396	// ServerResponse contains the HTTP response code and headers from the
12397	// server.
12398	googleapi.ServerResponse `json:"-"`
12399
12400	// ForceSendFields is a list of field names (e.g. "Kind") to
12401	// unconditionally include in API requests. By default, fields with
12402	// empty values are omitted from API requests. However, any non-pointer,
12403	// non-interface field appearing in ForceSendFields will be sent to the
12404	// server regardless of whether the field is empty or not. This may be
12405	// used to include empty fields in Patch requests.
12406	ForceSendFields []string `json:"-"`
12407
12408	// NullFields is a list of field names (e.g. "Kind") to include in API
12409	// requests with the JSON null value. By default, fields with empty
12410	// values are omitted from API requests. However, any field with an
12411	// empty value appearing in NullFields will be sent to the server as
12412	// null. It is an error if a field in this list has a non-empty value.
12413	// This may be used to include null fields in Patch requests.
12414	NullFields []string `json:"-"`
12415}
12416
12417func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
12418	type NoMethod SitesListResponse
12419	raw := NoMethod(*s)
12420	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12421}
12422
12423// Size: Represents the dimensions of ads, placements, creatives, or
12424// creative assets.
12425type Size struct {
12426	// Height: Height of this size. Acceptable values are 0 to 32767,
12427	// inclusive.
12428	Height int64 `json:"height,omitempty"`
12429
12430	// Iab: IAB standard size. This is a read-only, auto-generated field.
12431	Iab bool `json:"iab,omitempty"`
12432
12433	// Id: ID of this size. This is a read-only, auto-generated field.
12434	Id int64 `json:"id,omitempty,string"`
12435
12436	// Kind: Identifies what kind of resource this is. Value: the fixed
12437	// string "dfareporting#size".
12438	Kind string `json:"kind,omitempty"`
12439
12440	// Width: Width of this size. Acceptable values are 0 to 32767,
12441	// inclusive.
12442	Width int64 `json:"width,omitempty"`
12443
12444	// ServerResponse contains the HTTP response code and headers from the
12445	// server.
12446	googleapi.ServerResponse `json:"-"`
12447
12448	// ForceSendFields is a list of field names (e.g. "Height") to
12449	// unconditionally include in API requests. By default, fields with
12450	// empty values are omitted from API requests. However, any non-pointer,
12451	// non-interface field appearing in ForceSendFields will be sent to the
12452	// server regardless of whether the field is empty or not. This may be
12453	// used to include empty fields in Patch requests.
12454	ForceSendFields []string `json:"-"`
12455
12456	// NullFields is a list of field names (e.g. "Height") to include in API
12457	// requests with the JSON null value. By default, fields with empty
12458	// values are omitted from API requests. However, any field with an
12459	// empty value appearing in NullFields will be sent to the server as
12460	// null. It is an error if a field in this list has a non-empty value.
12461	// This may be used to include null fields in Patch requests.
12462	NullFields []string `json:"-"`
12463}
12464
12465func (s *Size) MarshalJSON() ([]byte, error) {
12466	type NoMethod Size
12467	raw := NoMethod(*s)
12468	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12469}
12470
12471// SizesListResponse: Size List Response
12472type SizesListResponse struct {
12473	// Kind: Identifies what kind of resource this is. Value: the fixed
12474	// string "dfareporting#sizesListResponse".
12475	Kind string `json:"kind,omitempty"`
12476
12477	// Sizes: Size collection.
12478	Sizes []*Size `json:"sizes,omitempty"`
12479
12480	// ServerResponse contains the HTTP response code and headers from the
12481	// server.
12482	googleapi.ServerResponse `json:"-"`
12483
12484	// ForceSendFields is a list of field names (e.g. "Kind") to
12485	// unconditionally include in API requests. By default, fields with
12486	// empty values are omitted from API requests. However, any non-pointer,
12487	// non-interface field appearing in ForceSendFields will be sent to the
12488	// server regardless of whether the field is empty or not. This may be
12489	// used to include empty fields in Patch requests.
12490	ForceSendFields []string `json:"-"`
12491
12492	// NullFields is a list of field names (e.g. "Kind") to include in API
12493	// requests with the JSON null value. By default, fields with empty
12494	// values are omitted from API requests. However, any field with an
12495	// empty value appearing in NullFields will be sent to the server as
12496	// null. It is an error if a field in this list has a non-empty value.
12497	// This may be used to include null fields in Patch requests.
12498	NullFields []string `json:"-"`
12499}
12500
12501func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
12502	type NoMethod SizesListResponse
12503	raw := NoMethod(*s)
12504	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12505}
12506
12507// SkippableSetting: Skippable Settings
12508type SkippableSetting struct {
12509	// Kind: Identifies what kind of resource this is. Value: the fixed
12510	// string "dfareporting#skippableSetting".
12511	Kind string `json:"kind,omitempty"`
12512
12513	// ProgressOffset: Amount of time to play videos served to this
12514	// placement before counting a view. Applicable when skippable is true.
12515	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12516
12517	// SkipOffset: Amount of time to play videos served to this placement
12518	// before the skip button should appear. Applicable when skippable is
12519	// true.
12520	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12521
12522	// Skippable: Whether the user can skip creatives served to this
12523	// placement.
12524	Skippable bool `json:"skippable,omitempty"`
12525
12526	// ForceSendFields is a list of field names (e.g. "Kind") to
12527	// unconditionally include in API requests. By default, fields with
12528	// empty values are omitted from API requests. However, any non-pointer,
12529	// non-interface field appearing in ForceSendFields will be sent to the
12530	// server regardless of whether the field is empty or not. This may be
12531	// used to include empty fields in Patch requests.
12532	ForceSendFields []string `json:"-"`
12533
12534	// NullFields is a list of field names (e.g. "Kind") to include in API
12535	// requests with the JSON null value. By default, fields with empty
12536	// values are omitted from API requests. However, any field with an
12537	// empty value appearing in NullFields will be sent to the server as
12538	// null. It is an error if a field in this list has a non-empty value.
12539	// This may be used to include null fields in Patch requests.
12540	NullFields []string `json:"-"`
12541}
12542
12543func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
12544	type NoMethod SkippableSetting
12545	raw := NoMethod(*s)
12546	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12547}
12548
12549// SortedDimension: Represents a sorted dimension.
12550type SortedDimension struct {
12551	// Kind: The kind of resource this is, in this case
12552	// dfareporting#sortedDimension.
12553	Kind string `json:"kind,omitempty"`
12554
12555	// Name: The name of the dimension.
12556	Name string `json:"name,omitempty"`
12557
12558	// SortOrder: An optional sort order for the dimension column.
12559	//
12560	// Possible values:
12561	//   "ASCENDING"
12562	//   "DESCENDING"
12563	SortOrder string `json:"sortOrder,omitempty"`
12564
12565	// ForceSendFields is a list of field names (e.g. "Kind") to
12566	// unconditionally include in API requests. By default, fields with
12567	// empty values are omitted from API requests. However, any non-pointer,
12568	// non-interface field appearing in ForceSendFields will be sent to the
12569	// server regardless of whether the field is empty or not. This may be
12570	// used to include empty fields in Patch requests.
12571	ForceSendFields []string `json:"-"`
12572
12573	// NullFields is a list of field names (e.g. "Kind") to include in API
12574	// requests with the JSON null value. By default, fields with empty
12575	// values are omitted from API requests. However, any field with an
12576	// empty value appearing in NullFields will be sent to the server as
12577	// null. It is an error if a field in this list has a non-empty value.
12578	// This may be used to include null fields in Patch requests.
12579	NullFields []string `json:"-"`
12580}
12581
12582func (s *SortedDimension) MarshalJSON() ([]byte, error) {
12583	type NoMethod SortedDimension
12584	raw := NoMethod(*s)
12585	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12586}
12587
12588// Subaccount: Contains properties of a Campaign Manager subaccount.
12589type Subaccount struct {
12590	// AccountId: ID of the account that contains this subaccount. This is a
12591	// read-only field that can be left blank.
12592	AccountId int64 `json:"accountId,omitempty,string"`
12593
12594	// AvailablePermissionIds: IDs of the available user role permissions
12595	// for this subaccount.
12596	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
12597
12598	// Id: ID of this subaccount. This is a read-only, auto-generated field.
12599	Id int64 `json:"id,omitempty,string"`
12600
12601	// Kind: Identifies what kind of resource this is. Value: the fixed
12602	// string "dfareporting#subaccount".
12603	Kind string `json:"kind,omitempty"`
12604
12605	// Name: Name of this subaccount. This is a required field. Must be less
12606	// than 128 characters long and be unique among subaccounts of the same
12607	// account.
12608	Name string `json:"name,omitempty"`
12609
12610	// ServerResponse contains the HTTP response code and headers from the
12611	// server.
12612	googleapi.ServerResponse `json:"-"`
12613
12614	// ForceSendFields is a list of field names (e.g. "AccountId") to
12615	// unconditionally include in API requests. By default, fields with
12616	// empty values are omitted from API requests. However, any non-pointer,
12617	// non-interface field appearing in ForceSendFields will be sent to the
12618	// server regardless of whether the field is empty or not. This may be
12619	// used to include empty fields in Patch requests.
12620	ForceSendFields []string `json:"-"`
12621
12622	// NullFields is a list of field names (e.g. "AccountId") to include in
12623	// API requests with the JSON null value. By default, fields with empty
12624	// values are omitted from API requests. However, any field with an
12625	// empty value appearing in NullFields will be sent to the server as
12626	// null. It is an error if a field in this list has a non-empty value.
12627	// This may be used to include null fields in Patch requests.
12628	NullFields []string `json:"-"`
12629}
12630
12631func (s *Subaccount) MarshalJSON() ([]byte, error) {
12632	type NoMethod Subaccount
12633	raw := NoMethod(*s)
12634	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12635}
12636
12637// SubaccountsListResponse: Subaccount List Response
12638type SubaccountsListResponse struct {
12639	// Kind: Identifies what kind of resource this is. Value: the fixed
12640	// string "dfareporting#subaccountsListResponse".
12641	Kind string `json:"kind,omitempty"`
12642
12643	// NextPageToken: Pagination token to be used for the next list
12644	// operation.
12645	NextPageToken string `json:"nextPageToken,omitempty"`
12646
12647	// Subaccounts: Subaccount collection.
12648	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
12649
12650	// ServerResponse contains the HTTP response code and headers from the
12651	// server.
12652	googleapi.ServerResponse `json:"-"`
12653
12654	// ForceSendFields is a list of field names (e.g. "Kind") to
12655	// unconditionally include in API requests. By default, fields with
12656	// empty values are omitted from API requests. However, any non-pointer,
12657	// non-interface field appearing in ForceSendFields will be sent to the
12658	// server regardless of whether the field is empty or not. This may be
12659	// used to include empty fields in Patch requests.
12660	ForceSendFields []string `json:"-"`
12661
12662	// NullFields is a list of field names (e.g. "Kind") to include in API
12663	// requests with the JSON null value. By default, fields with empty
12664	// values are omitted from API requests. However, any field with an
12665	// empty value appearing in NullFields will be sent to the server as
12666	// null. It is an error if a field in this list has a non-empty value.
12667	// This may be used to include null fields in Patch requests.
12668	NullFields []string `json:"-"`
12669}
12670
12671func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
12672	type NoMethod SubaccountsListResponse
12673	raw := NoMethod(*s)
12674	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12675}
12676
12677// TagData: Placement Tag Data
12678type TagData struct {
12679	// AdId: Ad associated with this placement tag. Applicable only when
12680	// format is PLACEMENT_TAG_TRACKING.
12681	AdId int64 `json:"adId,omitempty,string"`
12682
12683	// ClickTag: Tag string to record a click.
12684	ClickTag string `json:"clickTag,omitempty"`
12685
12686	// CreativeId: Creative associated with this placement tag. Applicable
12687	// only when format is PLACEMENT_TAG_TRACKING.
12688	CreativeId int64 `json:"creativeId,omitempty,string"`
12689
12690	// Format: TagData tag format of this tag.
12691	//
12692	// Possible values:
12693	//   "PLACEMENT_TAG_STANDARD"
12694	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
12695	//   "PLACEMENT_TAG_IFRAME_ILAYER"
12696	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
12697	//   "PLACEMENT_TAG_JAVASCRIPT"
12698	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
12699	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
12700	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
12701	//   "PLACEMENT_TAG_CLICK_COMMANDS"
12702	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
12703	//   "PLACEMENT_TAG_TRACKING"
12704	//   "PLACEMENT_TAG_TRACKING_IFRAME"
12705	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
12706	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
12707	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
12708	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
12709	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
12710	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
12711	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
12712	Format string `json:"format,omitempty"`
12713
12714	// ImpressionTag: Tag string for serving an ad.
12715	ImpressionTag string `json:"impressionTag,omitempty"`
12716
12717	// ForceSendFields is a list of field names (e.g. "AdId") to
12718	// unconditionally include in API requests. By default, fields with
12719	// empty values are omitted from API requests. However, any non-pointer,
12720	// non-interface field appearing in ForceSendFields will be sent to the
12721	// server regardless of whether the field is empty or not. This may be
12722	// used to include empty fields in Patch requests.
12723	ForceSendFields []string `json:"-"`
12724
12725	// NullFields is a list of field names (e.g. "AdId") to include in API
12726	// requests with the JSON null value. By default, fields with empty
12727	// values are omitted from API requests. However, any field with an
12728	// empty value appearing in NullFields will be sent to the server as
12729	// null. It is an error if a field in this list has a non-empty value.
12730	// This may be used to include null fields in Patch requests.
12731	NullFields []string `json:"-"`
12732}
12733
12734func (s *TagData) MarshalJSON() ([]byte, error) {
12735	type NoMethod TagData
12736	raw := NoMethod(*s)
12737	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12738}
12739
12740// TagSetting: Tag Settings
12741type TagSetting struct {
12742	// AdditionalKeyValues: Additional key-values to be included in tags.
12743	// Each key-value pair must be of the form key=value, and pairs must be
12744	// separated by a semicolon (;). Keys and values must not contain
12745	// commas. For example, id=2;color=red is a valid value for this field.
12746	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
12747
12748	// IncludeClickThroughUrls: Whether static landing page URLs should be
12749	// included in the tags. This setting applies only to placements.
12750	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
12751
12752	// IncludeClickTracking: Whether click-tracking string should be
12753	// included in the tags.
12754	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
12755
12756	// KeywordOption: Option specifying how keywords are embedded in ad
12757	// tags. This setting can be used to specify whether keyword
12758	// placeholders are inserted in placement tags for this site. Publishers
12759	// can then add keywords to those placeholders.
12760	//
12761	// Possible values:
12762	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
12763	//   "IGNORE"
12764	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
12765	KeywordOption string `json:"keywordOption,omitempty"`
12766
12767	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
12768	// to unconditionally include in API requests. By default, fields with
12769	// empty values are omitted from API requests. However, any non-pointer,
12770	// non-interface field appearing in ForceSendFields will be sent to the
12771	// server regardless of whether the field is empty or not. This may be
12772	// used to include empty fields in Patch requests.
12773	ForceSendFields []string `json:"-"`
12774
12775	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
12776	// include in API requests with the JSON null value. By default, fields
12777	// with empty values are omitted from API requests. However, any field
12778	// with an empty value appearing in NullFields will be sent to the
12779	// server as null. It is an error if a field in this list has a
12780	// non-empty value. This may be used to include null fields in Patch
12781	// requests.
12782	NullFields []string `json:"-"`
12783}
12784
12785func (s *TagSetting) MarshalJSON() ([]byte, error) {
12786	type NoMethod TagSetting
12787	raw := NoMethod(*s)
12788	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12789}
12790
12791// TagSettings: Dynamic and Image Tag Settings.
12792type TagSettings struct {
12793	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
12794	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
12795
12796	// ImageTagEnabled: Whether image tags are enabled.
12797	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
12798
12799	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
12800	// to unconditionally include in API requests. By default, fields with
12801	// empty values are omitted from API requests. However, any non-pointer,
12802	// non-interface field appearing in ForceSendFields will be sent to the
12803	// server regardless of whether the field is empty or not. This may be
12804	// used to include empty fields in Patch requests.
12805	ForceSendFields []string `json:"-"`
12806
12807	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
12808	// include in API requests with the JSON null value. By default, fields
12809	// with empty values are omitted from API requests. However, any field
12810	// with an empty value appearing in NullFields will be sent to the
12811	// server as null. It is an error if a field in this list has a
12812	// non-empty value. This may be used to include null fields in Patch
12813	// requests.
12814	NullFields []string `json:"-"`
12815}
12816
12817func (s *TagSettings) MarshalJSON() ([]byte, error) {
12818	type NoMethod TagSettings
12819	raw := NoMethod(*s)
12820	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12821}
12822
12823// TargetWindow: Target Window.
12824type TargetWindow struct {
12825	// CustomHtml: User-entered value.
12826	CustomHtml string `json:"customHtml,omitempty"`
12827
12828	// TargetWindowOption: Type of browser window for which the backup image
12829	// of the flash creative can be displayed.
12830	//
12831	// Possible values:
12832	//   "NEW_WINDOW"
12833	//   "CURRENT_WINDOW"
12834	//   "CUSTOM"
12835	TargetWindowOption string `json:"targetWindowOption,omitempty"`
12836
12837	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
12838	// unconditionally include in API requests. By default, fields with
12839	// empty values are omitted from API requests. However, any non-pointer,
12840	// non-interface field appearing in ForceSendFields will be sent to the
12841	// server regardless of whether the field is empty or not. This may be
12842	// used to include empty fields in Patch requests.
12843	ForceSendFields []string `json:"-"`
12844
12845	// NullFields is a list of field names (e.g. "CustomHtml") to include in
12846	// API requests with the JSON null value. By default, fields with empty
12847	// values are omitted from API requests. However, any field with an
12848	// empty value appearing in NullFields will be sent to the server as
12849	// null. It is an error if a field in this list has a non-empty value.
12850	// This may be used to include null fields in Patch requests.
12851	NullFields []string `json:"-"`
12852}
12853
12854func (s *TargetWindow) MarshalJSON() ([]byte, error) {
12855	type NoMethod TargetWindow
12856	raw := NoMethod(*s)
12857	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12858}
12859
12860// TargetableRemarketingList: Contains properties of a targetable
12861// remarketing list. Remarketing enables you to create lists of users
12862// who have performed specific actions on a site, then target ads to
12863// members of those lists. This resource is a read-only view of a
12864// remarketing list to be used to faciliate targeting ads to specific
12865// lists. Remarketing lists that are owned by your advertisers and those
12866// that are shared to your advertisers or account are accessible via
12867// this resource. To manage remarketing lists that are owned by your
12868// advertisers, use the RemarketingLists resource.
12869type TargetableRemarketingList struct {
12870	// AccountId: Account ID of this remarketing list. This is a read-only,
12871	// auto-generated field that is only returned in GET requests.
12872	AccountId int64 `json:"accountId,omitempty,string"`
12873
12874	// Active: Whether this targetable remarketing list is active.
12875	Active bool `json:"active,omitempty"`
12876
12877	// AdvertiserId: Dimension value for the advertiser ID that owns this
12878	// targetable remarketing list.
12879	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
12880
12881	// AdvertiserIdDimensionValue: Dimension value for the ID of the
12882	// advertiser.
12883	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
12884
12885	// Description: Targetable remarketing list description.
12886	Description string `json:"description,omitempty"`
12887
12888	// Id: Targetable remarketing list ID.
12889	Id int64 `json:"id,omitempty,string"`
12890
12891	// Kind: Identifies what kind of resource this is. Value: the fixed
12892	// string "dfareporting#targetableRemarketingList".
12893	Kind string `json:"kind,omitempty"`
12894
12895	// LifeSpan: Number of days that a user should remain in the targetable
12896	// remarketing list without an impression.
12897	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
12898
12899	// ListSize: Number of users currently in the list. This is a read-only
12900	// field.
12901	ListSize int64 `json:"listSize,omitempty,string"`
12902
12903	// ListSource: Product from which this targetable remarketing list was
12904	// originated.
12905	//
12906	// Possible values:
12907	//   "REMARKETING_LIST_SOURCE_OTHER"
12908	//   "REMARKETING_LIST_SOURCE_ADX"
12909	//   "REMARKETING_LIST_SOURCE_DFP"
12910	//   "REMARKETING_LIST_SOURCE_XFP"
12911	//   "REMARKETING_LIST_SOURCE_DFA"
12912	//   "REMARKETING_LIST_SOURCE_GA"
12913	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
12914	//   "REMARKETING_LIST_SOURCE_DBM"
12915	//   "REMARKETING_LIST_SOURCE_GPLUS"
12916	//   "REMARKETING_LIST_SOURCE_DMP"
12917	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
12918	ListSource string `json:"listSource,omitempty"`
12919
12920	// Name: Name of the targetable remarketing list. Is no greater than 128
12921	// characters long.
12922	Name string `json:"name,omitempty"`
12923
12924	// SubaccountId: Subaccount ID of this remarketing list. This is a
12925	// read-only, auto-generated field that is only returned in GET
12926	// requests.
12927	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12928
12929	// ServerResponse contains the HTTP response code and headers from the
12930	// server.
12931	googleapi.ServerResponse `json:"-"`
12932
12933	// ForceSendFields is a list of field names (e.g. "AccountId") to
12934	// unconditionally include in API requests. By default, fields with
12935	// empty values are omitted from API requests. However, any non-pointer,
12936	// non-interface field appearing in ForceSendFields will be sent to the
12937	// server regardless of whether the field is empty or not. This may be
12938	// used to include empty fields in Patch requests.
12939	ForceSendFields []string `json:"-"`
12940
12941	// NullFields is a list of field names (e.g. "AccountId") to include in
12942	// API requests with the JSON null value. By default, fields with empty
12943	// values are omitted from API requests. However, any field with an
12944	// empty value appearing in NullFields will be sent to the server as
12945	// null. It is an error if a field in this list has a non-empty value.
12946	// This may be used to include null fields in Patch requests.
12947	NullFields []string `json:"-"`
12948}
12949
12950func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
12951	type NoMethod TargetableRemarketingList
12952	raw := NoMethod(*s)
12953	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12954}
12955
12956// TargetableRemarketingListsListResponse: Targetable remarketing list
12957// response
12958type TargetableRemarketingListsListResponse struct {
12959	// Kind: Identifies what kind of resource this is. Value: the fixed
12960	// string "dfareporting#targetableRemarketingListsListResponse".
12961	Kind string `json:"kind,omitempty"`
12962
12963	// NextPageToken: Pagination token to be used for the next list
12964	// operation.
12965	NextPageToken string `json:"nextPageToken,omitempty"`
12966
12967	// TargetableRemarketingLists: Targetable remarketing list collection.
12968	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
12969
12970	// ServerResponse contains the HTTP response code and headers from the
12971	// server.
12972	googleapi.ServerResponse `json:"-"`
12973
12974	// ForceSendFields is a list of field names (e.g. "Kind") to
12975	// unconditionally include in API requests. By default, fields with
12976	// empty values are omitted from API requests. However, any non-pointer,
12977	// non-interface field appearing in ForceSendFields will be sent to the
12978	// server regardless of whether the field is empty or not. This may be
12979	// used to include empty fields in Patch requests.
12980	ForceSendFields []string `json:"-"`
12981
12982	// NullFields is a list of field names (e.g. "Kind") to include in API
12983	// requests with the JSON null value. By default, fields with empty
12984	// values are omitted from API requests. However, any field with an
12985	// empty value appearing in NullFields will be sent to the server as
12986	// null. It is an error if a field in this list has a non-empty value.
12987	// This may be used to include null fields in Patch requests.
12988	NullFields []string `json:"-"`
12989}
12990
12991func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
12992	type NoMethod TargetableRemarketingListsListResponse
12993	raw := NoMethod(*s)
12994	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12995}
12996
12997// TargetingTemplate: Contains properties of a targeting template. A
12998// targeting template encapsulates targeting information which can be
12999// reused across multiple ads.
13000type TargetingTemplate struct {
13001	// AccountId: Account ID of this targeting template. This field, if left
13002	// unset, will be auto-generated on insert and is read-only after
13003	// insert.
13004	AccountId int64 `json:"accountId,omitempty,string"`
13005
13006	// AdvertiserId: Advertiser ID of this targeting template. This is a
13007	// required field on insert and is read-only after insert.
13008	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13009
13010	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13011	// advertiser. This is a read-only, auto-generated field.
13012	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13013
13014	// DayPartTargeting: Time and day targeting criteria.
13015	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
13016
13017	// GeoTargeting: Geographical targeting criteria.
13018	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
13019
13020	// Id: ID of this targeting template. This is a read-only,
13021	// auto-generated field.
13022	Id int64 `json:"id,omitempty,string"`
13023
13024	// KeyValueTargetingExpression: Key-value targeting criteria.
13025	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
13026
13027	// Kind: Identifies what kind of resource this is. Value: the fixed
13028	// string "dfareporting#targetingTemplate".
13029	Kind string `json:"kind,omitempty"`
13030
13031	// LanguageTargeting: Language targeting criteria.
13032	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
13033
13034	// ListTargetingExpression: Remarketing list targeting criteria.
13035	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
13036
13037	// Name: Name of this targeting template. This field is required. It
13038	// must be less than 256 characters long and unique within an
13039	// advertiser.
13040	Name string `json:"name,omitempty"`
13041
13042	// SubaccountId: Subaccount ID of this targeting template. This field,
13043	// if left unset, will be auto-generated on insert and is read-only
13044	// after insert.
13045	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13046
13047	// TechnologyTargeting: Technology platform targeting criteria.
13048	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
13049
13050	// ServerResponse contains the HTTP response code and headers from the
13051	// server.
13052	googleapi.ServerResponse `json:"-"`
13053
13054	// ForceSendFields is a list of field names (e.g. "AccountId") to
13055	// unconditionally include in API requests. By default, fields with
13056	// empty values are omitted from API requests. However, any non-pointer,
13057	// non-interface field appearing in ForceSendFields will be sent to the
13058	// server regardless of whether the field is empty or not. This may be
13059	// used to include empty fields in Patch requests.
13060	ForceSendFields []string `json:"-"`
13061
13062	// NullFields is a list of field names (e.g. "AccountId") to include in
13063	// API requests with the JSON null value. By default, fields with empty
13064	// values are omitted from API requests. However, any field with an
13065	// empty value appearing in NullFields will be sent to the server as
13066	// null. It is an error if a field in this list has a non-empty value.
13067	// This may be used to include null fields in Patch requests.
13068	NullFields []string `json:"-"`
13069}
13070
13071func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
13072	type NoMethod TargetingTemplate
13073	raw := NoMethod(*s)
13074	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13075}
13076
13077// TargetingTemplatesListResponse: Targeting Template List Response
13078type TargetingTemplatesListResponse struct {
13079	// Kind: Identifies what kind of resource this is. Value: the fixed
13080	// string "dfareporting#targetingTemplatesListResponse".
13081	Kind string `json:"kind,omitempty"`
13082
13083	// NextPageToken: Pagination token to be used for the next list
13084	// operation.
13085	NextPageToken string `json:"nextPageToken,omitempty"`
13086
13087	// TargetingTemplates: Targeting template collection.
13088	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
13089
13090	// ServerResponse contains the HTTP response code and headers from the
13091	// server.
13092	googleapi.ServerResponse `json:"-"`
13093
13094	// ForceSendFields is a list of field names (e.g. "Kind") to
13095	// unconditionally include in API requests. By default, fields with
13096	// empty values are omitted from API requests. However, any non-pointer,
13097	// non-interface field appearing in ForceSendFields will be sent to the
13098	// server regardless of whether the field is empty or not. This may be
13099	// used to include empty fields in Patch requests.
13100	ForceSendFields []string `json:"-"`
13101
13102	// NullFields is a list of field names (e.g. "Kind") to include in API
13103	// requests with the JSON null value. By default, fields with empty
13104	// values are omitted from API requests. However, any field with an
13105	// empty value appearing in NullFields will be sent to the server as
13106	// null. It is an error if a field in this list has a non-empty value.
13107	// This may be used to include null fields in Patch requests.
13108	NullFields []string `json:"-"`
13109}
13110
13111func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
13112	type NoMethod TargetingTemplatesListResponse
13113	raw := NoMethod(*s)
13114	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13115}
13116
13117// TechnologyTargeting: Technology Targeting.
13118type TechnologyTargeting struct {
13119	// Browsers: Browsers that this ad targets. For each browser either set
13120	// browserVersionId or dartId along with the version numbers. If both
13121	// are specified, only browserVersionId will be used. The other fields
13122	// are populated automatically when the ad is inserted or updated.
13123	Browsers []*Browser `json:"browsers,omitempty"`
13124
13125	// ConnectionTypes: Connection types that this ad targets. For each
13126	// connection type only id is required. The other fields are populated
13127	// automatically when the ad is inserted or updated.
13128	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
13129
13130	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
13131	// carrier only id is required, and the other fields are populated
13132	// automatically when the ad is inserted or updated. If targeting a
13133	// mobile carrier, do not set targeting for any zip codes.
13134	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
13135
13136	// OperatingSystemVersions: Operating system versions that this ad
13137	// targets. To target all versions, use operatingSystems. For each
13138	// operating system version, only id is required. The other fields are
13139	// populated automatically when the ad is inserted or updated. If
13140	// targeting an operating system version, do not set targeting for the
13141	// corresponding operating system in operatingSystems.
13142	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
13143
13144	// OperatingSystems: Operating systems that this ad targets. To target
13145	// specific versions, use operatingSystemVersions. For each operating
13146	// system only dartId is required. The other fields are populated
13147	// automatically when the ad is inserted or updated. If targeting an
13148	// operating system, do not set targeting for operating system versions
13149	// for the same operating system.
13150	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
13151
13152	// PlatformTypes: Platform types that this ad targets. For example,
13153	// desktop, mobile, or tablet. For each platform type, only id is
13154	// required, and the other fields are populated automatically when the
13155	// ad is inserted or updated.
13156	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
13157
13158	// ForceSendFields is a list of field names (e.g. "Browsers") to
13159	// unconditionally include in API requests. By default, fields with
13160	// empty values are omitted from API requests. However, any non-pointer,
13161	// non-interface field appearing in ForceSendFields will be sent to the
13162	// server regardless of whether the field is empty or not. This may be
13163	// used to include empty fields in Patch requests.
13164	ForceSendFields []string `json:"-"`
13165
13166	// NullFields is a list of field names (e.g. "Browsers") to include in
13167	// API requests with the JSON null value. By default, fields with empty
13168	// values are omitted from API requests. However, any field with an
13169	// empty value appearing in NullFields will be sent to the server as
13170	// null. It is an error if a field in this list has a non-empty value.
13171	// This may be used to include null fields in Patch requests.
13172	NullFields []string `json:"-"`
13173}
13174
13175func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
13176	type NoMethod TechnologyTargeting
13177	raw := NoMethod(*s)
13178	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13179}
13180
13181// ThirdPartyAuthenticationToken: Third Party Authentication Token
13182type ThirdPartyAuthenticationToken struct {
13183	// Name: Name of the third-party authentication token.
13184	Name string `json:"name,omitempty"`
13185
13186	// Value: Value of the third-party authentication token. This is a
13187	// read-only, auto-generated field.
13188	Value string `json:"value,omitempty"`
13189
13190	// ForceSendFields is a list of field names (e.g. "Name") to
13191	// unconditionally include in API requests. By default, fields with
13192	// empty values are omitted from API requests. However, any non-pointer,
13193	// non-interface field appearing in ForceSendFields will be sent to the
13194	// server regardless of whether the field is empty or not. This may be
13195	// used to include empty fields in Patch requests.
13196	ForceSendFields []string `json:"-"`
13197
13198	// NullFields is a list of field names (e.g. "Name") to include in API
13199	// requests with the JSON null value. By default, fields with empty
13200	// values are omitted from API requests. However, any field with an
13201	// empty value appearing in NullFields will be sent to the server as
13202	// null. It is an error if a field in this list has a non-empty value.
13203	// This may be used to include null fields in Patch requests.
13204	NullFields []string `json:"-"`
13205}
13206
13207func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
13208	type NoMethod ThirdPartyAuthenticationToken
13209	raw := NoMethod(*s)
13210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13211}
13212
13213// ThirdPartyTrackingUrl: Third-party Tracking URL.
13214type ThirdPartyTrackingUrl struct {
13215	// ThirdPartyUrlType: Third-party URL type for in-stream video and
13216	// in-stream audio creatives.
13217	//
13218	// Possible values:
13219	//   "IMPRESSION"
13220	//   "CLICK_TRACKING"
13221	//   "VIDEO_START"
13222	//   "VIDEO_FIRST_QUARTILE"
13223	//   "VIDEO_MIDPOINT"
13224	//   "VIDEO_THIRD_QUARTILE"
13225	//   "VIDEO_COMPLETE"
13226	//   "VIDEO_MUTE"
13227	//   "VIDEO_PAUSE"
13228	//   "VIDEO_REWIND"
13229	//   "VIDEO_FULLSCREEN"
13230	//   "VIDEO_STOP"
13231	//   "VIDEO_CUSTOM"
13232	//   "SURVEY"
13233	//   "RICH_MEDIA_IMPRESSION"
13234	//   "RICH_MEDIA_RM_IMPRESSION"
13235	//   "RICH_MEDIA_BACKUP_IMPRESSION"
13236	//   "VIDEO_SKIP"
13237	//   "VIDEO_PROGRESS"
13238	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
13239
13240	// Url: URL for the specified third-party URL type.
13241	Url string `json:"url,omitempty"`
13242
13243	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
13244	// to unconditionally include in API requests. By default, fields with
13245	// empty values are omitted from API requests. However, any non-pointer,
13246	// non-interface field appearing in ForceSendFields will be sent to the
13247	// server regardless of whether the field is empty or not. This may be
13248	// used to include empty fields in Patch requests.
13249	ForceSendFields []string `json:"-"`
13250
13251	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
13252	// include in API requests with the JSON null value. By default, fields
13253	// with empty values are omitted from API requests. However, any field
13254	// with an empty value appearing in NullFields will be sent to the
13255	// server as null. It is an error if a field in this list has a
13256	// non-empty value. This may be used to include null fields in Patch
13257	// requests.
13258	NullFields []string `json:"-"`
13259}
13260
13261func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
13262	type NoMethod ThirdPartyTrackingUrl
13263	raw := NoMethod(*s)
13264	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13265}
13266
13267// TranscodeSetting: Transcode Settings
13268type TranscodeSetting struct {
13269	// EnabledVideoFormats: Allowlist of video formats to be served to this
13270	// placement. Set this list to null or empty to serve all video formats.
13271	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
13272
13273	// Kind: Identifies what kind of resource this is. Value: the fixed
13274	// string "dfareporting#transcodeSetting".
13275	Kind string `json:"kind,omitempty"`
13276
13277	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
13278	// to unconditionally include in API requests. By default, fields with
13279	// empty values are omitted from API requests. However, any non-pointer,
13280	// non-interface field appearing in ForceSendFields will be sent to the
13281	// server regardless of whether the field is empty or not. This may be
13282	// used to include empty fields in Patch requests.
13283	ForceSendFields []string `json:"-"`
13284
13285	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
13286	// include in API requests with the JSON null value. By default, fields
13287	// with empty values are omitted from API requests. However, any field
13288	// with an empty value appearing in NullFields will be sent to the
13289	// server as null. It is an error if a field in this list has a
13290	// non-empty value. This may be used to include null fields in Patch
13291	// requests.
13292	NullFields []string `json:"-"`
13293}
13294
13295func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
13296	type NoMethod TranscodeSetting
13297	raw := NoMethod(*s)
13298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13299}
13300
13301// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
13302// to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
13303// VPAID.
13304type UniversalAdId struct {
13305	// Registry: Registry used for the Ad ID value.
13306	//
13307	// Possible values:
13308	//   "OTHER"
13309	//   "AD_ID.ORG"
13310	//   "CLEARCAST"
13311	//   "DCM"
13312	Registry string `json:"registry,omitempty"`
13313
13314	// Value: ID value for this creative. Only alphanumeric characters and
13315	// the following symbols are valid: "_/\-". Maximum length is 64
13316	// characters. Read only when registry is DCM.
13317	Value string `json:"value,omitempty"`
13318
13319	// ForceSendFields is a list of field names (e.g. "Registry") to
13320	// unconditionally include in API requests. By default, fields with
13321	// empty values are omitted from API requests. However, any non-pointer,
13322	// non-interface field appearing in ForceSendFields will be sent to the
13323	// server regardless of whether the field is empty or not. This may be
13324	// used to include empty fields in Patch requests.
13325	ForceSendFields []string `json:"-"`
13326
13327	// NullFields is a list of field names (e.g. "Registry") to include in
13328	// API requests with the JSON null value. By default, fields with empty
13329	// values are omitted from API requests. However, any field with an
13330	// empty value appearing in NullFields will be sent to the server as
13331	// null. It is an error if a field in this list has a non-empty value.
13332	// This may be used to include null fields in Patch requests.
13333	NullFields []string `json:"-"`
13334}
13335
13336func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
13337	type NoMethod UniversalAdId
13338	raw := NoMethod(*s)
13339	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13340}
13341
13342// UserDefinedVariableConfiguration: User Defined Variable
13343// configuration.
13344type UserDefinedVariableConfiguration struct {
13345	// DataType: Data type for the variable. This is a required field.
13346	//
13347	// Possible values:
13348	//   "STRING"
13349	//   "NUMBER"
13350	DataType string `json:"dataType,omitempty"`
13351
13352	// ReportName: User-friendly name for the variable which will appear in
13353	// reports. This is a required field, must be less than 64 characters
13354	// long, and cannot contain the following characters: ""<>".
13355	ReportName string `json:"reportName,omitempty"`
13356
13357	// VariableType: Variable name in the tag. This is a required field.
13358	//
13359	// Possible values:
13360	//   "U1"
13361	//   "U2"
13362	//   "U3"
13363	//   "U4"
13364	//   "U5"
13365	//   "U6"
13366	//   "U7"
13367	//   "U8"
13368	//   "U9"
13369	//   "U10"
13370	//   "U11"
13371	//   "U12"
13372	//   "U13"
13373	//   "U14"
13374	//   "U15"
13375	//   "U16"
13376	//   "U17"
13377	//   "U18"
13378	//   "U19"
13379	//   "U20"
13380	//   "U21"
13381	//   "U22"
13382	//   "U23"
13383	//   "U24"
13384	//   "U25"
13385	//   "U26"
13386	//   "U27"
13387	//   "U28"
13388	//   "U29"
13389	//   "U30"
13390	//   "U31"
13391	//   "U32"
13392	//   "U33"
13393	//   "U34"
13394	//   "U35"
13395	//   "U36"
13396	//   "U37"
13397	//   "U38"
13398	//   "U39"
13399	//   "U40"
13400	//   "U41"
13401	//   "U42"
13402	//   "U43"
13403	//   "U44"
13404	//   "U45"
13405	//   "U46"
13406	//   "U47"
13407	//   "U48"
13408	//   "U49"
13409	//   "U50"
13410	//   "U51"
13411	//   "U52"
13412	//   "U53"
13413	//   "U54"
13414	//   "U55"
13415	//   "U56"
13416	//   "U57"
13417	//   "U58"
13418	//   "U59"
13419	//   "U60"
13420	//   "U61"
13421	//   "U62"
13422	//   "U63"
13423	//   "U64"
13424	//   "U65"
13425	//   "U66"
13426	//   "U67"
13427	//   "U68"
13428	//   "U69"
13429	//   "U70"
13430	//   "U71"
13431	//   "U72"
13432	//   "U73"
13433	//   "U74"
13434	//   "U75"
13435	//   "U76"
13436	//   "U77"
13437	//   "U78"
13438	//   "U79"
13439	//   "U80"
13440	//   "U81"
13441	//   "U82"
13442	//   "U83"
13443	//   "U84"
13444	//   "U85"
13445	//   "U86"
13446	//   "U87"
13447	//   "U88"
13448	//   "U89"
13449	//   "U90"
13450	//   "U91"
13451	//   "U92"
13452	//   "U93"
13453	//   "U94"
13454	//   "U95"
13455	//   "U96"
13456	//   "U97"
13457	//   "U98"
13458	//   "U99"
13459	//   "U100"
13460	VariableType string `json:"variableType,omitempty"`
13461
13462	// ForceSendFields is a list of field names (e.g. "DataType") to
13463	// unconditionally include in API requests. By default, fields with
13464	// empty values are omitted from API requests. However, any non-pointer,
13465	// non-interface field appearing in ForceSendFields will be sent to the
13466	// server regardless of whether the field is empty or not. This may be
13467	// used to include empty fields in Patch requests.
13468	ForceSendFields []string `json:"-"`
13469
13470	// NullFields is a list of field names (e.g. "DataType") to include in
13471	// API requests with the JSON null value. By default, fields with empty
13472	// values are omitted from API requests. However, any field with an
13473	// empty value appearing in NullFields will be sent to the server as
13474	// null. It is an error if a field in this list has a non-empty value.
13475	// This may be used to include null fields in Patch requests.
13476	NullFields []string `json:"-"`
13477}
13478
13479func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
13480	type NoMethod UserDefinedVariableConfiguration
13481	raw := NoMethod(*s)
13482	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13483}
13484
13485// UserProfile: A UserProfile resource lets you list all DFA user
13486// profiles that are associated with a Google user account. The
13487// profile_id needs to be specified in other API requests.
13488type UserProfile struct {
13489	// AccountId: The account ID to which this profile belongs.
13490	AccountId int64 `json:"accountId,omitempty,string"`
13491
13492	// AccountName: The account name this profile belongs to.
13493	AccountName string `json:"accountName,omitempty"`
13494
13495	// Etag: Etag of this resource.
13496	Etag string `json:"etag,omitempty"`
13497
13498	// Kind: Identifies what kind of resource this is. Value: the fixed
13499	// string "dfareporting#userProfile".
13500	Kind string `json:"kind,omitempty"`
13501
13502	// ProfileId: The unique ID of the user profile.
13503	ProfileId int64 `json:"profileId,omitempty,string"`
13504
13505	// SubAccountId: The sub account ID this profile belongs to if
13506	// applicable.
13507	SubAccountId int64 `json:"subAccountId,omitempty,string"`
13508
13509	// SubAccountName: The sub account name this profile belongs to if
13510	// applicable.
13511	SubAccountName string `json:"subAccountName,omitempty"`
13512
13513	// UserName: The user name.
13514	UserName string `json:"userName,omitempty"`
13515
13516	// ServerResponse contains the HTTP response code and headers from the
13517	// server.
13518	googleapi.ServerResponse `json:"-"`
13519
13520	// ForceSendFields is a list of field names (e.g. "AccountId") to
13521	// unconditionally include in API requests. By default, fields with
13522	// empty values are omitted from API requests. However, any non-pointer,
13523	// non-interface field appearing in ForceSendFields will be sent to the
13524	// server regardless of whether the field is empty or not. This may be
13525	// used to include empty fields in Patch requests.
13526	ForceSendFields []string `json:"-"`
13527
13528	// NullFields is a list of field names (e.g. "AccountId") to include in
13529	// API requests with the JSON null value. By default, fields with empty
13530	// values are omitted from API requests. However, any field with an
13531	// empty value appearing in NullFields will be sent to the server as
13532	// null. It is an error if a field in this list has a non-empty value.
13533	// This may be used to include null fields in Patch requests.
13534	NullFields []string `json:"-"`
13535}
13536
13537func (s *UserProfile) MarshalJSON() ([]byte, error) {
13538	type NoMethod UserProfile
13539	raw := NoMethod(*s)
13540	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13541}
13542
13543// UserProfileList: Represents the list of user profiles.
13544type UserProfileList struct {
13545	// Etag: Etag of this resource.
13546	Etag string `json:"etag,omitempty"`
13547
13548	// Items: The user profiles returned in this response.
13549	Items []*UserProfile `json:"items,omitempty"`
13550
13551	// Kind: Identifies what kind of resource this is. Value: the fixed
13552	// string "dfareporting#userProfileList".
13553	Kind string `json:"kind,omitempty"`
13554
13555	// ServerResponse contains the HTTP response code and headers from the
13556	// server.
13557	googleapi.ServerResponse `json:"-"`
13558
13559	// ForceSendFields is a list of field names (e.g. "Etag") to
13560	// unconditionally include in API requests. By default, fields with
13561	// empty values are omitted from API requests. However, any non-pointer,
13562	// non-interface field appearing in ForceSendFields will be sent to the
13563	// server regardless of whether the field is empty or not. This may be
13564	// used to include empty fields in Patch requests.
13565	ForceSendFields []string `json:"-"`
13566
13567	// NullFields is a list of field names (e.g. "Etag") to include in API
13568	// requests with the JSON null value. By default, fields with empty
13569	// values are omitted from API requests. However, any field with an
13570	// empty value appearing in NullFields will be sent to the server as
13571	// null. It is an error if a field in this list has a non-empty value.
13572	// This may be used to include null fields in Patch requests.
13573	NullFields []string `json:"-"`
13574}
13575
13576func (s *UserProfileList) MarshalJSON() ([]byte, error) {
13577	type NoMethod UserProfileList
13578	raw := NoMethod(*s)
13579	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13580}
13581
13582// UserRole: Contains properties of auser role, which is used to manage
13583// user access.
13584type UserRole struct {
13585	// AccountId: Account ID of this user role. This is a read-only field
13586	// that can be left blank.
13587	AccountId int64 `json:"accountId,omitempty,string"`
13588
13589	// DefaultUserRole: Whether this is a default user role. Default user
13590	// roles are created by the system for the account/subaccount and cannot
13591	// be modified or deleted. Each default user role comes with a basic set
13592	// of preassigned permissions.
13593	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
13594
13595	// Id: ID of this user role. This is a read-only, auto-generated field.
13596	Id int64 `json:"id,omitempty,string"`
13597
13598	// Kind: Identifies what kind of resource this is. Value: the fixed
13599	// string "dfareporting#userRole".
13600	Kind string `json:"kind,omitempty"`
13601
13602	// Name: Name of this user role. This is a required field. Must be less
13603	// than 256 characters long. If this user role is under a subaccount,
13604	// the name must be unique among sites of the same subaccount.
13605	// Otherwise, this user role is a top-level user role, and the name must
13606	// be unique among top-level user roles of the same account.
13607	Name string `json:"name,omitempty"`
13608
13609	// ParentUserRoleId: ID of the user role that this user role is based on
13610	// or copied from. This is a required field.
13611	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
13612
13613	// Permissions: List of permissions associated with this user role.
13614	Permissions []*UserRolePermission `json:"permissions,omitempty"`
13615
13616	// SubaccountId: Subaccount ID of this user role. This is a read-only
13617	// field that can be left blank.
13618	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13619
13620	// ServerResponse contains the HTTP response code and headers from the
13621	// server.
13622	googleapi.ServerResponse `json:"-"`
13623
13624	// ForceSendFields is a list of field names (e.g. "AccountId") to
13625	// unconditionally include in API requests. By default, fields with
13626	// empty values are omitted from API requests. However, any non-pointer,
13627	// non-interface field appearing in ForceSendFields will be sent to the
13628	// server regardless of whether the field is empty or not. This may be
13629	// used to include empty fields in Patch requests.
13630	ForceSendFields []string `json:"-"`
13631
13632	// NullFields is a list of field names (e.g. "AccountId") to include in
13633	// API requests with the JSON null value. By default, fields with empty
13634	// values are omitted from API requests. However, any field with an
13635	// empty value appearing in NullFields will be sent to the server as
13636	// null. It is an error if a field in this list has a non-empty value.
13637	// This may be used to include null fields in Patch requests.
13638	NullFields []string `json:"-"`
13639}
13640
13641func (s *UserRole) MarshalJSON() ([]byte, error) {
13642	type NoMethod UserRole
13643	raw := NoMethod(*s)
13644	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13645}
13646
13647// UserRolePermission: Contains properties of a user role permission.
13648type UserRolePermission struct {
13649	// Availability: Levels of availability for a user role permission.
13650	//
13651	// Possible values:
13652	//   "NOT_AVAILABLE_BY_DEFAULT"
13653	//   "ACCOUNT_BY_DEFAULT"
13654	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
13655	//   "ACCOUNT_ALWAYS"
13656	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
13657	Availability string `json:"availability,omitempty"`
13658
13659	// Id: ID of this user role permission.
13660	Id int64 `json:"id,omitempty,string"`
13661
13662	// Kind: Identifies what kind of resource this is. Value: the fixed
13663	// string "dfareporting#userRolePermission".
13664	Kind string `json:"kind,omitempty"`
13665
13666	// Name: Name of this user role permission.
13667	Name string `json:"name,omitempty"`
13668
13669	// PermissionGroupId: ID of the permission group that this user role
13670	// permission belongs to.
13671	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
13672
13673	// ServerResponse contains the HTTP response code and headers from the
13674	// server.
13675	googleapi.ServerResponse `json:"-"`
13676
13677	// ForceSendFields is a list of field names (e.g. "Availability") to
13678	// unconditionally include in API requests. By default, fields with
13679	// empty values are omitted from API requests. However, any non-pointer,
13680	// non-interface field appearing in ForceSendFields will be sent to the
13681	// server regardless of whether the field is empty or not. This may be
13682	// used to include empty fields in Patch requests.
13683	ForceSendFields []string `json:"-"`
13684
13685	// NullFields is a list of field names (e.g. "Availability") to include
13686	// in API requests with the JSON null value. By default, fields with
13687	// empty values are omitted from API requests. However, any field with
13688	// an empty value appearing in NullFields will be sent to the server as
13689	// null. It is an error if a field in this list has a non-empty value.
13690	// This may be used to include null fields in Patch requests.
13691	NullFields []string `json:"-"`
13692}
13693
13694func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
13695	type NoMethod UserRolePermission
13696	raw := NoMethod(*s)
13697	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13698}
13699
13700// UserRolePermissionGroup: Represents a grouping of related user role
13701// permissions.
13702type UserRolePermissionGroup struct {
13703	// Id: ID of this user role permission.
13704	Id int64 `json:"id,omitempty,string"`
13705
13706	// Kind: Identifies what kind of resource this is. Value: the fixed
13707	// string "dfareporting#userRolePermissionGroup".
13708	Kind string `json:"kind,omitempty"`
13709
13710	// Name: Name of this user role permission group.
13711	Name string `json:"name,omitempty"`
13712
13713	// ServerResponse contains the HTTP response code and headers from the
13714	// server.
13715	googleapi.ServerResponse `json:"-"`
13716
13717	// ForceSendFields is a list of field names (e.g. "Id") to
13718	// unconditionally include in API requests. By default, fields with
13719	// empty values are omitted from API requests. However, any non-pointer,
13720	// non-interface field appearing in ForceSendFields will be sent to the
13721	// server regardless of whether the field is empty or not. This may be
13722	// used to include empty fields in Patch requests.
13723	ForceSendFields []string `json:"-"`
13724
13725	// NullFields is a list of field names (e.g. "Id") to include in API
13726	// requests with the JSON null value. By default, fields with empty
13727	// values are omitted from API requests. However, any field with an
13728	// empty value appearing in NullFields will be sent to the server as
13729	// null. It is an error if a field in this list has a non-empty value.
13730	// This may be used to include null fields in Patch requests.
13731	NullFields []string `json:"-"`
13732}
13733
13734func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
13735	type NoMethod UserRolePermissionGroup
13736	raw := NoMethod(*s)
13737	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13738}
13739
13740// UserRolePermissionGroupsListResponse: User Role Permission Group List
13741// Response
13742type UserRolePermissionGroupsListResponse struct {
13743	// Kind: Identifies what kind of resource this is. Value: the fixed
13744	// string "dfareporting#userRolePermissionGroupsListResponse".
13745	Kind string `json:"kind,omitempty"`
13746
13747	// UserRolePermissionGroups: User role permission group collection.
13748	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
13749
13750	// ServerResponse contains the HTTP response code and headers from the
13751	// server.
13752	googleapi.ServerResponse `json:"-"`
13753
13754	// ForceSendFields is a list of field names (e.g. "Kind") to
13755	// unconditionally include in API requests. By default, fields with
13756	// empty values are omitted from API requests. However, any non-pointer,
13757	// non-interface field appearing in ForceSendFields will be sent to the
13758	// server regardless of whether the field is empty or not. This may be
13759	// used to include empty fields in Patch requests.
13760	ForceSendFields []string `json:"-"`
13761
13762	// NullFields is a list of field names (e.g. "Kind") to include in API
13763	// requests with the JSON null value. By default, fields with empty
13764	// values are omitted from API requests. However, any field with an
13765	// empty value appearing in NullFields will be sent to the server as
13766	// null. It is an error if a field in this list has a non-empty value.
13767	// This may be used to include null fields in Patch requests.
13768	NullFields []string `json:"-"`
13769}
13770
13771func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
13772	type NoMethod UserRolePermissionGroupsListResponse
13773	raw := NoMethod(*s)
13774	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13775}
13776
13777// UserRolePermissionsListResponse: User Role Permission List Response
13778type UserRolePermissionsListResponse struct {
13779	// Kind: Identifies what kind of resource this is. Value: the fixed
13780	// string "dfareporting#userRolePermissionsListResponse".
13781	Kind string `json:"kind,omitempty"`
13782
13783	// UserRolePermissions: User role permission collection.
13784	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
13785
13786	// ServerResponse contains the HTTP response code and headers from the
13787	// server.
13788	googleapi.ServerResponse `json:"-"`
13789
13790	// ForceSendFields is a list of field names (e.g. "Kind") to
13791	// unconditionally include in API requests. By default, fields with
13792	// empty values are omitted from API requests. However, any non-pointer,
13793	// non-interface field appearing in ForceSendFields will be sent to the
13794	// server regardless of whether the field is empty or not. This may be
13795	// used to include empty fields in Patch requests.
13796	ForceSendFields []string `json:"-"`
13797
13798	// NullFields is a list of field names (e.g. "Kind") to include in API
13799	// requests with the JSON null value. By default, fields with empty
13800	// values are omitted from API requests. However, any field with an
13801	// empty value appearing in NullFields will be sent to the server as
13802	// null. It is an error if a field in this list has a non-empty value.
13803	// This may be used to include null fields in Patch requests.
13804	NullFields []string `json:"-"`
13805}
13806
13807func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
13808	type NoMethod UserRolePermissionsListResponse
13809	raw := NoMethod(*s)
13810	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13811}
13812
13813// UserRolesListResponse: User Role List Response
13814type UserRolesListResponse struct {
13815	// Kind: Identifies what kind of resource this is. Value: the fixed
13816	// string "dfareporting#userRolesListResponse".
13817	Kind string `json:"kind,omitempty"`
13818
13819	// NextPageToken: Pagination token to be used for the next list
13820	// operation.
13821	NextPageToken string `json:"nextPageToken,omitempty"`
13822
13823	// UserRoles: User role collection.
13824	UserRoles []*UserRole `json:"userRoles,omitempty"`
13825
13826	// ServerResponse contains the HTTP response code and headers from the
13827	// server.
13828	googleapi.ServerResponse `json:"-"`
13829
13830	// ForceSendFields is a list of field names (e.g. "Kind") to
13831	// unconditionally include in API requests. By default, fields with
13832	// empty values are omitted from API requests. However, any non-pointer,
13833	// non-interface field appearing in ForceSendFields will be sent to the
13834	// server regardless of whether the field is empty or not. This may be
13835	// used to include empty fields in Patch requests.
13836	ForceSendFields []string `json:"-"`
13837
13838	// NullFields is a list of field names (e.g. "Kind") to include in API
13839	// requests with the JSON null value. By default, fields with empty
13840	// values are omitted from API requests. However, any field with an
13841	// empty value appearing in NullFields will be sent to the server as
13842	// null. It is an error if a field in this list has a non-empty value.
13843	// This may be used to include null fields in Patch requests.
13844	NullFields []string `json:"-"`
13845}
13846
13847func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
13848	type NoMethod UserRolesListResponse
13849	raw := NoMethod(*s)
13850	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13851}
13852
13853// VideoFormat: Contains information about supported video formats.
13854type VideoFormat struct {
13855	// FileType: File type of the video format.
13856	//
13857	// Possible values:
13858	//   "FLV"
13859	//   "THREEGPP"
13860	//   "MP4"
13861	//   "WEBM"
13862	//   "M3U8"
13863	FileType string `json:"fileType,omitempty"`
13864
13865	// Id: ID of the video format.
13866	Id int64 `json:"id,omitempty"`
13867
13868	// Kind: Identifies what kind of resource this is. Value: the fixed
13869	// string "dfareporting#videoFormat".
13870	Kind string `json:"kind,omitempty"`
13871
13872	// Resolution: The resolution of this video format.
13873	Resolution *Size `json:"resolution,omitempty"`
13874
13875	// TargetBitRate: The target bit rate of this video format.
13876	TargetBitRate int64 `json:"targetBitRate,omitempty"`
13877
13878	// ServerResponse contains the HTTP response code and headers from the
13879	// server.
13880	googleapi.ServerResponse `json:"-"`
13881
13882	// ForceSendFields is a list of field names (e.g. "FileType") to
13883	// unconditionally include in API requests. By default, fields with
13884	// empty values are omitted from API requests. However, any non-pointer,
13885	// non-interface field appearing in ForceSendFields will be sent to the
13886	// server regardless of whether the field is empty or not. This may be
13887	// used to include empty fields in Patch requests.
13888	ForceSendFields []string `json:"-"`
13889
13890	// NullFields is a list of field names (e.g. "FileType") to include in
13891	// API requests with the JSON null value. By default, fields with empty
13892	// values are omitted from API requests. However, any field with an
13893	// empty value appearing in NullFields will be sent to the server as
13894	// null. It is an error if a field in this list has a non-empty value.
13895	// This may be used to include null fields in Patch requests.
13896	NullFields []string `json:"-"`
13897}
13898
13899func (s *VideoFormat) MarshalJSON() ([]byte, error) {
13900	type NoMethod VideoFormat
13901	raw := NoMethod(*s)
13902	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13903}
13904
13905// VideoFormatsListResponse: Video Format List Response
13906type VideoFormatsListResponse struct {
13907	// Kind: Identifies what kind of resource this is. Value: the fixed
13908	// string "dfareporting#videoFormatsListResponse".
13909	Kind string `json:"kind,omitempty"`
13910
13911	// VideoFormats: Video format collection.
13912	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
13913
13914	// ServerResponse contains the HTTP response code and headers from the
13915	// server.
13916	googleapi.ServerResponse `json:"-"`
13917
13918	// ForceSendFields is a list of field names (e.g. "Kind") to
13919	// unconditionally include in API requests. By default, fields with
13920	// empty values are omitted from API requests. However, any non-pointer,
13921	// non-interface field appearing in ForceSendFields will be sent to the
13922	// server regardless of whether the field is empty or not. This may be
13923	// used to include empty fields in Patch requests.
13924	ForceSendFields []string `json:"-"`
13925
13926	// NullFields is a list of field names (e.g. "Kind") to include in API
13927	// requests with the JSON null value. By default, fields with empty
13928	// values are omitted from API requests. However, any field with an
13929	// empty value appearing in NullFields will be sent to the server as
13930	// null. It is an error if a field in this list has a non-empty value.
13931	// This may be used to include null fields in Patch requests.
13932	NullFields []string `json:"-"`
13933}
13934
13935func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
13936	type NoMethod VideoFormatsListResponse
13937	raw := NoMethod(*s)
13938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13939}
13940
13941// VideoOffset: Video Offset
13942type VideoOffset struct {
13943	// OffsetPercentage: Duration, as a percentage of video duration. Do not
13944	// set when offsetSeconds is set. Acceptable values are 0 to 100,
13945	// inclusive.
13946	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
13947
13948	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
13949	// is set. Acceptable values are 0 to 86399, inclusive.
13950	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
13951
13952	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
13953	// unconditionally include in API requests. By default, fields with
13954	// empty values are omitted from API requests. However, any non-pointer,
13955	// non-interface field appearing in ForceSendFields will be sent to the
13956	// server regardless of whether the field is empty or not. This may be
13957	// used to include empty fields in Patch requests.
13958	ForceSendFields []string `json:"-"`
13959
13960	// NullFields is a list of field names (e.g. "OffsetPercentage") to
13961	// include in API requests with the JSON null value. By default, fields
13962	// with empty values are omitted from API requests. However, any field
13963	// with an empty value appearing in NullFields will be sent to the
13964	// server as null. It is an error if a field in this list has a
13965	// non-empty value. This may be used to include null fields in Patch
13966	// requests.
13967	NullFields []string `json:"-"`
13968}
13969
13970func (s *VideoOffset) MarshalJSON() ([]byte, error) {
13971	type NoMethod VideoOffset
13972	raw := NoMethod(*s)
13973	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13974}
13975
13976// VideoSettings: Video Settings
13977type VideoSettings struct {
13978	// CompanionSettings: Settings for the companion creatives of video
13979	// creatives served to this placement.
13980	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
13981
13982	// Kind: Identifies what kind of resource this is. Value: the fixed
13983	// string "dfareporting#videoSettings".
13984	Kind string `json:"kind,omitempty"`
13985
13986	// Orientation: Orientation of a video placement. If this value is set,
13987	// placement will return assets matching the specified orientation.
13988	//
13989	// Possible values:
13990	//   "ANY"
13991	//   "LANDSCAPE"
13992	//   "PORTRAIT"
13993	Orientation string `json:"orientation,omitempty"`
13994
13995	// SkippableSettings: Settings for the skippability of video creatives
13996	// served to this placement. If this object is provided, the
13997	// creative-level skippable settings will be overridden.
13998	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
13999
14000	// TranscodeSettings: Settings for the transcodes of video creatives
14001	// served to this placement. If this object is provided, the
14002	// creative-level transcode settings will be overridden.
14003	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
14004
14005	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
14006	// to unconditionally include in API requests. By default, fields with
14007	// empty values are omitted from API requests. However, any non-pointer,
14008	// non-interface field appearing in ForceSendFields will be sent to the
14009	// server regardless of whether the field is empty or not. This may be
14010	// used to include empty fields in Patch requests.
14011	ForceSendFields []string `json:"-"`
14012
14013	// NullFields is a list of field names (e.g. "CompanionSettings") to
14014	// include in API requests with the JSON null value. By default, fields
14015	// with empty values are omitted from API requests. However, any field
14016	// with an empty value appearing in NullFields will be sent to the
14017	// server as null. It is an error if a field in this list has a
14018	// non-empty value. This may be used to include null fields in Patch
14019	// requests.
14020	NullFields []string `json:"-"`
14021}
14022
14023func (s *VideoSettings) MarshalJSON() ([]byte, error) {
14024	type NoMethod VideoSettings
14025	raw := NoMethod(*s)
14026	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14027}
14028
14029// method id "dfareporting.accountActiveAdSummaries.get":
14030
14031type AccountActiveAdSummariesGetCall struct {
14032	s                *Service
14033	profileId        int64
14034	summaryAccountId int64
14035	urlParams_       gensupport.URLParams
14036	ifNoneMatch_     string
14037	ctx_             context.Context
14038	header_          http.Header
14039}
14040
14041// Get: Gets the account's active ad summary by account ID.
14042func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
14043	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14044	c.profileId = profileId
14045	c.summaryAccountId = summaryAccountId
14046	return c
14047}
14048
14049// Fields allows partial responses to be retrieved. See
14050// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14051// for more information.
14052func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
14053	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14054	return c
14055}
14056
14057// IfNoneMatch sets the optional parameter which makes the operation
14058// fail if the object's ETag matches the given value. This is useful for
14059// getting updates only after the object has changed since the last
14060// request. Use googleapi.IsNotModified to check whether the response
14061// error from Do is the result of In-None-Match.
14062func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
14063	c.ifNoneMatch_ = entityTag
14064	return c
14065}
14066
14067// Context sets the context to be used in this call's Do method. Any
14068// pending HTTP request will be aborted if the provided context is
14069// canceled.
14070func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
14071	c.ctx_ = ctx
14072	return c
14073}
14074
14075// Header returns an http.Header that can be modified by the caller to
14076// add HTTP headers to the request.
14077func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
14078	if c.header_ == nil {
14079		c.header_ = make(http.Header)
14080	}
14081	return c.header_
14082}
14083
14084func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
14085	reqHeaders := make(http.Header)
14086	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14087	for k, v := range c.header_ {
14088		reqHeaders[k] = v
14089	}
14090	reqHeaders.Set("User-Agent", c.s.userAgent())
14091	if c.ifNoneMatch_ != "" {
14092		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14093	}
14094	var body io.Reader = nil
14095	c.urlParams_.Set("alt", alt)
14096	c.urlParams_.Set("prettyPrint", "false")
14097	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
14098	urls += "?" + c.urlParams_.Encode()
14099	req, err := http.NewRequest("GET", urls, body)
14100	if err != nil {
14101		return nil, err
14102	}
14103	req.Header = reqHeaders
14104	googleapi.Expand(req.URL, map[string]string{
14105		"profileId":        strconv.FormatInt(c.profileId, 10),
14106		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
14107	})
14108	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14109}
14110
14111// Do executes the "dfareporting.accountActiveAdSummaries.get" call.
14112// Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
14113// non-2xx status code is an error. Response headers are in either
14114// *AccountActiveAdSummary.ServerResponse.Header or (if a response was
14115// returned at all) in error.(*googleapi.Error).Header. Use
14116// googleapi.IsNotModified to check whether the returned error was
14117// because http.StatusNotModified was returned.
14118func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
14119	gensupport.SetOptions(c.urlParams_, opts...)
14120	res, err := c.doRequest("json")
14121	if res != nil && res.StatusCode == http.StatusNotModified {
14122		if res.Body != nil {
14123			res.Body.Close()
14124		}
14125		return nil, &googleapi.Error{
14126			Code:   res.StatusCode,
14127			Header: res.Header,
14128		}
14129	}
14130	if err != nil {
14131		return nil, err
14132	}
14133	defer googleapi.CloseBody(res)
14134	if err := googleapi.CheckResponse(res); err != nil {
14135		return nil, err
14136	}
14137	ret := &AccountActiveAdSummary{
14138		ServerResponse: googleapi.ServerResponse{
14139			Header:         res.Header,
14140			HTTPStatusCode: res.StatusCode,
14141		},
14142	}
14143	target := &ret
14144	if err := gensupport.DecodeResponse(target, res); err != nil {
14145		return nil, err
14146	}
14147	return ret, nil
14148	// {
14149	//   "description": "Gets the account's active ad summary by account ID.",
14150	//   "flatPath": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14151	//   "httpMethod": "GET",
14152	//   "id": "dfareporting.accountActiveAdSummaries.get",
14153	//   "parameterOrder": [
14154	//     "profileId",
14155	//     "summaryAccountId"
14156	//   ],
14157	//   "parameters": {
14158	//     "profileId": {
14159	//       "description": "User profile ID associated with this request.",
14160	//       "format": "int64",
14161	//       "location": "path",
14162	//       "required": true,
14163	//       "type": "string"
14164	//     },
14165	//     "summaryAccountId": {
14166	//       "description": "Account ID.",
14167	//       "format": "int64",
14168	//       "location": "path",
14169	//       "required": true,
14170	//       "type": "string"
14171	//     }
14172	//   },
14173	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14174	//   "response": {
14175	//     "$ref": "AccountActiveAdSummary"
14176	//   },
14177	//   "scopes": [
14178	//     "https://www.googleapis.com/auth/dfatrafficking"
14179	//   ]
14180	// }
14181
14182}
14183
14184// method id "dfareporting.accountPermissionGroups.get":
14185
14186type AccountPermissionGroupsGetCall struct {
14187	s            *Service
14188	profileId    int64
14189	id           int64
14190	urlParams_   gensupport.URLParams
14191	ifNoneMatch_ string
14192	ctx_         context.Context
14193	header_      http.Header
14194}
14195
14196// Get: Gets one account permission group by ID.
14197func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
14198	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14199	c.profileId = profileId
14200	c.id = id
14201	return c
14202}
14203
14204// Fields allows partial responses to be retrieved. See
14205// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14206// for more information.
14207func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
14208	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14209	return c
14210}
14211
14212// IfNoneMatch sets the optional parameter which makes the operation
14213// fail if the object's ETag matches the given value. This is useful for
14214// getting updates only after the object has changed since the last
14215// request. Use googleapi.IsNotModified to check whether the response
14216// error from Do is the result of In-None-Match.
14217func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
14218	c.ifNoneMatch_ = entityTag
14219	return c
14220}
14221
14222// Context sets the context to be used in this call's Do method. Any
14223// pending HTTP request will be aborted if the provided context is
14224// canceled.
14225func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
14226	c.ctx_ = ctx
14227	return c
14228}
14229
14230// Header returns an http.Header that can be modified by the caller to
14231// add HTTP headers to the request.
14232func (c *AccountPermissionGroupsGetCall) Header() http.Header {
14233	if c.header_ == nil {
14234		c.header_ = make(http.Header)
14235	}
14236	return c.header_
14237}
14238
14239func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
14240	reqHeaders := make(http.Header)
14241	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14242	for k, v := range c.header_ {
14243		reqHeaders[k] = v
14244	}
14245	reqHeaders.Set("User-Agent", c.s.userAgent())
14246	if c.ifNoneMatch_ != "" {
14247		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14248	}
14249	var body io.Reader = nil
14250	c.urlParams_.Set("alt", alt)
14251	c.urlParams_.Set("prettyPrint", "false")
14252	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
14253	urls += "?" + c.urlParams_.Encode()
14254	req, err := http.NewRequest("GET", urls, body)
14255	if err != nil {
14256		return nil, err
14257	}
14258	req.Header = reqHeaders
14259	googleapi.Expand(req.URL, map[string]string{
14260		"profileId": strconv.FormatInt(c.profileId, 10),
14261		"id":        strconv.FormatInt(c.id, 10),
14262	})
14263	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14264}
14265
14266// Do executes the "dfareporting.accountPermissionGroups.get" call.
14267// Exactly one of *AccountPermissionGroup or error will be non-nil. Any
14268// non-2xx status code is an error. Response headers are in either
14269// *AccountPermissionGroup.ServerResponse.Header or (if a response was
14270// returned at all) in error.(*googleapi.Error).Header. Use
14271// googleapi.IsNotModified to check whether the returned error was
14272// because http.StatusNotModified was returned.
14273func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
14274	gensupport.SetOptions(c.urlParams_, opts...)
14275	res, err := c.doRequest("json")
14276	if res != nil && res.StatusCode == http.StatusNotModified {
14277		if res.Body != nil {
14278			res.Body.Close()
14279		}
14280		return nil, &googleapi.Error{
14281			Code:   res.StatusCode,
14282			Header: res.Header,
14283		}
14284	}
14285	if err != nil {
14286		return nil, err
14287	}
14288	defer googleapi.CloseBody(res)
14289	if err := googleapi.CheckResponse(res); err != nil {
14290		return nil, err
14291	}
14292	ret := &AccountPermissionGroup{
14293		ServerResponse: googleapi.ServerResponse{
14294			Header:         res.Header,
14295			HTTPStatusCode: res.StatusCode,
14296		},
14297	}
14298	target := &ret
14299	if err := gensupport.DecodeResponse(target, res); err != nil {
14300		return nil, err
14301	}
14302	return ret, nil
14303	// {
14304	//   "description": "Gets one account permission group by ID.",
14305	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14306	//   "httpMethod": "GET",
14307	//   "id": "dfareporting.accountPermissionGroups.get",
14308	//   "parameterOrder": [
14309	//     "profileId",
14310	//     "id"
14311	//   ],
14312	//   "parameters": {
14313	//     "id": {
14314	//       "description": "Account permission group ID.",
14315	//       "format": "int64",
14316	//       "location": "path",
14317	//       "required": true,
14318	//       "type": "string"
14319	//     },
14320	//     "profileId": {
14321	//       "description": "User profile ID associated with this request.",
14322	//       "format": "int64",
14323	//       "location": "path",
14324	//       "required": true,
14325	//       "type": "string"
14326	//     }
14327	//   },
14328	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14329	//   "response": {
14330	//     "$ref": "AccountPermissionGroup"
14331	//   },
14332	//   "scopes": [
14333	//     "https://www.googleapis.com/auth/dfatrafficking"
14334	//   ]
14335	// }
14336
14337}
14338
14339// method id "dfareporting.accountPermissionGroups.list":
14340
14341type AccountPermissionGroupsListCall struct {
14342	s            *Service
14343	profileId    int64
14344	urlParams_   gensupport.URLParams
14345	ifNoneMatch_ string
14346	ctx_         context.Context
14347	header_      http.Header
14348}
14349
14350// List: Retrieves the list of account permission groups.
14351func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
14352	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14353	c.profileId = profileId
14354	return c
14355}
14356
14357// Fields allows partial responses to be retrieved. See
14358// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14359// for more information.
14360func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
14361	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14362	return c
14363}
14364
14365// IfNoneMatch sets the optional parameter which makes the operation
14366// fail if the object's ETag matches the given value. This is useful for
14367// getting updates only after the object has changed since the last
14368// request. Use googleapi.IsNotModified to check whether the response
14369// error from Do is the result of In-None-Match.
14370func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
14371	c.ifNoneMatch_ = entityTag
14372	return c
14373}
14374
14375// Context sets the context to be used in this call's Do method. Any
14376// pending HTTP request will be aborted if the provided context is
14377// canceled.
14378func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
14379	c.ctx_ = ctx
14380	return c
14381}
14382
14383// Header returns an http.Header that can be modified by the caller to
14384// add HTTP headers to the request.
14385func (c *AccountPermissionGroupsListCall) Header() http.Header {
14386	if c.header_ == nil {
14387		c.header_ = make(http.Header)
14388	}
14389	return c.header_
14390}
14391
14392func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
14393	reqHeaders := make(http.Header)
14394	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14395	for k, v := range c.header_ {
14396		reqHeaders[k] = v
14397	}
14398	reqHeaders.Set("User-Agent", c.s.userAgent())
14399	if c.ifNoneMatch_ != "" {
14400		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14401	}
14402	var body io.Reader = nil
14403	c.urlParams_.Set("alt", alt)
14404	c.urlParams_.Set("prettyPrint", "false")
14405	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
14406	urls += "?" + c.urlParams_.Encode()
14407	req, err := http.NewRequest("GET", urls, body)
14408	if err != nil {
14409		return nil, err
14410	}
14411	req.Header = reqHeaders
14412	googleapi.Expand(req.URL, map[string]string{
14413		"profileId": strconv.FormatInt(c.profileId, 10),
14414	})
14415	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14416}
14417
14418// Do executes the "dfareporting.accountPermissionGroups.list" call.
14419// Exactly one of *AccountPermissionGroupsListResponse or error will be
14420// non-nil. Any non-2xx status code is an error. Response headers are in
14421// either *AccountPermissionGroupsListResponse.ServerResponse.Header or
14422// (if a response was returned at all) in
14423// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14424// whether the returned error was because http.StatusNotModified was
14425// returned.
14426func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
14427	gensupport.SetOptions(c.urlParams_, opts...)
14428	res, err := c.doRequest("json")
14429	if res != nil && res.StatusCode == http.StatusNotModified {
14430		if res.Body != nil {
14431			res.Body.Close()
14432		}
14433		return nil, &googleapi.Error{
14434			Code:   res.StatusCode,
14435			Header: res.Header,
14436		}
14437	}
14438	if err != nil {
14439		return nil, err
14440	}
14441	defer googleapi.CloseBody(res)
14442	if err := googleapi.CheckResponse(res); err != nil {
14443		return nil, err
14444	}
14445	ret := &AccountPermissionGroupsListResponse{
14446		ServerResponse: googleapi.ServerResponse{
14447			Header:         res.Header,
14448			HTTPStatusCode: res.StatusCode,
14449		},
14450	}
14451	target := &ret
14452	if err := gensupport.DecodeResponse(target, res); err != nil {
14453		return nil, err
14454	}
14455	return ret, nil
14456	// {
14457	//   "description": "Retrieves the list of account permission groups.",
14458	//   "flatPath": "userprofiles/{profileId}/accountPermissionGroups",
14459	//   "httpMethod": "GET",
14460	//   "id": "dfareporting.accountPermissionGroups.list",
14461	//   "parameterOrder": [
14462	//     "profileId"
14463	//   ],
14464	//   "parameters": {
14465	//     "profileId": {
14466	//       "description": "User profile ID associated with this request.",
14467	//       "format": "int64",
14468	//       "location": "path",
14469	//       "required": true,
14470	//       "type": "string"
14471	//     }
14472	//   },
14473	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
14474	//   "response": {
14475	//     "$ref": "AccountPermissionGroupsListResponse"
14476	//   },
14477	//   "scopes": [
14478	//     "https://www.googleapis.com/auth/dfatrafficking"
14479	//   ]
14480	// }
14481
14482}
14483
14484// method id "dfareporting.accountPermissions.get":
14485
14486type AccountPermissionsGetCall struct {
14487	s            *Service
14488	profileId    int64
14489	id           int64
14490	urlParams_   gensupport.URLParams
14491	ifNoneMatch_ string
14492	ctx_         context.Context
14493	header_      http.Header
14494}
14495
14496// Get: Gets one account permission by ID.
14497func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
14498	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14499	c.profileId = profileId
14500	c.id = id
14501	return c
14502}
14503
14504// Fields allows partial responses to be retrieved. See
14505// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14506// for more information.
14507func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
14508	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14509	return c
14510}
14511
14512// IfNoneMatch sets the optional parameter which makes the operation
14513// fail if the object's ETag matches the given value. This is useful for
14514// getting updates only after the object has changed since the last
14515// request. Use googleapi.IsNotModified to check whether the response
14516// error from Do is the result of In-None-Match.
14517func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
14518	c.ifNoneMatch_ = entityTag
14519	return c
14520}
14521
14522// Context sets the context to be used in this call's Do method. Any
14523// pending HTTP request will be aborted if the provided context is
14524// canceled.
14525func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
14526	c.ctx_ = ctx
14527	return c
14528}
14529
14530// Header returns an http.Header that can be modified by the caller to
14531// add HTTP headers to the request.
14532func (c *AccountPermissionsGetCall) Header() http.Header {
14533	if c.header_ == nil {
14534		c.header_ = make(http.Header)
14535	}
14536	return c.header_
14537}
14538
14539func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
14540	reqHeaders := make(http.Header)
14541	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14542	for k, v := range c.header_ {
14543		reqHeaders[k] = v
14544	}
14545	reqHeaders.Set("User-Agent", c.s.userAgent())
14546	if c.ifNoneMatch_ != "" {
14547		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14548	}
14549	var body io.Reader = nil
14550	c.urlParams_.Set("alt", alt)
14551	c.urlParams_.Set("prettyPrint", "false")
14552	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
14553	urls += "?" + c.urlParams_.Encode()
14554	req, err := http.NewRequest("GET", urls, body)
14555	if err != nil {
14556		return nil, err
14557	}
14558	req.Header = reqHeaders
14559	googleapi.Expand(req.URL, map[string]string{
14560		"profileId": strconv.FormatInt(c.profileId, 10),
14561		"id":        strconv.FormatInt(c.id, 10),
14562	})
14563	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14564}
14565
14566// Do executes the "dfareporting.accountPermissions.get" call.
14567// Exactly one of *AccountPermission or error will be non-nil. Any
14568// non-2xx status code is an error. Response headers are in either
14569// *AccountPermission.ServerResponse.Header or (if a response was
14570// returned at all) in error.(*googleapi.Error).Header. Use
14571// googleapi.IsNotModified to check whether the returned error was
14572// because http.StatusNotModified was returned.
14573func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
14574	gensupport.SetOptions(c.urlParams_, opts...)
14575	res, err := c.doRequest("json")
14576	if res != nil && res.StatusCode == http.StatusNotModified {
14577		if res.Body != nil {
14578			res.Body.Close()
14579		}
14580		return nil, &googleapi.Error{
14581			Code:   res.StatusCode,
14582			Header: res.Header,
14583		}
14584	}
14585	if err != nil {
14586		return nil, err
14587	}
14588	defer googleapi.CloseBody(res)
14589	if err := googleapi.CheckResponse(res); err != nil {
14590		return nil, err
14591	}
14592	ret := &AccountPermission{
14593		ServerResponse: googleapi.ServerResponse{
14594			Header:         res.Header,
14595			HTTPStatusCode: res.StatusCode,
14596		},
14597	}
14598	target := &ret
14599	if err := gensupport.DecodeResponse(target, res); err != nil {
14600		return nil, err
14601	}
14602	return ret, nil
14603	// {
14604	//   "description": "Gets one account permission by ID.",
14605	//   "flatPath": "userprofiles/{profileId}/accountPermissions/{id}",
14606	//   "httpMethod": "GET",
14607	//   "id": "dfareporting.accountPermissions.get",
14608	//   "parameterOrder": [
14609	//     "profileId",
14610	//     "id"
14611	//   ],
14612	//   "parameters": {
14613	//     "id": {
14614	//       "description": "Account permission ID.",
14615	//       "format": "int64",
14616	//       "location": "path",
14617	//       "required": true,
14618	//       "type": "string"
14619	//     },
14620	//     "profileId": {
14621	//       "description": "User profile ID associated with this request.",
14622	//       "format": "int64",
14623	//       "location": "path",
14624	//       "required": true,
14625	//       "type": "string"
14626	//     }
14627	//   },
14628	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
14629	//   "response": {
14630	//     "$ref": "AccountPermission"
14631	//   },
14632	//   "scopes": [
14633	//     "https://www.googleapis.com/auth/dfatrafficking"
14634	//   ]
14635	// }
14636
14637}
14638
14639// method id "dfareporting.accountPermissions.list":
14640
14641type AccountPermissionsListCall struct {
14642	s            *Service
14643	profileId    int64
14644	urlParams_   gensupport.URLParams
14645	ifNoneMatch_ string
14646	ctx_         context.Context
14647	header_      http.Header
14648}
14649
14650// List: Retrieves the list of account permissions.
14651func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
14652	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14653	c.profileId = profileId
14654	return c
14655}
14656
14657// Fields allows partial responses to be retrieved. See
14658// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14659// for more information.
14660func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
14661	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14662	return c
14663}
14664
14665// IfNoneMatch sets the optional parameter which makes the operation
14666// fail if the object's ETag matches the given value. This is useful for
14667// getting updates only after the object has changed since the last
14668// request. Use googleapi.IsNotModified to check whether the response
14669// error from Do is the result of In-None-Match.
14670func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
14671	c.ifNoneMatch_ = entityTag
14672	return c
14673}
14674
14675// Context sets the context to be used in this call's Do method. Any
14676// pending HTTP request will be aborted if the provided context is
14677// canceled.
14678func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
14679	c.ctx_ = ctx
14680	return c
14681}
14682
14683// Header returns an http.Header that can be modified by the caller to
14684// add HTTP headers to the request.
14685func (c *AccountPermissionsListCall) Header() http.Header {
14686	if c.header_ == nil {
14687		c.header_ = make(http.Header)
14688	}
14689	return c.header_
14690}
14691
14692func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
14693	reqHeaders := make(http.Header)
14694	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14695	for k, v := range c.header_ {
14696		reqHeaders[k] = v
14697	}
14698	reqHeaders.Set("User-Agent", c.s.userAgent())
14699	if c.ifNoneMatch_ != "" {
14700		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14701	}
14702	var body io.Reader = nil
14703	c.urlParams_.Set("alt", alt)
14704	c.urlParams_.Set("prettyPrint", "false")
14705	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
14706	urls += "?" + c.urlParams_.Encode()
14707	req, err := http.NewRequest("GET", urls, body)
14708	if err != nil {
14709		return nil, err
14710	}
14711	req.Header = reqHeaders
14712	googleapi.Expand(req.URL, map[string]string{
14713		"profileId": strconv.FormatInt(c.profileId, 10),
14714	})
14715	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14716}
14717
14718// Do executes the "dfareporting.accountPermissions.list" call.
14719// Exactly one of *AccountPermissionsListResponse or error will be
14720// non-nil. Any non-2xx status code is an error. Response headers are in
14721// either *AccountPermissionsListResponse.ServerResponse.Header or (if a
14722// response was returned at all) in error.(*googleapi.Error).Header. Use
14723// googleapi.IsNotModified to check whether the returned error was
14724// because http.StatusNotModified was returned.
14725func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
14726	gensupport.SetOptions(c.urlParams_, opts...)
14727	res, err := c.doRequest("json")
14728	if res != nil && res.StatusCode == http.StatusNotModified {
14729		if res.Body != nil {
14730			res.Body.Close()
14731		}
14732		return nil, &googleapi.Error{
14733			Code:   res.StatusCode,
14734			Header: res.Header,
14735		}
14736	}
14737	if err != nil {
14738		return nil, err
14739	}
14740	defer googleapi.CloseBody(res)
14741	if err := googleapi.CheckResponse(res); err != nil {
14742		return nil, err
14743	}
14744	ret := &AccountPermissionsListResponse{
14745		ServerResponse: googleapi.ServerResponse{
14746			Header:         res.Header,
14747			HTTPStatusCode: res.StatusCode,
14748		},
14749	}
14750	target := &ret
14751	if err := gensupport.DecodeResponse(target, res); err != nil {
14752		return nil, err
14753	}
14754	return ret, nil
14755	// {
14756	//   "description": "Retrieves the list of account permissions.",
14757	//   "flatPath": "userprofiles/{profileId}/accountPermissions",
14758	//   "httpMethod": "GET",
14759	//   "id": "dfareporting.accountPermissions.list",
14760	//   "parameterOrder": [
14761	//     "profileId"
14762	//   ],
14763	//   "parameters": {
14764	//     "profileId": {
14765	//       "description": "User profile ID associated with this request.",
14766	//       "format": "int64",
14767	//       "location": "path",
14768	//       "required": true,
14769	//       "type": "string"
14770	//     }
14771	//   },
14772	//   "path": "userprofiles/{profileId}/accountPermissions",
14773	//   "response": {
14774	//     "$ref": "AccountPermissionsListResponse"
14775	//   },
14776	//   "scopes": [
14777	//     "https://www.googleapis.com/auth/dfatrafficking"
14778	//   ]
14779	// }
14780
14781}
14782
14783// method id "dfareporting.accountUserProfiles.get":
14784
14785type AccountUserProfilesGetCall struct {
14786	s            *Service
14787	profileId    int64
14788	id           int64
14789	urlParams_   gensupport.URLParams
14790	ifNoneMatch_ string
14791	ctx_         context.Context
14792	header_      http.Header
14793}
14794
14795// Get: Gets one account user profile by ID.
14796func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
14797	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14798	c.profileId = profileId
14799	c.id = id
14800	return c
14801}
14802
14803// Fields allows partial responses to be retrieved. See
14804// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14805// for more information.
14806func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
14807	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14808	return c
14809}
14810
14811// IfNoneMatch sets the optional parameter which makes the operation
14812// fail if the object's ETag matches the given value. This is useful for
14813// getting updates only after the object has changed since the last
14814// request. Use googleapi.IsNotModified to check whether the response
14815// error from Do is the result of In-None-Match.
14816func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
14817	c.ifNoneMatch_ = entityTag
14818	return c
14819}
14820
14821// Context sets the context to be used in this call's Do method. Any
14822// pending HTTP request will be aborted if the provided context is
14823// canceled.
14824func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
14825	c.ctx_ = ctx
14826	return c
14827}
14828
14829// Header returns an http.Header that can be modified by the caller to
14830// add HTTP headers to the request.
14831func (c *AccountUserProfilesGetCall) Header() http.Header {
14832	if c.header_ == nil {
14833		c.header_ = make(http.Header)
14834	}
14835	return c.header_
14836}
14837
14838func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
14839	reqHeaders := make(http.Header)
14840	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14841	for k, v := range c.header_ {
14842		reqHeaders[k] = v
14843	}
14844	reqHeaders.Set("User-Agent", c.s.userAgent())
14845	if c.ifNoneMatch_ != "" {
14846		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14847	}
14848	var body io.Reader = nil
14849	c.urlParams_.Set("alt", alt)
14850	c.urlParams_.Set("prettyPrint", "false")
14851	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
14852	urls += "?" + c.urlParams_.Encode()
14853	req, err := http.NewRequest("GET", urls, body)
14854	if err != nil {
14855		return nil, err
14856	}
14857	req.Header = reqHeaders
14858	googleapi.Expand(req.URL, map[string]string{
14859		"profileId": strconv.FormatInt(c.profileId, 10),
14860		"id":        strconv.FormatInt(c.id, 10),
14861	})
14862	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14863}
14864
14865// Do executes the "dfareporting.accountUserProfiles.get" call.
14866// Exactly one of *AccountUserProfile or error will be non-nil. Any
14867// non-2xx status code is an error. Response headers are in either
14868// *AccountUserProfile.ServerResponse.Header or (if a response was
14869// returned at all) in error.(*googleapi.Error).Header. Use
14870// googleapi.IsNotModified to check whether the returned error was
14871// because http.StatusNotModified was returned.
14872func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
14873	gensupport.SetOptions(c.urlParams_, opts...)
14874	res, err := c.doRequest("json")
14875	if res != nil && res.StatusCode == http.StatusNotModified {
14876		if res.Body != nil {
14877			res.Body.Close()
14878		}
14879		return nil, &googleapi.Error{
14880			Code:   res.StatusCode,
14881			Header: res.Header,
14882		}
14883	}
14884	if err != nil {
14885		return nil, err
14886	}
14887	defer googleapi.CloseBody(res)
14888	if err := googleapi.CheckResponse(res); err != nil {
14889		return nil, err
14890	}
14891	ret := &AccountUserProfile{
14892		ServerResponse: googleapi.ServerResponse{
14893			Header:         res.Header,
14894			HTTPStatusCode: res.StatusCode,
14895		},
14896	}
14897	target := &ret
14898	if err := gensupport.DecodeResponse(target, res); err != nil {
14899		return nil, err
14900	}
14901	return ret, nil
14902	// {
14903	//   "description": "Gets one account user profile by ID.",
14904	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles/{id}",
14905	//   "httpMethod": "GET",
14906	//   "id": "dfareporting.accountUserProfiles.get",
14907	//   "parameterOrder": [
14908	//     "profileId",
14909	//     "id"
14910	//   ],
14911	//   "parameters": {
14912	//     "id": {
14913	//       "description": "User profile ID.",
14914	//       "format": "int64",
14915	//       "location": "path",
14916	//       "required": true,
14917	//       "type": "string"
14918	//     },
14919	//     "profileId": {
14920	//       "description": "User profile ID associated with this request.",
14921	//       "format": "int64",
14922	//       "location": "path",
14923	//       "required": true,
14924	//       "type": "string"
14925	//     }
14926	//   },
14927	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
14928	//   "response": {
14929	//     "$ref": "AccountUserProfile"
14930	//   },
14931	//   "scopes": [
14932	//     "https://www.googleapis.com/auth/dfatrafficking"
14933	//   ]
14934	// }
14935
14936}
14937
14938// method id "dfareporting.accountUserProfiles.insert":
14939
14940type AccountUserProfilesInsertCall struct {
14941	s                  *Service
14942	profileId          int64
14943	accountuserprofile *AccountUserProfile
14944	urlParams_         gensupport.URLParams
14945	ctx_               context.Context
14946	header_            http.Header
14947}
14948
14949// Insert: Inserts a new account user profile.
14950func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
14951	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14952	c.profileId = profileId
14953	c.accountuserprofile = accountuserprofile
14954	return c
14955}
14956
14957// Fields allows partial responses to be retrieved. See
14958// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14959// for more information.
14960func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
14961	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14962	return c
14963}
14964
14965// Context sets the context to be used in this call's Do method. Any
14966// pending HTTP request will be aborted if the provided context is
14967// canceled.
14968func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
14969	c.ctx_ = ctx
14970	return c
14971}
14972
14973// Header returns an http.Header that can be modified by the caller to
14974// add HTTP headers to the request.
14975func (c *AccountUserProfilesInsertCall) Header() http.Header {
14976	if c.header_ == nil {
14977		c.header_ = make(http.Header)
14978	}
14979	return c.header_
14980}
14981
14982func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
14983	reqHeaders := make(http.Header)
14984	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
14985	for k, v := range c.header_ {
14986		reqHeaders[k] = v
14987	}
14988	reqHeaders.Set("User-Agent", c.s.userAgent())
14989	var body io.Reader = nil
14990	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
14991	if err != nil {
14992		return nil, err
14993	}
14994	reqHeaders.Set("Content-Type", "application/json")
14995	c.urlParams_.Set("alt", alt)
14996	c.urlParams_.Set("prettyPrint", "false")
14997	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
14998	urls += "?" + c.urlParams_.Encode()
14999	req, err := http.NewRequest("POST", urls, body)
15000	if err != nil {
15001		return nil, err
15002	}
15003	req.Header = reqHeaders
15004	googleapi.Expand(req.URL, map[string]string{
15005		"profileId": strconv.FormatInt(c.profileId, 10),
15006	})
15007	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15008}
15009
15010// Do executes the "dfareporting.accountUserProfiles.insert" call.
15011// Exactly one of *AccountUserProfile or error will be non-nil. Any
15012// non-2xx status code is an error. Response headers are in either
15013// *AccountUserProfile.ServerResponse.Header or (if a response was
15014// returned at all) in error.(*googleapi.Error).Header. Use
15015// googleapi.IsNotModified to check whether the returned error was
15016// because http.StatusNotModified was returned.
15017func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15018	gensupport.SetOptions(c.urlParams_, opts...)
15019	res, err := c.doRequest("json")
15020	if res != nil && res.StatusCode == http.StatusNotModified {
15021		if res.Body != nil {
15022			res.Body.Close()
15023		}
15024		return nil, &googleapi.Error{
15025			Code:   res.StatusCode,
15026			Header: res.Header,
15027		}
15028	}
15029	if err != nil {
15030		return nil, err
15031	}
15032	defer googleapi.CloseBody(res)
15033	if err := googleapi.CheckResponse(res); err != nil {
15034		return nil, err
15035	}
15036	ret := &AccountUserProfile{
15037		ServerResponse: googleapi.ServerResponse{
15038			Header:         res.Header,
15039			HTTPStatusCode: res.StatusCode,
15040		},
15041	}
15042	target := &ret
15043	if err := gensupport.DecodeResponse(target, res); err != nil {
15044		return nil, err
15045	}
15046	return ret, nil
15047	// {
15048	//   "description": "Inserts a new account user profile.",
15049	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15050	//   "httpMethod": "POST",
15051	//   "id": "dfareporting.accountUserProfiles.insert",
15052	//   "parameterOrder": [
15053	//     "profileId"
15054	//   ],
15055	//   "parameters": {
15056	//     "profileId": {
15057	//       "description": "User profile ID associated with this request.",
15058	//       "format": "int64",
15059	//       "location": "path",
15060	//       "required": true,
15061	//       "type": "string"
15062	//     }
15063	//   },
15064	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15065	//   "request": {
15066	//     "$ref": "AccountUserProfile"
15067	//   },
15068	//   "response": {
15069	//     "$ref": "AccountUserProfile"
15070	//   },
15071	//   "scopes": [
15072	//     "https://www.googleapis.com/auth/dfatrafficking"
15073	//   ]
15074	// }
15075
15076}
15077
15078// method id "dfareporting.accountUserProfiles.list":
15079
15080type AccountUserProfilesListCall struct {
15081	s            *Service
15082	profileId    int64
15083	urlParams_   gensupport.URLParams
15084	ifNoneMatch_ string
15085	ctx_         context.Context
15086	header_      http.Header
15087}
15088
15089// List: Retrieves a list of account user profiles, possibly filtered.
15090// This method supports paging.
15091func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
15092	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15093	c.profileId = profileId
15094	return c
15095}
15096
15097// Active sets the optional parameter "active": Select only active user
15098// profiles.
15099func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
15100	c.urlParams_.Set("active", fmt.Sprint(active))
15101	return c
15102}
15103
15104// Ids sets the optional parameter "ids": Select only user profiles with
15105// these IDs.
15106func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
15107	var ids_ []string
15108	for _, v := range ids {
15109		ids_ = append(ids_, fmt.Sprint(v))
15110	}
15111	c.urlParams_.SetMulti("ids", ids_)
15112	return c
15113}
15114
15115// MaxResults sets the optional parameter "maxResults": Maximum number
15116// of results to return.
15117func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
15118	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15119	return c
15120}
15121
15122// PageToken sets the optional parameter "pageToken": Value of the
15123// nextPageToken from the previous result page.
15124func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
15125	c.urlParams_.Set("pageToken", pageToken)
15126	return c
15127}
15128
15129// SearchString sets the optional parameter "searchString": Allows
15130// searching for objects by name, ID or email. Wildcards (*) are
15131// allowed. For example, "user profile*2015" will return objects with
15132// names like "user profile June 2015", "user profile April 2015", or
15133// simply "user profile 2015". Most of the searches also add wildcards
15134// implicitly at the start and the end of the search string. For
15135// example, a search string of "user profile" will match objects with
15136// name "my user profile", "user profile 2015", or simply "user
15137// profile".
15138func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
15139	c.urlParams_.Set("searchString", searchString)
15140	return c
15141}
15142
15143// SortField sets the optional parameter "sortField": Field by which to
15144// sort the list.
15145//
15146// Possible values:
15147//   "ID" (default)
15148//   "NAME"
15149func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
15150	c.urlParams_.Set("sortField", sortField)
15151	return c
15152}
15153
15154// SortOrder sets the optional parameter "sortOrder": Order of sorted
15155// results.
15156//
15157// Possible values:
15158//   "ASCENDING" (default)
15159//   "DESCENDING"
15160func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
15161	c.urlParams_.Set("sortOrder", sortOrder)
15162	return c
15163}
15164
15165// SubaccountId sets the optional parameter "subaccountId": Select only
15166// user profiles with the specified subaccount ID.
15167func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
15168	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
15169	return c
15170}
15171
15172// UserRoleId sets the optional parameter "userRoleId": Select only user
15173// profiles with the specified user role ID.
15174func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
15175	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
15176	return c
15177}
15178
15179// Fields allows partial responses to be retrieved. See
15180// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15181// for more information.
15182func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
15183	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15184	return c
15185}
15186
15187// IfNoneMatch sets the optional parameter which makes the operation
15188// fail if the object's ETag matches the given value. This is useful for
15189// getting updates only after the object has changed since the last
15190// request. Use googleapi.IsNotModified to check whether the response
15191// error from Do is the result of In-None-Match.
15192func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
15193	c.ifNoneMatch_ = entityTag
15194	return c
15195}
15196
15197// Context sets the context to be used in this call's Do method. Any
15198// pending HTTP request will be aborted if the provided context is
15199// canceled.
15200func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
15201	c.ctx_ = ctx
15202	return c
15203}
15204
15205// Header returns an http.Header that can be modified by the caller to
15206// add HTTP headers to the request.
15207func (c *AccountUserProfilesListCall) Header() http.Header {
15208	if c.header_ == nil {
15209		c.header_ = make(http.Header)
15210	}
15211	return c.header_
15212}
15213
15214func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
15215	reqHeaders := make(http.Header)
15216	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15217	for k, v := range c.header_ {
15218		reqHeaders[k] = v
15219	}
15220	reqHeaders.Set("User-Agent", c.s.userAgent())
15221	if c.ifNoneMatch_ != "" {
15222		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15223	}
15224	var body io.Reader = nil
15225	c.urlParams_.Set("alt", alt)
15226	c.urlParams_.Set("prettyPrint", "false")
15227	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15228	urls += "?" + c.urlParams_.Encode()
15229	req, err := http.NewRequest("GET", urls, body)
15230	if err != nil {
15231		return nil, err
15232	}
15233	req.Header = reqHeaders
15234	googleapi.Expand(req.URL, map[string]string{
15235		"profileId": strconv.FormatInt(c.profileId, 10),
15236	})
15237	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15238}
15239
15240// Do executes the "dfareporting.accountUserProfiles.list" call.
15241// Exactly one of *AccountUserProfilesListResponse or error will be
15242// non-nil. Any non-2xx status code is an error. Response headers are in
15243// either *AccountUserProfilesListResponse.ServerResponse.Header or (if
15244// a response was returned at all) in error.(*googleapi.Error).Header.
15245// Use googleapi.IsNotModified to check whether the returned error was
15246// because http.StatusNotModified was returned.
15247func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
15248	gensupport.SetOptions(c.urlParams_, opts...)
15249	res, err := c.doRequest("json")
15250	if res != nil && res.StatusCode == http.StatusNotModified {
15251		if res.Body != nil {
15252			res.Body.Close()
15253		}
15254		return nil, &googleapi.Error{
15255			Code:   res.StatusCode,
15256			Header: res.Header,
15257		}
15258	}
15259	if err != nil {
15260		return nil, err
15261	}
15262	defer googleapi.CloseBody(res)
15263	if err := googleapi.CheckResponse(res); err != nil {
15264		return nil, err
15265	}
15266	ret := &AccountUserProfilesListResponse{
15267		ServerResponse: googleapi.ServerResponse{
15268			Header:         res.Header,
15269			HTTPStatusCode: res.StatusCode,
15270		},
15271	}
15272	target := &ret
15273	if err := gensupport.DecodeResponse(target, res); err != nil {
15274		return nil, err
15275	}
15276	return ret, nil
15277	// {
15278	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
15279	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15280	//   "httpMethod": "GET",
15281	//   "id": "dfareporting.accountUserProfiles.list",
15282	//   "parameterOrder": [
15283	//     "profileId"
15284	//   ],
15285	//   "parameters": {
15286	//     "active": {
15287	//       "description": "Select only active user profiles.",
15288	//       "location": "query",
15289	//       "type": "boolean"
15290	//     },
15291	//     "ids": {
15292	//       "description": "Select only user profiles with these IDs.",
15293	//       "format": "int64",
15294	//       "location": "query",
15295	//       "repeated": true,
15296	//       "type": "string"
15297	//     },
15298	//     "maxResults": {
15299	//       "default": "1000",
15300	//       "description": "Maximum number of results to return.",
15301	//       "format": "int32",
15302	//       "location": "query",
15303	//       "maximum": "1000",
15304	//       "minimum": "0",
15305	//       "type": "integer"
15306	//     },
15307	//     "pageToken": {
15308	//       "description": "Value of the nextPageToken from the previous result page.",
15309	//       "location": "query",
15310	//       "type": "string"
15311	//     },
15312	//     "profileId": {
15313	//       "description": "User profile ID associated with this request.",
15314	//       "format": "int64",
15315	//       "location": "path",
15316	//       "required": true,
15317	//       "type": "string"
15318	//     },
15319	//     "searchString": {
15320	//       "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"user profile*2015\" will return objects with names like \"user profile June 2015\", \"user profile April 2015\", or simply \"user profile 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"user profile\" will match objects with name \"my user profile\", \"user profile 2015\", or simply \"user profile\".",
15321	//       "location": "query",
15322	//       "type": "string"
15323	//     },
15324	//     "sortField": {
15325	//       "default": "ID",
15326	//       "description": "Field by which to sort the list.",
15327	//       "enum": [
15328	//         "ID",
15329	//         "NAME"
15330	//       ],
15331	//       "enumDescriptions": [
15332	//         "",
15333	//         ""
15334	//       ],
15335	//       "location": "query",
15336	//       "type": "string"
15337	//     },
15338	//     "sortOrder": {
15339	//       "default": "ASCENDING",
15340	//       "description": "Order of sorted results.",
15341	//       "enum": [
15342	//         "ASCENDING",
15343	//         "DESCENDING"
15344	//       ],
15345	//       "enumDescriptions": [
15346	//         "",
15347	//         ""
15348	//       ],
15349	//       "location": "query",
15350	//       "type": "string"
15351	//     },
15352	//     "subaccountId": {
15353	//       "description": "Select only user profiles with the specified subaccount ID.",
15354	//       "format": "int64",
15355	//       "location": "query",
15356	//       "type": "string"
15357	//     },
15358	//     "userRoleId": {
15359	//       "description": "Select only user profiles with the specified user role ID.",
15360	//       "format": "int64",
15361	//       "location": "query",
15362	//       "type": "string"
15363	//     }
15364	//   },
15365	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15366	//   "response": {
15367	//     "$ref": "AccountUserProfilesListResponse"
15368	//   },
15369	//   "scopes": [
15370	//     "https://www.googleapis.com/auth/dfatrafficking"
15371	//   ]
15372	// }
15373
15374}
15375
15376// Pages invokes f for each page of results.
15377// A non-nil error returned from f will halt the iteration.
15378// The provided context supersedes any context provided to the Context method.
15379func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
15380	c.ctx_ = ctx
15381	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15382	for {
15383		x, err := c.Do()
15384		if err != nil {
15385			return err
15386		}
15387		if err := f(x); err != nil {
15388			return err
15389		}
15390		if x.NextPageToken == "" {
15391			return nil
15392		}
15393		c.PageToken(x.NextPageToken)
15394	}
15395}
15396
15397// method id "dfareporting.accountUserProfiles.patch":
15398
15399type AccountUserProfilesPatchCall struct {
15400	s                  *Service
15401	profileId          int64
15402	accountuserprofile *AccountUserProfile
15403	urlParams_         gensupport.URLParams
15404	ctx_               context.Context
15405	header_            http.Header
15406}
15407
15408// Patch: Updates an existing account user profile. This method supports
15409// patch semantics.
15410func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
15411	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15412	c.profileId = profileId
15413	c.urlParams_.Set("id", fmt.Sprint(id))
15414	c.accountuserprofile = accountuserprofile
15415	return c
15416}
15417
15418// Fields allows partial responses to be retrieved. See
15419// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15420// for more information.
15421func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
15422	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15423	return c
15424}
15425
15426// Context sets the context to be used in this call's Do method. Any
15427// pending HTTP request will be aborted if the provided context is
15428// canceled.
15429func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
15430	c.ctx_ = ctx
15431	return c
15432}
15433
15434// Header returns an http.Header that can be modified by the caller to
15435// add HTTP headers to the request.
15436func (c *AccountUserProfilesPatchCall) Header() http.Header {
15437	if c.header_ == nil {
15438		c.header_ = make(http.Header)
15439	}
15440	return c.header_
15441}
15442
15443func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
15444	reqHeaders := make(http.Header)
15445	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15446	for k, v := range c.header_ {
15447		reqHeaders[k] = v
15448	}
15449	reqHeaders.Set("User-Agent", c.s.userAgent())
15450	var body io.Reader = nil
15451	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15452	if err != nil {
15453		return nil, err
15454	}
15455	reqHeaders.Set("Content-Type", "application/json")
15456	c.urlParams_.Set("alt", alt)
15457	c.urlParams_.Set("prettyPrint", "false")
15458	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15459	urls += "?" + c.urlParams_.Encode()
15460	req, err := http.NewRequest("PATCH", urls, body)
15461	if err != nil {
15462		return nil, err
15463	}
15464	req.Header = reqHeaders
15465	googleapi.Expand(req.URL, map[string]string{
15466		"profileId": strconv.FormatInt(c.profileId, 10),
15467	})
15468	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15469}
15470
15471// Do executes the "dfareporting.accountUserProfiles.patch" call.
15472// Exactly one of *AccountUserProfile or error will be non-nil. Any
15473// non-2xx status code is an error. Response headers are in either
15474// *AccountUserProfile.ServerResponse.Header or (if a response was
15475// returned at all) in error.(*googleapi.Error).Header. Use
15476// googleapi.IsNotModified to check whether the returned error was
15477// because http.StatusNotModified was returned.
15478func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15479	gensupport.SetOptions(c.urlParams_, opts...)
15480	res, err := c.doRequest("json")
15481	if res != nil && res.StatusCode == http.StatusNotModified {
15482		if res.Body != nil {
15483			res.Body.Close()
15484		}
15485		return nil, &googleapi.Error{
15486			Code:   res.StatusCode,
15487			Header: res.Header,
15488		}
15489	}
15490	if err != nil {
15491		return nil, err
15492	}
15493	defer googleapi.CloseBody(res)
15494	if err := googleapi.CheckResponse(res); err != nil {
15495		return nil, err
15496	}
15497	ret := &AccountUserProfile{
15498		ServerResponse: googleapi.ServerResponse{
15499			Header:         res.Header,
15500			HTTPStatusCode: res.StatusCode,
15501		},
15502	}
15503	target := &ret
15504	if err := gensupport.DecodeResponse(target, res); err != nil {
15505		return nil, err
15506	}
15507	return ret, nil
15508	// {
15509	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
15510	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15511	//   "httpMethod": "PATCH",
15512	//   "id": "dfareporting.accountUserProfiles.patch",
15513	//   "parameterOrder": [
15514	//     "profileId",
15515	//     "id"
15516	//   ],
15517	//   "parameters": {
15518	//     "id": {
15519	//       "description": "AccountUserProfile ID.",
15520	//       "format": "int64",
15521	//       "location": "query",
15522	//       "required": true,
15523	//       "type": "string"
15524	//     },
15525	//     "profileId": {
15526	//       "description": "User profile ID associated with this request.",
15527	//       "format": "int64",
15528	//       "location": "path",
15529	//       "required": true,
15530	//       "type": "string"
15531	//     }
15532	//   },
15533	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15534	//   "request": {
15535	//     "$ref": "AccountUserProfile"
15536	//   },
15537	//   "response": {
15538	//     "$ref": "AccountUserProfile"
15539	//   },
15540	//   "scopes": [
15541	//     "https://www.googleapis.com/auth/dfatrafficking"
15542	//   ]
15543	// }
15544
15545}
15546
15547// method id "dfareporting.accountUserProfiles.update":
15548
15549type AccountUserProfilesUpdateCall struct {
15550	s                  *Service
15551	profileId          int64
15552	accountuserprofile *AccountUserProfile
15553	urlParams_         gensupport.URLParams
15554	ctx_               context.Context
15555	header_            http.Header
15556}
15557
15558// Update: Updates an existing account user profile.
15559func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
15560	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15561	c.profileId = profileId
15562	c.accountuserprofile = accountuserprofile
15563	return c
15564}
15565
15566// Fields allows partial responses to be retrieved. See
15567// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15568// for more information.
15569func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
15570	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15571	return c
15572}
15573
15574// Context sets the context to be used in this call's Do method. Any
15575// pending HTTP request will be aborted if the provided context is
15576// canceled.
15577func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
15578	c.ctx_ = ctx
15579	return c
15580}
15581
15582// Header returns an http.Header that can be modified by the caller to
15583// add HTTP headers to the request.
15584func (c *AccountUserProfilesUpdateCall) Header() http.Header {
15585	if c.header_ == nil {
15586		c.header_ = make(http.Header)
15587	}
15588	return c.header_
15589}
15590
15591func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
15592	reqHeaders := make(http.Header)
15593	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15594	for k, v := range c.header_ {
15595		reqHeaders[k] = v
15596	}
15597	reqHeaders.Set("User-Agent", c.s.userAgent())
15598	var body io.Reader = nil
15599	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15600	if err != nil {
15601		return nil, err
15602	}
15603	reqHeaders.Set("Content-Type", "application/json")
15604	c.urlParams_.Set("alt", alt)
15605	c.urlParams_.Set("prettyPrint", "false")
15606	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15607	urls += "?" + c.urlParams_.Encode()
15608	req, err := http.NewRequest("PUT", urls, body)
15609	if err != nil {
15610		return nil, err
15611	}
15612	req.Header = reqHeaders
15613	googleapi.Expand(req.URL, map[string]string{
15614		"profileId": strconv.FormatInt(c.profileId, 10),
15615	})
15616	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15617}
15618
15619// Do executes the "dfareporting.accountUserProfiles.update" call.
15620// Exactly one of *AccountUserProfile or error will be non-nil. Any
15621// non-2xx status code is an error. Response headers are in either
15622// *AccountUserProfile.ServerResponse.Header or (if a response was
15623// returned at all) in error.(*googleapi.Error).Header. Use
15624// googleapi.IsNotModified to check whether the returned error was
15625// because http.StatusNotModified was returned.
15626func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15627	gensupport.SetOptions(c.urlParams_, opts...)
15628	res, err := c.doRequest("json")
15629	if res != nil && res.StatusCode == http.StatusNotModified {
15630		if res.Body != nil {
15631			res.Body.Close()
15632		}
15633		return nil, &googleapi.Error{
15634			Code:   res.StatusCode,
15635			Header: res.Header,
15636		}
15637	}
15638	if err != nil {
15639		return nil, err
15640	}
15641	defer googleapi.CloseBody(res)
15642	if err := googleapi.CheckResponse(res); err != nil {
15643		return nil, err
15644	}
15645	ret := &AccountUserProfile{
15646		ServerResponse: googleapi.ServerResponse{
15647			Header:         res.Header,
15648			HTTPStatusCode: res.StatusCode,
15649		},
15650	}
15651	target := &ret
15652	if err := gensupport.DecodeResponse(target, res); err != nil {
15653		return nil, err
15654	}
15655	return ret, nil
15656	// {
15657	//   "description": "Updates an existing account user profile.",
15658	//   "flatPath": "userprofiles/{profileId}/accountUserProfiles",
15659	//   "httpMethod": "PUT",
15660	//   "id": "dfareporting.accountUserProfiles.update",
15661	//   "parameterOrder": [
15662	//     "profileId"
15663	//   ],
15664	//   "parameters": {
15665	//     "profileId": {
15666	//       "description": "User profile ID associated with this request.",
15667	//       "format": "int64",
15668	//       "location": "path",
15669	//       "required": true,
15670	//       "type": "string"
15671	//     }
15672	//   },
15673	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15674	//   "request": {
15675	//     "$ref": "AccountUserProfile"
15676	//   },
15677	//   "response": {
15678	//     "$ref": "AccountUserProfile"
15679	//   },
15680	//   "scopes": [
15681	//     "https://www.googleapis.com/auth/dfatrafficking"
15682	//   ]
15683	// }
15684
15685}
15686
15687// method id "dfareporting.accounts.get":
15688
15689type AccountsGetCall struct {
15690	s            *Service
15691	profileId    int64
15692	id           int64
15693	urlParams_   gensupport.URLParams
15694	ifNoneMatch_ string
15695	ctx_         context.Context
15696	header_      http.Header
15697}
15698
15699// Get: Gets one account by ID.
15700func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
15701	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15702	c.profileId = profileId
15703	c.id = id
15704	return c
15705}
15706
15707// Fields allows partial responses to be retrieved. See
15708// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15709// for more information.
15710func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
15711	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15712	return c
15713}
15714
15715// IfNoneMatch sets the optional parameter which makes the operation
15716// fail if the object's ETag matches the given value. This is useful for
15717// getting updates only after the object has changed since the last
15718// request. Use googleapi.IsNotModified to check whether the response
15719// error from Do is the result of In-None-Match.
15720func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
15721	c.ifNoneMatch_ = entityTag
15722	return c
15723}
15724
15725// Context sets the context to be used in this call's Do method. Any
15726// pending HTTP request will be aborted if the provided context is
15727// canceled.
15728func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
15729	c.ctx_ = ctx
15730	return c
15731}
15732
15733// Header returns an http.Header that can be modified by the caller to
15734// add HTTP headers to the request.
15735func (c *AccountsGetCall) Header() http.Header {
15736	if c.header_ == nil {
15737		c.header_ = make(http.Header)
15738	}
15739	return c.header_
15740}
15741
15742func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
15743	reqHeaders := make(http.Header)
15744	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15745	for k, v := range c.header_ {
15746		reqHeaders[k] = v
15747	}
15748	reqHeaders.Set("User-Agent", c.s.userAgent())
15749	if c.ifNoneMatch_ != "" {
15750		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15751	}
15752	var body io.Reader = nil
15753	c.urlParams_.Set("alt", alt)
15754	c.urlParams_.Set("prettyPrint", "false")
15755	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
15756	urls += "?" + c.urlParams_.Encode()
15757	req, err := http.NewRequest("GET", urls, body)
15758	if err != nil {
15759		return nil, err
15760	}
15761	req.Header = reqHeaders
15762	googleapi.Expand(req.URL, map[string]string{
15763		"profileId": strconv.FormatInt(c.profileId, 10),
15764		"id":        strconv.FormatInt(c.id, 10),
15765	})
15766	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15767}
15768
15769// Do executes the "dfareporting.accounts.get" call.
15770// Exactly one of *Account or error will be non-nil. Any non-2xx status
15771// code is an error. Response headers are in either
15772// *Account.ServerResponse.Header or (if a response was returned at all)
15773// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15774// check whether the returned error was because http.StatusNotModified
15775// was returned.
15776func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
15777	gensupport.SetOptions(c.urlParams_, opts...)
15778	res, err := c.doRequest("json")
15779	if res != nil && res.StatusCode == http.StatusNotModified {
15780		if res.Body != nil {
15781			res.Body.Close()
15782		}
15783		return nil, &googleapi.Error{
15784			Code:   res.StatusCode,
15785			Header: res.Header,
15786		}
15787	}
15788	if err != nil {
15789		return nil, err
15790	}
15791	defer googleapi.CloseBody(res)
15792	if err := googleapi.CheckResponse(res); err != nil {
15793		return nil, err
15794	}
15795	ret := &Account{
15796		ServerResponse: googleapi.ServerResponse{
15797			Header:         res.Header,
15798			HTTPStatusCode: res.StatusCode,
15799		},
15800	}
15801	target := &ret
15802	if err := gensupport.DecodeResponse(target, res); err != nil {
15803		return nil, err
15804	}
15805	return ret, nil
15806	// {
15807	//   "description": "Gets one account by ID.",
15808	//   "flatPath": "userprofiles/{profileId}/accounts/{id}",
15809	//   "httpMethod": "GET",
15810	//   "id": "dfareporting.accounts.get",
15811	//   "parameterOrder": [
15812	//     "profileId",
15813	//     "id"
15814	//   ],
15815	//   "parameters": {
15816	//     "id": {
15817	//       "description": "Account ID.",
15818	//       "format": "int64",
15819	//       "location": "path",
15820	//       "required": true,
15821	//       "type": "string"
15822	//     },
15823	//     "profileId": {
15824	//       "description": "User profile ID associated with this request.",
15825	//       "format": "int64",
15826	//       "location": "path",
15827	//       "required": true,
15828	//       "type": "string"
15829	//     }
15830	//   },
15831	//   "path": "userprofiles/{profileId}/accounts/{id}",
15832	//   "response": {
15833	//     "$ref": "Account"
15834	//   },
15835	//   "scopes": [
15836	//     "https://www.googleapis.com/auth/dfatrafficking"
15837	//   ]
15838	// }
15839
15840}
15841
15842// method id "dfareporting.accounts.list":
15843
15844type AccountsListCall struct {
15845	s            *Service
15846	profileId    int64
15847	urlParams_   gensupport.URLParams
15848	ifNoneMatch_ string
15849	ctx_         context.Context
15850	header_      http.Header
15851}
15852
15853// List: Retrieves the list of accounts, possibly filtered. This method
15854// supports paging.
15855func (r *AccountsService) List(profileId int64) *AccountsListCall {
15856	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15857	c.profileId = profileId
15858	return c
15859}
15860
15861// Active sets the optional parameter "active": Select only active
15862// accounts. Don't set this field to select both active and non-active
15863// accounts.
15864func (c *AccountsListCall) Active(active bool) *AccountsListCall {
15865	c.urlParams_.Set("active", fmt.Sprint(active))
15866	return c
15867}
15868
15869// Ids sets the optional parameter "ids": Select only accounts with
15870// these IDs.
15871func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
15872	var ids_ []string
15873	for _, v := range ids {
15874		ids_ = append(ids_, fmt.Sprint(v))
15875	}
15876	c.urlParams_.SetMulti("ids", ids_)
15877	return c
15878}
15879
15880// MaxResults sets the optional parameter "maxResults": Maximum number
15881// of results to return.
15882func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
15883	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15884	return c
15885}
15886
15887// PageToken sets the optional parameter "pageToken": Value of the
15888// nextPageToken from the previous result page.
15889func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
15890	c.urlParams_.Set("pageToken", pageToken)
15891	return c
15892}
15893
15894// SearchString sets the optional parameter "searchString": Allows
15895// searching for objects by name or ID. Wildcards (*) are allowed. For
15896// example, "account*2015" will return objects with names like "account
15897// June 2015", "account April 2015", or simply "account 2015". Most of
15898// the searches also add wildcards implicitly at the start and the end
15899// of the search string. For example, a search string of "account" will
15900// match objects with name "my account", "account 2015", or simply
15901// "account".
15902func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
15903	c.urlParams_.Set("searchString", searchString)
15904	return c
15905}
15906
15907// SortField sets the optional parameter "sortField": Field by which to
15908// sort the list.
15909//
15910// Possible values:
15911//   "ID" (default)
15912//   "NAME"
15913func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
15914	c.urlParams_.Set("sortField", sortField)
15915	return c
15916}
15917
15918// SortOrder sets the optional parameter "sortOrder": Order of sorted
15919// results.
15920//
15921// Possible values:
15922//   "ASCENDING" (default)
15923//   "DESCENDING"
15924func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
15925	c.urlParams_.Set("sortOrder", sortOrder)
15926	return c
15927}
15928
15929// Fields allows partial responses to be retrieved. See
15930// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15931// for more information.
15932func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
15933	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15934	return c
15935}
15936
15937// IfNoneMatch sets the optional parameter which makes the operation
15938// fail if the object's ETag matches the given value. This is useful for
15939// getting updates only after the object has changed since the last
15940// request. Use googleapi.IsNotModified to check whether the response
15941// error from Do is the result of In-None-Match.
15942func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
15943	c.ifNoneMatch_ = entityTag
15944	return c
15945}
15946
15947// Context sets the context to be used in this call's Do method. Any
15948// pending HTTP request will be aborted if the provided context is
15949// canceled.
15950func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
15951	c.ctx_ = ctx
15952	return c
15953}
15954
15955// Header returns an http.Header that can be modified by the caller to
15956// add HTTP headers to the request.
15957func (c *AccountsListCall) Header() http.Header {
15958	if c.header_ == nil {
15959		c.header_ = make(http.Header)
15960	}
15961	return c.header_
15962}
15963
15964func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
15965	reqHeaders := make(http.Header)
15966	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
15967	for k, v := range c.header_ {
15968		reqHeaders[k] = v
15969	}
15970	reqHeaders.Set("User-Agent", c.s.userAgent())
15971	if c.ifNoneMatch_ != "" {
15972		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15973	}
15974	var body io.Reader = nil
15975	c.urlParams_.Set("alt", alt)
15976	c.urlParams_.Set("prettyPrint", "false")
15977	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
15978	urls += "?" + c.urlParams_.Encode()
15979	req, err := http.NewRequest("GET", urls, body)
15980	if err != nil {
15981		return nil, err
15982	}
15983	req.Header = reqHeaders
15984	googleapi.Expand(req.URL, map[string]string{
15985		"profileId": strconv.FormatInt(c.profileId, 10),
15986	})
15987	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15988}
15989
15990// Do executes the "dfareporting.accounts.list" call.
15991// Exactly one of *AccountsListResponse or error will be non-nil. Any
15992// non-2xx status code is an error. Response headers are in either
15993// *AccountsListResponse.ServerResponse.Header or (if a response was
15994// returned at all) in error.(*googleapi.Error).Header. Use
15995// googleapi.IsNotModified to check whether the returned error was
15996// because http.StatusNotModified was returned.
15997func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
15998	gensupport.SetOptions(c.urlParams_, opts...)
15999	res, err := c.doRequest("json")
16000	if res != nil && res.StatusCode == http.StatusNotModified {
16001		if res.Body != nil {
16002			res.Body.Close()
16003		}
16004		return nil, &googleapi.Error{
16005			Code:   res.StatusCode,
16006			Header: res.Header,
16007		}
16008	}
16009	if err != nil {
16010		return nil, err
16011	}
16012	defer googleapi.CloseBody(res)
16013	if err := googleapi.CheckResponse(res); err != nil {
16014		return nil, err
16015	}
16016	ret := &AccountsListResponse{
16017		ServerResponse: googleapi.ServerResponse{
16018			Header:         res.Header,
16019			HTTPStatusCode: res.StatusCode,
16020		},
16021	}
16022	target := &ret
16023	if err := gensupport.DecodeResponse(target, res); err != nil {
16024		return nil, err
16025	}
16026	return ret, nil
16027	// {
16028	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
16029	//   "flatPath": "userprofiles/{profileId}/accounts",
16030	//   "httpMethod": "GET",
16031	//   "id": "dfareporting.accounts.list",
16032	//   "parameterOrder": [
16033	//     "profileId"
16034	//   ],
16035	//   "parameters": {
16036	//     "active": {
16037	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
16038	//       "location": "query",
16039	//       "type": "boolean"
16040	//     },
16041	//     "ids": {
16042	//       "description": "Select only accounts with these IDs.",
16043	//       "format": "int64",
16044	//       "location": "query",
16045	//       "repeated": true,
16046	//       "type": "string"
16047	//     },
16048	//     "maxResults": {
16049	//       "default": "1000",
16050	//       "description": "Maximum number of results to return.",
16051	//       "format": "int32",
16052	//       "location": "query",
16053	//       "maximum": "1000",
16054	//       "minimum": "0",
16055	//       "type": "integer"
16056	//     },
16057	//     "pageToken": {
16058	//       "description": "Value of the nextPageToken from the previous result page.",
16059	//       "location": "query",
16060	//       "type": "string"
16061	//     },
16062	//     "profileId": {
16063	//       "description": "User profile ID associated with this request.",
16064	//       "format": "int64",
16065	//       "location": "path",
16066	//       "required": true,
16067	//       "type": "string"
16068	//     },
16069	//     "searchString": {
16070	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"account*2015\" will return objects with names like \"account June 2015\", \"account April 2015\", or simply \"account 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"account\" will match objects with name \"my account\", \"account 2015\", or simply \"account\".",
16071	//       "location": "query",
16072	//       "type": "string"
16073	//     },
16074	//     "sortField": {
16075	//       "default": "ID",
16076	//       "description": "Field by which to sort the list.",
16077	//       "enum": [
16078	//         "ID",
16079	//         "NAME"
16080	//       ],
16081	//       "enumDescriptions": [
16082	//         "",
16083	//         ""
16084	//       ],
16085	//       "location": "query",
16086	//       "type": "string"
16087	//     },
16088	//     "sortOrder": {
16089	//       "default": "ASCENDING",
16090	//       "description": "Order of sorted results.",
16091	//       "enum": [
16092	//         "ASCENDING",
16093	//         "DESCENDING"
16094	//       ],
16095	//       "enumDescriptions": [
16096	//         "",
16097	//         ""
16098	//       ],
16099	//       "location": "query",
16100	//       "type": "string"
16101	//     }
16102	//   },
16103	//   "path": "userprofiles/{profileId}/accounts",
16104	//   "response": {
16105	//     "$ref": "AccountsListResponse"
16106	//   },
16107	//   "scopes": [
16108	//     "https://www.googleapis.com/auth/dfatrafficking"
16109	//   ]
16110	// }
16111
16112}
16113
16114// Pages invokes f for each page of results.
16115// A non-nil error returned from f will halt the iteration.
16116// The provided context supersedes any context provided to the Context method.
16117func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
16118	c.ctx_ = ctx
16119	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16120	for {
16121		x, err := c.Do()
16122		if err != nil {
16123			return err
16124		}
16125		if err := f(x); err != nil {
16126			return err
16127		}
16128		if x.NextPageToken == "" {
16129			return nil
16130		}
16131		c.PageToken(x.NextPageToken)
16132	}
16133}
16134
16135// method id "dfareporting.accounts.patch":
16136
16137type AccountsPatchCall struct {
16138	s          *Service
16139	profileId  int64
16140	account    *Account
16141	urlParams_ gensupport.URLParams
16142	ctx_       context.Context
16143	header_    http.Header
16144}
16145
16146// Patch: Updates an existing account. This method supports patch
16147// semantics.
16148func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
16149	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16150	c.profileId = profileId
16151	c.urlParams_.Set("id", fmt.Sprint(id))
16152	c.account = account
16153	return c
16154}
16155
16156// Fields allows partial responses to be retrieved. See
16157// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16158// for more information.
16159func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
16160	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16161	return c
16162}
16163
16164// Context sets the context to be used in this call's Do method. Any
16165// pending HTTP request will be aborted if the provided context is
16166// canceled.
16167func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
16168	c.ctx_ = ctx
16169	return c
16170}
16171
16172// Header returns an http.Header that can be modified by the caller to
16173// add HTTP headers to the request.
16174func (c *AccountsPatchCall) Header() http.Header {
16175	if c.header_ == nil {
16176		c.header_ = make(http.Header)
16177	}
16178	return c.header_
16179}
16180
16181func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
16182	reqHeaders := make(http.Header)
16183	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16184	for k, v := range c.header_ {
16185		reqHeaders[k] = v
16186	}
16187	reqHeaders.Set("User-Agent", c.s.userAgent())
16188	var body io.Reader = nil
16189	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16190	if err != nil {
16191		return nil, err
16192	}
16193	reqHeaders.Set("Content-Type", "application/json")
16194	c.urlParams_.Set("alt", alt)
16195	c.urlParams_.Set("prettyPrint", "false")
16196	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16197	urls += "?" + c.urlParams_.Encode()
16198	req, err := http.NewRequest("PATCH", urls, body)
16199	if err != nil {
16200		return nil, err
16201	}
16202	req.Header = reqHeaders
16203	googleapi.Expand(req.URL, map[string]string{
16204		"profileId": strconv.FormatInt(c.profileId, 10),
16205	})
16206	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16207}
16208
16209// Do executes the "dfareporting.accounts.patch" call.
16210// Exactly one of *Account or error will be non-nil. Any non-2xx status
16211// code is an error. Response headers are in either
16212// *Account.ServerResponse.Header or (if a response was returned at all)
16213// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16214// check whether the returned error was because http.StatusNotModified
16215// was returned.
16216func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16217	gensupport.SetOptions(c.urlParams_, opts...)
16218	res, err := c.doRequest("json")
16219	if res != nil && res.StatusCode == http.StatusNotModified {
16220		if res.Body != nil {
16221			res.Body.Close()
16222		}
16223		return nil, &googleapi.Error{
16224			Code:   res.StatusCode,
16225			Header: res.Header,
16226		}
16227	}
16228	if err != nil {
16229		return nil, err
16230	}
16231	defer googleapi.CloseBody(res)
16232	if err := googleapi.CheckResponse(res); err != nil {
16233		return nil, err
16234	}
16235	ret := &Account{
16236		ServerResponse: googleapi.ServerResponse{
16237			Header:         res.Header,
16238			HTTPStatusCode: res.StatusCode,
16239		},
16240	}
16241	target := &ret
16242	if err := gensupport.DecodeResponse(target, res); err != nil {
16243		return nil, err
16244	}
16245	return ret, nil
16246	// {
16247	//   "description": "Updates an existing account. This method supports patch semantics.",
16248	//   "flatPath": "userprofiles/{profileId}/accounts",
16249	//   "httpMethod": "PATCH",
16250	//   "id": "dfareporting.accounts.patch",
16251	//   "parameterOrder": [
16252	//     "profileId",
16253	//     "id"
16254	//   ],
16255	//   "parameters": {
16256	//     "id": {
16257	//       "description": "Account ID.",
16258	//       "format": "int64",
16259	//       "location": "query",
16260	//       "required": true,
16261	//       "type": "string"
16262	//     },
16263	//     "profileId": {
16264	//       "description": "User profile ID associated with this request.",
16265	//       "format": "int64",
16266	//       "location": "path",
16267	//       "required": true,
16268	//       "type": "string"
16269	//     }
16270	//   },
16271	//   "path": "userprofiles/{profileId}/accounts",
16272	//   "request": {
16273	//     "$ref": "Account"
16274	//   },
16275	//   "response": {
16276	//     "$ref": "Account"
16277	//   },
16278	//   "scopes": [
16279	//     "https://www.googleapis.com/auth/dfatrafficking"
16280	//   ]
16281	// }
16282
16283}
16284
16285// method id "dfareporting.accounts.update":
16286
16287type AccountsUpdateCall struct {
16288	s          *Service
16289	profileId  int64
16290	account    *Account
16291	urlParams_ gensupport.URLParams
16292	ctx_       context.Context
16293	header_    http.Header
16294}
16295
16296// Update: Updates an existing account.
16297func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
16298	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16299	c.profileId = profileId
16300	c.account = account
16301	return c
16302}
16303
16304// Fields allows partial responses to be retrieved. See
16305// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16306// for more information.
16307func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
16308	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16309	return c
16310}
16311
16312// Context sets the context to be used in this call's Do method. Any
16313// pending HTTP request will be aborted if the provided context is
16314// canceled.
16315func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
16316	c.ctx_ = ctx
16317	return c
16318}
16319
16320// Header returns an http.Header that can be modified by the caller to
16321// add HTTP headers to the request.
16322func (c *AccountsUpdateCall) Header() http.Header {
16323	if c.header_ == nil {
16324		c.header_ = make(http.Header)
16325	}
16326	return c.header_
16327}
16328
16329func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
16330	reqHeaders := make(http.Header)
16331	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16332	for k, v := range c.header_ {
16333		reqHeaders[k] = v
16334	}
16335	reqHeaders.Set("User-Agent", c.s.userAgent())
16336	var body io.Reader = nil
16337	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16338	if err != nil {
16339		return nil, err
16340	}
16341	reqHeaders.Set("Content-Type", "application/json")
16342	c.urlParams_.Set("alt", alt)
16343	c.urlParams_.Set("prettyPrint", "false")
16344	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16345	urls += "?" + c.urlParams_.Encode()
16346	req, err := http.NewRequest("PUT", urls, body)
16347	if err != nil {
16348		return nil, err
16349	}
16350	req.Header = reqHeaders
16351	googleapi.Expand(req.URL, map[string]string{
16352		"profileId": strconv.FormatInt(c.profileId, 10),
16353	})
16354	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16355}
16356
16357// Do executes the "dfareporting.accounts.update" call.
16358// Exactly one of *Account or error will be non-nil. Any non-2xx status
16359// code is an error. Response headers are in either
16360// *Account.ServerResponse.Header or (if a response was returned at all)
16361// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16362// check whether the returned error was because http.StatusNotModified
16363// was returned.
16364func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16365	gensupport.SetOptions(c.urlParams_, opts...)
16366	res, err := c.doRequest("json")
16367	if res != nil && res.StatusCode == http.StatusNotModified {
16368		if res.Body != nil {
16369			res.Body.Close()
16370		}
16371		return nil, &googleapi.Error{
16372			Code:   res.StatusCode,
16373			Header: res.Header,
16374		}
16375	}
16376	if err != nil {
16377		return nil, err
16378	}
16379	defer googleapi.CloseBody(res)
16380	if err := googleapi.CheckResponse(res); err != nil {
16381		return nil, err
16382	}
16383	ret := &Account{
16384		ServerResponse: googleapi.ServerResponse{
16385			Header:         res.Header,
16386			HTTPStatusCode: res.StatusCode,
16387		},
16388	}
16389	target := &ret
16390	if err := gensupport.DecodeResponse(target, res); err != nil {
16391		return nil, err
16392	}
16393	return ret, nil
16394	// {
16395	//   "description": "Updates an existing account.",
16396	//   "flatPath": "userprofiles/{profileId}/accounts",
16397	//   "httpMethod": "PUT",
16398	//   "id": "dfareporting.accounts.update",
16399	//   "parameterOrder": [
16400	//     "profileId"
16401	//   ],
16402	//   "parameters": {
16403	//     "profileId": {
16404	//       "description": "User profile ID associated with this request.",
16405	//       "format": "int64",
16406	//       "location": "path",
16407	//       "required": true,
16408	//       "type": "string"
16409	//     }
16410	//   },
16411	//   "path": "userprofiles/{profileId}/accounts",
16412	//   "request": {
16413	//     "$ref": "Account"
16414	//   },
16415	//   "response": {
16416	//     "$ref": "Account"
16417	//   },
16418	//   "scopes": [
16419	//     "https://www.googleapis.com/auth/dfatrafficking"
16420	//   ]
16421	// }
16422
16423}
16424
16425// method id "dfareporting.ads.get":
16426
16427type AdsGetCall struct {
16428	s            *Service
16429	profileId    int64
16430	id           int64
16431	urlParams_   gensupport.URLParams
16432	ifNoneMatch_ string
16433	ctx_         context.Context
16434	header_      http.Header
16435}
16436
16437// Get: Gets one ad by ID.
16438func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
16439	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16440	c.profileId = profileId
16441	c.id = id
16442	return c
16443}
16444
16445// Fields allows partial responses to be retrieved. See
16446// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16447// for more information.
16448func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
16449	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16450	return c
16451}
16452
16453// IfNoneMatch sets the optional parameter which makes the operation
16454// fail if the object's ETag matches the given value. This is useful for
16455// getting updates only after the object has changed since the last
16456// request. Use googleapi.IsNotModified to check whether the response
16457// error from Do is the result of In-None-Match.
16458func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
16459	c.ifNoneMatch_ = entityTag
16460	return c
16461}
16462
16463// Context sets the context to be used in this call's Do method. Any
16464// pending HTTP request will be aborted if the provided context is
16465// canceled.
16466func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
16467	c.ctx_ = ctx
16468	return c
16469}
16470
16471// Header returns an http.Header that can be modified by the caller to
16472// add HTTP headers to the request.
16473func (c *AdsGetCall) Header() http.Header {
16474	if c.header_ == nil {
16475		c.header_ = make(http.Header)
16476	}
16477	return c.header_
16478}
16479
16480func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
16481	reqHeaders := make(http.Header)
16482	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16483	for k, v := range c.header_ {
16484		reqHeaders[k] = v
16485	}
16486	reqHeaders.Set("User-Agent", c.s.userAgent())
16487	if c.ifNoneMatch_ != "" {
16488		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16489	}
16490	var body io.Reader = nil
16491	c.urlParams_.Set("alt", alt)
16492	c.urlParams_.Set("prettyPrint", "false")
16493	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
16494	urls += "?" + c.urlParams_.Encode()
16495	req, err := http.NewRequest("GET", urls, body)
16496	if err != nil {
16497		return nil, err
16498	}
16499	req.Header = reqHeaders
16500	googleapi.Expand(req.URL, map[string]string{
16501		"profileId": strconv.FormatInt(c.profileId, 10),
16502		"id":        strconv.FormatInt(c.id, 10),
16503	})
16504	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16505}
16506
16507// Do executes the "dfareporting.ads.get" call.
16508// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16509// is an error. Response headers are in either *Ad.ServerResponse.Header
16510// or (if a response was returned at all) in
16511// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16512// whether the returned error was because http.StatusNotModified was
16513// returned.
16514func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16515	gensupport.SetOptions(c.urlParams_, opts...)
16516	res, err := c.doRequest("json")
16517	if res != nil && res.StatusCode == http.StatusNotModified {
16518		if res.Body != nil {
16519			res.Body.Close()
16520		}
16521		return nil, &googleapi.Error{
16522			Code:   res.StatusCode,
16523			Header: res.Header,
16524		}
16525	}
16526	if err != nil {
16527		return nil, err
16528	}
16529	defer googleapi.CloseBody(res)
16530	if err := googleapi.CheckResponse(res); err != nil {
16531		return nil, err
16532	}
16533	ret := &Ad{
16534		ServerResponse: googleapi.ServerResponse{
16535			Header:         res.Header,
16536			HTTPStatusCode: res.StatusCode,
16537		},
16538	}
16539	target := &ret
16540	if err := gensupport.DecodeResponse(target, res); err != nil {
16541		return nil, err
16542	}
16543	return ret, nil
16544	// {
16545	//   "description": "Gets one ad by ID.",
16546	//   "flatPath": "userprofiles/{profileId}/ads/{id}",
16547	//   "httpMethod": "GET",
16548	//   "id": "dfareporting.ads.get",
16549	//   "parameterOrder": [
16550	//     "profileId",
16551	//     "id"
16552	//   ],
16553	//   "parameters": {
16554	//     "id": {
16555	//       "description": "Ad ID.",
16556	//       "format": "int64",
16557	//       "location": "path",
16558	//       "required": true,
16559	//       "type": "string"
16560	//     },
16561	//     "profileId": {
16562	//       "description": "User profile ID associated with this request.",
16563	//       "format": "int64",
16564	//       "location": "path",
16565	//       "required": true,
16566	//       "type": "string"
16567	//     }
16568	//   },
16569	//   "path": "userprofiles/{profileId}/ads/{id}",
16570	//   "response": {
16571	//     "$ref": "Ad"
16572	//   },
16573	//   "scopes": [
16574	//     "https://www.googleapis.com/auth/dfatrafficking"
16575	//   ]
16576	// }
16577
16578}
16579
16580// method id "dfareporting.ads.insert":
16581
16582type AdsInsertCall struct {
16583	s          *Service
16584	profileId  int64
16585	ad         *Ad
16586	urlParams_ gensupport.URLParams
16587	ctx_       context.Context
16588	header_    http.Header
16589}
16590
16591// Insert: Inserts a new ad.
16592func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
16593	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16594	c.profileId = profileId
16595	c.ad = ad
16596	return c
16597}
16598
16599// Fields allows partial responses to be retrieved. See
16600// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16601// for more information.
16602func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
16603	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16604	return c
16605}
16606
16607// Context sets the context to be used in this call's Do method. Any
16608// pending HTTP request will be aborted if the provided context is
16609// canceled.
16610func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
16611	c.ctx_ = ctx
16612	return c
16613}
16614
16615// Header returns an http.Header that can be modified by the caller to
16616// add HTTP headers to the request.
16617func (c *AdsInsertCall) Header() http.Header {
16618	if c.header_ == nil {
16619		c.header_ = make(http.Header)
16620	}
16621	return c.header_
16622}
16623
16624func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
16625	reqHeaders := make(http.Header)
16626	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
16627	for k, v := range c.header_ {
16628		reqHeaders[k] = v
16629	}
16630	reqHeaders.Set("User-Agent", c.s.userAgent())
16631	var body io.Reader = nil
16632	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
16633	if err != nil {
16634		return nil, err
16635	}
16636	reqHeaders.Set("Content-Type", "application/json")
16637	c.urlParams_.Set("alt", alt)
16638	c.urlParams_.Set("prettyPrint", "false")
16639	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
16640	urls += "?" + c.urlParams_.Encode()
16641	req, err := http.NewRequest("POST", urls, body)
16642	if err != nil {
16643		return nil, err
16644	}
16645	req.Header = reqHeaders
16646	googleapi.Expand(req.URL, map[string]string{
16647		"profileId": strconv.FormatInt(c.profileId, 10),
16648	})
16649	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16650}
16651
16652// Do executes the "dfareporting.ads.insert" call.
16653// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16654// is an error. Response headers are in either *Ad.ServerResponse.Header
16655// or (if a response was returned at all) in
16656// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16657// whether the returned error was because http.StatusNotModified was
16658// returned.
16659func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16660	gensupport.SetOptions(c.urlParams_, opts...)
16661	res, err := c.doRequest("json")
16662	if res != nil && res.StatusCode == http.StatusNotModified {
16663		if res.Body != nil {
16664			res.Body.Close()
16665		}
16666		return nil, &googleapi.Error{
16667			Code:   res.StatusCode,
16668			Header: res.Header,
16669		}
16670	}
16671	if err != nil {
16672		return nil, err
16673	}
16674	defer googleapi.CloseBody(res)
16675	if err := googleapi.CheckResponse(res); err != nil {
16676		return nil, err
16677	}
16678	ret := &Ad{
16679		ServerResponse: googleapi.ServerResponse{
16680			Header:         res.Header,
16681			HTTPStatusCode: res.StatusCode,
16682		},
16683	}
16684	target := &ret
16685	if err := gensupport.DecodeResponse(target, res); err != nil {
16686		return nil, err
16687	}
16688	return ret, nil
16689	// {
16690	//   "description": "Inserts a new ad.",
16691	//   "flatPath": "userprofiles/{profileId}/ads",
16692	//   "httpMethod": "POST",
16693	//   "id": "dfareporting.ads.insert",
16694	//   "parameterOrder": [
16695	//     "profileId"
16696	//   ],
16697	//   "parameters": {
16698	//     "profileId": {
16699	//       "description": "User profile ID associated with this request.",
16700	//       "format": "int64",
16701	//       "location": "path",
16702	//       "required": true,
16703	//       "type": "string"
16704	//     }
16705	//   },
16706	//   "path": "userprofiles/{profileId}/ads",
16707	//   "request": {
16708	//     "$ref": "Ad"
16709	//   },
16710	//   "response": {
16711	//     "$ref": "Ad"
16712	//   },
16713	//   "scopes": [
16714	//     "https://www.googleapis.com/auth/dfatrafficking"
16715	//   ]
16716	// }
16717
16718}
16719
16720// method id "dfareporting.ads.list":
16721
16722type AdsListCall struct {
16723	s            *Service
16724	profileId    int64
16725	urlParams_   gensupport.URLParams
16726	ifNoneMatch_ string
16727	ctx_         context.Context
16728	header_      http.Header
16729}
16730
16731// List: Retrieves a list of ads, possibly filtered. This method
16732// supports paging.
16733func (r *AdsService) List(profileId int64) *AdsListCall {
16734	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16735	c.profileId = profileId
16736	return c
16737}
16738
16739// Active sets the optional parameter "active": Select only active ads.
16740func (c *AdsListCall) Active(active bool) *AdsListCall {
16741	c.urlParams_.Set("active", fmt.Sprint(active))
16742	return c
16743}
16744
16745// AdvertiserId sets the optional parameter "advertiserId": Select only
16746// ads with this advertiser ID.
16747func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
16748	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
16749	return c
16750}
16751
16752// Archived sets the optional parameter "archived": Select only archived
16753// ads.
16754func (c *AdsListCall) Archived(archived bool) *AdsListCall {
16755	c.urlParams_.Set("archived", fmt.Sprint(archived))
16756	return c
16757}
16758
16759// AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
16760// Select only ads with these audience segment IDs.
16761func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
16762	var audienceSegmentIds_ []string
16763	for _, v := range audienceSegmentIds {
16764		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
16765	}
16766	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
16767	return c
16768}
16769
16770// CampaignIds sets the optional parameter "campaignIds": Select only
16771// ads with these campaign IDs.
16772func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
16773	var campaignIds_ []string
16774	for _, v := range campaignIds {
16775		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
16776	}
16777	c.urlParams_.SetMulti("campaignIds", campaignIds_)
16778	return c
16779}
16780
16781// Compatibility sets the optional parameter "compatibility": Select
16782// default ads with the specified compatibility. Applicable when type is
16783// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
16784// rendering either on desktop or on mobile devices for regular or
16785// interstitial ads, respectively. APP and APP_INTERSTITIAL are for
16786// rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
16787// in-stream video ads developed with the VAST standard.
16788//
16789// Possible values:
16790//   "DISPLAY"
16791//   "DISPLAY_INTERSTITIAL"
16792//   "APP"
16793//   "APP_INTERSTITIAL"
16794//   "IN_STREAM_VIDEO"
16795//   "IN_STREAM_AUDIO"
16796func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
16797	c.urlParams_.Set("compatibility", compatibility)
16798	return c
16799}
16800
16801// CreativeIds sets the optional parameter "creativeIds": Select only
16802// ads with these creative IDs assigned.
16803func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
16804	var creativeIds_ []string
16805	for _, v := range creativeIds {
16806		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
16807	}
16808	c.urlParams_.SetMulti("creativeIds", creativeIds_)
16809	return c
16810}
16811
16812// CreativeOptimizationConfigurationIds sets the optional parameter
16813// "creativeOptimizationConfigurationIds": Select only ads with these
16814// creative optimization configuration IDs.
16815func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
16816	var creativeOptimizationConfigurationIds_ []string
16817	for _, v := range creativeOptimizationConfigurationIds {
16818		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
16819	}
16820	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
16821	return c
16822}
16823
16824// DynamicClickTracker sets the optional parameter
16825// "dynamicClickTracker": Select only dynamic click trackers. Applicable
16826// when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
16827// trackers. If false, select static click trackers. Leave unset to
16828// select both.
16829func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
16830	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
16831	return c
16832}
16833
16834// Ids sets the optional parameter "ids": Select only ads with these
16835// IDs.
16836func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
16837	var ids_ []string
16838	for _, v := range ids {
16839		ids_ = append(ids_, fmt.Sprint(v))
16840	}
16841	c.urlParams_.SetMulti("ids", ids_)
16842	return c
16843}
16844
16845// LandingPageIds sets the optional parameter "landingPageIds": Select
16846// only ads with these landing page IDs.
16847func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
16848	var landingPageIds_ []string
16849	for _, v := range landingPageIds {
16850		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
16851	}
16852	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
16853	return c
16854}
16855
16856// MaxResults sets the optional parameter "maxResults": Maximum number
16857// of results to return.
16858func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
16859	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16860	return c
16861}
16862
16863// OverriddenEventTagId sets the optional parameter
16864// "overriddenEventTagId": Select only ads with this event tag override
16865// ID.
16866func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
16867	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
16868	return c
16869}
16870
16871// PageToken sets the optional parameter "pageToken": Value of the
16872// nextPageToken from the previous result page.
16873func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
16874	c.urlParams_.Set("pageToken", pageToken)
16875	return c
16876}
16877
16878// PlacementIds sets the optional parameter "placementIds": Select only
16879// ads with these placement IDs assigned.
16880func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
16881	var placementIds_ []string
16882	for _, v := range placementIds {
16883		placementIds_ = append(placementIds_, fmt.Sprint(v))
16884	}
16885	c.urlParams_.SetMulti("placementIds", placementIds_)
16886	return c
16887}
16888
16889// RemarketingListIds sets the optional parameter "remarketingListIds":
16890// Select only ads whose list targeting expression use these remarketing
16891// list IDs.
16892func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
16893	var remarketingListIds_ []string
16894	for _, v := range remarketingListIds {
16895		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
16896	}
16897	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
16898	return c
16899}
16900
16901// SearchString sets the optional parameter "searchString": Allows
16902// searching for objects by name or ID. Wildcards (*) are allowed. For
16903// example, "ad*2015" will return objects with names like "ad June
16904// 2015", "ad April 2015", or simply "ad 2015". Most of the searches
16905// also add wildcards implicitly at the start and the end of the search
16906// string. For example, a search string of "ad" will match objects with
16907// name "my ad", "ad 2015", or simply "ad".
16908func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
16909	c.urlParams_.Set("searchString", searchString)
16910	return c
16911}
16912
16913// SizeIds sets the optional parameter "sizeIds": Select only ads with
16914// these size IDs.
16915func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
16916	var sizeIds_ []string
16917	for _, v := range sizeIds {
16918		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
16919	}
16920	c.urlParams_.SetMulti("sizeIds", sizeIds_)
16921	return c
16922}
16923
16924// SortField sets the optional parameter "sortField": Field by which to
16925// sort the list.
16926//
16927// Possible values:
16928//   "ID" (default)
16929//   "NAME"
16930func (c *AdsListCall) SortField(sortField string) *AdsListCall {
16931	c.urlParams_.Set("sortField", sortField)
16932	return c
16933}
16934
16935// SortOrder sets the optional parameter "sortOrder": Order of sorted
16936// results.
16937//
16938// Possible values:
16939//   "ASCENDING" (default)
16940//   "DESCENDING"
16941func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
16942	c.urlParams_.Set("sortOrder", sortOrder)
16943	return c
16944}
16945
16946// SslCompliant sets the optional parameter "sslCompliant": Select only
16947// ads that are SSL-compliant.
16948func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
16949	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
16950	return c
16951}
16952
16953// SslRequired sets the optional parameter "sslRequired": Select only
16954// ads that require SSL.
16955func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
16956	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
16957	return c
16958}
16959
16960// Type sets the optional parameter "type": Select only ads with these
16961// types.
16962//
16963// Possible values:
16964//   "AD_SERVING_STANDARD_AD"
16965//   "AD_SERVING_DEFAULT_AD"
16966//   "AD_SERVING_CLICK_TRACKER"
16967//   "AD_SERVING_TRACKING"
16968//   "AD_SERVING_BRAND_SAFE_AD"
16969func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
16970	c.urlParams_.SetMulti("type", append([]string{}, type_...))
16971	return c
16972}
16973
16974// Fields allows partial responses to be retrieved. See
16975// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16976// for more information.
16977func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
16978	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16979	return c
16980}
16981
16982// IfNoneMatch sets the optional parameter which makes the operation
16983// fail if the object's ETag matches the given value. This is useful for
16984// getting updates only after the object has changed since the last
16985// request. Use googleapi.IsNotModified to check whether the response
16986// error from Do is the result of In-None-Match.
16987func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
16988	c.ifNoneMatch_ = entityTag
16989	return c
16990}
16991
16992// Context sets the context to be used in this call's Do method. Any
16993// pending HTTP request will be aborted if the provided context is
16994// canceled.
16995func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
16996	c.ctx_ = ctx
16997	return c
16998}
16999
17000// Header returns an http.Header that can be modified by the caller to
17001// add HTTP headers to the request.
17002func (c *AdsListCall) Header() http.Header {
17003	if c.header_ == nil {
17004		c.header_ = make(http.Header)
17005	}
17006	return c.header_
17007}
17008
17009func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
17010	reqHeaders := make(http.Header)
17011	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17012	for k, v := range c.header_ {
17013		reqHeaders[k] = v
17014	}
17015	reqHeaders.Set("User-Agent", c.s.userAgent())
17016	if c.ifNoneMatch_ != "" {
17017		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17018	}
17019	var body io.Reader = nil
17020	c.urlParams_.Set("alt", alt)
17021	c.urlParams_.Set("prettyPrint", "false")
17022	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17023	urls += "?" + c.urlParams_.Encode()
17024	req, err := http.NewRequest("GET", urls, body)
17025	if err != nil {
17026		return nil, err
17027	}
17028	req.Header = reqHeaders
17029	googleapi.Expand(req.URL, map[string]string{
17030		"profileId": strconv.FormatInt(c.profileId, 10),
17031	})
17032	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17033}
17034
17035// Do executes the "dfareporting.ads.list" call.
17036// Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
17037// status code is an error. Response headers are in either
17038// *AdsListResponse.ServerResponse.Header or (if a response was returned
17039// at all) in error.(*googleapi.Error).Header. Use
17040// googleapi.IsNotModified to check whether the returned error was
17041// because http.StatusNotModified was returned.
17042func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
17043	gensupport.SetOptions(c.urlParams_, opts...)
17044	res, err := c.doRequest("json")
17045	if res != nil && res.StatusCode == http.StatusNotModified {
17046		if res.Body != nil {
17047			res.Body.Close()
17048		}
17049		return nil, &googleapi.Error{
17050			Code:   res.StatusCode,
17051			Header: res.Header,
17052		}
17053	}
17054	if err != nil {
17055		return nil, err
17056	}
17057	defer googleapi.CloseBody(res)
17058	if err := googleapi.CheckResponse(res); err != nil {
17059		return nil, err
17060	}
17061	ret := &AdsListResponse{
17062		ServerResponse: googleapi.ServerResponse{
17063			Header:         res.Header,
17064			HTTPStatusCode: res.StatusCode,
17065		},
17066	}
17067	target := &ret
17068	if err := gensupport.DecodeResponse(target, res); err != nil {
17069		return nil, err
17070	}
17071	return ret, nil
17072	// {
17073	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
17074	//   "flatPath": "userprofiles/{profileId}/ads",
17075	//   "httpMethod": "GET",
17076	//   "id": "dfareporting.ads.list",
17077	//   "parameterOrder": [
17078	//     "profileId"
17079	//   ],
17080	//   "parameters": {
17081	//     "active": {
17082	//       "description": "Select only active ads.",
17083	//       "location": "query",
17084	//       "type": "boolean"
17085	//     },
17086	//     "advertiserId": {
17087	//       "description": "Select only ads with this advertiser ID.",
17088	//       "format": "int64",
17089	//       "location": "query",
17090	//       "type": "string"
17091	//     },
17092	//     "archived": {
17093	//       "description": "Select only archived ads.",
17094	//       "location": "query",
17095	//       "type": "boolean"
17096	//     },
17097	//     "audienceSegmentIds": {
17098	//       "description": "Select only ads with these audience segment IDs.",
17099	//       "format": "int64",
17100	//       "location": "query",
17101	//       "repeated": true,
17102	//       "type": "string"
17103	//     },
17104	//     "campaignIds": {
17105	//       "description": "Select only ads with these campaign IDs.",
17106	//       "format": "int64",
17107	//       "location": "query",
17108	//       "repeated": true,
17109	//       "type": "string"
17110	//     },
17111	//     "compatibility": {
17112	//       "description": "Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.",
17113	//       "enum": [
17114	//         "DISPLAY",
17115	//         "DISPLAY_INTERSTITIAL",
17116	//         "APP",
17117	//         "APP_INTERSTITIAL",
17118	//         "IN_STREAM_VIDEO",
17119	//         "IN_STREAM_AUDIO"
17120	//       ],
17121	//       "enumDescriptions": [
17122	//         "",
17123	//         "",
17124	//         "",
17125	//         "",
17126	//         "",
17127	//         ""
17128	//       ],
17129	//       "location": "query",
17130	//       "type": "string"
17131	//     },
17132	//     "creativeIds": {
17133	//       "description": "Select only ads with these creative IDs assigned.",
17134	//       "format": "int64",
17135	//       "location": "query",
17136	//       "repeated": true,
17137	//       "type": "string"
17138	//     },
17139	//     "creativeOptimizationConfigurationIds": {
17140	//       "description": "Select only ads with these creative optimization configuration IDs.",
17141	//       "format": "int64",
17142	//       "location": "query",
17143	//       "repeated": true,
17144	//       "type": "string"
17145	//     },
17146	//     "dynamicClickTracker": {
17147	//       "description": "Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both.",
17148	//       "location": "query",
17149	//       "type": "boolean"
17150	//     },
17151	//     "ids": {
17152	//       "description": "Select only ads with these IDs.",
17153	//       "format": "int64",
17154	//       "location": "query",
17155	//       "repeated": true,
17156	//       "type": "string"
17157	//     },
17158	//     "landingPageIds": {
17159	//       "description": "Select only ads with these landing page IDs.",
17160	//       "format": "int64",
17161	//       "location": "query",
17162	//       "repeated": true,
17163	//       "type": "string"
17164	//     },
17165	//     "maxResults": {
17166	//       "default": "1000",
17167	//       "description": "Maximum number of results to return.",
17168	//       "format": "int32",
17169	//       "location": "query",
17170	//       "maximum": "1000",
17171	//       "minimum": "0",
17172	//       "type": "integer"
17173	//     },
17174	//     "overriddenEventTagId": {
17175	//       "description": "Select only ads with this event tag override ID.",
17176	//       "format": "int64",
17177	//       "location": "query",
17178	//       "type": "string"
17179	//     },
17180	//     "pageToken": {
17181	//       "description": "Value of the nextPageToken from the previous result page.",
17182	//       "location": "query",
17183	//       "type": "string"
17184	//     },
17185	//     "placementIds": {
17186	//       "description": "Select only ads with these placement IDs assigned.",
17187	//       "format": "int64",
17188	//       "location": "query",
17189	//       "repeated": true,
17190	//       "type": "string"
17191	//     },
17192	//     "profileId": {
17193	//       "description": "User profile ID associated with this request.",
17194	//       "format": "int64",
17195	//       "location": "path",
17196	//       "required": true,
17197	//       "type": "string"
17198	//     },
17199	//     "remarketingListIds": {
17200	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
17201	//       "format": "int64",
17202	//       "location": "query",
17203	//       "repeated": true,
17204	//       "type": "string"
17205	//     },
17206	//     "searchString": {
17207	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"ad*2015\" will return objects with names like \"ad June 2015\", \"ad April 2015\", or simply \"ad 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"ad\" will match objects with name \"my ad\", \"ad 2015\", or simply \"ad\".",
17208	//       "location": "query",
17209	//       "type": "string"
17210	//     },
17211	//     "sizeIds": {
17212	//       "description": "Select only ads with these size IDs.",
17213	//       "format": "int64",
17214	//       "location": "query",
17215	//       "repeated": true,
17216	//       "type": "string"
17217	//     },
17218	//     "sortField": {
17219	//       "default": "ID",
17220	//       "description": "Field by which to sort the list.",
17221	//       "enum": [
17222	//         "ID",
17223	//         "NAME"
17224	//       ],
17225	//       "enumDescriptions": [
17226	//         "",
17227	//         ""
17228	//       ],
17229	//       "location": "query",
17230	//       "type": "string"
17231	//     },
17232	//     "sortOrder": {
17233	//       "default": "ASCENDING",
17234	//       "description": "Order of sorted results.",
17235	//       "enum": [
17236	//         "ASCENDING",
17237	//         "DESCENDING"
17238	//       ],
17239	//       "enumDescriptions": [
17240	//         "",
17241	//         ""
17242	//       ],
17243	//       "location": "query",
17244	//       "type": "string"
17245	//     },
17246	//     "sslCompliant": {
17247	//       "description": "Select only ads that are SSL-compliant.",
17248	//       "location": "query",
17249	//       "type": "boolean"
17250	//     },
17251	//     "sslRequired": {
17252	//       "description": "Select only ads that require SSL.",
17253	//       "location": "query",
17254	//       "type": "boolean"
17255	//     },
17256	//     "type": {
17257	//       "description": "Select only ads with these types.",
17258	//       "enum": [
17259	//         "AD_SERVING_STANDARD_AD",
17260	//         "AD_SERVING_DEFAULT_AD",
17261	//         "AD_SERVING_CLICK_TRACKER",
17262	//         "AD_SERVING_TRACKING",
17263	//         "AD_SERVING_BRAND_SAFE_AD"
17264	//       ],
17265	//       "enumDescriptions": [
17266	//         "",
17267	//         "",
17268	//         "",
17269	//         "",
17270	//         ""
17271	//       ],
17272	//       "location": "query",
17273	//       "repeated": true,
17274	//       "type": "string"
17275	//     }
17276	//   },
17277	//   "path": "userprofiles/{profileId}/ads",
17278	//   "response": {
17279	//     "$ref": "AdsListResponse"
17280	//   },
17281	//   "scopes": [
17282	//     "https://www.googleapis.com/auth/dfatrafficking"
17283	//   ]
17284	// }
17285
17286}
17287
17288// Pages invokes f for each page of results.
17289// A non-nil error returned from f will halt the iteration.
17290// The provided context supersedes any context provided to the Context method.
17291func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
17292	c.ctx_ = ctx
17293	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17294	for {
17295		x, err := c.Do()
17296		if err != nil {
17297			return err
17298		}
17299		if err := f(x); err != nil {
17300			return err
17301		}
17302		if x.NextPageToken == "" {
17303			return nil
17304		}
17305		c.PageToken(x.NextPageToken)
17306	}
17307}
17308
17309// method id "dfareporting.ads.patch":
17310
17311type AdsPatchCall struct {
17312	s          *Service
17313	profileId  int64
17314	ad         *Ad
17315	urlParams_ gensupport.URLParams
17316	ctx_       context.Context
17317	header_    http.Header
17318}
17319
17320// Patch: Updates an existing ad. This method supports patch semantics.
17321func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
17322	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17323	c.profileId = profileId
17324	c.urlParams_.Set("id", fmt.Sprint(id))
17325	c.ad = ad
17326	return c
17327}
17328
17329// Fields allows partial responses to be retrieved. See
17330// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17331// for more information.
17332func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
17333	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17334	return c
17335}
17336
17337// Context sets the context to be used in this call's Do method. Any
17338// pending HTTP request will be aborted if the provided context is
17339// canceled.
17340func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
17341	c.ctx_ = ctx
17342	return c
17343}
17344
17345// Header returns an http.Header that can be modified by the caller to
17346// add HTTP headers to the request.
17347func (c *AdsPatchCall) Header() http.Header {
17348	if c.header_ == nil {
17349		c.header_ = make(http.Header)
17350	}
17351	return c.header_
17352}
17353
17354func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
17355	reqHeaders := make(http.Header)
17356	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17357	for k, v := range c.header_ {
17358		reqHeaders[k] = v
17359	}
17360	reqHeaders.Set("User-Agent", c.s.userAgent())
17361	var body io.Reader = nil
17362	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17363	if err != nil {
17364		return nil, err
17365	}
17366	reqHeaders.Set("Content-Type", "application/json")
17367	c.urlParams_.Set("alt", alt)
17368	c.urlParams_.Set("prettyPrint", "false")
17369	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17370	urls += "?" + c.urlParams_.Encode()
17371	req, err := http.NewRequest("PATCH", urls, body)
17372	if err != nil {
17373		return nil, err
17374	}
17375	req.Header = reqHeaders
17376	googleapi.Expand(req.URL, map[string]string{
17377		"profileId": strconv.FormatInt(c.profileId, 10),
17378	})
17379	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17380}
17381
17382// Do executes the "dfareporting.ads.patch" call.
17383// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17384// is an error. Response headers are in either *Ad.ServerResponse.Header
17385// or (if a response was returned at all) in
17386// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17387// whether the returned error was because http.StatusNotModified was
17388// returned.
17389func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17390	gensupport.SetOptions(c.urlParams_, opts...)
17391	res, err := c.doRequest("json")
17392	if res != nil && res.StatusCode == http.StatusNotModified {
17393		if res.Body != nil {
17394			res.Body.Close()
17395		}
17396		return nil, &googleapi.Error{
17397			Code:   res.StatusCode,
17398			Header: res.Header,
17399		}
17400	}
17401	if err != nil {
17402		return nil, err
17403	}
17404	defer googleapi.CloseBody(res)
17405	if err := googleapi.CheckResponse(res); err != nil {
17406		return nil, err
17407	}
17408	ret := &Ad{
17409		ServerResponse: googleapi.ServerResponse{
17410			Header:         res.Header,
17411			HTTPStatusCode: res.StatusCode,
17412		},
17413	}
17414	target := &ret
17415	if err := gensupport.DecodeResponse(target, res); err != nil {
17416		return nil, err
17417	}
17418	return ret, nil
17419	// {
17420	//   "description": "Updates an existing ad. This method supports patch semantics.",
17421	//   "flatPath": "userprofiles/{profileId}/ads",
17422	//   "httpMethod": "PATCH",
17423	//   "id": "dfareporting.ads.patch",
17424	//   "parameterOrder": [
17425	//     "profileId",
17426	//     "id"
17427	//   ],
17428	//   "parameters": {
17429	//     "id": {
17430	//       "description": "Ad ID.",
17431	//       "format": "int64",
17432	//       "location": "query",
17433	//       "required": true,
17434	//       "type": "string"
17435	//     },
17436	//     "profileId": {
17437	//       "description": "User profile ID associated with this request.",
17438	//       "format": "int64",
17439	//       "location": "path",
17440	//       "required": true,
17441	//       "type": "string"
17442	//     }
17443	//   },
17444	//   "path": "userprofiles/{profileId}/ads",
17445	//   "request": {
17446	//     "$ref": "Ad"
17447	//   },
17448	//   "response": {
17449	//     "$ref": "Ad"
17450	//   },
17451	//   "scopes": [
17452	//     "https://www.googleapis.com/auth/dfatrafficking"
17453	//   ]
17454	// }
17455
17456}
17457
17458// method id "dfareporting.ads.update":
17459
17460type AdsUpdateCall struct {
17461	s          *Service
17462	profileId  int64
17463	ad         *Ad
17464	urlParams_ gensupport.URLParams
17465	ctx_       context.Context
17466	header_    http.Header
17467}
17468
17469// Update: Updates an existing ad.
17470func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
17471	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17472	c.profileId = profileId
17473	c.ad = ad
17474	return c
17475}
17476
17477// Fields allows partial responses to be retrieved. See
17478// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17479// for more information.
17480func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
17481	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17482	return c
17483}
17484
17485// Context sets the context to be used in this call's Do method. Any
17486// pending HTTP request will be aborted if the provided context is
17487// canceled.
17488func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
17489	c.ctx_ = ctx
17490	return c
17491}
17492
17493// Header returns an http.Header that can be modified by the caller to
17494// add HTTP headers to the request.
17495func (c *AdsUpdateCall) Header() http.Header {
17496	if c.header_ == nil {
17497		c.header_ = make(http.Header)
17498	}
17499	return c.header_
17500}
17501
17502func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
17503	reqHeaders := make(http.Header)
17504	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17505	for k, v := range c.header_ {
17506		reqHeaders[k] = v
17507	}
17508	reqHeaders.Set("User-Agent", c.s.userAgent())
17509	var body io.Reader = nil
17510	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17511	if err != nil {
17512		return nil, err
17513	}
17514	reqHeaders.Set("Content-Type", "application/json")
17515	c.urlParams_.Set("alt", alt)
17516	c.urlParams_.Set("prettyPrint", "false")
17517	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17518	urls += "?" + c.urlParams_.Encode()
17519	req, err := http.NewRequest("PUT", urls, body)
17520	if err != nil {
17521		return nil, err
17522	}
17523	req.Header = reqHeaders
17524	googleapi.Expand(req.URL, map[string]string{
17525		"profileId": strconv.FormatInt(c.profileId, 10),
17526	})
17527	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17528}
17529
17530// Do executes the "dfareporting.ads.update" call.
17531// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17532// is an error. Response headers are in either *Ad.ServerResponse.Header
17533// or (if a response was returned at all) in
17534// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17535// whether the returned error was because http.StatusNotModified was
17536// returned.
17537func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17538	gensupport.SetOptions(c.urlParams_, opts...)
17539	res, err := c.doRequest("json")
17540	if res != nil && res.StatusCode == http.StatusNotModified {
17541		if res.Body != nil {
17542			res.Body.Close()
17543		}
17544		return nil, &googleapi.Error{
17545			Code:   res.StatusCode,
17546			Header: res.Header,
17547		}
17548	}
17549	if err != nil {
17550		return nil, err
17551	}
17552	defer googleapi.CloseBody(res)
17553	if err := googleapi.CheckResponse(res); err != nil {
17554		return nil, err
17555	}
17556	ret := &Ad{
17557		ServerResponse: googleapi.ServerResponse{
17558			Header:         res.Header,
17559			HTTPStatusCode: res.StatusCode,
17560		},
17561	}
17562	target := &ret
17563	if err := gensupport.DecodeResponse(target, res); err != nil {
17564		return nil, err
17565	}
17566	return ret, nil
17567	// {
17568	//   "description": "Updates an existing ad.",
17569	//   "flatPath": "userprofiles/{profileId}/ads",
17570	//   "httpMethod": "PUT",
17571	//   "id": "dfareporting.ads.update",
17572	//   "parameterOrder": [
17573	//     "profileId"
17574	//   ],
17575	//   "parameters": {
17576	//     "profileId": {
17577	//       "description": "User profile ID associated with this request.",
17578	//       "format": "int64",
17579	//       "location": "path",
17580	//       "required": true,
17581	//       "type": "string"
17582	//     }
17583	//   },
17584	//   "path": "userprofiles/{profileId}/ads",
17585	//   "request": {
17586	//     "$ref": "Ad"
17587	//   },
17588	//   "response": {
17589	//     "$ref": "Ad"
17590	//   },
17591	//   "scopes": [
17592	//     "https://www.googleapis.com/auth/dfatrafficking"
17593	//   ]
17594	// }
17595
17596}
17597
17598// method id "dfareporting.advertiserGroups.delete":
17599
17600type AdvertiserGroupsDeleteCall struct {
17601	s          *Service
17602	profileId  int64
17603	id         int64
17604	urlParams_ gensupport.URLParams
17605	ctx_       context.Context
17606	header_    http.Header
17607}
17608
17609// Delete: Deletes an existing advertiser group.
17610func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
17611	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17612	c.profileId = profileId
17613	c.id = id
17614	return c
17615}
17616
17617// Fields allows partial responses to be retrieved. See
17618// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17619// for more information.
17620func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
17621	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17622	return c
17623}
17624
17625// Context sets the context to be used in this call's Do method. Any
17626// pending HTTP request will be aborted if the provided context is
17627// canceled.
17628func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
17629	c.ctx_ = ctx
17630	return c
17631}
17632
17633// Header returns an http.Header that can be modified by the caller to
17634// add HTTP headers to the request.
17635func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
17636	if c.header_ == nil {
17637		c.header_ = make(http.Header)
17638	}
17639	return c.header_
17640}
17641
17642func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
17643	reqHeaders := make(http.Header)
17644	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17645	for k, v := range c.header_ {
17646		reqHeaders[k] = v
17647	}
17648	reqHeaders.Set("User-Agent", c.s.userAgent())
17649	var body io.Reader = nil
17650	c.urlParams_.Set("alt", alt)
17651	c.urlParams_.Set("prettyPrint", "false")
17652	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17653	urls += "?" + c.urlParams_.Encode()
17654	req, err := http.NewRequest("DELETE", urls, body)
17655	if err != nil {
17656		return nil, err
17657	}
17658	req.Header = reqHeaders
17659	googleapi.Expand(req.URL, map[string]string{
17660		"profileId": strconv.FormatInt(c.profileId, 10),
17661		"id":        strconv.FormatInt(c.id, 10),
17662	})
17663	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17664}
17665
17666// Do executes the "dfareporting.advertiserGroups.delete" call.
17667func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
17668	gensupport.SetOptions(c.urlParams_, opts...)
17669	res, err := c.doRequest("json")
17670	if err != nil {
17671		return err
17672	}
17673	defer googleapi.CloseBody(res)
17674	if err := googleapi.CheckResponse(res); err != nil {
17675		return err
17676	}
17677	return nil
17678	// {
17679	//   "description": "Deletes an existing advertiser group.",
17680	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17681	//   "httpMethod": "DELETE",
17682	//   "id": "dfareporting.advertiserGroups.delete",
17683	//   "parameterOrder": [
17684	//     "profileId",
17685	//     "id"
17686	//   ],
17687	//   "parameters": {
17688	//     "id": {
17689	//       "description": "Advertiser group ID.",
17690	//       "format": "int64",
17691	//       "location": "path",
17692	//       "required": true,
17693	//       "type": "string"
17694	//     },
17695	//     "profileId": {
17696	//       "description": "User profile ID associated with this request.",
17697	//       "format": "int64",
17698	//       "location": "path",
17699	//       "required": true,
17700	//       "type": "string"
17701	//     }
17702	//   },
17703	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17704	//   "scopes": [
17705	//     "https://www.googleapis.com/auth/dfatrafficking"
17706	//   ]
17707	// }
17708
17709}
17710
17711// method id "dfareporting.advertiserGroups.get":
17712
17713type AdvertiserGroupsGetCall struct {
17714	s            *Service
17715	profileId    int64
17716	id           int64
17717	urlParams_   gensupport.URLParams
17718	ifNoneMatch_ string
17719	ctx_         context.Context
17720	header_      http.Header
17721}
17722
17723// Get: Gets one advertiser group by ID.
17724func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
17725	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17726	c.profileId = profileId
17727	c.id = id
17728	return c
17729}
17730
17731// Fields allows partial responses to be retrieved. See
17732// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17733// for more information.
17734func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
17735	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17736	return c
17737}
17738
17739// IfNoneMatch sets the optional parameter which makes the operation
17740// fail if the object's ETag matches the given value. This is useful for
17741// getting updates only after the object has changed since the last
17742// request. Use googleapi.IsNotModified to check whether the response
17743// error from Do is the result of In-None-Match.
17744func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
17745	c.ifNoneMatch_ = entityTag
17746	return c
17747}
17748
17749// Context sets the context to be used in this call's Do method. Any
17750// pending HTTP request will be aborted if the provided context is
17751// canceled.
17752func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
17753	c.ctx_ = ctx
17754	return c
17755}
17756
17757// Header returns an http.Header that can be modified by the caller to
17758// add HTTP headers to the request.
17759func (c *AdvertiserGroupsGetCall) Header() http.Header {
17760	if c.header_ == nil {
17761		c.header_ = make(http.Header)
17762	}
17763	return c.header_
17764}
17765
17766func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
17767	reqHeaders := make(http.Header)
17768	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17769	for k, v := range c.header_ {
17770		reqHeaders[k] = v
17771	}
17772	reqHeaders.Set("User-Agent", c.s.userAgent())
17773	if c.ifNoneMatch_ != "" {
17774		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17775	}
17776	var body io.Reader = nil
17777	c.urlParams_.Set("alt", alt)
17778	c.urlParams_.Set("prettyPrint", "false")
17779	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17780	urls += "?" + c.urlParams_.Encode()
17781	req, err := http.NewRequest("GET", urls, body)
17782	if err != nil {
17783		return nil, err
17784	}
17785	req.Header = reqHeaders
17786	googleapi.Expand(req.URL, map[string]string{
17787		"profileId": strconv.FormatInt(c.profileId, 10),
17788		"id":        strconv.FormatInt(c.id, 10),
17789	})
17790	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17791}
17792
17793// Do executes the "dfareporting.advertiserGroups.get" call.
17794// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17795// status code is an error. Response headers are in either
17796// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17797// at all) in error.(*googleapi.Error).Header. Use
17798// googleapi.IsNotModified to check whether the returned error was
17799// because http.StatusNotModified was returned.
17800func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17801	gensupport.SetOptions(c.urlParams_, opts...)
17802	res, err := c.doRequest("json")
17803	if res != nil && res.StatusCode == http.StatusNotModified {
17804		if res.Body != nil {
17805			res.Body.Close()
17806		}
17807		return nil, &googleapi.Error{
17808			Code:   res.StatusCode,
17809			Header: res.Header,
17810		}
17811	}
17812	if err != nil {
17813		return nil, err
17814	}
17815	defer googleapi.CloseBody(res)
17816	if err := googleapi.CheckResponse(res); err != nil {
17817		return nil, err
17818	}
17819	ret := &AdvertiserGroup{
17820		ServerResponse: googleapi.ServerResponse{
17821			Header:         res.Header,
17822			HTTPStatusCode: res.StatusCode,
17823		},
17824	}
17825	target := &ret
17826	if err := gensupport.DecodeResponse(target, res); err != nil {
17827		return nil, err
17828	}
17829	return ret, nil
17830	// {
17831	//   "description": "Gets one advertiser group by ID.",
17832	//   "flatPath": "userprofiles/{profileId}/advertiserGroups/{id}",
17833	//   "httpMethod": "GET",
17834	//   "id": "dfareporting.advertiserGroups.get",
17835	//   "parameterOrder": [
17836	//     "profileId",
17837	//     "id"
17838	//   ],
17839	//   "parameters": {
17840	//     "id": {
17841	//       "description": "Advertiser group ID.",
17842	//       "format": "int64",
17843	//       "location": "path",
17844	//       "required": true,
17845	//       "type": "string"
17846	//     },
17847	//     "profileId": {
17848	//       "description": "User profile ID associated with this request.",
17849	//       "format": "int64",
17850	//       "location": "path",
17851	//       "required": true,
17852	//       "type": "string"
17853	//     }
17854	//   },
17855	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17856	//   "response": {
17857	//     "$ref": "AdvertiserGroup"
17858	//   },
17859	//   "scopes": [
17860	//     "https://www.googleapis.com/auth/dfatrafficking"
17861	//   ]
17862	// }
17863
17864}
17865
17866// method id "dfareporting.advertiserGroups.insert":
17867
17868type AdvertiserGroupsInsertCall struct {
17869	s               *Service
17870	profileId       int64
17871	advertisergroup *AdvertiserGroup
17872	urlParams_      gensupport.URLParams
17873	ctx_            context.Context
17874	header_         http.Header
17875}
17876
17877// Insert: Inserts a new advertiser group.
17878func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
17879	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17880	c.profileId = profileId
17881	c.advertisergroup = advertisergroup
17882	return c
17883}
17884
17885// Fields allows partial responses to be retrieved. See
17886// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17887// for more information.
17888func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
17889	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17890	return c
17891}
17892
17893// Context sets the context to be used in this call's Do method. Any
17894// pending HTTP request will be aborted if the provided context is
17895// canceled.
17896func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
17897	c.ctx_ = ctx
17898	return c
17899}
17900
17901// Header returns an http.Header that can be modified by the caller to
17902// add HTTP headers to the request.
17903func (c *AdvertiserGroupsInsertCall) Header() http.Header {
17904	if c.header_ == nil {
17905		c.header_ = make(http.Header)
17906	}
17907	return c.header_
17908}
17909
17910func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
17911	reqHeaders := make(http.Header)
17912	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
17913	for k, v := range c.header_ {
17914		reqHeaders[k] = v
17915	}
17916	reqHeaders.Set("User-Agent", c.s.userAgent())
17917	var body io.Reader = nil
17918	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
17919	if err != nil {
17920		return nil, err
17921	}
17922	reqHeaders.Set("Content-Type", "application/json")
17923	c.urlParams_.Set("alt", alt)
17924	c.urlParams_.Set("prettyPrint", "false")
17925	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
17926	urls += "?" + c.urlParams_.Encode()
17927	req, err := http.NewRequest("POST", urls, body)
17928	if err != nil {
17929		return nil, err
17930	}
17931	req.Header = reqHeaders
17932	googleapi.Expand(req.URL, map[string]string{
17933		"profileId": strconv.FormatInt(c.profileId, 10),
17934	})
17935	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17936}
17937
17938// Do executes the "dfareporting.advertiserGroups.insert" call.
17939// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17940// status code is an error. Response headers are in either
17941// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17942// at all) in error.(*googleapi.Error).Header. Use
17943// googleapi.IsNotModified to check whether the returned error was
17944// because http.StatusNotModified was returned.
17945func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17946	gensupport.SetOptions(c.urlParams_, opts...)
17947	res, err := c.doRequest("json")
17948	if res != nil && res.StatusCode == http.StatusNotModified {
17949		if res.Body != nil {
17950			res.Body.Close()
17951		}
17952		return nil, &googleapi.Error{
17953			Code:   res.StatusCode,
17954			Header: res.Header,
17955		}
17956	}
17957	if err != nil {
17958		return nil, err
17959	}
17960	defer googleapi.CloseBody(res)
17961	if err := googleapi.CheckResponse(res); err != nil {
17962		return nil, err
17963	}
17964	ret := &AdvertiserGroup{
17965		ServerResponse: googleapi.ServerResponse{
17966			Header:         res.Header,
17967			HTTPStatusCode: res.StatusCode,
17968		},
17969	}
17970	target := &ret
17971	if err := gensupport.DecodeResponse(target, res); err != nil {
17972		return nil, err
17973	}
17974	return ret, nil
17975	// {
17976	//   "description": "Inserts a new advertiser group.",
17977	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
17978	//   "httpMethod": "POST",
17979	//   "id": "dfareporting.advertiserGroups.insert",
17980	//   "parameterOrder": [
17981	//     "profileId"
17982	//   ],
17983	//   "parameters": {
17984	//     "profileId": {
17985	//       "description": "User profile ID associated with this request.",
17986	//       "format": "int64",
17987	//       "location": "path",
17988	//       "required": true,
17989	//       "type": "string"
17990	//     }
17991	//   },
17992	//   "path": "userprofiles/{profileId}/advertiserGroups",
17993	//   "request": {
17994	//     "$ref": "AdvertiserGroup"
17995	//   },
17996	//   "response": {
17997	//     "$ref": "AdvertiserGroup"
17998	//   },
17999	//   "scopes": [
18000	//     "https://www.googleapis.com/auth/dfatrafficking"
18001	//   ]
18002	// }
18003
18004}
18005
18006// method id "dfareporting.advertiserGroups.list":
18007
18008type AdvertiserGroupsListCall struct {
18009	s            *Service
18010	profileId    int64
18011	urlParams_   gensupport.URLParams
18012	ifNoneMatch_ string
18013	ctx_         context.Context
18014	header_      http.Header
18015}
18016
18017// List: Retrieves a list of advertiser groups, possibly filtered. This
18018// method supports paging.
18019func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
18020	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18021	c.profileId = profileId
18022	return c
18023}
18024
18025// Ids sets the optional parameter "ids": Select only advertiser groups
18026// with these IDs.
18027func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
18028	var ids_ []string
18029	for _, v := range ids {
18030		ids_ = append(ids_, fmt.Sprint(v))
18031	}
18032	c.urlParams_.SetMulti("ids", ids_)
18033	return c
18034}
18035
18036// MaxResults sets the optional parameter "maxResults": Maximum number
18037// of results to return.
18038func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
18039	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18040	return c
18041}
18042
18043// PageToken sets the optional parameter "pageToken": Value of the
18044// nextPageToken from the previous result page.
18045func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
18046	c.urlParams_.Set("pageToken", pageToken)
18047	return c
18048}
18049
18050// SearchString sets the optional parameter "searchString": Allows
18051// searching for objects by name or ID. Wildcards (*) are allowed. For
18052// example, "advertiser*2015" will return objects with names like
18053// "advertiser group June 2015", "advertiser group April 2015", or
18054// simply "advertiser group 2015". Most of the searches also add
18055// wildcards implicitly at the start and the end of the search string.
18056// For example, a search string of "advertisergroup" will match objects
18057// with name "my advertisergroup", "advertisergroup 2015", or simply
18058// "advertisergroup".
18059func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
18060	c.urlParams_.Set("searchString", searchString)
18061	return c
18062}
18063
18064// SortField sets the optional parameter "sortField": Field by which to
18065// sort the list.
18066//
18067// Possible values:
18068//   "ID" (default)
18069//   "NAME"
18070func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
18071	c.urlParams_.Set("sortField", sortField)
18072	return c
18073}
18074
18075// SortOrder sets the optional parameter "sortOrder": Order of sorted
18076// results.
18077//
18078// Possible values:
18079//   "ASCENDING" (default)
18080//   "DESCENDING"
18081func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
18082	c.urlParams_.Set("sortOrder", sortOrder)
18083	return c
18084}
18085
18086// Fields allows partial responses to be retrieved. See
18087// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18088// for more information.
18089func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
18090	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18091	return c
18092}
18093
18094// IfNoneMatch sets the optional parameter which makes the operation
18095// fail if the object's ETag matches the given value. This is useful for
18096// getting updates only after the object has changed since the last
18097// request. Use googleapi.IsNotModified to check whether the response
18098// error from Do is the result of In-None-Match.
18099func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
18100	c.ifNoneMatch_ = entityTag
18101	return c
18102}
18103
18104// Context sets the context to be used in this call's Do method. Any
18105// pending HTTP request will be aborted if the provided context is
18106// canceled.
18107func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
18108	c.ctx_ = ctx
18109	return c
18110}
18111
18112// Header returns an http.Header that can be modified by the caller to
18113// add HTTP headers to the request.
18114func (c *AdvertiserGroupsListCall) Header() http.Header {
18115	if c.header_ == nil {
18116		c.header_ = make(http.Header)
18117	}
18118	return c.header_
18119}
18120
18121func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
18122	reqHeaders := make(http.Header)
18123	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18124	for k, v := range c.header_ {
18125		reqHeaders[k] = v
18126	}
18127	reqHeaders.Set("User-Agent", c.s.userAgent())
18128	if c.ifNoneMatch_ != "" {
18129		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18130	}
18131	var body io.Reader = nil
18132	c.urlParams_.Set("alt", alt)
18133	c.urlParams_.Set("prettyPrint", "false")
18134	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18135	urls += "?" + c.urlParams_.Encode()
18136	req, err := http.NewRequest("GET", urls, body)
18137	if err != nil {
18138		return nil, err
18139	}
18140	req.Header = reqHeaders
18141	googleapi.Expand(req.URL, map[string]string{
18142		"profileId": strconv.FormatInt(c.profileId, 10),
18143	})
18144	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18145}
18146
18147// Do executes the "dfareporting.advertiserGroups.list" call.
18148// Exactly one of *AdvertiserGroupsListResponse or error will be
18149// non-nil. Any non-2xx status code is an error. Response headers are in
18150// either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
18151// response was returned at all) in error.(*googleapi.Error).Header. Use
18152// googleapi.IsNotModified to check whether the returned error was
18153// because http.StatusNotModified was returned.
18154func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
18155	gensupport.SetOptions(c.urlParams_, opts...)
18156	res, err := c.doRequest("json")
18157	if res != nil && res.StatusCode == http.StatusNotModified {
18158		if res.Body != nil {
18159			res.Body.Close()
18160		}
18161		return nil, &googleapi.Error{
18162			Code:   res.StatusCode,
18163			Header: res.Header,
18164		}
18165	}
18166	if err != nil {
18167		return nil, err
18168	}
18169	defer googleapi.CloseBody(res)
18170	if err := googleapi.CheckResponse(res); err != nil {
18171		return nil, err
18172	}
18173	ret := &AdvertiserGroupsListResponse{
18174		ServerResponse: googleapi.ServerResponse{
18175			Header:         res.Header,
18176			HTTPStatusCode: res.StatusCode,
18177		},
18178	}
18179	target := &ret
18180	if err := gensupport.DecodeResponse(target, res); err != nil {
18181		return nil, err
18182	}
18183	return ret, nil
18184	// {
18185	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
18186	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18187	//   "httpMethod": "GET",
18188	//   "id": "dfareporting.advertiserGroups.list",
18189	//   "parameterOrder": [
18190	//     "profileId"
18191	//   ],
18192	//   "parameters": {
18193	//     "ids": {
18194	//       "description": "Select only advertiser groups with these IDs.",
18195	//       "format": "int64",
18196	//       "location": "query",
18197	//       "repeated": true,
18198	//       "type": "string"
18199	//     },
18200	//     "maxResults": {
18201	//       "default": "1000",
18202	//       "description": "Maximum number of results to return.",
18203	//       "format": "int32",
18204	//       "location": "query",
18205	//       "maximum": "1000",
18206	//       "minimum": "0",
18207	//       "type": "integer"
18208	//     },
18209	//     "pageToken": {
18210	//       "description": "Value of the nextPageToken from the previous result page.",
18211	//       "location": "query",
18212	//       "type": "string"
18213	//     },
18214	//     "profileId": {
18215	//       "description": "User profile ID associated with this request.",
18216	//       "format": "int64",
18217	//       "location": "path",
18218	//       "required": true,
18219	//       "type": "string"
18220	//     },
18221	//     "searchString": {
18222	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser group June 2015\", \"advertiser group April 2015\", or simply \"advertiser group 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertisergroup\" will match objects with name \"my advertisergroup\", \"advertisergroup 2015\", or simply \"advertisergroup\".",
18223	//       "location": "query",
18224	//       "type": "string"
18225	//     },
18226	//     "sortField": {
18227	//       "default": "ID",
18228	//       "description": "Field by which to sort the list.",
18229	//       "enum": [
18230	//         "ID",
18231	//         "NAME"
18232	//       ],
18233	//       "enumDescriptions": [
18234	//         "",
18235	//         ""
18236	//       ],
18237	//       "location": "query",
18238	//       "type": "string"
18239	//     },
18240	//     "sortOrder": {
18241	//       "default": "ASCENDING",
18242	//       "description": "Order of sorted results.",
18243	//       "enum": [
18244	//         "ASCENDING",
18245	//         "DESCENDING"
18246	//       ],
18247	//       "enumDescriptions": [
18248	//         "",
18249	//         ""
18250	//       ],
18251	//       "location": "query",
18252	//       "type": "string"
18253	//     }
18254	//   },
18255	//   "path": "userprofiles/{profileId}/advertiserGroups",
18256	//   "response": {
18257	//     "$ref": "AdvertiserGroupsListResponse"
18258	//   },
18259	//   "scopes": [
18260	//     "https://www.googleapis.com/auth/dfatrafficking"
18261	//   ]
18262	// }
18263
18264}
18265
18266// Pages invokes f for each page of results.
18267// A non-nil error returned from f will halt the iteration.
18268// The provided context supersedes any context provided to the Context method.
18269func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
18270	c.ctx_ = ctx
18271	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18272	for {
18273		x, err := c.Do()
18274		if err != nil {
18275			return err
18276		}
18277		if err := f(x); err != nil {
18278			return err
18279		}
18280		if x.NextPageToken == "" {
18281			return nil
18282		}
18283		c.PageToken(x.NextPageToken)
18284	}
18285}
18286
18287// method id "dfareporting.advertiserGroups.patch":
18288
18289type AdvertiserGroupsPatchCall struct {
18290	s               *Service
18291	profileId       int64
18292	advertisergroup *AdvertiserGroup
18293	urlParams_      gensupport.URLParams
18294	ctx_            context.Context
18295	header_         http.Header
18296}
18297
18298// Patch: Updates an existing advertiser group. This method supports
18299// patch semantics.
18300func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
18301	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18302	c.profileId = profileId
18303	c.urlParams_.Set("id", fmt.Sprint(id))
18304	c.advertisergroup = advertisergroup
18305	return c
18306}
18307
18308// Fields allows partial responses to be retrieved. See
18309// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18310// for more information.
18311func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
18312	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18313	return c
18314}
18315
18316// Context sets the context to be used in this call's Do method. Any
18317// pending HTTP request will be aborted if the provided context is
18318// canceled.
18319func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
18320	c.ctx_ = ctx
18321	return c
18322}
18323
18324// Header returns an http.Header that can be modified by the caller to
18325// add HTTP headers to the request.
18326func (c *AdvertiserGroupsPatchCall) Header() http.Header {
18327	if c.header_ == nil {
18328		c.header_ = make(http.Header)
18329	}
18330	return c.header_
18331}
18332
18333func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
18334	reqHeaders := make(http.Header)
18335	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18336	for k, v := range c.header_ {
18337		reqHeaders[k] = v
18338	}
18339	reqHeaders.Set("User-Agent", c.s.userAgent())
18340	var body io.Reader = nil
18341	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18342	if err != nil {
18343		return nil, err
18344	}
18345	reqHeaders.Set("Content-Type", "application/json")
18346	c.urlParams_.Set("alt", alt)
18347	c.urlParams_.Set("prettyPrint", "false")
18348	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18349	urls += "?" + c.urlParams_.Encode()
18350	req, err := http.NewRequest("PATCH", urls, body)
18351	if err != nil {
18352		return nil, err
18353	}
18354	req.Header = reqHeaders
18355	googleapi.Expand(req.URL, map[string]string{
18356		"profileId": strconv.FormatInt(c.profileId, 10),
18357	})
18358	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18359}
18360
18361// Do executes the "dfareporting.advertiserGroups.patch" call.
18362// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18363// status code is an error. Response headers are in either
18364// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18365// at all) in error.(*googleapi.Error).Header. Use
18366// googleapi.IsNotModified to check whether the returned error was
18367// because http.StatusNotModified was returned.
18368func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18369	gensupport.SetOptions(c.urlParams_, opts...)
18370	res, err := c.doRequest("json")
18371	if res != nil && res.StatusCode == http.StatusNotModified {
18372		if res.Body != nil {
18373			res.Body.Close()
18374		}
18375		return nil, &googleapi.Error{
18376			Code:   res.StatusCode,
18377			Header: res.Header,
18378		}
18379	}
18380	if err != nil {
18381		return nil, err
18382	}
18383	defer googleapi.CloseBody(res)
18384	if err := googleapi.CheckResponse(res); err != nil {
18385		return nil, err
18386	}
18387	ret := &AdvertiserGroup{
18388		ServerResponse: googleapi.ServerResponse{
18389			Header:         res.Header,
18390			HTTPStatusCode: res.StatusCode,
18391		},
18392	}
18393	target := &ret
18394	if err := gensupport.DecodeResponse(target, res); err != nil {
18395		return nil, err
18396	}
18397	return ret, nil
18398	// {
18399	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
18400	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18401	//   "httpMethod": "PATCH",
18402	//   "id": "dfareporting.advertiserGroups.patch",
18403	//   "parameterOrder": [
18404	//     "profileId",
18405	//     "id"
18406	//   ],
18407	//   "parameters": {
18408	//     "id": {
18409	//       "description": "AdvertiserGroup ID.",
18410	//       "format": "int64",
18411	//       "location": "query",
18412	//       "required": true,
18413	//       "type": "string"
18414	//     },
18415	//     "profileId": {
18416	//       "description": "User profile ID associated with this request.",
18417	//       "format": "int64",
18418	//       "location": "path",
18419	//       "required": true,
18420	//       "type": "string"
18421	//     }
18422	//   },
18423	//   "path": "userprofiles/{profileId}/advertiserGroups",
18424	//   "request": {
18425	//     "$ref": "AdvertiserGroup"
18426	//   },
18427	//   "response": {
18428	//     "$ref": "AdvertiserGroup"
18429	//   },
18430	//   "scopes": [
18431	//     "https://www.googleapis.com/auth/dfatrafficking"
18432	//   ]
18433	// }
18434
18435}
18436
18437// method id "dfareporting.advertiserGroups.update":
18438
18439type AdvertiserGroupsUpdateCall struct {
18440	s               *Service
18441	profileId       int64
18442	advertisergroup *AdvertiserGroup
18443	urlParams_      gensupport.URLParams
18444	ctx_            context.Context
18445	header_         http.Header
18446}
18447
18448// Update: Updates an existing advertiser group.
18449func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
18450	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18451	c.profileId = profileId
18452	c.advertisergroup = advertisergroup
18453	return c
18454}
18455
18456// Fields allows partial responses to be retrieved. See
18457// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18458// for more information.
18459func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
18460	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18461	return c
18462}
18463
18464// Context sets the context to be used in this call's Do method. Any
18465// pending HTTP request will be aborted if the provided context is
18466// canceled.
18467func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
18468	c.ctx_ = ctx
18469	return c
18470}
18471
18472// Header returns an http.Header that can be modified by the caller to
18473// add HTTP headers to the request.
18474func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
18475	if c.header_ == nil {
18476		c.header_ = make(http.Header)
18477	}
18478	return c.header_
18479}
18480
18481func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
18482	reqHeaders := make(http.Header)
18483	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18484	for k, v := range c.header_ {
18485		reqHeaders[k] = v
18486	}
18487	reqHeaders.Set("User-Agent", c.s.userAgent())
18488	var body io.Reader = nil
18489	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18490	if err != nil {
18491		return nil, err
18492	}
18493	reqHeaders.Set("Content-Type", "application/json")
18494	c.urlParams_.Set("alt", alt)
18495	c.urlParams_.Set("prettyPrint", "false")
18496	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18497	urls += "?" + c.urlParams_.Encode()
18498	req, err := http.NewRequest("PUT", urls, body)
18499	if err != nil {
18500		return nil, err
18501	}
18502	req.Header = reqHeaders
18503	googleapi.Expand(req.URL, map[string]string{
18504		"profileId": strconv.FormatInt(c.profileId, 10),
18505	})
18506	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18507}
18508
18509// Do executes the "dfareporting.advertiserGroups.update" call.
18510// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18511// status code is an error. Response headers are in either
18512// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18513// at all) in error.(*googleapi.Error).Header. Use
18514// googleapi.IsNotModified to check whether the returned error was
18515// because http.StatusNotModified was returned.
18516func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18517	gensupport.SetOptions(c.urlParams_, opts...)
18518	res, err := c.doRequest("json")
18519	if res != nil && res.StatusCode == http.StatusNotModified {
18520		if res.Body != nil {
18521			res.Body.Close()
18522		}
18523		return nil, &googleapi.Error{
18524			Code:   res.StatusCode,
18525			Header: res.Header,
18526		}
18527	}
18528	if err != nil {
18529		return nil, err
18530	}
18531	defer googleapi.CloseBody(res)
18532	if err := googleapi.CheckResponse(res); err != nil {
18533		return nil, err
18534	}
18535	ret := &AdvertiserGroup{
18536		ServerResponse: googleapi.ServerResponse{
18537			Header:         res.Header,
18538			HTTPStatusCode: res.StatusCode,
18539		},
18540	}
18541	target := &ret
18542	if err := gensupport.DecodeResponse(target, res); err != nil {
18543		return nil, err
18544	}
18545	return ret, nil
18546	// {
18547	//   "description": "Updates an existing advertiser group.",
18548	//   "flatPath": "userprofiles/{profileId}/advertiserGroups",
18549	//   "httpMethod": "PUT",
18550	//   "id": "dfareporting.advertiserGroups.update",
18551	//   "parameterOrder": [
18552	//     "profileId"
18553	//   ],
18554	//   "parameters": {
18555	//     "profileId": {
18556	//       "description": "User profile ID associated with this request.",
18557	//       "format": "int64",
18558	//       "location": "path",
18559	//       "required": true,
18560	//       "type": "string"
18561	//     }
18562	//   },
18563	//   "path": "userprofiles/{profileId}/advertiserGroups",
18564	//   "request": {
18565	//     "$ref": "AdvertiserGroup"
18566	//   },
18567	//   "response": {
18568	//     "$ref": "AdvertiserGroup"
18569	//   },
18570	//   "scopes": [
18571	//     "https://www.googleapis.com/auth/dfatrafficking"
18572	//   ]
18573	// }
18574
18575}
18576
18577// method id "dfareporting.advertiserLandingPages.get":
18578
18579type AdvertiserLandingPagesGetCall struct {
18580	s            *Service
18581	profileId    int64
18582	id           int64
18583	urlParams_   gensupport.URLParams
18584	ifNoneMatch_ string
18585	ctx_         context.Context
18586	header_      http.Header
18587}
18588
18589// Get: Gets one landing page by ID.
18590func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
18591	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18592	c.profileId = profileId
18593	c.id = id
18594	return c
18595}
18596
18597// Fields allows partial responses to be retrieved. See
18598// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18599// for more information.
18600func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
18601	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18602	return c
18603}
18604
18605// IfNoneMatch sets the optional parameter which makes the operation
18606// fail if the object's ETag matches the given value. This is useful for
18607// getting updates only after the object has changed since the last
18608// request. Use googleapi.IsNotModified to check whether the response
18609// error from Do is the result of In-None-Match.
18610func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
18611	c.ifNoneMatch_ = entityTag
18612	return c
18613}
18614
18615// Context sets the context to be used in this call's Do method. Any
18616// pending HTTP request will be aborted if the provided context is
18617// canceled.
18618func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
18619	c.ctx_ = ctx
18620	return c
18621}
18622
18623// Header returns an http.Header that can be modified by the caller to
18624// add HTTP headers to the request.
18625func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
18626	if c.header_ == nil {
18627		c.header_ = make(http.Header)
18628	}
18629	return c.header_
18630}
18631
18632func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
18633	reqHeaders := make(http.Header)
18634	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18635	for k, v := range c.header_ {
18636		reqHeaders[k] = v
18637	}
18638	reqHeaders.Set("User-Agent", c.s.userAgent())
18639	if c.ifNoneMatch_ != "" {
18640		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18641	}
18642	var body io.Reader = nil
18643	c.urlParams_.Set("alt", alt)
18644	c.urlParams_.Set("prettyPrint", "false")
18645	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
18646	urls += "?" + c.urlParams_.Encode()
18647	req, err := http.NewRequest("GET", urls, body)
18648	if err != nil {
18649		return nil, err
18650	}
18651	req.Header = reqHeaders
18652	googleapi.Expand(req.URL, map[string]string{
18653		"profileId": strconv.FormatInt(c.profileId, 10),
18654		"id":        strconv.FormatInt(c.id, 10),
18655	})
18656	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18657}
18658
18659// Do executes the "dfareporting.advertiserLandingPages.get" call.
18660// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18661// status code is an error. Response headers are in either
18662// *LandingPage.ServerResponse.Header or (if a response was returned at
18663// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18664// to check whether the returned error was because
18665// http.StatusNotModified was returned.
18666func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18667	gensupport.SetOptions(c.urlParams_, opts...)
18668	res, err := c.doRequest("json")
18669	if res != nil && res.StatusCode == http.StatusNotModified {
18670		if res.Body != nil {
18671			res.Body.Close()
18672		}
18673		return nil, &googleapi.Error{
18674			Code:   res.StatusCode,
18675			Header: res.Header,
18676		}
18677	}
18678	if err != nil {
18679		return nil, err
18680	}
18681	defer googleapi.CloseBody(res)
18682	if err := googleapi.CheckResponse(res); err != nil {
18683		return nil, err
18684	}
18685	ret := &LandingPage{
18686		ServerResponse: googleapi.ServerResponse{
18687			Header:         res.Header,
18688			HTTPStatusCode: res.StatusCode,
18689		},
18690	}
18691	target := &ret
18692	if err := gensupport.DecodeResponse(target, res); err != nil {
18693		return nil, err
18694	}
18695	return ret, nil
18696	// {
18697	//   "description": "Gets one landing page by ID.",
18698	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18699	//   "httpMethod": "GET",
18700	//   "id": "dfareporting.advertiserLandingPages.get",
18701	//   "parameterOrder": [
18702	//     "profileId",
18703	//     "id"
18704	//   ],
18705	//   "parameters": {
18706	//     "id": {
18707	//       "description": "Landing page ID.",
18708	//       "format": "int64",
18709	//       "location": "path",
18710	//       "required": true,
18711	//       "type": "string"
18712	//     },
18713	//     "profileId": {
18714	//       "description": "User profile ID associated with this request.",
18715	//       "format": "int64",
18716	//       "location": "path",
18717	//       "required": true,
18718	//       "type": "string"
18719	//     }
18720	//   },
18721	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18722	//   "response": {
18723	//     "$ref": "LandingPage"
18724	//   },
18725	//   "scopes": [
18726	//     "https://www.googleapis.com/auth/dfatrafficking"
18727	//   ]
18728	// }
18729
18730}
18731
18732// method id "dfareporting.advertiserLandingPages.insert":
18733
18734type AdvertiserLandingPagesInsertCall struct {
18735	s           *Service
18736	profileId   int64
18737	landingpage *LandingPage
18738	urlParams_  gensupport.URLParams
18739	ctx_        context.Context
18740	header_     http.Header
18741}
18742
18743// Insert: Inserts a new landing page.
18744func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
18745	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18746	c.profileId = profileId
18747	c.landingpage = landingpage
18748	return c
18749}
18750
18751// Fields allows partial responses to be retrieved. See
18752// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18753// for more information.
18754func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
18755	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18756	return c
18757}
18758
18759// Context sets the context to be used in this call's Do method. Any
18760// pending HTTP request will be aborted if the provided context is
18761// canceled.
18762func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
18763	c.ctx_ = ctx
18764	return c
18765}
18766
18767// Header returns an http.Header that can be modified by the caller to
18768// add HTTP headers to the request.
18769func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
18770	if c.header_ == nil {
18771		c.header_ = make(http.Header)
18772	}
18773	return c.header_
18774}
18775
18776func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
18777	reqHeaders := make(http.Header)
18778	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
18779	for k, v := range c.header_ {
18780		reqHeaders[k] = v
18781	}
18782	reqHeaders.Set("User-Agent", c.s.userAgent())
18783	var body io.Reader = nil
18784	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
18785	if err != nil {
18786		return nil, err
18787	}
18788	reqHeaders.Set("Content-Type", "application/json")
18789	c.urlParams_.Set("alt", alt)
18790	c.urlParams_.Set("prettyPrint", "false")
18791	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
18792	urls += "?" + c.urlParams_.Encode()
18793	req, err := http.NewRequest("POST", urls, body)
18794	if err != nil {
18795		return nil, err
18796	}
18797	req.Header = reqHeaders
18798	googleapi.Expand(req.URL, map[string]string{
18799		"profileId": strconv.FormatInt(c.profileId, 10),
18800	})
18801	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18802}
18803
18804// Do executes the "dfareporting.advertiserLandingPages.insert" call.
18805// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18806// status code is an error. Response headers are in either
18807// *LandingPage.ServerResponse.Header or (if a response was returned at
18808// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18809// to check whether the returned error was because
18810// http.StatusNotModified was returned.
18811func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18812	gensupport.SetOptions(c.urlParams_, opts...)
18813	res, err := c.doRequest("json")
18814	if res != nil && res.StatusCode == http.StatusNotModified {
18815		if res.Body != nil {
18816			res.Body.Close()
18817		}
18818		return nil, &googleapi.Error{
18819			Code:   res.StatusCode,
18820			Header: res.Header,
18821		}
18822	}
18823	if err != nil {
18824		return nil, err
18825	}
18826	defer googleapi.CloseBody(res)
18827	if err := googleapi.CheckResponse(res); err != nil {
18828		return nil, err
18829	}
18830	ret := &LandingPage{
18831		ServerResponse: googleapi.ServerResponse{
18832			Header:         res.Header,
18833			HTTPStatusCode: res.StatusCode,
18834		},
18835	}
18836	target := &ret
18837	if err := gensupport.DecodeResponse(target, res); err != nil {
18838		return nil, err
18839	}
18840	return ret, nil
18841	// {
18842	//   "description": "Inserts a new landing page.",
18843	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
18844	//   "httpMethod": "POST",
18845	//   "id": "dfareporting.advertiserLandingPages.insert",
18846	//   "parameterOrder": [
18847	//     "profileId"
18848	//   ],
18849	//   "parameters": {
18850	//     "profileId": {
18851	//       "description": "User profile ID associated with this request.",
18852	//       "format": "int64",
18853	//       "location": "path",
18854	//       "required": true,
18855	//       "type": "string"
18856	//     }
18857	//   },
18858	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
18859	//   "request": {
18860	//     "$ref": "LandingPage"
18861	//   },
18862	//   "response": {
18863	//     "$ref": "LandingPage"
18864	//   },
18865	//   "scopes": [
18866	//     "https://www.googleapis.com/auth/dfatrafficking"
18867	//   ]
18868	// }
18869
18870}
18871
18872// method id "dfareporting.advertiserLandingPages.list":
18873
18874type AdvertiserLandingPagesListCall struct {
18875	s            *Service
18876	profileId    int64
18877	urlParams_   gensupport.URLParams
18878	ifNoneMatch_ string
18879	ctx_         context.Context
18880	header_      http.Header
18881}
18882
18883// List: Retrieves a list of landing pages.
18884func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
18885	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18886	c.profileId = profileId
18887	return c
18888}
18889
18890// AdvertiserIds sets the optional parameter "advertiserIds": Select
18891// only landing pages that belong to these advertisers.
18892func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
18893	var advertiserIds_ []string
18894	for _, v := range advertiserIds {
18895		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
18896	}
18897	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
18898	return c
18899}
18900
18901// Archived sets the optional parameter "archived": Select only archived
18902// landing pages. Don't set this field to select both archived and
18903// non-archived landing pages.
18904func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
18905	c.urlParams_.Set("archived", fmt.Sprint(archived))
18906	return c
18907}
18908
18909// CampaignIds sets the optional parameter "campaignIds": Select only
18910// landing pages that are associated with these campaigns.
18911func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
18912	var campaignIds_ []string
18913	for _, v := range campaignIds {
18914		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
18915	}
18916	c.urlParams_.SetMulti("campaignIds", campaignIds_)
18917	return c
18918}
18919
18920// Ids sets the optional parameter "ids": Select only landing pages with
18921// these IDs.
18922func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
18923	var ids_ []string
18924	for _, v := range ids {
18925		ids_ = append(ids_, fmt.Sprint(v))
18926	}
18927	c.urlParams_.SetMulti("ids", ids_)
18928	return c
18929}
18930
18931// MaxResults sets the optional parameter "maxResults": Maximum number
18932// of results to return.
18933func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
18934	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18935	return c
18936}
18937
18938// PageToken sets the optional parameter "pageToken": Value of the
18939// nextPageToken from the previous result page.
18940func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
18941	c.urlParams_.Set("pageToken", pageToken)
18942	return c
18943}
18944
18945// SearchString sets the optional parameter "searchString": Allows
18946// searching for landing pages by name or ID. Wildcards (*) are allowed.
18947// For example, "landingpage*2017" will return landing pages with names
18948// like "landingpage July 2017", "landingpage March 2017", or simply
18949// "landingpage 2017". Most of the searches also add wildcards
18950// implicitly at the start and the end of the search string. For
18951// example, a search string of "landingpage" will match campaigns with
18952// name "my landingpage", "landingpage 2015", or simply "landingpage".
18953func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
18954	c.urlParams_.Set("searchString", searchString)
18955	return c
18956}
18957
18958// SortField sets the optional parameter "sortField": Field by which to
18959// sort the list.
18960//
18961// Possible values:
18962//   "ID" (default)
18963//   "NAME"
18964func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
18965	c.urlParams_.Set("sortField", sortField)
18966	return c
18967}
18968
18969// SortOrder sets the optional parameter "sortOrder": Order of sorted
18970// results.
18971//
18972// Possible values:
18973//   "ASCENDING" (default)
18974//   "DESCENDING"
18975func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
18976	c.urlParams_.Set("sortOrder", sortOrder)
18977	return c
18978}
18979
18980// SubaccountId sets the optional parameter "subaccountId": Select only
18981// landing pages that belong to this subaccount.
18982func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
18983	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
18984	return c
18985}
18986
18987// Fields allows partial responses to be retrieved. See
18988// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18989// for more information.
18990func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
18991	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18992	return c
18993}
18994
18995// IfNoneMatch sets the optional parameter which makes the operation
18996// fail if the object's ETag matches the given value. This is useful for
18997// getting updates only after the object has changed since the last
18998// request. Use googleapi.IsNotModified to check whether the response
18999// error from Do is the result of In-None-Match.
19000func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
19001	c.ifNoneMatch_ = entityTag
19002	return c
19003}
19004
19005// Context sets the context to be used in this call's Do method. Any
19006// pending HTTP request will be aborted if the provided context is
19007// canceled.
19008func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
19009	c.ctx_ = ctx
19010	return c
19011}
19012
19013// Header returns an http.Header that can be modified by the caller to
19014// add HTTP headers to the request.
19015func (c *AdvertiserLandingPagesListCall) Header() http.Header {
19016	if c.header_ == nil {
19017		c.header_ = make(http.Header)
19018	}
19019	return c.header_
19020}
19021
19022func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
19023	reqHeaders := make(http.Header)
19024	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19025	for k, v := range c.header_ {
19026		reqHeaders[k] = v
19027	}
19028	reqHeaders.Set("User-Agent", c.s.userAgent())
19029	if c.ifNoneMatch_ != "" {
19030		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19031	}
19032	var body io.Reader = nil
19033	c.urlParams_.Set("alt", alt)
19034	c.urlParams_.Set("prettyPrint", "false")
19035	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19036	urls += "?" + c.urlParams_.Encode()
19037	req, err := http.NewRequest("GET", urls, body)
19038	if err != nil {
19039		return nil, err
19040	}
19041	req.Header = reqHeaders
19042	googleapi.Expand(req.URL, map[string]string{
19043		"profileId": strconv.FormatInt(c.profileId, 10),
19044	})
19045	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19046}
19047
19048// Do executes the "dfareporting.advertiserLandingPages.list" call.
19049// Exactly one of *AdvertiserLandingPagesListResponse or error will be
19050// non-nil. Any non-2xx status code is an error. Response headers are in
19051// either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
19052// (if a response was returned at all) in
19053// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19054// whether the returned error was because http.StatusNotModified was
19055// returned.
19056func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
19057	gensupport.SetOptions(c.urlParams_, opts...)
19058	res, err := c.doRequest("json")
19059	if res != nil && res.StatusCode == http.StatusNotModified {
19060		if res.Body != nil {
19061			res.Body.Close()
19062		}
19063		return nil, &googleapi.Error{
19064			Code:   res.StatusCode,
19065			Header: res.Header,
19066		}
19067	}
19068	if err != nil {
19069		return nil, err
19070	}
19071	defer googleapi.CloseBody(res)
19072	if err := googleapi.CheckResponse(res); err != nil {
19073		return nil, err
19074	}
19075	ret := &AdvertiserLandingPagesListResponse{
19076		ServerResponse: googleapi.ServerResponse{
19077			Header:         res.Header,
19078			HTTPStatusCode: res.StatusCode,
19079		},
19080	}
19081	target := &ret
19082	if err := gensupport.DecodeResponse(target, res); err != nil {
19083		return nil, err
19084	}
19085	return ret, nil
19086	// {
19087	//   "description": "Retrieves a list of landing pages.",
19088	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19089	//   "httpMethod": "GET",
19090	//   "id": "dfareporting.advertiserLandingPages.list",
19091	//   "parameterOrder": [
19092	//     "profileId"
19093	//   ],
19094	//   "parameters": {
19095	//     "advertiserIds": {
19096	//       "description": "Select only landing pages that belong to these advertisers.",
19097	//       "format": "int64",
19098	//       "location": "query",
19099	//       "repeated": true,
19100	//       "type": "string"
19101	//     },
19102	//     "archived": {
19103	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
19104	//       "location": "query",
19105	//       "type": "boolean"
19106	//     },
19107	//     "campaignIds": {
19108	//       "description": "Select only landing pages that are associated with these campaigns.",
19109	//       "format": "int64",
19110	//       "location": "query",
19111	//       "repeated": true,
19112	//       "type": "string"
19113	//     },
19114	//     "ids": {
19115	//       "description": "Select only landing pages with these IDs.",
19116	//       "format": "int64",
19117	//       "location": "query",
19118	//       "repeated": true,
19119	//       "type": "string"
19120	//     },
19121	//     "maxResults": {
19122	//       "default": "1000",
19123	//       "description": "Maximum number of results to return.",
19124	//       "format": "int32",
19125	//       "location": "query",
19126	//       "maximum": "1000",
19127	//       "minimum": "0",
19128	//       "type": "integer"
19129	//     },
19130	//     "pageToken": {
19131	//       "description": "Value of the nextPageToken from the previous result page.",
19132	//       "location": "query",
19133	//       "type": "string"
19134	//     },
19135	//     "profileId": {
19136	//       "description": "User profile ID associated with this request.",
19137	//       "format": "int64",
19138	//       "location": "path",
19139	//       "required": true,
19140	//       "type": "string"
19141	//     },
19142	//     "searchString": {
19143	//       "description": "Allows searching for landing pages by name or ID. Wildcards (*) are allowed. For example, \"landingpage*2017\" will return landing pages with names like \"landingpage July 2017\", \"landingpage March 2017\", or simply \"landingpage 2017\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"landingpage\" will match campaigns with name \"my landingpage\", \"landingpage 2015\", or simply \"landingpage\".",
19144	//       "location": "query",
19145	//       "type": "string"
19146	//     },
19147	//     "sortField": {
19148	//       "default": "ID",
19149	//       "description": "Field by which to sort the list.",
19150	//       "enum": [
19151	//         "ID",
19152	//         "NAME"
19153	//       ],
19154	//       "enumDescriptions": [
19155	//         "",
19156	//         ""
19157	//       ],
19158	//       "location": "query",
19159	//       "type": "string"
19160	//     },
19161	//     "sortOrder": {
19162	//       "default": "ASCENDING",
19163	//       "description": "Order of sorted results.",
19164	//       "enum": [
19165	//         "ASCENDING",
19166	//         "DESCENDING"
19167	//       ],
19168	//       "enumDescriptions": [
19169	//         "",
19170	//         ""
19171	//       ],
19172	//       "location": "query",
19173	//       "type": "string"
19174	//     },
19175	//     "subaccountId": {
19176	//       "description": "Select only landing pages that belong to this subaccount.",
19177	//       "format": "int64",
19178	//       "location": "query",
19179	//       "type": "string"
19180	//     }
19181	//   },
19182	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19183	//   "response": {
19184	//     "$ref": "AdvertiserLandingPagesListResponse"
19185	//   },
19186	//   "scopes": [
19187	//     "https://www.googleapis.com/auth/dfatrafficking"
19188	//   ]
19189	// }
19190
19191}
19192
19193// Pages invokes f for each page of results.
19194// A non-nil error returned from f will halt the iteration.
19195// The provided context supersedes any context provided to the Context method.
19196func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
19197	c.ctx_ = ctx
19198	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19199	for {
19200		x, err := c.Do()
19201		if err != nil {
19202			return err
19203		}
19204		if err := f(x); err != nil {
19205			return err
19206		}
19207		if x.NextPageToken == "" {
19208			return nil
19209		}
19210		c.PageToken(x.NextPageToken)
19211	}
19212}
19213
19214// method id "dfareporting.advertiserLandingPages.patch":
19215
19216type AdvertiserLandingPagesPatchCall struct {
19217	s           *Service
19218	profileId   int64
19219	landingpage *LandingPage
19220	urlParams_  gensupport.URLParams
19221	ctx_        context.Context
19222	header_     http.Header
19223}
19224
19225// Patch: Updates an existing advertiser landing page. This method
19226// supports patch semantics.
19227func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
19228	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19229	c.profileId = profileId
19230	c.urlParams_.Set("id", fmt.Sprint(id))
19231	c.landingpage = landingpage
19232	return c
19233}
19234
19235// Fields allows partial responses to be retrieved. See
19236// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19237// for more information.
19238func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
19239	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19240	return c
19241}
19242
19243// Context sets the context to be used in this call's Do method. Any
19244// pending HTTP request will be aborted if the provided context is
19245// canceled.
19246func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
19247	c.ctx_ = ctx
19248	return c
19249}
19250
19251// Header returns an http.Header that can be modified by the caller to
19252// add HTTP headers to the request.
19253func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
19254	if c.header_ == nil {
19255		c.header_ = make(http.Header)
19256	}
19257	return c.header_
19258}
19259
19260func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
19261	reqHeaders := make(http.Header)
19262	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19263	for k, v := range c.header_ {
19264		reqHeaders[k] = v
19265	}
19266	reqHeaders.Set("User-Agent", c.s.userAgent())
19267	var body io.Reader = nil
19268	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19269	if err != nil {
19270		return nil, err
19271	}
19272	reqHeaders.Set("Content-Type", "application/json")
19273	c.urlParams_.Set("alt", alt)
19274	c.urlParams_.Set("prettyPrint", "false")
19275	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19276	urls += "?" + c.urlParams_.Encode()
19277	req, err := http.NewRequest("PATCH", urls, body)
19278	if err != nil {
19279		return nil, err
19280	}
19281	req.Header = reqHeaders
19282	googleapi.Expand(req.URL, map[string]string{
19283		"profileId": strconv.FormatInt(c.profileId, 10),
19284	})
19285	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19286}
19287
19288// Do executes the "dfareporting.advertiserLandingPages.patch" call.
19289// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19290// status code is an error. Response headers are in either
19291// *LandingPage.ServerResponse.Header or (if a response was returned at
19292// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19293// to check whether the returned error was because
19294// http.StatusNotModified was returned.
19295func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19296	gensupport.SetOptions(c.urlParams_, opts...)
19297	res, err := c.doRequest("json")
19298	if res != nil && res.StatusCode == http.StatusNotModified {
19299		if res.Body != nil {
19300			res.Body.Close()
19301		}
19302		return nil, &googleapi.Error{
19303			Code:   res.StatusCode,
19304			Header: res.Header,
19305		}
19306	}
19307	if err != nil {
19308		return nil, err
19309	}
19310	defer googleapi.CloseBody(res)
19311	if err := googleapi.CheckResponse(res); err != nil {
19312		return nil, err
19313	}
19314	ret := &LandingPage{
19315		ServerResponse: googleapi.ServerResponse{
19316			Header:         res.Header,
19317			HTTPStatusCode: res.StatusCode,
19318		},
19319	}
19320	target := &ret
19321	if err := gensupport.DecodeResponse(target, res); err != nil {
19322		return nil, err
19323	}
19324	return ret, nil
19325	// {
19326	//   "description": "Updates an existing advertiser landing page. This method supports patch semantics.",
19327	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19328	//   "httpMethod": "PATCH",
19329	//   "id": "dfareporting.advertiserLandingPages.patch",
19330	//   "parameterOrder": [
19331	//     "profileId",
19332	//     "id"
19333	//   ],
19334	//   "parameters": {
19335	//     "id": {
19336	//       "description": "LandingPage ID.",
19337	//       "format": "int64",
19338	//       "location": "query",
19339	//       "required": true,
19340	//       "type": "string"
19341	//     },
19342	//     "profileId": {
19343	//       "description": "User profile ID associated with this request.",
19344	//       "format": "int64",
19345	//       "location": "path",
19346	//       "required": true,
19347	//       "type": "string"
19348	//     }
19349	//   },
19350	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19351	//   "request": {
19352	//     "$ref": "LandingPage"
19353	//   },
19354	//   "response": {
19355	//     "$ref": "LandingPage"
19356	//   },
19357	//   "scopes": [
19358	//     "https://www.googleapis.com/auth/dfatrafficking"
19359	//   ]
19360	// }
19361
19362}
19363
19364// method id "dfareporting.advertiserLandingPages.update":
19365
19366type AdvertiserLandingPagesUpdateCall struct {
19367	s           *Service
19368	profileId   int64
19369	landingpage *LandingPage
19370	urlParams_  gensupport.URLParams
19371	ctx_        context.Context
19372	header_     http.Header
19373}
19374
19375// Update: Updates an existing landing page.
19376func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
19377	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19378	c.profileId = profileId
19379	c.landingpage = landingpage
19380	return c
19381}
19382
19383// Fields allows partial responses to be retrieved. See
19384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19385// for more information.
19386func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
19387	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19388	return c
19389}
19390
19391// Context sets the context to be used in this call's Do method. Any
19392// pending HTTP request will be aborted if the provided context is
19393// canceled.
19394func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
19395	c.ctx_ = ctx
19396	return c
19397}
19398
19399// Header returns an http.Header that can be modified by the caller to
19400// add HTTP headers to the request.
19401func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
19402	if c.header_ == nil {
19403		c.header_ = make(http.Header)
19404	}
19405	return c.header_
19406}
19407
19408func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
19409	reqHeaders := make(http.Header)
19410	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19411	for k, v := range c.header_ {
19412		reqHeaders[k] = v
19413	}
19414	reqHeaders.Set("User-Agent", c.s.userAgent())
19415	var body io.Reader = nil
19416	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19417	if err != nil {
19418		return nil, err
19419	}
19420	reqHeaders.Set("Content-Type", "application/json")
19421	c.urlParams_.Set("alt", alt)
19422	c.urlParams_.Set("prettyPrint", "false")
19423	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19424	urls += "?" + c.urlParams_.Encode()
19425	req, err := http.NewRequest("PUT", urls, body)
19426	if err != nil {
19427		return nil, err
19428	}
19429	req.Header = reqHeaders
19430	googleapi.Expand(req.URL, map[string]string{
19431		"profileId": strconv.FormatInt(c.profileId, 10),
19432	})
19433	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19434}
19435
19436// Do executes the "dfareporting.advertiserLandingPages.update" call.
19437// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19438// status code is an error. Response headers are in either
19439// *LandingPage.ServerResponse.Header or (if a response was returned at
19440// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19441// to check whether the returned error was because
19442// http.StatusNotModified was returned.
19443func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19444	gensupport.SetOptions(c.urlParams_, opts...)
19445	res, err := c.doRequest("json")
19446	if res != nil && res.StatusCode == http.StatusNotModified {
19447		if res.Body != nil {
19448			res.Body.Close()
19449		}
19450		return nil, &googleapi.Error{
19451			Code:   res.StatusCode,
19452			Header: res.Header,
19453		}
19454	}
19455	if err != nil {
19456		return nil, err
19457	}
19458	defer googleapi.CloseBody(res)
19459	if err := googleapi.CheckResponse(res); err != nil {
19460		return nil, err
19461	}
19462	ret := &LandingPage{
19463		ServerResponse: googleapi.ServerResponse{
19464			Header:         res.Header,
19465			HTTPStatusCode: res.StatusCode,
19466		},
19467	}
19468	target := &ret
19469	if err := gensupport.DecodeResponse(target, res); err != nil {
19470		return nil, err
19471	}
19472	return ret, nil
19473	// {
19474	//   "description": "Updates an existing landing page.",
19475	//   "flatPath": "userprofiles/{profileId}/advertiserLandingPages",
19476	//   "httpMethod": "PUT",
19477	//   "id": "dfareporting.advertiserLandingPages.update",
19478	//   "parameterOrder": [
19479	//     "profileId"
19480	//   ],
19481	//   "parameters": {
19482	//     "profileId": {
19483	//       "description": "User profile ID associated with this request.",
19484	//       "format": "int64",
19485	//       "location": "path",
19486	//       "required": true,
19487	//       "type": "string"
19488	//     }
19489	//   },
19490	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19491	//   "request": {
19492	//     "$ref": "LandingPage"
19493	//   },
19494	//   "response": {
19495	//     "$ref": "LandingPage"
19496	//   },
19497	//   "scopes": [
19498	//     "https://www.googleapis.com/auth/dfatrafficking"
19499	//   ]
19500	// }
19501
19502}
19503
19504// method id "dfareporting.advertisers.get":
19505
19506type AdvertisersGetCall struct {
19507	s            *Service
19508	profileId    int64
19509	id           int64
19510	urlParams_   gensupport.URLParams
19511	ifNoneMatch_ string
19512	ctx_         context.Context
19513	header_      http.Header
19514}
19515
19516// Get: Gets one advertiser by ID.
19517func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
19518	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19519	c.profileId = profileId
19520	c.id = id
19521	return c
19522}
19523
19524// Fields allows partial responses to be retrieved. See
19525// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19526// for more information.
19527func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
19528	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19529	return c
19530}
19531
19532// IfNoneMatch sets the optional parameter which makes the operation
19533// fail if the object's ETag matches the given value. This is useful for
19534// getting updates only after the object has changed since the last
19535// request. Use googleapi.IsNotModified to check whether the response
19536// error from Do is the result of In-None-Match.
19537func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
19538	c.ifNoneMatch_ = entityTag
19539	return c
19540}
19541
19542// Context sets the context to be used in this call's Do method. Any
19543// pending HTTP request will be aborted if the provided context is
19544// canceled.
19545func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
19546	c.ctx_ = ctx
19547	return c
19548}
19549
19550// Header returns an http.Header that can be modified by the caller to
19551// add HTTP headers to the request.
19552func (c *AdvertisersGetCall) Header() http.Header {
19553	if c.header_ == nil {
19554		c.header_ = make(http.Header)
19555	}
19556	return c.header_
19557}
19558
19559func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
19560	reqHeaders := make(http.Header)
19561	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19562	for k, v := range c.header_ {
19563		reqHeaders[k] = v
19564	}
19565	reqHeaders.Set("User-Agent", c.s.userAgent())
19566	if c.ifNoneMatch_ != "" {
19567		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19568	}
19569	var body io.Reader = nil
19570	c.urlParams_.Set("alt", alt)
19571	c.urlParams_.Set("prettyPrint", "false")
19572	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
19573	urls += "?" + c.urlParams_.Encode()
19574	req, err := http.NewRequest("GET", urls, body)
19575	if err != nil {
19576		return nil, err
19577	}
19578	req.Header = reqHeaders
19579	googleapi.Expand(req.URL, map[string]string{
19580		"profileId": strconv.FormatInt(c.profileId, 10),
19581		"id":        strconv.FormatInt(c.id, 10),
19582	})
19583	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19584}
19585
19586// Do executes the "dfareporting.advertisers.get" call.
19587// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19588// status code is an error. Response headers are in either
19589// *Advertiser.ServerResponse.Header or (if a response was returned at
19590// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19591// to check whether the returned error was because
19592// http.StatusNotModified was returned.
19593func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19594	gensupport.SetOptions(c.urlParams_, opts...)
19595	res, err := c.doRequest("json")
19596	if res != nil && res.StatusCode == http.StatusNotModified {
19597		if res.Body != nil {
19598			res.Body.Close()
19599		}
19600		return nil, &googleapi.Error{
19601			Code:   res.StatusCode,
19602			Header: res.Header,
19603		}
19604	}
19605	if err != nil {
19606		return nil, err
19607	}
19608	defer googleapi.CloseBody(res)
19609	if err := googleapi.CheckResponse(res); err != nil {
19610		return nil, err
19611	}
19612	ret := &Advertiser{
19613		ServerResponse: googleapi.ServerResponse{
19614			Header:         res.Header,
19615			HTTPStatusCode: res.StatusCode,
19616		},
19617	}
19618	target := &ret
19619	if err := gensupport.DecodeResponse(target, res); err != nil {
19620		return nil, err
19621	}
19622	return ret, nil
19623	// {
19624	//   "description": "Gets one advertiser by ID.",
19625	//   "flatPath": "userprofiles/{profileId}/advertisers/{id}",
19626	//   "httpMethod": "GET",
19627	//   "id": "dfareporting.advertisers.get",
19628	//   "parameterOrder": [
19629	//     "profileId",
19630	//     "id"
19631	//   ],
19632	//   "parameters": {
19633	//     "id": {
19634	//       "description": "Advertiser ID.",
19635	//       "format": "int64",
19636	//       "location": "path",
19637	//       "required": true,
19638	//       "type": "string"
19639	//     },
19640	//     "profileId": {
19641	//       "description": "User profile ID associated with this request.",
19642	//       "format": "int64",
19643	//       "location": "path",
19644	//       "required": true,
19645	//       "type": "string"
19646	//     }
19647	//   },
19648	//   "path": "userprofiles/{profileId}/advertisers/{id}",
19649	//   "response": {
19650	//     "$ref": "Advertiser"
19651	//   },
19652	//   "scopes": [
19653	//     "https://www.googleapis.com/auth/dfatrafficking"
19654	//   ]
19655	// }
19656
19657}
19658
19659// method id "dfareporting.advertisers.insert":
19660
19661type AdvertisersInsertCall struct {
19662	s          *Service
19663	profileId  int64
19664	advertiser *Advertiser
19665	urlParams_ gensupport.URLParams
19666	ctx_       context.Context
19667	header_    http.Header
19668}
19669
19670// Insert: Inserts a new advertiser.
19671func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
19672	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19673	c.profileId = profileId
19674	c.advertiser = advertiser
19675	return c
19676}
19677
19678// Fields allows partial responses to be retrieved. See
19679// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19680// for more information.
19681func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
19682	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19683	return c
19684}
19685
19686// Context sets the context to be used in this call's Do method. Any
19687// pending HTTP request will be aborted if the provided context is
19688// canceled.
19689func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
19690	c.ctx_ = ctx
19691	return c
19692}
19693
19694// Header returns an http.Header that can be modified by the caller to
19695// add HTTP headers to the request.
19696func (c *AdvertisersInsertCall) Header() http.Header {
19697	if c.header_ == nil {
19698		c.header_ = make(http.Header)
19699	}
19700	return c.header_
19701}
19702
19703func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
19704	reqHeaders := make(http.Header)
19705	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19706	for k, v := range c.header_ {
19707		reqHeaders[k] = v
19708	}
19709	reqHeaders.Set("User-Agent", c.s.userAgent())
19710	var body io.Reader = nil
19711	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
19712	if err != nil {
19713		return nil, err
19714	}
19715	reqHeaders.Set("Content-Type", "application/json")
19716	c.urlParams_.Set("alt", alt)
19717	c.urlParams_.Set("prettyPrint", "false")
19718	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19719	urls += "?" + c.urlParams_.Encode()
19720	req, err := http.NewRequest("POST", urls, body)
19721	if err != nil {
19722		return nil, err
19723	}
19724	req.Header = reqHeaders
19725	googleapi.Expand(req.URL, map[string]string{
19726		"profileId": strconv.FormatInt(c.profileId, 10),
19727	})
19728	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19729}
19730
19731// Do executes the "dfareporting.advertisers.insert" call.
19732// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19733// status code is an error. Response headers are in either
19734// *Advertiser.ServerResponse.Header or (if a response was returned at
19735// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19736// to check whether the returned error was because
19737// http.StatusNotModified was returned.
19738func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19739	gensupport.SetOptions(c.urlParams_, opts...)
19740	res, err := c.doRequest("json")
19741	if res != nil && res.StatusCode == http.StatusNotModified {
19742		if res.Body != nil {
19743			res.Body.Close()
19744		}
19745		return nil, &googleapi.Error{
19746			Code:   res.StatusCode,
19747			Header: res.Header,
19748		}
19749	}
19750	if err != nil {
19751		return nil, err
19752	}
19753	defer googleapi.CloseBody(res)
19754	if err := googleapi.CheckResponse(res); err != nil {
19755		return nil, err
19756	}
19757	ret := &Advertiser{
19758		ServerResponse: googleapi.ServerResponse{
19759			Header:         res.Header,
19760			HTTPStatusCode: res.StatusCode,
19761		},
19762	}
19763	target := &ret
19764	if err := gensupport.DecodeResponse(target, res); err != nil {
19765		return nil, err
19766	}
19767	return ret, nil
19768	// {
19769	//   "description": "Inserts a new advertiser.",
19770	//   "flatPath": "userprofiles/{profileId}/advertisers",
19771	//   "httpMethod": "POST",
19772	//   "id": "dfareporting.advertisers.insert",
19773	//   "parameterOrder": [
19774	//     "profileId"
19775	//   ],
19776	//   "parameters": {
19777	//     "profileId": {
19778	//       "description": "User profile ID associated with this request.",
19779	//       "format": "int64",
19780	//       "location": "path",
19781	//       "required": true,
19782	//       "type": "string"
19783	//     }
19784	//   },
19785	//   "path": "userprofiles/{profileId}/advertisers",
19786	//   "request": {
19787	//     "$ref": "Advertiser"
19788	//   },
19789	//   "response": {
19790	//     "$ref": "Advertiser"
19791	//   },
19792	//   "scopes": [
19793	//     "https://www.googleapis.com/auth/dfatrafficking"
19794	//   ]
19795	// }
19796
19797}
19798
19799// method id "dfareporting.advertisers.list":
19800
19801type AdvertisersListCall struct {
19802	s            *Service
19803	profileId    int64
19804	urlParams_   gensupport.URLParams
19805	ifNoneMatch_ string
19806	ctx_         context.Context
19807	header_      http.Header
19808}
19809
19810// List: Retrieves a list of advertisers, possibly filtered. This method
19811// supports paging.
19812func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
19813	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19814	c.profileId = profileId
19815	return c
19816}
19817
19818// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
19819// Select only advertisers with these advertiser group IDs.
19820func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
19821	var advertiserGroupIds_ []string
19822	for _, v := range advertiserGroupIds {
19823		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
19824	}
19825	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
19826	return c
19827}
19828
19829// FloodlightConfigurationIds sets the optional parameter
19830// "floodlightConfigurationIds": Select only advertisers with these
19831// floodlight configuration IDs.
19832func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
19833	var floodlightConfigurationIds_ []string
19834	for _, v := range floodlightConfigurationIds {
19835		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
19836	}
19837	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
19838	return c
19839}
19840
19841// Ids sets the optional parameter "ids": Select only advertisers with
19842// these IDs.
19843func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
19844	var ids_ []string
19845	for _, v := range ids {
19846		ids_ = append(ids_, fmt.Sprint(v))
19847	}
19848	c.urlParams_.SetMulti("ids", ids_)
19849	return c
19850}
19851
19852// IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
19853// "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
19854// do not belong to any advertiser group.
19855func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
19856	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
19857	return c
19858}
19859
19860// MaxResults sets the optional parameter "maxResults": Maximum number
19861// of results to return.
19862func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
19863	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19864	return c
19865}
19866
19867// OnlyParent sets the optional parameter "onlyParent": Select only
19868// advertisers which use another advertiser's floodlight configuration.
19869func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
19870	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
19871	return c
19872}
19873
19874// PageToken sets the optional parameter "pageToken": Value of the
19875// nextPageToken from the previous result page.
19876func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
19877	c.urlParams_.Set("pageToken", pageToken)
19878	return c
19879}
19880
19881// SearchString sets the optional parameter "searchString": Allows
19882// searching for objects by name or ID. Wildcards (*) are allowed. For
19883// example, "advertiser*2015" will return objects with names like
19884// "advertiser June 2015", "advertiser April 2015", or simply
19885// "advertiser 2015". Most of the searches also add wildcards implicitly
19886// at the start and the end of the search string. For example, a search
19887// string of "advertiser" will match objects with name "my advertiser",
19888// "advertiser 2015", or simply "advertiser" .
19889func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
19890	c.urlParams_.Set("searchString", searchString)
19891	return c
19892}
19893
19894// SortField sets the optional parameter "sortField": Field by which to
19895// sort the list.
19896//
19897// Possible values:
19898//   "ID" (default)
19899//   "NAME"
19900func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
19901	c.urlParams_.Set("sortField", sortField)
19902	return c
19903}
19904
19905// SortOrder sets the optional parameter "sortOrder": Order of sorted
19906// results.
19907//
19908// Possible values:
19909//   "ASCENDING" (default)
19910//   "DESCENDING"
19911func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
19912	c.urlParams_.Set("sortOrder", sortOrder)
19913	return c
19914}
19915
19916// Status sets the optional parameter "status": Select only advertisers
19917// with the specified status.
19918//
19919// Possible values:
19920//   "APPROVED"
19921//   "ON_HOLD"
19922func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
19923	c.urlParams_.Set("status", status)
19924	return c
19925}
19926
19927// SubaccountId sets the optional parameter "subaccountId": Select only
19928// advertisers with these subaccount IDs.
19929func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
19930	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
19931	return c
19932}
19933
19934// Fields allows partial responses to be retrieved. See
19935// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19936// for more information.
19937func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
19938	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19939	return c
19940}
19941
19942// IfNoneMatch sets the optional parameter which makes the operation
19943// fail if the object's ETag matches the given value. This is useful for
19944// getting updates only after the object has changed since the last
19945// request. Use googleapi.IsNotModified to check whether the response
19946// error from Do is the result of In-None-Match.
19947func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
19948	c.ifNoneMatch_ = entityTag
19949	return c
19950}
19951
19952// Context sets the context to be used in this call's Do method. Any
19953// pending HTTP request will be aborted if the provided context is
19954// canceled.
19955func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
19956	c.ctx_ = ctx
19957	return c
19958}
19959
19960// Header returns an http.Header that can be modified by the caller to
19961// add HTTP headers to the request.
19962func (c *AdvertisersListCall) Header() http.Header {
19963	if c.header_ == nil {
19964		c.header_ = make(http.Header)
19965	}
19966	return c.header_
19967}
19968
19969func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
19970	reqHeaders := make(http.Header)
19971	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
19972	for k, v := range c.header_ {
19973		reqHeaders[k] = v
19974	}
19975	reqHeaders.Set("User-Agent", c.s.userAgent())
19976	if c.ifNoneMatch_ != "" {
19977		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19978	}
19979	var body io.Reader = nil
19980	c.urlParams_.Set("alt", alt)
19981	c.urlParams_.Set("prettyPrint", "false")
19982	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19983	urls += "?" + c.urlParams_.Encode()
19984	req, err := http.NewRequest("GET", urls, body)
19985	if err != nil {
19986		return nil, err
19987	}
19988	req.Header = reqHeaders
19989	googleapi.Expand(req.URL, map[string]string{
19990		"profileId": strconv.FormatInt(c.profileId, 10),
19991	})
19992	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19993}
19994
19995// Do executes the "dfareporting.advertisers.list" call.
19996// Exactly one of *AdvertisersListResponse or error will be non-nil. Any
19997// non-2xx status code is an error. Response headers are in either
19998// *AdvertisersListResponse.ServerResponse.Header or (if a response was
19999// returned at all) in error.(*googleapi.Error).Header. Use
20000// googleapi.IsNotModified to check whether the returned error was
20001// because http.StatusNotModified was returned.
20002func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
20003	gensupport.SetOptions(c.urlParams_, opts...)
20004	res, err := c.doRequest("json")
20005	if res != nil && res.StatusCode == http.StatusNotModified {
20006		if res.Body != nil {
20007			res.Body.Close()
20008		}
20009		return nil, &googleapi.Error{
20010			Code:   res.StatusCode,
20011			Header: res.Header,
20012		}
20013	}
20014	if err != nil {
20015		return nil, err
20016	}
20017	defer googleapi.CloseBody(res)
20018	if err := googleapi.CheckResponse(res); err != nil {
20019		return nil, err
20020	}
20021	ret := &AdvertisersListResponse{
20022		ServerResponse: googleapi.ServerResponse{
20023			Header:         res.Header,
20024			HTTPStatusCode: res.StatusCode,
20025		},
20026	}
20027	target := &ret
20028	if err := gensupport.DecodeResponse(target, res); err != nil {
20029		return nil, err
20030	}
20031	return ret, nil
20032	// {
20033	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
20034	//   "flatPath": "userprofiles/{profileId}/advertisers",
20035	//   "httpMethod": "GET",
20036	//   "id": "dfareporting.advertisers.list",
20037	//   "parameterOrder": [
20038	//     "profileId"
20039	//   ],
20040	//   "parameters": {
20041	//     "advertiserGroupIds": {
20042	//       "description": "Select only advertisers with these advertiser group IDs.",
20043	//       "format": "int64",
20044	//       "location": "query",
20045	//       "repeated": true,
20046	//       "type": "string"
20047	//     },
20048	//     "floodlightConfigurationIds": {
20049	//       "description": "Select only advertisers with these floodlight configuration IDs.",
20050	//       "format": "int64",
20051	//       "location": "query",
20052	//       "repeated": true,
20053	//       "type": "string"
20054	//     },
20055	//     "ids": {
20056	//       "description": "Select only advertisers with these IDs.",
20057	//       "format": "int64",
20058	//       "location": "query",
20059	//       "repeated": true,
20060	//       "type": "string"
20061	//     },
20062	//     "includeAdvertisersWithoutGroupsOnly": {
20063	//       "description": "Select only advertisers which do not belong to any advertiser group.",
20064	//       "location": "query",
20065	//       "type": "boolean"
20066	//     },
20067	//     "maxResults": {
20068	//       "default": "1000",
20069	//       "description": "Maximum number of results to return.",
20070	//       "format": "int32",
20071	//       "location": "query",
20072	//       "maximum": "1000",
20073	//       "minimum": "0",
20074	//       "type": "integer"
20075	//     },
20076	//     "onlyParent": {
20077	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
20078	//       "location": "query",
20079	//       "type": "boolean"
20080	//     },
20081	//     "pageToken": {
20082	//       "description": "Value of the nextPageToken from the previous result page.",
20083	//       "location": "query",
20084	//       "type": "string"
20085	//     },
20086	//     "profileId": {
20087	//       "description": "User profile ID associated with this request.",
20088	//       "format": "int64",
20089	//       "location": "path",
20090	//       "required": true,
20091	//       "type": "string"
20092	//     },
20093	//     "searchString": {
20094	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\" .",
20095	//       "location": "query",
20096	//       "type": "string"
20097	//     },
20098	//     "sortField": {
20099	//       "default": "ID",
20100	//       "description": "Field by which to sort the list.",
20101	//       "enum": [
20102	//         "ID",
20103	//         "NAME"
20104	//       ],
20105	//       "enumDescriptions": [
20106	//         "",
20107	//         ""
20108	//       ],
20109	//       "location": "query",
20110	//       "type": "string"
20111	//     },
20112	//     "sortOrder": {
20113	//       "default": "ASCENDING",
20114	//       "description": "Order of sorted results.",
20115	//       "enum": [
20116	//         "ASCENDING",
20117	//         "DESCENDING"
20118	//       ],
20119	//       "enumDescriptions": [
20120	//         "",
20121	//         ""
20122	//       ],
20123	//       "location": "query",
20124	//       "type": "string"
20125	//     },
20126	//     "status": {
20127	//       "description": "Select only advertisers with the specified status.",
20128	//       "enum": [
20129	//         "APPROVED",
20130	//         "ON_HOLD"
20131	//       ],
20132	//       "enumDescriptions": [
20133	//         "",
20134	//         ""
20135	//       ],
20136	//       "location": "query",
20137	//       "type": "string"
20138	//     },
20139	//     "subaccountId": {
20140	//       "description": "Select only advertisers with these subaccount IDs.",
20141	//       "format": "int64",
20142	//       "location": "query",
20143	//       "type": "string"
20144	//     }
20145	//   },
20146	//   "path": "userprofiles/{profileId}/advertisers",
20147	//   "response": {
20148	//     "$ref": "AdvertisersListResponse"
20149	//   },
20150	//   "scopes": [
20151	//     "https://www.googleapis.com/auth/dfatrafficking"
20152	//   ]
20153	// }
20154
20155}
20156
20157// Pages invokes f for each page of results.
20158// A non-nil error returned from f will halt the iteration.
20159// The provided context supersedes any context provided to the Context method.
20160func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
20161	c.ctx_ = ctx
20162	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20163	for {
20164		x, err := c.Do()
20165		if err != nil {
20166			return err
20167		}
20168		if err := f(x); err != nil {
20169			return err
20170		}
20171		if x.NextPageToken == "" {
20172			return nil
20173		}
20174		c.PageToken(x.NextPageToken)
20175	}
20176}
20177
20178// method id "dfareporting.advertisers.patch":
20179
20180type AdvertisersPatchCall struct {
20181	s          *Service
20182	profileId  int64
20183	advertiser *Advertiser
20184	urlParams_ gensupport.URLParams
20185	ctx_       context.Context
20186	header_    http.Header
20187}
20188
20189// Patch: Updates an existing advertiser. This method supports patch
20190// semantics.
20191func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
20192	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20193	c.profileId = profileId
20194	c.urlParams_.Set("id", fmt.Sprint(id))
20195	c.advertiser = advertiser
20196	return c
20197}
20198
20199// Fields allows partial responses to be retrieved. See
20200// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20201// for more information.
20202func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
20203	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20204	return c
20205}
20206
20207// Context sets the context to be used in this call's Do method. Any
20208// pending HTTP request will be aborted if the provided context is
20209// canceled.
20210func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
20211	c.ctx_ = ctx
20212	return c
20213}
20214
20215// Header returns an http.Header that can be modified by the caller to
20216// add HTTP headers to the request.
20217func (c *AdvertisersPatchCall) Header() http.Header {
20218	if c.header_ == nil {
20219		c.header_ = make(http.Header)
20220	}
20221	return c.header_
20222}
20223
20224func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
20225	reqHeaders := make(http.Header)
20226	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20227	for k, v := range c.header_ {
20228		reqHeaders[k] = v
20229	}
20230	reqHeaders.Set("User-Agent", c.s.userAgent())
20231	var body io.Reader = nil
20232	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20233	if err != nil {
20234		return nil, err
20235	}
20236	reqHeaders.Set("Content-Type", "application/json")
20237	c.urlParams_.Set("alt", alt)
20238	c.urlParams_.Set("prettyPrint", "false")
20239	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20240	urls += "?" + c.urlParams_.Encode()
20241	req, err := http.NewRequest("PATCH", urls, body)
20242	if err != nil {
20243		return nil, err
20244	}
20245	req.Header = reqHeaders
20246	googleapi.Expand(req.URL, map[string]string{
20247		"profileId": strconv.FormatInt(c.profileId, 10),
20248	})
20249	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20250}
20251
20252// Do executes the "dfareporting.advertisers.patch" call.
20253// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20254// status code is an error. Response headers are in either
20255// *Advertiser.ServerResponse.Header or (if a response was returned at
20256// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20257// to check whether the returned error was because
20258// http.StatusNotModified was returned.
20259func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20260	gensupport.SetOptions(c.urlParams_, opts...)
20261	res, err := c.doRequest("json")
20262	if res != nil && res.StatusCode == http.StatusNotModified {
20263		if res.Body != nil {
20264			res.Body.Close()
20265		}
20266		return nil, &googleapi.Error{
20267			Code:   res.StatusCode,
20268			Header: res.Header,
20269		}
20270	}
20271	if err != nil {
20272		return nil, err
20273	}
20274	defer googleapi.CloseBody(res)
20275	if err := googleapi.CheckResponse(res); err != nil {
20276		return nil, err
20277	}
20278	ret := &Advertiser{
20279		ServerResponse: googleapi.ServerResponse{
20280			Header:         res.Header,
20281			HTTPStatusCode: res.StatusCode,
20282		},
20283	}
20284	target := &ret
20285	if err := gensupport.DecodeResponse(target, res); err != nil {
20286		return nil, err
20287	}
20288	return ret, nil
20289	// {
20290	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
20291	//   "flatPath": "userprofiles/{profileId}/advertisers",
20292	//   "httpMethod": "PATCH",
20293	//   "id": "dfareporting.advertisers.patch",
20294	//   "parameterOrder": [
20295	//     "profileId",
20296	//     "id"
20297	//   ],
20298	//   "parameters": {
20299	//     "id": {
20300	//       "description": "Advertiser ID.",
20301	//       "format": "int64",
20302	//       "location": "query",
20303	//       "required": true,
20304	//       "type": "string"
20305	//     },
20306	//     "profileId": {
20307	//       "description": "User profile ID associated with this request.",
20308	//       "format": "int64",
20309	//       "location": "path",
20310	//       "required": true,
20311	//       "type": "string"
20312	//     }
20313	//   },
20314	//   "path": "userprofiles/{profileId}/advertisers",
20315	//   "request": {
20316	//     "$ref": "Advertiser"
20317	//   },
20318	//   "response": {
20319	//     "$ref": "Advertiser"
20320	//   },
20321	//   "scopes": [
20322	//     "https://www.googleapis.com/auth/dfatrafficking"
20323	//   ]
20324	// }
20325
20326}
20327
20328// method id "dfareporting.advertisers.update":
20329
20330type AdvertisersUpdateCall struct {
20331	s          *Service
20332	profileId  int64
20333	advertiser *Advertiser
20334	urlParams_ gensupport.URLParams
20335	ctx_       context.Context
20336	header_    http.Header
20337}
20338
20339// Update: Updates an existing advertiser.
20340func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
20341	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20342	c.profileId = profileId
20343	c.advertiser = advertiser
20344	return c
20345}
20346
20347// Fields allows partial responses to be retrieved. See
20348// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20349// for more information.
20350func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
20351	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20352	return c
20353}
20354
20355// Context sets the context to be used in this call's Do method. Any
20356// pending HTTP request will be aborted if the provided context is
20357// canceled.
20358func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
20359	c.ctx_ = ctx
20360	return c
20361}
20362
20363// Header returns an http.Header that can be modified by the caller to
20364// add HTTP headers to the request.
20365func (c *AdvertisersUpdateCall) Header() http.Header {
20366	if c.header_ == nil {
20367		c.header_ = make(http.Header)
20368	}
20369	return c.header_
20370}
20371
20372func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
20373	reqHeaders := make(http.Header)
20374	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20375	for k, v := range c.header_ {
20376		reqHeaders[k] = v
20377	}
20378	reqHeaders.Set("User-Agent", c.s.userAgent())
20379	var body io.Reader = nil
20380	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20381	if err != nil {
20382		return nil, err
20383	}
20384	reqHeaders.Set("Content-Type", "application/json")
20385	c.urlParams_.Set("alt", alt)
20386	c.urlParams_.Set("prettyPrint", "false")
20387	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20388	urls += "?" + c.urlParams_.Encode()
20389	req, err := http.NewRequest("PUT", urls, body)
20390	if err != nil {
20391		return nil, err
20392	}
20393	req.Header = reqHeaders
20394	googleapi.Expand(req.URL, map[string]string{
20395		"profileId": strconv.FormatInt(c.profileId, 10),
20396	})
20397	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20398}
20399
20400// Do executes the "dfareporting.advertisers.update" call.
20401// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20402// status code is an error. Response headers are in either
20403// *Advertiser.ServerResponse.Header or (if a response was returned at
20404// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20405// to check whether the returned error was because
20406// http.StatusNotModified was returned.
20407func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20408	gensupport.SetOptions(c.urlParams_, opts...)
20409	res, err := c.doRequest("json")
20410	if res != nil && res.StatusCode == http.StatusNotModified {
20411		if res.Body != nil {
20412			res.Body.Close()
20413		}
20414		return nil, &googleapi.Error{
20415			Code:   res.StatusCode,
20416			Header: res.Header,
20417		}
20418	}
20419	if err != nil {
20420		return nil, err
20421	}
20422	defer googleapi.CloseBody(res)
20423	if err := googleapi.CheckResponse(res); err != nil {
20424		return nil, err
20425	}
20426	ret := &Advertiser{
20427		ServerResponse: googleapi.ServerResponse{
20428			Header:         res.Header,
20429			HTTPStatusCode: res.StatusCode,
20430		},
20431	}
20432	target := &ret
20433	if err := gensupport.DecodeResponse(target, res); err != nil {
20434		return nil, err
20435	}
20436	return ret, nil
20437	// {
20438	//   "description": "Updates an existing advertiser.",
20439	//   "flatPath": "userprofiles/{profileId}/advertisers",
20440	//   "httpMethod": "PUT",
20441	//   "id": "dfareporting.advertisers.update",
20442	//   "parameterOrder": [
20443	//     "profileId"
20444	//   ],
20445	//   "parameters": {
20446	//     "profileId": {
20447	//       "description": "User profile ID associated with this request.",
20448	//       "format": "int64",
20449	//       "location": "path",
20450	//       "required": true,
20451	//       "type": "string"
20452	//     }
20453	//   },
20454	//   "path": "userprofiles/{profileId}/advertisers",
20455	//   "request": {
20456	//     "$ref": "Advertiser"
20457	//   },
20458	//   "response": {
20459	//     "$ref": "Advertiser"
20460	//   },
20461	//   "scopes": [
20462	//     "https://www.googleapis.com/auth/dfatrafficking"
20463	//   ]
20464	// }
20465
20466}
20467
20468// method id "dfareporting.browsers.list":
20469
20470type BrowsersListCall struct {
20471	s            *Service
20472	profileId    int64
20473	urlParams_   gensupport.URLParams
20474	ifNoneMatch_ string
20475	ctx_         context.Context
20476	header_      http.Header
20477}
20478
20479// List: Retrieves a list of browsers.
20480func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
20481	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20482	c.profileId = profileId
20483	return c
20484}
20485
20486// Fields allows partial responses to be retrieved. See
20487// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20488// for more information.
20489func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
20490	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20491	return c
20492}
20493
20494// IfNoneMatch sets the optional parameter which makes the operation
20495// fail if the object's ETag matches the given value. This is useful for
20496// getting updates only after the object has changed since the last
20497// request. Use googleapi.IsNotModified to check whether the response
20498// error from Do is the result of In-None-Match.
20499func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
20500	c.ifNoneMatch_ = entityTag
20501	return c
20502}
20503
20504// Context sets the context to be used in this call's Do method. Any
20505// pending HTTP request will be aborted if the provided context is
20506// canceled.
20507func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
20508	c.ctx_ = ctx
20509	return c
20510}
20511
20512// Header returns an http.Header that can be modified by the caller to
20513// add HTTP headers to the request.
20514func (c *BrowsersListCall) Header() http.Header {
20515	if c.header_ == nil {
20516		c.header_ = make(http.Header)
20517	}
20518	return c.header_
20519}
20520
20521func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
20522	reqHeaders := make(http.Header)
20523	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20524	for k, v := range c.header_ {
20525		reqHeaders[k] = v
20526	}
20527	reqHeaders.Set("User-Agent", c.s.userAgent())
20528	if c.ifNoneMatch_ != "" {
20529		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20530	}
20531	var body io.Reader = nil
20532	c.urlParams_.Set("alt", alt)
20533	c.urlParams_.Set("prettyPrint", "false")
20534	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
20535	urls += "?" + c.urlParams_.Encode()
20536	req, err := http.NewRequest("GET", urls, body)
20537	if err != nil {
20538		return nil, err
20539	}
20540	req.Header = reqHeaders
20541	googleapi.Expand(req.URL, map[string]string{
20542		"profileId": strconv.FormatInt(c.profileId, 10),
20543	})
20544	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20545}
20546
20547// Do executes the "dfareporting.browsers.list" call.
20548// Exactly one of *BrowsersListResponse or error will be non-nil. Any
20549// non-2xx status code is an error. Response headers are in either
20550// *BrowsersListResponse.ServerResponse.Header or (if a response was
20551// returned at all) in error.(*googleapi.Error).Header. Use
20552// googleapi.IsNotModified to check whether the returned error was
20553// because http.StatusNotModified was returned.
20554func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
20555	gensupport.SetOptions(c.urlParams_, opts...)
20556	res, err := c.doRequest("json")
20557	if res != nil && res.StatusCode == http.StatusNotModified {
20558		if res.Body != nil {
20559			res.Body.Close()
20560		}
20561		return nil, &googleapi.Error{
20562			Code:   res.StatusCode,
20563			Header: res.Header,
20564		}
20565	}
20566	if err != nil {
20567		return nil, err
20568	}
20569	defer googleapi.CloseBody(res)
20570	if err := googleapi.CheckResponse(res); err != nil {
20571		return nil, err
20572	}
20573	ret := &BrowsersListResponse{
20574		ServerResponse: googleapi.ServerResponse{
20575			Header:         res.Header,
20576			HTTPStatusCode: res.StatusCode,
20577		},
20578	}
20579	target := &ret
20580	if err := gensupport.DecodeResponse(target, res); err != nil {
20581		return nil, err
20582	}
20583	return ret, nil
20584	// {
20585	//   "description": "Retrieves a list of browsers.",
20586	//   "flatPath": "userprofiles/{profileId}/browsers",
20587	//   "httpMethod": "GET",
20588	//   "id": "dfareporting.browsers.list",
20589	//   "parameterOrder": [
20590	//     "profileId"
20591	//   ],
20592	//   "parameters": {
20593	//     "profileId": {
20594	//       "description": "User profile ID associated with this request.",
20595	//       "format": "int64",
20596	//       "location": "path",
20597	//       "required": true,
20598	//       "type": "string"
20599	//     }
20600	//   },
20601	//   "path": "userprofiles/{profileId}/browsers",
20602	//   "response": {
20603	//     "$ref": "BrowsersListResponse"
20604	//   },
20605	//   "scopes": [
20606	//     "https://www.googleapis.com/auth/dfatrafficking"
20607	//   ]
20608	// }
20609
20610}
20611
20612// method id "dfareporting.campaignCreativeAssociations.insert":
20613
20614type CampaignCreativeAssociationsInsertCall struct {
20615	s                           *Service
20616	profileId                   int64
20617	campaignId                  int64
20618	campaigncreativeassociation *CampaignCreativeAssociation
20619	urlParams_                  gensupport.URLParams
20620	ctx_                        context.Context
20621	header_                     http.Header
20622}
20623
20624// Insert: Associates a creative with the specified campaign. This
20625// method creates a default ad with dimensions matching the creative in
20626// the campaign if such a default ad does not exist already.
20627func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
20628	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20629	c.profileId = profileId
20630	c.campaignId = campaignId
20631	c.campaigncreativeassociation = campaigncreativeassociation
20632	return c
20633}
20634
20635// Fields allows partial responses to be retrieved. See
20636// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20637// for more information.
20638func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
20639	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20640	return c
20641}
20642
20643// Context sets the context to be used in this call's Do method. Any
20644// pending HTTP request will be aborted if the provided context is
20645// canceled.
20646func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
20647	c.ctx_ = ctx
20648	return c
20649}
20650
20651// Header returns an http.Header that can be modified by the caller to
20652// add HTTP headers to the request.
20653func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
20654	if c.header_ == nil {
20655		c.header_ = make(http.Header)
20656	}
20657	return c.header_
20658}
20659
20660func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
20661	reqHeaders := make(http.Header)
20662	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20663	for k, v := range c.header_ {
20664		reqHeaders[k] = v
20665	}
20666	reqHeaders.Set("User-Agent", c.s.userAgent())
20667	var body io.Reader = nil
20668	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
20669	if err != nil {
20670		return nil, err
20671	}
20672	reqHeaders.Set("Content-Type", "application/json")
20673	c.urlParams_.Set("alt", alt)
20674	c.urlParams_.Set("prettyPrint", "false")
20675	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20676	urls += "?" + c.urlParams_.Encode()
20677	req, err := http.NewRequest("POST", urls, body)
20678	if err != nil {
20679		return nil, err
20680	}
20681	req.Header = reqHeaders
20682	googleapi.Expand(req.URL, map[string]string{
20683		"profileId":  strconv.FormatInt(c.profileId, 10),
20684		"campaignId": strconv.FormatInt(c.campaignId, 10),
20685	})
20686	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20687}
20688
20689// Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
20690// Exactly one of *CampaignCreativeAssociation or error will be non-nil.
20691// Any non-2xx status code is an error. Response headers are in either
20692// *CampaignCreativeAssociation.ServerResponse.Header or (if a response
20693// was returned at all) in error.(*googleapi.Error).Header. Use
20694// googleapi.IsNotModified to check whether the returned error was
20695// because http.StatusNotModified was returned.
20696func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
20697	gensupport.SetOptions(c.urlParams_, opts...)
20698	res, err := c.doRequest("json")
20699	if res != nil && res.StatusCode == http.StatusNotModified {
20700		if res.Body != nil {
20701			res.Body.Close()
20702		}
20703		return nil, &googleapi.Error{
20704			Code:   res.StatusCode,
20705			Header: res.Header,
20706		}
20707	}
20708	if err != nil {
20709		return nil, err
20710	}
20711	defer googleapi.CloseBody(res)
20712	if err := googleapi.CheckResponse(res); err != nil {
20713		return nil, err
20714	}
20715	ret := &CampaignCreativeAssociation{
20716		ServerResponse: googleapi.ServerResponse{
20717			Header:         res.Header,
20718			HTTPStatusCode: res.StatusCode,
20719		},
20720	}
20721	target := &ret
20722	if err := gensupport.DecodeResponse(target, res); err != nil {
20723		return nil, err
20724	}
20725	return ret, nil
20726	// {
20727	//   "description": "Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.",
20728	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20729	//   "httpMethod": "POST",
20730	//   "id": "dfareporting.campaignCreativeAssociations.insert",
20731	//   "parameterOrder": [
20732	//     "profileId",
20733	//     "campaignId"
20734	//   ],
20735	//   "parameters": {
20736	//     "campaignId": {
20737	//       "description": "Campaign ID in this association.",
20738	//       "format": "int64",
20739	//       "location": "path",
20740	//       "required": true,
20741	//       "type": "string"
20742	//     },
20743	//     "profileId": {
20744	//       "description": "User profile ID associated with this request.",
20745	//       "format": "int64",
20746	//       "location": "path",
20747	//       "required": true,
20748	//       "type": "string"
20749	//     }
20750	//   },
20751	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20752	//   "request": {
20753	//     "$ref": "CampaignCreativeAssociation"
20754	//   },
20755	//   "response": {
20756	//     "$ref": "CampaignCreativeAssociation"
20757	//   },
20758	//   "scopes": [
20759	//     "https://www.googleapis.com/auth/dfatrafficking"
20760	//   ]
20761	// }
20762
20763}
20764
20765// method id "dfareporting.campaignCreativeAssociations.list":
20766
20767type CampaignCreativeAssociationsListCall struct {
20768	s            *Service
20769	profileId    int64
20770	campaignId   int64
20771	urlParams_   gensupport.URLParams
20772	ifNoneMatch_ string
20773	ctx_         context.Context
20774	header_      http.Header
20775}
20776
20777// List: Retrieves the list of creative IDs associated with the
20778// specified campaign. This method supports paging.
20779func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
20780	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20781	c.profileId = profileId
20782	c.campaignId = campaignId
20783	return c
20784}
20785
20786// MaxResults sets the optional parameter "maxResults": Maximum number
20787// of results to return.
20788func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
20789	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20790	return c
20791}
20792
20793// PageToken sets the optional parameter "pageToken": Value of the
20794// nextPageToken from the previous result page.
20795func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
20796	c.urlParams_.Set("pageToken", pageToken)
20797	return c
20798}
20799
20800// SortOrder sets the optional parameter "sortOrder": Order of sorted
20801// results.
20802//
20803// Possible values:
20804//   "ASCENDING" (default)
20805//   "DESCENDING"
20806func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
20807	c.urlParams_.Set("sortOrder", sortOrder)
20808	return c
20809}
20810
20811// Fields allows partial responses to be retrieved. See
20812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20813// for more information.
20814func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
20815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20816	return c
20817}
20818
20819// IfNoneMatch sets the optional parameter which makes the operation
20820// fail if the object's ETag matches the given value. This is useful for
20821// getting updates only after the object has changed since the last
20822// request. Use googleapi.IsNotModified to check whether the response
20823// error from Do is the result of In-None-Match.
20824func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
20825	c.ifNoneMatch_ = entityTag
20826	return c
20827}
20828
20829// Context sets the context to be used in this call's Do method. Any
20830// pending HTTP request will be aborted if the provided context is
20831// canceled.
20832func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
20833	c.ctx_ = ctx
20834	return c
20835}
20836
20837// Header returns an http.Header that can be modified by the caller to
20838// add HTTP headers to the request.
20839func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
20840	if c.header_ == nil {
20841		c.header_ = make(http.Header)
20842	}
20843	return c.header_
20844}
20845
20846func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
20847	reqHeaders := make(http.Header)
20848	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
20849	for k, v := range c.header_ {
20850		reqHeaders[k] = v
20851	}
20852	reqHeaders.Set("User-Agent", c.s.userAgent())
20853	if c.ifNoneMatch_ != "" {
20854		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20855	}
20856	var body io.Reader = nil
20857	c.urlParams_.Set("alt", alt)
20858	c.urlParams_.Set("prettyPrint", "false")
20859	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20860	urls += "?" + c.urlParams_.Encode()
20861	req, err := http.NewRequest("GET", urls, body)
20862	if err != nil {
20863		return nil, err
20864	}
20865	req.Header = reqHeaders
20866	googleapi.Expand(req.URL, map[string]string{
20867		"profileId":  strconv.FormatInt(c.profileId, 10),
20868		"campaignId": strconv.FormatInt(c.campaignId, 10),
20869	})
20870	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20871}
20872
20873// Do executes the "dfareporting.campaignCreativeAssociations.list" call.
20874// Exactly one of *CampaignCreativeAssociationsListResponse or error
20875// will be non-nil. Any non-2xx status code is an error. Response
20876// headers are in either
20877// *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
20878// (if a response was returned at all) in
20879// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
20880// whether the returned error was because http.StatusNotModified was
20881// returned.
20882func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
20883	gensupport.SetOptions(c.urlParams_, opts...)
20884	res, err := c.doRequest("json")
20885	if res != nil && res.StatusCode == http.StatusNotModified {
20886		if res.Body != nil {
20887			res.Body.Close()
20888		}
20889		return nil, &googleapi.Error{
20890			Code:   res.StatusCode,
20891			Header: res.Header,
20892		}
20893	}
20894	if err != nil {
20895		return nil, err
20896	}
20897	defer googleapi.CloseBody(res)
20898	if err := googleapi.CheckResponse(res); err != nil {
20899		return nil, err
20900	}
20901	ret := &CampaignCreativeAssociationsListResponse{
20902		ServerResponse: googleapi.ServerResponse{
20903			Header:         res.Header,
20904			HTTPStatusCode: res.StatusCode,
20905		},
20906	}
20907	target := &ret
20908	if err := gensupport.DecodeResponse(target, res); err != nil {
20909		return nil, err
20910	}
20911	return ret, nil
20912	// {
20913	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
20914	//   "flatPath": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20915	//   "httpMethod": "GET",
20916	//   "id": "dfareporting.campaignCreativeAssociations.list",
20917	//   "parameterOrder": [
20918	//     "profileId",
20919	//     "campaignId"
20920	//   ],
20921	//   "parameters": {
20922	//     "campaignId": {
20923	//       "description": "Campaign ID in this association.",
20924	//       "format": "int64",
20925	//       "location": "path",
20926	//       "required": true,
20927	//       "type": "string"
20928	//     },
20929	//     "maxResults": {
20930	//       "default": "1000",
20931	//       "description": "Maximum number of results to return.",
20932	//       "format": "int32",
20933	//       "location": "query",
20934	//       "maximum": "1000",
20935	//       "minimum": "0",
20936	//       "type": "integer"
20937	//     },
20938	//     "pageToken": {
20939	//       "description": "Value of the nextPageToken from the previous result page.",
20940	//       "location": "query",
20941	//       "type": "string"
20942	//     },
20943	//     "profileId": {
20944	//       "description": "User profile ID associated with this request.",
20945	//       "format": "int64",
20946	//       "location": "path",
20947	//       "required": true,
20948	//       "type": "string"
20949	//     },
20950	//     "sortOrder": {
20951	//       "default": "ASCENDING",
20952	//       "description": "Order of sorted results.",
20953	//       "enum": [
20954	//         "ASCENDING",
20955	//         "DESCENDING"
20956	//       ],
20957	//       "enumDescriptions": [
20958	//         "",
20959	//         ""
20960	//       ],
20961	//       "location": "query",
20962	//       "type": "string"
20963	//     }
20964	//   },
20965	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20966	//   "response": {
20967	//     "$ref": "CampaignCreativeAssociationsListResponse"
20968	//   },
20969	//   "scopes": [
20970	//     "https://www.googleapis.com/auth/dfatrafficking"
20971	//   ]
20972	// }
20973
20974}
20975
20976// Pages invokes f for each page of results.
20977// A non-nil error returned from f will halt the iteration.
20978// The provided context supersedes any context provided to the Context method.
20979func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
20980	c.ctx_ = ctx
20981	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20982	for {
20983		x, err := c.Do()
20984		if err != nil {
20985			return err
20986		}
20987		if err := f(x); err != nil {
20988			return err
20989		}
20990		if x.NextPageToken == "" {
20991			return nil
20992		}
20993		c.PageToken(x.NextPageToken)
20994	}
20995}
20996
20997// method id "dfareporting.campaigns.get":
20998
20999type CampaignsGetCall struct {
21000	s            *Service
21001	profileId    int64
21002	id           int64
21003	urlParams_   gensupport.URLParams
21004	ifNoneMatch_ string
21005	ctx_         context.Context
21006	header_      http.Header
21007}
21008
21009// Get: Gets one campaign by ID.
21010func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
21011	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21012	c.profileId = profileId
21013	c.id = id
21014	return c
21015}
21016
21017// Fields allows partial responses to be retrieved. See
21018// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21019// for more information.
21020func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
21021	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21022	return c
21023}
21024
21025// IfNoneMatch sets the optional parameter which makes the operation
21026// fail if the object's ETag matches the given value. This is useful for
21027// getting updates only after the object has changed since the last
21028// request. Use googleapi.IsNotModified to check whether the response
21029// error from Do is the result of In-None-Match.
21030func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
21031	c.ifNoneMatch_ = entityTag
21032	return c
21033}
21034
21035// Context sets the context to be used in this call's Do method. Any
21036// pending HTTP request will be aborted if the provided context is
21037// canceled.
21038func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
21039	c.ctx_ = ctx
21040	return c
21041}
21042
21043// Header returns an http.Header that can be modified by the caller to
21044// add HTTP headers to the request.
21045func (c *CampaignsGetCall) Header() http.Header {
21046	if c.header_ == nil {
21047		c.header_ = make(http.Header)
21048	}
21049	return c.header_
21050}
21051
21052func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
21053	reqHeaders := make(http.Header)
21054	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21055	for k, v := range c.header_ {
21056		reqHeaders[k] = v
21057	}
21058	reqHeaders.Set("User-Agent", c.s.userAgent())
21059	if c.ifNoneMatch_ != "" {
21060		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21061	}
21062	var body io.Reader = nil
21063	c.urlParams_.Set("alt", alt)
21064	c.urlParams_.Set("prettyPrint", "false")
21065	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
21066	urls += "?" + c.urlParams_.Encode()
21067	req, err := http.NewRequest("GET", urls, body)
21068	if err != nil {
21069		return nil, err
21070	}
21071	req.Header = reqHeaders
21072	googleapi.Expand(req.URL, map[string]string{
21073		"profileId": strconv.FormatInt(c.profileId, 10),
21074		"id":        strconv.FormatInt(c.id, 10),
21075	})
21076	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21077}
21078
21079// Do executes the "dfareporting.campaigns.get" call.
21080// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21081// code is an error. Response headers are in either
21082// *Campaign.ServerResponse.Header or (if a response was returned at
21083// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21084// to check whether the returned error was because
21085// http.StatusNotModified was returned.
21086func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21087	gensupport.SetOptions(c.urlParams_, opts...)
21088	res, err := c.doRequest("json")
21089	if res != nil && res.StatusCode == http.StatusNotModified {
21090		if res.Body != nil {
21091			res.Body.Close()
21092		}
21093		return nil, &googleapi.Error{
21094			Code:   res.StatusCode,
21095			Header: res.Header,
21096		}
21097	}
21098	if err != nil {
21099		return nil, err
21100	}
21101	defer googleapi.CloseBody(res)
21102	if err := googleapi.CheckResponse(res); err != nil {
21103		return nil, err
21104	}
21105	ret := &Campaign{
21106		ServerResponse: googleapi.ServerResponse{
21107			Header:         res.Header,
21108			HTTPStatusCode: res.StatusCode,
21109		},
21110	}
21111	target := &ret
21112	if err := gensupport.DecodeResponse(target, res); err != nil {
21113		return nil, err
21114	}
21115	return ret, nil
21116	// {
21117	//   "description": "Gets one campaign by ID.",
21118	//   "flatPath": "userprofiles/{profileId}/campaigns/{id}",
21119	//   "httpMethod": "GET",
21120	//   "id": "dfareporting.campaigns.get",
21121	//   "parameterOrder": [
21122	//     "profileId",
21123	//     "id"
21124	//   ],
21125	//   "parameters": {
21126	//     "id": {
21127	//       "description": "Campaign ID.",
21128	//       "format": "int64",
21129	//       "location": "path",
21130	//       "required": true,
21131	//       "type": "string"
21132	//     },
21133	//     "profileId": {
21134	//       "description": "User profile ID associated with this request.",
21135	//       "format": "int64",
21136	//       "location": "path",
21137	//       "required": true,
21138	//       "type": "string"
21139	//     }
21140	//   },
21141	//   "path": "userprofiles/{profileId}/campaigns/{id}",
21142	//   "response": {
21143	//     "$ref": "Campaign"
21144	//   },
21145	//   "scopes": [
21146	//     "https://www.googleapis.com/auth/dfatrafficking"
21147	//   ]
21148	// }
21149
21150}
21151
21152// method id "dfareporting.campaigns.insert":
21153
21154type CampaignsInsertCall struct {
21155	s          *Service
21156	profileId  int64
21157	campaign   *Campaign
21158	urlParams_ gensupport.URLParams
21159	ctx_       context.Context
21160	header_    http.Header
21161}
21162
21163// Insert: Inserts a new campaign.
21164func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
21165	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21166	c.profileId = profileId
21167	c.campaign = campaign
21168	return c
21169}
21170
21171// Fields allows partial responses to be retrieved. See
21172// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21173// for more information.
21174func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
21175	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21176	return c
21177}
21178
21179// Context sets the context to be used in this call's Do method. Any
21180// pending HTTP request will be aborted if the provided context is
21181// canceled.
21182func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
21183	c.ctx_ = ctx
21184	return c
21185}
21186
21187// Header returns an http.Header that can be modified by the caller to
21188// add HTTP headers to the request.
21189func (c *CampaignsInsertCall) Header() http.Header {
21190	if c.header_ == nil {
21191		c.header_ = make(http.Header)
21192	}
21193	return c.header_
21194}
21195
21196func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
21197	reqHeaders := make(http.Header)
21198	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21199	for k, v := range c.header_ {
21200		reqHeaders[k] = v
21201	}
21202	reqHeaders.Set("User-Agent", c.s.userAgent())
21203	var body io.Reader = nil
21204	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21205	if err != nil {
21206		return nil, err
21207	}
21208	reqHeaders.Set("Content-Type", "application/json")
21209	c.urlParams_.Set("alt", alt)
21210	c.urlParams_.Set("prettyPrint", "false")
21211	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21212	urls += "?" + c.urlParams_.Encode()
21213	req, err := http.NewRequest("POST", urls, body)
21214	if err != nil {
21215		return nil, err
21216	}
21217	req.Header = reqHeaders
21218	googleapi.Expand(req.URL, map[string]string{
21219		"profileId": strconv.FormatInt(c.profileId, 10),
21220	})
21221	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21222}
21223
21224// Do executes the "dfareporting.campaigns.insert" call.
21225// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21226// code is an error. Response headers are in either
21227// *Campaign.ServerResponse.Header or (if a response was returned at
21228// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21229// to check whether the returned error was because
21230// http.StatusNotModified was returned.
21231func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21232	gensupport.SetOptions(c.urlParams_, opts...)
21233	res, err := c.doRequest("json")
21234	if res != nil && res.StatusCode == http.StatusNotModified {
21235		if res.Body != nil {
21236			res.Body.Close()
21237		}
21238		return nil, &googleapi.Error{
21239			Code:   res.StatusCode,
21240			Header: res.Header,
21241		}
21242	}
21243	if err != nil {
21244		return nil, err
21245	}
21246	defer googleapi.CloseBody(res)
21247	if err := googleapi.CheckResponse(res); err != nil {
21248		return nil, err
21249	}
21250	ret := &Campaign{
21251		ServerResponse: googleapi.ServerResponse{
21252			Header:         res.Header,
21253			HTTPStatusCode: res.StatusCode,
21254		},
21255	}
21256	target := &ret
21257	if err := gensupport.DecodeResponse(target, res); err != nil {
21258		return nil, err
21259	}
21260	return ret, nil
21261	// {
21262	//   "description": "Inserts a new campaign.",
21263	//   "flatPath": "userprofiles/{profileId}/campaigns",
21264	//   "httpMethod": "POST",
21265	//   "id": "dfareporting.campaigns.insert",
21266	//   "parameterOrder": [
21267	//     "profileId"
21268	//   ],
21269	//   "parameters": {
21270	//     "profileId": {
21271	//       "description": "User profile ID associated with this request.",
21272	//       "format": "int64",
21273	//       "location": "path",
21274	//       "required": true,
21275	//       "type": "string"
21276	//     }
21277	//   },
21278	//   "path": "userprofiles/{profileId}/campaigns",
21279	//   "request": {
21280	//     "$ref": "Campaign"
21281	//   },
21282	//   "response": {
21283	//     "$ref": "Campaign"
21284	//   },
21285	//   "scopes": [
21286	//     "https://www.googleapis.com/auth/dfatrafficking"
21287	//   ]
21288	// }
21289
21290}
21291
21292// method id "dfareporting.campaigns.list":
21293
21294type CampaignsListCall struct {
21295	s            *Service
21296	profileId    int64
21297	urlParams_   gensupport.URLParams
21298	ifNoneMatch_ string
21299	ctx_         context.Context
21300	header_      http.Header
21301}
21302
21303// List: Retrieves a list of campaigns, possibly filtered. This method
21304// supports paging.
21305func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
21306	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21307	c.profileId = profileId
21308	return c
21309}
21310
21311// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
21312// Select only campaigns whose advertisers belong to these advertiser
21313// groups.
21314func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
21315	var advertiserGroupIds_ []string
21316	for _, v := range advertiserGroupIds {
21317		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
21318	}
21319	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
21320	return c
21321}
21322
21323// AdvertiserIds sets the optional parameter "advertiserIds": Select
21324// only campaigns that belong to these advertisers.
21325func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
21326	var advertiserIds_ []string
21327	for _, v := range advertiserIds {
21328		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
21329	}
21330	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
21331	return c
21332}
21333
21334// Archived sets the optional parameter "archived": Select only archived
21335// campaigns. Don't set this field to select both archived and
21336// non-archived campaigns.
21337func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
21338	c.urlParams_.Set("archived", fmt.Sprint(archived))
21339	return c
21340}
21341
21342// AtLeastOneOptimizationActivity sets the optional parameter
21343// "atLeastOneOptimizationActivity": Select only campaigns that have at
21344// least one optimization activity.
21345func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
21346	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
21347	return c
21348}
21349
21350// ExcludedIds sets the optional parameter "excludedIds": Exclude
21351// campaigns with these IDs.
21352func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
21353	var excludedIds_ []string
21354	for _, v := range excludedIds {
21355		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
21356	}
21357	c.urlParams_.SetMulti("excludedIds", excludedIds_)
21358	return c
21359}
21360
21361// Ids sets the optional parameter "ids": Select only campaigns with
21362// these IDs.
21363func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
21364	var ids_ []string
21365	for _, v := range ids {
21366		ids_ = append(ids_, fmt.Sprint(v))
21367	}
21368	c.urlParams_.SetMulti("ids", ids_)
21369	return c
21370}
21371
21372// MaxResults sets the optional parameter "maxResults": Maximum number
21373// of results to return.
21374func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
21375	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21376	return c
21377}
21378
21379// OverriddenEventTagId sets the optional parameter
21380// "overriddenEventTagId": Select only campaigns that have overridden
21381// this event tag ID.
21382func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
21383	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
21384	return c
21385}
21386
21387// PageToken sets the optional parameter "pageToken": Value of the
21388// nextPageToken from the previous result page.
21389func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
21390	c.urlParams_.Set("pageToken", pageToken)
21391	return c
21392}
21393
21394// SearchString sets the optional parameter "searchString": Allows
21395// searching for campaigns by name or ID. Wildcards (*) are allowed. For
21396// example, "campaign*2015" will return campaigns with names like
21397// "campaign June 2015", "campaign April 2015", or simply "campaign
21398// 2015". Most of the searches also add wildcards implicitly at the
21399// start and the end of the search string. For example, a search string
21400// of "campaign" will match campaigns with name "my campaign", "campaign
21401// 2015", or simply "campaign".
21402func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
21403	c.urlParams_.Set("searchString", searchString)
21404	return c
21405}
21406
21407// SortField sets the optional parameter "sortField": Field by which to
21408// sort the list.
21409//
21410// Possible values:
21411//   "ID" (default)
21412//   "NAME"
21413func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
21414	c.urlParams_.Set("sortField", sortField)
21415	return c
21416}
21417
21418// SortOrder sets the optional parameter "sortOrder": Order of sorted
21419// results.
21420//
21421// Possible values:
21422//   "ASCENDING" (default)
21423//   "DESCENDING"
21424func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
21425	c.urlParams_.Set("sortOrder", sortOrder)
21426	return c
21427}
21428
21429// SubaccountId sets the optional parameter "subaccountId": Select only
21430// campaigns that belong to this subaccount.
21431func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
21432	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
21433	return c
21434}
21435
21436// Fields allows partial responses to be retrieved. See
21437// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21438// for more information.
21439func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
21440	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21441	return c
21442}
21443
21444// IfNoneMatch sets the optional parameter which makes the operation
21445// fail if the object's ETag matches the given value. This is useful for
21446// getting updates only after the object has changed since the last
21447// request. Use googleapi.IsNotModified to check whether the response
21448// error from Do is the result of In-None-Match.
21449func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
21450	c.ifNoneMatch_ = entityTag
21451	return c
21452}
21453
21454// Context sets the context to be used in this call's Do method. Any
21455// pending HTTP request will be aborted if the provided context is
21456// canceled.
21457func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
21458	c.ctx_ = ctx
21459	return c
21460}
21461
21462// Header returns an http.Header that can be modified by the caller to
21463// add HTTP headers to the request.
21464func (c *CampaignsListCall) Header() http.Header {
21465	if c.header_ == nil {
21466		c.header_ = make(http.Header)
21467	}
21468	return c.header_
21469}
21470
21471func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
21472	reqHeaders := make(http.Header)
21473	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21474	for k, v := range c.header_ {
21475		reqHeaders[k] = v
21476	}
21477	reqHeaders.Set("User-Agent", c.s.userAgent())
21478	if c.ifNoneMatch_ != "" {
21479		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21480	}
21481	var body io.Reader = nil
21482	c.urlParams_.Set("alt", alt)
21483	c.urlParams_.Set("prettyPrint", "false")
21484	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21485	urls += "?" + c.urlParams_.Encode()
21486	req, err := http.NewRequest("GET", urls, body)
21487	if err != nil {
21488		return nil, err
21489	}
21490	req.Header = reqHeaders
21491	googleapi.Expand(req.URL, map[string]string{
21492		"profileId": strconv.FormatInt(c.profileId, 10),
21493	})
21494	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21495}
21496
21497// Do executes the "dfareporting.campaigns.list" call.
21498// Exactly one of *CampaignsListResponse or error will be non-nil. Any
21499// non-2xx status code is an error. Response headers are in either
21500// *CampaignsListResponse.ServerResponse.Header or (if a response was
21501// returned at all) in error.(*googleapi.Error).Header. Use
21502// googleapi.IsNotModified to check whether the returned error was
21503// because http.StatusNotModified was returned.
21504func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
21505	gensupport.SetOptions(c.urlParams_, opts...)
21506	res, err := c.doRequest("json")
21507	if res != nil && res.StatusCode == http.StatusNotModified {
21508		if res.Body != nil {
21509			res.Body.Close()
21510		}
21511		return nil, &googleapi.Error{
21512			Code:   res.StatusCode,
21513			Header: res.Header,
21514		}
21515	}
21516	if err != nil {
21517		return nil, err
21518	}
21519	defer googleapi.CloseBody(res)
21520	if err := googleapi.CheckResponse(res); err != nil {
21521		return nil, err
21522	}
21523	ret := &CampaignsListResponse{
21524		ServerResponse: googleapi.ServerResponse{
21525			Header:         res.Header,
21526			HTTPStatusCode: res.StatusCode,
21527		},
21528	}
21529	target := &ret
21530	if err := gensupport.DecodeResponse(target, res); err != nil {
21531		return nil, err
21532	}
21533	return ret, nil
21534	// {
21535	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
21536	//   "flatPath": "userprofiles/{profileId}/campaigns",
21537	//   "httpMethod": "GET",
21538	//   "id": "dfareporting.campaigns.list",
21539	//   "parameterOrder": [
21540	//     "profileId"
21541	//   ],
21542	//   "parameters": {
21543	//     "advertiserGroupIds": {
21544	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
21545	//       "format": "int64",
21546	//       "location": "query",
21547	//       "repeated": true,
21548	//       "type": "string"
21549	//     },
21550	//     "advertiserIds": {
21551	//       "description": "Select only campaigns that belong to these advertisers.",
21552	//       "format": "int64",
21553	//       "location": "query",
21554	//       "repeated": true,
21555	//       "type": "string"
21556	//     },
21557	//     "archived": {
21558	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
21559	//       "location": "query",
21560	//       "type": "boolean"
21561	//     },
21562	//     "atLeastOneOptimizationActivity": {
21563	//       "description": "Select only campaigns that have at least one optimization activity.",
21564	//       "location": "query",
21565	//       "type": "boolean"
21566	//     },
21567	//     "excludedIds": {
21568	//       "description": "Exclude campaigns with these IDs.",
21569	//       "format": "int64",
21570	//       "location": "query",
21571	//       "repeated": true,
21572	//       "type": "string"
21573	//     },
21574	//     "ids": {
21575	//       "description": "Select only campaigns with these IDs.",
21576	//       "format": "int64",
21577	//       "location": "query",
21578	//       "repeated": true,
21579	//       "type": "string"
21580	//     },
21581	//     "maxResults": {
21582	//       "default": "1000",
21583	//       "description": "Maximum number of results to return.",
21584	//       "format": "int32",
21585	//       "location": "query",
21586	//       "maximum": "1000",
21587	//       "minimum": "0",
21588	//       "type": "integer"
21589	//     },
21590	//     "overriddenEventTagId": {
21591	//       "description": "Select only campaigns that have overridden this event tag ID.",
21592	//       "format": "int64",
21593	//       "location": "query",
21594	//       "type": "string"
21595	//     },
21596	//     "pageToken": {
21597	//       "description": "Value of the nextPageToken from the previous result page.",
21598	//       "location": "query",
21599	//       "type": "string"
21600	//     },
21601	//     "profileId": {
21602	//       "description": "User profile ID associated with this request.",
21603	//       "format": "int64",
21604	//       "location": "path",
21605	//       "required": true,
21606	//       "type": "string"
21607	//     },
21608	//     "searchString": {
21609	//       "description": "Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, \"campaign*2015\" will return campaigns with names like \"campaign June 2015\", \"campaign April 2015\", or simply \"campaign 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"campaign\" will match campaigns with name \"my campaign\", \"campaign 2015\", or simply \"campaign\".",
21610	//       "location": "query",
21611	//       "type": "string"
21612	//     },
21613	//     "sortField": {
21614	//       "default": "ID",
21615	//       "description": "Field by which to sort the list.",
21616	//       "enum": [
21617	//         "ID",
21618	//         "NAME"
21619	//       ],
21620	//       "enumDescriptions": [
21621	//         "",
21622	//         ""
21623	//       ],
21624	//       "location": "query",
21625	//       "type": "string"
21626	//     },
21627	//     "sortOrder": {
21628	//       "default": "ASCENDING",
21629	//       "description": "Order of sorted results.",
21630	//       "enum": [
21631	//         "ASCENDING",
21632	//         "DESCENDING"
21633	//       ],
21634	//       "enumDescriptions": [
21635	//         "",
21636	//         ""
21637	//       ],
21638	//       "location": "query",
21639	//       "type": "string"
21640	//     },
21641	//     "subaccountId": {
21642	//       "description": "Select only campaigns that belong to this subaccount.",
21643	//       "format": "int64",
21644	//       "location": "query",
21645	//       "type": "string"
21646	//     }
21647	//   },
21648	//   "path": "userprofiles/{profileId}/campaigns",
21649	//   "response": {
21650	//     "$ref": "CampaignsListResponse"
21651	//   },
21652	//   "scopes": [
21653	//     "https://www.googleapis.com/auth/dfatrafficking"
21654	//   ]
21655	// }
21656
21657}
21658
21659// Pages invokes f for each page of results.
21660// A non-nil error returned from f will halt the iteration.
21661// The provided context supersedes any context provided to the Context method.
21662func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
21663	c.ctx_ = ctx
21664	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21665	for {
21666		x, err := c.Do()
21667		if err != nil {
21668			return err
21669		}
21670		if err := f(x); err != nil {
21671			return err
21672		}
21673		if x.NextPageToken == "" {
21674			return nil
21675		}
21676		c.PageToken(x.NextPageToken)
21677	}
21678}
21679
21680// method id "dfareporting.campaigns.patch":
21681
21682type CampaignsPatchCall struct {
21683	s          *Service
21684	profileId  int64
21685	campaign   *Campaign
21686	urlParams_ gensupport.URLParams
21687	ctx_       context.Context
21688	header_    http.Header
21689}
21690
21691// Patch: Updates an existing campaign. This method supports patch
21692// semantics.
21693func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
21694	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21695	c.profileId = profileId
21696	c.urlParams_.Set("id", fmt.Sprint(id))
21697	c.campaign = campaign
21698	return c
21699}
21700
21701// Fields allows partial responses to be retrieved. See
21702// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21703// for more information.
21704func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
21705	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21706	return c
21707}
21708
21709// Context sets the context to be used in this call's Do method. Any
21710// pending HTTP request will be aborted if the provided context is
21711// canceled.
21712func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
21713	c.ctx_ = ctx
21714	return c
21715}
21716
21717// Header returns an http.Header that can be modified by the caller to
21718// add HTTP headers to the request.
21719func (c *CampaignsPatchCall) Header() http.Header {
21720	if c.header_ == nil {
21721		c.header_ = make(http.Header)
21722	}
21723	return c.header_
21724}
21725
21726func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
21727	reqHeaders := make(http.Header)
21728	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21729	for k, v := range c.header_ {
21730		reqHeaders[k] = v
21731	}
21732	reqHeaders.Set("User-Agent", c.s.userAgent())
21733	var body io.Reader = nil
21734	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21735	if err != nil {
21736		return nil, err
21737	}
21738	reqHeaders.Set("Content-Type", "application/json")
21739	c.urlParams_.Set("alt", alt)
21740	c.urlParams_.Set("prettyPrint", "false")
21741	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21742	urls += "?" + c.urlParams_.Encode()
21743	req, err := http.NewRequest("PATCH", urls, body)
21744	if err != nil {
21745		return nil, err
21746	}
21747	req.Header = reqHeaders
21748	googleapi.Expand(req.URL, map[string]string{
21749		"profileId": strconv.FormatInt(c.profileId, 10),
21750	})
21751	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21752}
21753
21754// Do executes the "dfareporting.campaigns.patch" call.
21755// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21756// code is an error. Response headers are in either
21757// *Campaign.ServerResponse.Header or (if a response was returned at
21758// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21759// to check whether the returned error was because
21760// http.StatusNotModified was returned.
21761func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21762	gensupport.SetOptions(c.urlParams_, opts...)
21763	res, err := c.doRequest("json")
21764	if res != nil && res.StatusCode == http.StatusNotModified {
21765		if res.Body != nil {
21766			res.Body.Close()
21767		}
21768		return nil, &googleapi.Error{
21769			Code:   res.StatusCode,
21770			Header: res.Header,
21771		}
21772	}
21773	if err != nil {
21774		return nil, err
21775	}
21776	defer googleapi.CloseBody(res)
21777	if err := googleapi.CheckResponse(res); err != nil {
21778		return nil, err
21779	}
21780	ret := &Campaign{
21781		ServerResponse: googleapi.ServerResponse{
21782			Header:         res.Header,
21783			HTTPStatusCode: res.StatusCode,
21784		},
21785	}
21786	target := &ret
21787	if err := gensupport.DecodeResponse(target, res); err != nil {
21788		return nil, err
21789	}
21790	return ret, nil
21791	// {
21792	//   "description": "Updates an existing campaign. This method supports patch semantics.",
21793	//   "flatPath": "userprofiles/{profileId}/campaigns",
21794	//   "httpMethod": "PATCH",
21795	//   "id": "dfareporting.campaigns.patch",
21796	//   "parameterOrder": [
21797	//     "profileId",
21798	//     "id"
21799	//   ],
21800	//   "parameters": {
21801	//     "id": {
21802	//       "description": "Campaign ID.",
21803	//       "format": "int64",
21804	//       "location": "query",
21805	//       "required": true,
21806	//       "type": "string"
21807	//     },
21808	//     "profileId": {
21809	//       "description": "User profile ID associated with this request.",
21810	//       "format": "int64",
21811	//       "location": "path",
21812	//       "required": true,
21813	//       "type": "string"
21814	//     }
21815	//   },
21816	//   "path": "userprofiles/{profileId}/campaigns",
21817	//   "request": {
21818	//     "$ref": "Campaign"
21819	//   },
21820	//   "response": {
21821	//     "$ref": "Campaign"
21822	//   },
21823	//   "scopes": [
21824	//     "https://www.googleapis.com/auth/dfatrafficking"
21825	//   ]
21826	// }
21827
21828}
21829
21830// method id "dfareporting.campaigns.update":
21831
21832type CampaignsUpdateCall struct {
21833	s          *Service
21834	profileId  int64
21835	campaign   *Campaign
21836	urlParams_ gensupport.URLParams
21837	ctx_       context.Context
21838	header_    http.Header
21839}
21840
21841// Update: Updates an existing campaign.
21842func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
21843	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21844	c.profileId = profileId
21845	c.campaign = campaign
21846	return c
21847}
21848
21849// Fields allows partial responses to be retrieved. See
21850// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21851// for more information.
21852func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
21853	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21854	return c
21855}
21856
21857// Context sets the context to be used in this call's Do method. Any
21858// pending HTTP request will be aborted if the provided context is
21859// canceled.
21860func (c *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
21861	c.ctx_ = ctx
21862	return c
21863}
21864
21865// Header returns an http.Header that can be modified by the caller to
21866// add HTTP headers to the request.
21867func (c *CampaignsUpdateCall) Header() http.Header {
21868	if c.header_ == nil {
21869		c.header_ = make(http.Header)
21870	}
21871	return c.header_
21872}
21873
21874func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
21875	reqHeaders := make(http.Header)
21876	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
21877	for k, v := range c.header_ {
21878		reqHeaders[k] = v
21879	}
21880	reqHeaders.Set("User-Agent", c.s.userAgent())
21881	var body io.Reader = nil
21882	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21883	if err != nil {
21884		return nil, err
21885	}
21886	reqHeaders.Set("Content-Type", "application/json")
21887	c.urlParams_.Set("alt", alt)
21888	c.urlParams_.Set("prettyPrint", "false")
21889	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21890	urls += "?" + c.urlParams_.Encode()
21891	req, err := http.NewRequest("PUT", urls, body)
21892	if err != nil {
21893		return nil, err
21894	}
21895	req.Header = reqHeaders
21896	googleapi.Expand(req.URL, map[string]string{
21897		"profileId": strconv.FormatInt(c.profileId, 10),
21898	})
21899	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21900}
21901
21902// Do executes the "dfareporting.campaigns.update" call.
21903// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21904// code is an error. Response headers are in either
21905// *Campaign.ServerResponse.Header or (if a response was returned at
21906// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21907// to check whether the returned error was because
21908// http.StatusNotModified was returned.
21909func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21910	gensupport.SetOptions(c.urlParams_, opts...)
21911	res, err := c.doRequest("json")
21912	if res != nil && res.StatusCode == http.StatusNotModified {
21913		if res.Body != nil {
21914			res.Body.Close()
21915		}
21916		return nil, &googleapi.Error{
21917			Code:   res.StatusCode,
21918			Header: res.Header,
21919		}
21920	}
21921	if err != nil {
21922		return nil, err
21923	}
21924	defer googleapi.CloseBody(res)
21925	if err := googleapi.CheckResponse(res); err != nil {
21926		return nil, err
21927	}
21928	ret := &Campaign{
21929		ServerResponse: googleapi.ServerResponse{
21930			Header:         res.Header,
21931			HTTPStatusCode: res.StatusCode,
21932		},
21933	}
21934	target := &ret
21935	if err := gensupport.DecodeResponse(target, res); err != nil {
21936		return nil, err
21937	}
21938	return ret, nil
21939	// {
21940	//   "description": "Updates an existing campaign.",
21941	//   "flatPath": "userprofiles/{profileId}/campaigns",
21942	//   "httpMethod": "PUT",
21943	//   "id": "dfareporting.campaigns.update",
21944	//   "parameterOrder": [
21945	//     "profileId"
21946	//   ],
21947	//   "parameters": {
21948	//     "profileId": {
21949	//       "description": "User profile ID associated with this request.",
21950	//       "format": "int64",
21951	//       "location": "path",
21952	//       "required": true,
21953	//       "type": "string"
21954	//     }
21955	//   },
21956	//   "path": "userprofiles/{profileId}/campaigns",
21957	//   "request": {
21958	//     "$ref": "Campaign"
21959	//   },
21960	//   "response": {
21961	//     "$ref": "Campaign"
21962	//   },
21963	//   "scopes": [
21964	//     "https://www.googleapis.com/auth/dfatrafficking"
21965	//   ]
21966	// }
21967
21968}
21969
21970// method id "dfareporting.changeLogs.get":
21971
21972type ChangeLogsGetCall struct {
21973	s            *Service
21974	profileId    int64
21975	id           int64
21976	urlParams_   gensupport.URLParams
21977	ifNoneMatch_ string
21978	ctx_         context.Context
21979	header_      http.Header
21980}
21981
21982// Get: Gets one change log by ID.
21983func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
21984	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21985	c.profileId = profileId
21986	c.id = id
21987	return c
21988}
21989
21990// Fields allows partial responses to be retrieved. See
21991// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21992// for more information.
21993func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
21994	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21995	return c
21996}
21997
21998// IfNoneMatch sets the optional parameter which makes the operation
21999// fail if the object's ETag matches the given value. This is useful for
22000// getting updates only after the object has changed since the last
22001// request. Use googleapi.IsNotModified to check whether the response
22002// error from Do is the result of In-None-Match.
22003func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
22004	c.ifNoneMatch_ = entityTag
22005	return c
22006}
22007
22008// Context sets the context to be used in this call's Do method. Any
22009// pending HTTP request will be aborted if the provided context is
22010// canceled.
22011func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
22012	c.ctx_ = ctx
22013	return c
22014}
22015
22016// Header returns an http.Header that can be modified by the caller to
22017// add HTTP headers to the request.
22018func (c *ChangeLogsGetCall) Header() http.Header {
22019	if c.header_ == nil {
22020		c.header_ = make(http.Header)
22021	}
22022	return c.header_
22023}
22024
22025func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
22026	reqHeaders := make(http.Header)
22027	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22028	for k, v := range c.header_ {
22029		reqHeaders[k] = v
22030	}
22031	reqHeaders.Set("User-Agent", c.s.userAgent())
22032	if c.ifNoneMatch_ != "" {
22033		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22034	}
22035	var body io.Reader = nil
22036	c.urlParams_.Set("alt", alt)
22037	c.urlParams_.Set("prettyPrint", "false")
22038	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
22039	urls += "?" + c.urlParams_.Encode()
22040	req, err := http.NewRequest("GET", urls, body)
22041	if err != nil {
22042		return nil, err
22043	}
22044	req.Header = reqHeaders
22045	googleapi.Expand(req.URL, map[string]string{
22046		"profileId": strconv.FormatInt(c.profileId, 10),
22047		"id":        strconv.FormatInt(c.id, 10),
22048	})
22049	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22050}
22051
22052// Do executes the "dfareporting.changeLogs.get" call.
22053// Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
22054// status code is an error. Response headers are in either
22055// *ChangeLog.ServerResponse.Header or (if a response was returned at
22056// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22057// to check whether the returned error was because
22058// http.StatusNotModified was returned.
22059func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
22060	gensupport.SetOptions(c.urlParams_, opts...)
22061	res, err := c.doRequest("json")
22062	if res != nil && res.StatusCode == http.StatusNotModified {
22063		if res.Body != nil {
22064			res.Body.Close()
22065		}
22066		return nil, &googleapi.Error{
22067			Code:   res.StatusCode,
22068			Header: res.Header,
22069		}
22070	}
22071	if err != nil {
22072		return nil, err
22073	}
22074	defer googleapi.CloseBody(res)
22075	if err := googleapi.CheckResponse(res); err != nil {
22076		return nil, err
22077	}
22078	ret := &ChangeLog{
22079		ServerResponse: googleapi.ServerResponse{
22080			Header:         res.Header,
22081			HTTPStatusCode: res.StatusCode,
22082		},
22083	}
22084	target := &ret
22085	if err := gensupport.DecodeResponse(target, res); err != nil {
22086		return nil, err
22087	}
22088	return ret, nil
22089	// {
22090	//   "description": "Gets one change log by ID.",
22091	//   "flatPath": "userprofiles/{profileId}/changeLogs/{id}",
22092	//   "httpMethod": "GET",
22093	//   "id": "dfareporting.changeLogs.get",
22094	//   "parameterOrder": [
22095	//     "profileId",
22096	//     "id"
22097	//   ],
22098	//   "parameters": {
22099	//     "id": {
22100	//       "description": "Change log ID.",
22101	//       "format": "int64",
22102	//       "location": "path",
22103	//       "required": true,
22104	//       "type": "string"
22105	//     },
22106	//     "profileId": {
22107	//       "description": "User profile ID associated with this request.",
22108	//       "format": "int64",
22109	//       "location": "path",
22110	//       "required": true,
22111	//       "type": "string"
22112	//     }
22113	//   },
22114	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
22115	//   "response": {
22116	//     "$ref": "ChangeLog"
22117	//   },
22118	//   "scopes": [
22119	//     "https://www.googleapis.com/auth/dfatrafficking"
22120	//   ]
22121	// }
22122
22123}
22124
22125// method id "dfareporting.changeLogs.list":
22126
22127type ChangeLogsListCall struct {
22128	s            *Service
22129	profileId    int64
22130	urlParams_   gensupport.URLParams
22131	ifNoneMatch_ string
22132	ctx_         context.Context
22133	header_      http.Header
22134}
22135
22136// List: Retrieves a list of change logs. This method supports paging.
22137func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
22138	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22139	c.profileId = profileId
22140	return c
22141}
22142
22143// Action sets the optional parameter "action": Select only change logs
22144// with the specified action.
22145//
22146// Possible values:
22147//   "ACTION_CREATE"
22148//   "ACTION_UPDATE"
22149//   "ACTION_DELETE"
22150//   "ACTION_ENABLE"
22151//   "ACTION_DISABLE"
22152//   "ACTION_ADD"
22153//   "ACTION_REMOVE"
22154//   "ACTION_MARK_AS_DEFAULT"
22155//   "ACTION_ASSOCIATE"
22156//   "ACTION_ASSIGN"
22157//   "ACTION_UNASSIGN"
22158//   "ACTION_SEND"
22159//   "ACTION_LINK"
22160//   "ACTION_UNLINK"
22161//   "ACTION_PUSH"
22162//   "ACTION_EMAIL_TAGS"
22163//   "ACTION_SHARE"
22164func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
22165	c.urlParams_.Set("action", action)
22166	return c
22167}
22168
22169// Ids sets the optional parameter "ids": Select only change logs with
22170// these IDs.
22171func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
22172	var ids_ []string
22173	for _, v := range ids {
22174		ids_ = append(ids_, fmt.Sprint(v))
22175	}
22176	c.urlParams_.SetMulti("ids", ids_)
22177	return c
22178}
22179
22180// MaxChangeTime sets the optional parameter "maxChangeTime": Select
22181// only change logs whose change time is before the specified
22182// maxChangeTime.The time should be formatted as an RFC3339 date/time
22183// string. For example, for 10:54 PM on July 18th, 2015, in the
22184// America/New York time zone, the format is
22185// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22186// the letter T, the hour (24-hour clock system), minute, second, and
22187// then the time zone offset.
22188func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
22189	c.urlParams_.Set("maxChangeTime", maxChangeTime)
22190	return c
22191}
22192
22193// MaxResults sets the optional parameter "maxResults": Maximum number
22194// of results to return.
22195func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
22196	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
22197	return c
22198}
22199
22200// MinChangeTime sets the optional parameter "minChangeTime": Select
22201// only change logs whose change time is after the specified
22202// minChangeTime.The time should be formatted as an RFC3339 date/time
22203// string. For example, for 10:54 PM on July 18th, 2015, in the
22204// America/New York time zone, the format is
22205// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22206// the letter T, the hour (24-hour clock system), minute, second, and
22207// then the time zone offset.
22208func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
22209	c.urlParams_.Set("minChangeTime", minChangeTime)
22210	return c
22211}
22212
22213// ObjectIds sets the optional parameter "objectIds": Select only change
22214// logs with these object IDs.
22215func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
22216	var objectIds_ []string
22217	for _, v := range objectIds {
22218		objectIds_ = append(objectIds_, fmt.Sprint(v))
22219	}
22220	c.urlParams_.SetMulti("objectIds", objectIds_)
22221	return c
22222}
22223
22224// ObjectType sets the optional parameter "objectType": Select only
22225// change logs with the specified object type.
22226//
22227// Possible values:
22228//   "OBJECT_ADVERTISER"
22229//   "OBJECT_FLOODLIGHT_CONFIGURATION"
22230//   "OBJECT_AD"
22231//   "OBJECT_FLOODLIGHT_ACTVITY"
22232//   "OBJECT_CAMPAIGN"
22233//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
22234//   "OBJECT_CREATIVE"
22235//   "OBJECT_PLACEMENT"
22236//   "OBJECT_DFA_SITE"
22237//   "OBJECT_USER_ROLE"
22238//   "OBJECT_USER_PROFILE"
22239//   "OBJECT_ADVERTISER_GROUP"
22240//   "OBJECT_ACCOUNT"
22241//   "OBJECT_SUBACCOUNT"
22242//   "OBJECT_RICHMEDIA_CREATIVE"
22243//   "OBJECT_INSTREAM_CREATIVE"
22244//   "OBJECT_MEDIA_ORDER"
22245//   "OBJECT_CONTENT_CATEGORY"
22246//   "OBJECT_PLACEMENT_STRATEGY"
22247//   "OBJECT_SD_SITE"
22248//   "OBJECT_SIZE"
22249//   "OBJECT_CREATIVE_GROUP"
22250//   "OBJECT_CREATIVE_ASSET"
22251//   "OBJECT_USER_PROFILE_FILTER"
22252//   "OBJECT_LANDING_PAGE"
22253//   "OBJECT_CREATIVE_FIELD"
22254//   "OBJECT_REMARKETING_LIST"
22255//   "OBJECT_PROVIDED_LIST_CLIENT"
22256//   "OBJECT_EVENT_TAG"
22257//   "OBJECT_CREATIVE_BUNDLE"
22258//   "OBJECT_BILLING_ACCOUNT_GROUP"
22259//   "OBJECT_BILLING_FEATURE"
22260//   "OBJECT_RATE_CARD"
22261//   "OBJECT_ACCOUNT_BILLING_FEATURE"
22262//   "OBJECT_BILLING_MINIMUM_FEE"
22263//   "OBJECT_BILLING_PROFILE"
22264//   "OBJECT_PLAYSTORE_LINK"
22265//   "OBJECT_TARGETING_TEMPLATE"
22266//   "OBJECT_SEARCH_LIFT_STUDY"
22267//   "OBJECT_FLOODLIGHT_DV360_LINK"
22268func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
22269	c.urlParams_.Set("objectType", objectType)
22270	return c
22271}
22272
22273// PageToken sets the optional parameter "pageToken": Value of the
22274// nextPageToken from the previous result page.
22275func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
22276	c.urlParams_.Set("pageToken", pageToken)
22277	return c
22278}
22279
22280// SearchString sets the optional parameter "searchString": Select only
22281// change logs whose object ID, user name, old or new values match the
22282// search string.
22283func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
22284	c.urlParams_.Set("searchString", searchString)
22285	return c
22286}
22287
22288// UserProfileIds sets the optional parameter "userProfileIds": Select
22289// only change logs with these user profile IDs.
22290func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
22291	var userProfileIds_ []string
22292	for _, v := range userProfileIds {
22293		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
22294	}
22295	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
22296	return c
22297}
22298
22299// Fields allows partial responses to be retrieved. See
22300// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22301// for more information.
22302func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
22303	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22304	return c
22305}
22306
22307// IfNoneMatch sets the optional parameter which makes the operation
22308// fail if the object's ETag matches the given value. This is useful for
22309// getting updates only after the object has changed since the last
22310// request. Use googleapi.IsNotModified to check whether the response
22311// error from Do is the result of In-None-Match.
22312func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
22313	c.ifNoneMatch_ = entityTag
22314	return c
22315}
22316
22317// Context sets the context to be used in this call's Do method. Any
22318// pending HTTP request will be aborted if the provided context is
22319// canceled.
22320func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
22321	c.ctx_ = ctx
22322	return c
22323}
22324
22325// Header returns an http.Header that can be modified by the caller to
22326// add HTTP headers to the request.
22327func (c *ChangeLogsListCall) Header() http.Header {
22328	if c.header_ == nil {
22329		c.header_ = make(http.Header)
22330	}
22331	return c.header_
22332}
22333
22334func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
22335	reqHeaders := make(http.Header)
22336	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22337	for k, v := range c.header_ {
22338		reqHeaders[k] = v
22339	}
22340	reqHeaders.Set("User-Agent", c.s.userAgent())
22341	if c.ifNoneMatch_ != "" {
22342		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22343	}
22344	var body io.Reader = nil
22345	c.urlParams_.Set("alt", alt)
22346	c.urlParams_.Set("prettyPrint", "false")
22347	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
22348	urls += "?" + c.urlParams_.Encode()
22349	req, err := http.NewRequest("GET", urls, body)
22350	if err != nil {
22351		return nil, err
22352	}
22353	req.Header = reqHeaders
22354	googleapi.Expand(req.URL, map[string]string{
22355		"profileId": strconv.FormatInt(c.profileId, 10),
22356	})
22357	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22358}
22359
22360// Do executes the "dfareporting.changeLogs.list" call.
22361// Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
22362// non-2xx status code is an error. Response headers are in either
22363// *ChangeLogsListResponse.ServerResponse.Header or (if a response was
22364// returned at all) in error.(*googleapi.Error).Header. Use
22365// googleapi.IsNotModified to check whether the returned error was
22366// because http.StatusNotModified was returned.
22367func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
22368	gensupport.SetOptions(c.urlParams_, opts...)
22369	res, err := c.doRequest("json")
22370	if res != nil && res.StatusCode == http.StatusNotModified {
22371		if res.Body != nil {
22372			res.Body.Close()
22373		}
22374		return nil, &googleapi.Error{
22375			Code:   res.StatusCode,
22376			Header: res.Header,
22377		}
22378	}
22379	if err != nil {
22380		return nil, err
22381	}
22382	defer googleapi.CloseBody(res)
22383	if err := googleapi.CheckResponse(res); err != nil {
22384		return nil, err
22385	}
22386	ret := &ChangeLogsListResponse{
22387		ServerResponse: googleapi.ServerResponse{
22388			Header:         res.Header,
22389			HTTPStatusCode: res.StatusCode,
22390		},
22391	}
22392	target := &ret
22393	if err := gensupport.DecodeResponse(target, res); err != nil {
22394		return nil, err
22395	}
22396	return ret, nil
22397	// {
22398	//   "description": "Retrieves a list of change logs. This method supports paging.",
22399	//   "flatPath": "userprofiles/{profileId}/changeLogs",
22400	//   "httpMethod": "GET",
22401	//   "id": "dfareporting.changeLogs.list",
22402	//   "parameterOrder": [
22403	//     "profileId"
22404	//   ],
22405	//   "parameters": {
22406	//     "action": {
22407	//       "description": "Select only change logs with the specified action.",
22408	//       "enum": [
22409	//         "ACTION_CREATE",
22410	//         "ACTION_UPDATE",
22411	//         "ACTION_DELETE",
22412	//         "ACTION_ENABLE",
22413	//         "ACTION_DISABLE",
22414	//         "ACTION_ADD",
22415	//         "ACTION_REMOVE",
22416	//         "ACTION_MARK_AS_DEFAULT",
22417	//         "ACTION_ASSOCIATE",
22418	//         "ACTION_ASSIGN",
22419	//         "ACTION_UNASSIGN",
22420	//         "ACTION_SEND",
22421	//         "ACTION_LINK",
22422	//         "ACTION_UNLINK",
22423	//         "ACTION_PUSH",
22424	//         "ACTION_EMAIL_TAGS",
22425	//         "ACTION_SHARE"
22426	//       ],
22427	//       "enumDescriptions": [
22428	//         "",
22429	//         "",
22430	//         "",
22431	//         "",
22432	//         "",
22433	//         "",
22434	//         "",
22435	//         "",
22436	//         "",
22437	//         "",
22438	//         "",
22439	//         "",
22440	//         "",
22441	//         "",
22442	//         "",
22443	//         "",
22444	//         ""
22445	//       ],
22446	//       "location": "query",
22447	//       "type": "string"
22448	//     },
22449	//     "ids": {
22450	//       "description": "Select only change logs with these IDs.",
22451	//       "format": "int64",
22452	//       "location": "query",
22453	//       "repeated": true,
22454	//       "type": "string"
22455	//     },
22456	//     "maxChangeTime": {
22457	//       "description": "Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
22458	//       "location": "query",
22459	//       "type": "string"
22460	//     },
22461	//     "maxResults": {
22462	//       "default": "1000",
22463	//       "description": "Maximum number of results to return.",
22464	//       "format": "int32",
22465	//       "location": "query",
22466	//       "maximum": "1000",
22467	//       "minimum": "0",
22468	//       "type": "integer"
22469	//     },
22470	//     "minChangeTime": {
22471	//       "description": "Select only change logs whose change time is after the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.",
22472	//       "location": "query",
22473	//       "type": "string"
22474	//     },
22475	//     "objectIds": {
22476	//       "description": "Select only change logs with these object IDs.",
22477	//       "format": "int64",
22478	//       "location": "query",
22479	//       "repeated": true,
22480	//       "type": "string"
22481	//     },
22482	//     "objectType": {
22483	//       "description": "Select only change logs with the specified object type.",
22484	//       "enum": [
22485	//         "OBJECT_ADVERTISER",
22486	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
22487	//         "OBJECT_AD",
22488	//         "OBJECT_FLOODLIGHT_ACTVITY",
22489	//         "OBJECT_CAMPAIGN",
22490	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
22491	//         "OBJECT_CREATIVE",
22492	//         "OBJECT_PLACEMENT",
22493	//         "OBJECT_DFA_SITE",
22494	//         "OBJECT_USER_ROLE",
22495	//         "OBJECT_USER_PROFILE",
22496	//         "OBJECT_ADVERTISER_GROUP",
22497	//         "OBJECT_ACCOUNT",
22498	//         "OBJECT_SUBACCOUNT",
22499	//         "OBJECT_RICHMEDIA_CREATIVE",
22500	//         "OBJECT_INSTREAM_CREATIVE",
22501	//         "OBJECT_MEDIA_ORDER",
22502	//         "OBJECT_CONTENT_CATEGORY",
22503	//         "OBJECT_PLACEMENT_STRATEGY",
22504	//         "OBJECT_SD_SITE",
22505	//         "OBJECT_SIZE",
22506	//         "OBJECT_CREATIVE_GROUP",
22507	//         "OBJECT_CREATIVE_ASSET",
22508	//         "OBJECT_USER_PROFILE_FILTER",
22509	//         "OBJECT_LANDING_PAGE",
22510	//         "OBJECT_CREATIVE_FIELD",
22511	//         "OBJECT_REMARKETING_LIST",
22512	//         "OBJECT_PROVIDED_LIST_CLIENT",
22513	//         "OBJECT_EVENT_TAG",
22514	//         "OBJECT_CREATIVE_BUNDLE",
22515	//         "OBJECT_BILLING_ACCOUNT_GROUP",
22516	//         "OBJECT_BILLING_FEATURE",
22517	//         "OBJECT_RATE_CARD",
22518	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
22519	//         "OBJECT_BILLING_MINIMUM_FEE",
22520	//         "OBJECT_BILLING_PROFILE",
22521	//         "OBJECT_PLAYSTORE_LINK",
22522	//         "OBJECT_TARGETING_TEMPLATE",
22523	//         "OBJECT_SEARCH_LIFT_STUDY",
22524	//         "OBJECT_FLOODLIGHT_DV360_LINK"
22525	//       ],
22526	//       "enumDescriptions": [
22527	//         "",
22528	//         "",
22529	//         "",
22530	//         "",
22531	//         "",
22532	//         "",
22533	//         "",
22534	//         "",
22535	//         "",
22536	//         "",
22537	//         "",
22538	//         "",
22539	//         "",
22540	//         "",
22541	//         "",
22542	//         "",
22543	//         "",
22544	//         "",
22545	//         "",
22546	//         "",
22547	//         "",
22548	//         "",
22549	//         "",
22550	//         "",
22551	//         "",
22552	//         "",
22553	//         "",
22554	//         "",
22555	//         "",
22556	//         "",
22557	//         "",
22558	//         "",
22559	//         "",
22560	//         "",
22561	//         "",
22562	//         "",
22563	//         "",
22564	//         "",
22565	//         "",
22566	//         ""
22567	//       ],
22568	//       "location": "query",
22569	//       "type": "string"
22570	//     },
22571	//     "pageToken": {
22572	//       "description": "Value of the nextPageToken from the previous result page.",
22573	//       "location": "query",
22574	//       "type": "string"
22575	//     },
22576	//     "profileId": {
22577	//       "description": "User profile ID associated with this request.",
22578	//       "format": "int64",
22579	//       "location": "path",
22580	//       "required": true,
22581	//       "type": "string"
22582	//     },
22583	//     "searchString": {
22584	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
22585	//       "location": "query",
22586	//       "type": "string"
22587	//     },
22588	//     "userProfileIds": {
22589	//       "description": "Select only change logs with these user profile IDs.",
22590	//       "format": "int64",
22591	//       "location": "query",
22592	//       "repeated": true,
22593	//       "type": "string"
22594	//     }
22595	//   },
22596	//   "path": "userprofiles/{profileId}/changeLogs",
22597	//   "response": {
22598	//     "$ref": "ChangeLogsListResponse"
22599	//   },
22600	//   "scopes": [
22601	//     "https://www.googleapis.com/auth/dfatrafficking"
22602	//   ]
22603	// }
22604
22605}
22606
22607// Pages invokes f for each page of results.
22608// A non-nil error returned from f will halt the iteration.
22609// The provided context supersedes any context provided to the Context method.
22610func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
22611	c.ctx_ = ctx
22612	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22613	for {
22614		x, err := c.Do()
22615		if err != nil {
22616			return err
22617		}
22618		if err := f(x); err != nil {
22619			return err
22620		}
22621		if x.NextPageToken == "" {
22622			return nil
22623		}
22624		c.PageToken(x.NextPageToken)
22625	}
22626}
22627
22628// method id "dfareporting.cities.list":
22629
22630type CitiesListCall struct {
22631	s            *Service
22632	profileId    int64
22633	urlParams_   gensupport.URLParams
22634	ifNoneMatch_ string
22635	ctx_         context.Context
22636	header_      http.Header
22637}
22638
22639// List: Retrieves a list of cities, possibly filtered.
22640func (r *CitiesService) List(profileId int64) *CitiesListCall {
22641	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22642	c.profileId = profileId
22643	return c
22644}
22645
22646// CountryDartIds sets the optional parameter "countryDartIds": Select
22647// only cities from these countries.
22648func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
22649	var countryDartIds_ []string
22650	for _, v := range countryDartIds {
22651		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
22652	}
22653	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
22654	return c
22655}
22656
22657// DartIds sets the optional parameter "dartIds": Select only cities
22658// with these DART IDs.
22659func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
22660	var dartIds_ []string
22661	for _, v := range dartIds {
22662		dartIds_ = append(dartIds_, fmt.Sprint(v))
22663	}
22664	c.urlParams_.SetMulti("dartIds", dartIds_)
22665	return c
22666}
22667
22668// NamePrefix sets the optional parameter "namePrefix": Select only
22669// cities with names starting with this prefix.
22670func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
22671	c.urlParams_.Set("namePrefix", namePrefix)
22672	return c
22673}
22674
22675// RegionDartIds sets the optional parameter "regionDartIds": Select
22676// only cities from these regions.
22677func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
22678	var regionDartIds_ []string
22679	for _, v := range regionDartIds {
22680		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
22681	}
22682	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
22683	return c
22684}
22685
22686// Fields allows partial responses to be retrieved. See
22687// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22688// for more information.
22689func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
22690	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22691	return c
22692}
22693
22694// IfNoneMatch sets the optional parameter which makes the operation
22695// fail if the object's ETag matches the given value. This is useful for
22696// getting updates only after the object has changed since the last
22697// request. Use googleapi.IsNotModified to check whether the response
22698// error from Do is the result of In-None-Match.
22699func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
22700	c.ifNoneMatch_ = entityTag
22701	return c
22702}
22703
22704// Context sets the context to be used in this call's Do method. Any
22705// pending HTTP request will be aborted if the provided context is
22706// canceled.
22707func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
22708	c.ctx_ = ctx
22709	return c
22710}
22711
22712// Header returns an http.Header that can be modified by the caller to
22713// add HTTP headers to the request.
22714func (c *CitiesListCall) Header() http.Header {
22715	if c.header_ == nil {
22716		c.header_ = make(http.Header)
22717	}
22718	return c.header_
22719}
22720
22721func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
22722	reqHeaders := make(http.Header)
22723	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22724	for k, v := range c.header_ {
22725		reqHeaders[k] = v
22726	}
22727	reqHeaders.Set("User-Agent", c.s.userAgent())
22728	if c.ifNoneMatch_ != "" {
22729		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22730	}
22731	var body io.Reader = nil
22732	c.urlParams_.Set("alt", alt)
22733	c.urlParams_.Set("prettyPrint", "false")
22734	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
22735	urls += "?" + c.urlParams_.Encode()
22736	req, err := http.NewRequest("GET", urls, body)
22737	if err != nil {
22738		return nil, err
22739	}
22740	req.Header = reqHeaders
22741	googleapi.Expand(req.URL, map[string]string{
22742		"profileId": strconv.FormatInt(c.profileId, 10),
22743	})
22744	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22745}
22746
22747// Do executes the "dfareporting.cities.list" call.
22748// Exactly one of *CitiesListResponse or error will be non-nil. Any
22749// non-2xx status code is an error. Response headers are in either
22750// *CitiesListResponse.ServerResponse.Header or (if a response was
22751// returned at all) in error.(*googleapi.Error).Header. Use
22752// googleapi.IsNotModified to check whether the returned error was
22753// because http.StatusNotModified was returned.
22754func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
22755	gensupport.SetOptions(c.urlParams_, opts...)
22756	res, err := c.doRequest("json")
22757	if res != nil && res.StatusCode == http.StatusNotModified {
22758		if res.Body != nil {
22759			res.Body.Close()
22760		}
22761		return nil, &googleapi.Error{
22762			Code:   res.StatusCode,
22763			Header: res.Header,
22764		}
22765	}
22766	if err != nil {
22767		return nil, err
22768	}
22769	defer googleapi.CloseBody(res)
22770	if err := googleapi.CheckResponse(res); err != nil {
22771		return nil, err
22772	}
22773	ret := &CitiesListResponse{
22774		ServerResponse: googleapi.ServerResponse{
22775			Header:         res.Header,
22776			HTTPStatusCode: res.StatusCode,
22777		},
22778	}
22779	target := &ret
22780	if err := gensupport.DecodeResponse(target, res); err != nil {
22781		return nil, err
22782	}
22783	return ret, nil
22784	// {
22785	//   "description": "Retrieves a list of cities, possibly filtered.",
22786	//   "flatPath": "userprofiles/{profileId}/cities",
22787	//   "httpMethod": "GET",
22788	//   "id": "dfareporting.cities.list",
22789	//   "parameterOrder": [
22790	//     "profileId"
22791	//   ],
22792	//   "parameters": {
22793	//     "countryDartIds": {
22794	//       "description": "Select only cities from these countries.",
22795	//       "format": "int64",
22796	//       "location": "query",
22797	//       "repeated": true,
22798	//       "type": "string"
22799	//     },
22800	//     "dartIds": {
22801	//       "description": "Select only cities with these DART IDs.",
22802	//       "format": "int64",
22803	//       "location": "query",
22804	//       "repeated": true,
22805	//       "type": "string"
22806	//     },
22807	//     "namePrefix": {
22808	//       "description": "Select only cities with names starting with this prefix.",
22809	//       "location": "query",
22810	//       "type": "string"
22811	//     },
22812	//     "profileId": {
22813	//       "description": "User profile ID associated with this request.",
22814	//       "format": "int64",
22815	//       "location": "path",
22816	//       "required": true,
22817	//       "type": "string"
22818	//     },
22819	//     "regionDartIds": {
22820	//       "description": "Select only cities from these regions.",
22821	//       "format": "int64",
22822	//       "location": "query",
22823	//       "repeated": true,
22824	//       "type": "string"
22825	//     }
22826	//   },
22827	//   "path": "userprofiles/{profileId}/cities",
22828	//   "response": {
22829	//     "$ref": "CitiesListResponse"
22830	//   },
22831	//   "scopes": [
22832	//     "https://www.googleapis.com/auth/dfatrafficking"
22833	//   ]
22834	// }
22835
22836}
22837
22838// method id "dfareporting.connectionTypes.get":
22839
22840type ConnectionTypesGetCall struct {
22841	s            *Service
22842	profileId    int64
22843	id           int64
22844	urlParams_   gensupport.URLParams
22845	ifNoneMatch_ string
22846	ctx_         context.Context
22847	header_      http.Header
22848}
22849
22850// Get: Gets one connection type by ID.
22851func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
22852	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22853	c.profileId = profileId
22854	c.id = id
22855	return c
22856}
22857
22858// Fields allows partial responses to be retrieved. See
22859// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22860// for more information.
22861func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
22862	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22863	return c
22864}
22865
22866// IfNoneMatch sets the optional parameter which makes the operation
22867// fail if the object's ETag matches the given value. This is useful for
22868// getting updates only after the object has changed since the last
22869// request. Use googleapi.IsNotModified to check whether the response
22870// error from Do is the result of In-None-Match.
22871func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
22872	c.ifNoneMatch_ = entityTag
22873	return c
22874}
22875
22876// Context sets the context to be used in this call's Do method. Any
22877// pending HTTP request will be aborted if the provided context is
22878// canceled.
22879func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
22880	c.ctx_ = ctx
22881	return c
22882}
22883
22884// Header returns an http.Header that can be modified by the caller to
22885// add HTTP headers to the request.
22886func (c *ConnectionTypesGetCall) Header() http.Header {
22887	if c.header_ == nil {
22888		c.header_ = make(http.Header)
22889	}
22890	return c.header_
22891}
22892
22893func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
22894	reqHeaders := make(http.Header)
22895	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
22896	for k, v := range c.header_ {
22897		reqHeaders[k] = v
22898	}
22899	reqHeaders.Set("User-Agent", c.s.userAgent())
22900	if c.ifNoneMatch_ != "" {
22901		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22902	}
22903	var body io.Reader = nil
22904	c.urlParams_.Set("alt", alt)
22905	c.urlParams_.Set("prettyPrint", "false")
22906	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
22907	urls += "?" + c.urlParams_.Encode()
22908	req, err := http.NewRequest("GET", urls, body)
22909	if err != nil {
22910		return nil, err
22911	}
22912	req.Header = reqHeaders
22913	googleapi.Expand(req.URL, map[string]string{
22914		"profileId": strconv.FormatInt(c.profileId, 10),
22915		"id":        strconv.FormatInt(c.id, 10),
22916	})
22917	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22918}
22919
22920// Do executes the "dfareporting.connectionTypes.get" call.
22921// Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
22922// status code is an error. Response headers are in either
22923// *ConnectionType.ServerResponse.Header or (if a response was returned
22924// at all) in error.(*googleapi.Error).Header. Use
22925// googleapi.IsNotModified to check whether the returned error was
22926// because http.StatusNotModified was returned.
22927func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
22928	gensupport.SetOptions(c.urlParams_, opts...)
22929	res, err := c.doRequest("json")
22930	if res != nil && res.StatusCode == http.StatusNotModified {
22931		if res.Body != nil {
22932			res.Body.Close()
22933		}
22934		return nil, &googleapi.Error{
22935			Code:   res.StatusCode,
22936			Header: res.Header,
22937		}
22938	}
22939	if err != nil {
22940		return nil, err
22941	}
22942	defer googleapi.CloseBody(res)
22943	if err := googleapi.CheckResponse(res); err != nil {
22944		return nil, err
22945	}
22946	ret := &ConnectionType{
22947		ServerResponse: googleapi.ServerResponse{
22948			Header:         res.Header,
22949			HTTPStatusCode: res.StatusCode,
22950		},
22951	}
22952	target := &ret
22953	if err := gensupport.DecodeResponse(target, res); err != nil {
22954		return nil, err
22955	}
22956	return ret, nil
22957	// {
22958	//   "description": "Gets one connection type by ID.",
22959	//   "flatPath": "userprofiles/{profileId}/connectionTypes/{id}",
22960	//   "httpMethod": "GET",
22961	//   "id": "dfareporting.connectionTypes.get",
22962	//   "parameterOrder": [
22963	//     "profileId",
22964	//     "id"
22965	//   ],
22966	//   "parameters": {
22967	//     "id": {
22968	//       "description": "Connection type ID.",
22969	//       "format": "int64",
22970	//       "location": "path",
22971	//       "required": true,
22972	//       "type": "string"
22973	//     },
22974	//     "profileId": {
22975	//       "description": "User profile ID associated with this request.",
22976	//       "format": "int64",
22977	//       "location": "path",
22978	//       "required": true,
22979	//       "type": "string"
22980	//     }
22981	//   },
22982	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
22983	//   "response": {
22984	//     "$ref": "ConnectionType"
22985	//   },
22986	//   "scopes": [
22987	//     "https://www.googleapis.com/auth/dfatrafficking"
22988	//   ]
22989	// }
22990
22991}
22992
22993// method id "dfareporting.connectionTypes.list":
22994
22995type ConnectionTypesListCall struct {
22996	s            *Service
22997	profileId    int64
22998	urlParams_   gensupport.URLParams
22999	ifNoneMatch_ string
23000	ctx_         context.Context
23001	header_      http.Header
23002}
23003
23004// List: Retrieves a list of connection types.
23005func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
23006	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23007	c.profileId = profileId
23008	return c
23009}
23010
23011// Fields allows partial responses to be retrieved. See
23012// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23013// for more information.
23014func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
23015	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23016	return c
23017}
23018
23019// IfNoneMatch sets the optional parameter which makes the operation
23020// fail if the object's ETag matches the given value. This is useful for
23021// getting updates only after the object has changed since the last
23022// request. Use googleapi.IsNotModified to check whether the response
23023// error from Do is the result of In-None-Match.
23024func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
23025	c.ifNoneMatch_ = entityTag
23026	return c
23027}
23028
23029// Context sets the context to be used in this call's Do method. Any
23030// pending HTTP request will be aborted if the provided context is
23031// canceled.
23032func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
23033	c.ctx_ = ctx
23034	return c
23035}
23036
23037// Header returns an http.Header that can be modified by the caller to
23038// add HTTP headers to the request.
23039func (c *ConnectionTypesListCall) Header() http.Header {
23040	if c.header_ == nil {
23041		c.header_ = make(http.Header)
23042	}
23043	return c.header_
23044}
23045
23046func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
23047	reqHeaders := make(http.Header)
23048	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23049	for k, v := range c.header_ {
23050		reqHeaders[k] = v
23051	}
23052	reqHeaders.Set("User-Agent", c.s.userAgent())
23053	if c.ifNoneMatch_ != "" {
23054		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23055	}
23056	var body io.Reader = nil
23057	c.urlParams_.Set("alt", alt)
23058	c.urlParams_.Set("prettyPrint", "false")
23059	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
23060	urls += "?" + c.urlParams_.Encode()
23061	req, err := http.NewRequest("GET", urls, body)
23062	if err != nil {
23063		return nil, err
23064	}
23065	req.Header = reqHeaders
23066	googleapi.Expand(req.URL, map[string]string{
23067		"profileId": strconv.FormatInt(c.profileId, 10),
23068	})
23069	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23070}
23071
23072// Do executes the "dfareporting.connectionTypes.list" call.
23073// Exactly one of *ConnectionTypesListResponse or error will be non-nil.
23074// Any non-2xx status code is an error. Response headers are in either
23075// *ConnectionTypesListResponse.ServerResponse.Header or (if a response
23076// was returned at all) in error.(*googleapi.Error).Header. Use
23077// googleapi.IsNotModified to check whether the returned error was
23078// because http.StatusNotModified was returned.
23079func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
23080	gensupport.SetOptions(c.urlParams_, opts...)
23081	res, err := c.doRequest("json")
23082	if res != nil && res.StatusCode == http.StatusNotModified {
23083		if res.Body != nil {
23084			res.Body.Close()
23085		}
23086		return nil, &googleapi.Error{
23087			Code:   res.StatusCode,
23088			Header: res.Header,
23089		}
23090	}
23091	if err != nil {
23092		return nil, err
23093	}
23094	defer googleapi.CloseBody(res)
23095	if err := googleapi.CheckResponse(res); err != nil {
23096		return nil, err
23097	}
23098	ret := &ConnectionTypesListResponse{
23099		ServerResponse: googleapi.ServerResponse{
23100			Header:         res.Header,
23101			HTTPStatusCode: res.StatusCode,
23102		},
23103	}
23104	target := &ret
23105	if err := gensupport.DecodeResponse(target, res); err != nil {
23106		return nil, err
23107	}
23108	return ret, nil
23109	// {
23110	//   "description": "Retrieves a list of connection types.",
23111	//   "flatPath": "userprofiles/{profileId}/connectionTypes",
23112	//   "httpMethod": "GET",
23113	//   "id": "dfareporting.connectionTypes.list",
23114	//   "parameterOrder": [
23115	//     "profileId"
23116	//   ],
23117	//   "parameters": {
23118	//     "profileId": {
23119	//       "description": "User profile ID associated with this request.",
23120	//       "format": "int64",
23121	//       "location": "path",
23122	//       "required": true,
23123	//       "type": "string"
23124	//     }
23125	//   },
23126	//   "path": "userprofiles/{profileId}/connectionTypes",
23127	//   "response": {
23128	//     "$ref": "ConnectionTypesListResponse"
23129	//   },
23130	//   "scopes": [
23131	//     "https://www.googleapis.com/auth/dfatrafficking"
23132	//   ]
23133	// }
23134
23135}
23136
23137// method id "dfareporting.contentCategories.delete":
23138
23139type ContentCategoriesDeleteCall struct {
23140	s          *Service
23141	profileId  int64
23142	id         int64
23143	urlParams_ gensupport.URLParams
23144	ctx_       context.Context
23145	header_    http.Header
23146}
23147
23148// Delete: Deletes an existing content category.
23149func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
23150	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23151	c.profileId = profileId
23152	c.id = id
23153	return c
23154}
23155
23156// Fields allows partial responses to be retrieved. See
23157// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23158// for more information.
23159func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
23160	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23161	return c
23162}
23163
23164// Context sets the context to be used in this call's Do method. Any
23165// pending HTTP request will be aborted if the provided context is
23166// canceled.
23167func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
23168	c.ctx_ = ctx
23169	return c
23170}
23171
23172// Header returns an http.Header that can be modified by the caller to
23173// add HTTP headers to the request.
23174func (c *ContentCategoriesDeleteCall) Header() http.Header {
23175	if c.header_ == nil {
23176		c.header_ = make(http.Header)
23177	}
23178	return c.header_
23179}
23180
23181func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
23182	reqHeaders := make(http.Header)
23183	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23184	for k, v := range c.header_ {
23185		reqHeaders[k] = v
23186	}
23187	reqHeaders.Set("User-Agent", c.s.userAgent())
23188	var body io.Reader = nil
23189	c.urlParams_.Set("alt", alt)
23190	c.urlParams_.Set("prettyPrint", "false")
23191	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23192	urls += "?" + c.urlParams_.Encode()
23193	req, err := http.NewRequest("DELETE", urls, body)
23194	if err != nil {
23195		return nil, err
23196	}
23197	req.Header = reqHeaders
23198	googleapi.Expand(req.URL, map[string]string{
23199		"profileId": strconv.FormatInt(c.profileId, 10),
23200		"id":        strconv.FormatInt(c.id, 10),
23201	})
23202	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23203}
23204
23205// Do executes the "dfareporting.contentCategories.delete" call.
23206func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
23207	gensupport.SetOptions(c.urlParams_, opts...)
23208	res, err := c.doRequest("json")
23209	if err != nil {
23210		return err
23211	}
23212	defer googleapi.CloseBody(res)
23213	if err := googleapi.CheckResponse(res); err != nil {
23214		return err
23215	}
23216	return nil
23217	// {
23218	//   "description": "Deletes an existing content category.",
23219	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23220	//   "httpMethod": "DELETE",
23221	//   "id": "dfareporting.contentCategories.delete",
23222	//   "parameterOrder": [
23223	//     "profileId",
23224	//     "id"
23225	//   ],
23226	//   "parameters": {
23227	//     "id": {
23228	//       "description": "Content category ID.",
23229	//       "format": "int64",
23230	//       "location": "path",
23231	//       "required": true,
23232	//       "type": "string"
23233	//     },
23234	//     "profileId": {
23235	//       "description": "User profile ID associated with this request.",
23236	//       "format": "int64",
23237	//       "location": "path",
23238	//       "required": true,
23239	//       "type": "string"
23240	//     }
23241	//   },
23242	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23243	//   "scopes": [
23244	//     "https://www.googleapis.com/auth/dfatrafficking"
23245	//   ]
23246	// }
23247
23248}
23249
23250// method id "dfareporting.contentCategories.get":
23251
23252type ContentCategoriesGetCall struct {
23253	s            *Service
23254	profileId    int64
23255	id           int64
23256	urlParams_   gensupport.URLParams
23257	ifNoneMatch_ string
23258	ctx_         context.Context
23259	header_      http.Header
23260}
23261
23262// Get: Gets one content category by ID.
23263func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
23264	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23265	c.profileId = profileId
23266	c.id = id
23267	return c
23268}
23269
23270// Fields allows partial responses to be retrieved. See
23271// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23272// for more information.
23273func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
23274	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23275	return c
23276}
23277
23278// IfNoneMatch sets the optional parameter which makes the operation
23279// fail if the object's ETag matches the given value. This is useful for
23280// getting updates only after the object has changed since the last
23281// request. Use googleapi.IsNotModified to check whether the response
23282// error from Do is the result of In-None-Match.
23283func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
23284	c.ifNoneMatch_ = entityTag
23285	return c
23286}
23287
23288// Context sets the context to be used in this call's Do method. Any
23289// pending HTTP request will be aborted if the provided context is
23290// canceled.
23291func (c *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
23292	c.ctx_ = ctx
23293	return c
23294}
23295
23296// Header returns an http.Header that can be modified by the caller to
23297// add HTTP headers to the request.
23298func (c *ContentCategoriesGetCall) Header() http.Header {
23299	if c.header_ == nil {
23300		c.header_ = make(http.Header)
23301	}
23302	return c.header_
23303}
23304
23305func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
23306	reqHeaders := make(http.Header)
23307	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23308	for k, v := range c.header_ {
23309		reqHeaders[k] = v
23310	}
23311	reqHeaders.Set("User-Agent", c.s.userAgent())
23312	if c.ifNoneMatch_ != "" {
23313		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23314	}
23315	var body io.Reader = nil
23316	c.urlParams_.Set("alt", alt)
23317	c.urlParams_.Set("prettyPrint", "false")
23318	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23319	urls += "?" + c.urlParams_.Encode()
23320	req, err := http.NewRequest("GET", urls, body)
23321	if err != nil {
23322		return nil, err
23323	}
23324	req.Header = reqHeaders
23325	googleapi.Expand(req.URL, map[string]string{
23326		"profileId": strconv.FormatInt(c.profileId, 10),
23327		"id":        strconv.FormatInt(c.id, 10),
23328	})
23329	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23330}
23331
23332// Do executes the "dfareporting.contentCategories.get" call.
23333// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23334// status code is an error. Response headers are in either
23335// *ContentCategory.ServerResponse.Header or (if a response was returned
23336// at all) in error.(*googleapi.Error).Header. Use
23337// googleapi.IsNotModified to check whether the returned error was
23338// because http.StatusNotModified was returned.
23339func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23340	gensupport.SetOptions(c.urlParams_, opts...)
23341	res, err := c.doRequest("json")
23342	if res != nil && res.StatusCode == http.StatusNotModified {
23343		if res.Body != nil {
23344			res.Body.Close()
23345		}
23346		return nil, &googleapi.Error{
23347			Code:   res.StatusCode,
23348			Header: res.Header,
23349		}
23350	}
23351	if err != nil {
23352		return nil, err
23353	}
23354	defer googleapi.CloseBody(res)
23355	if err := googleapi.CheckResponse(res); err != nil {
23356		return nil, err
23357	}
23358	ret := &ContentCategory{
23359		ServerResponse: googleapi.ServerResponse{
23360			Header:         res.Header,
23361			HTTPStatusCode: res.StatusCode,
23362		},
23363	}
23364	target := &ret
23365	if err := gensupport.DecodeResponse(target, res); err != nil {
23366		return nil, err
23367	}
23368	return ret, nil
23369	// {
23370	//   "description": "Gets one content category by ID.",
23371	//   "flatPath": "userprofiles/{profileId}/contentCategories/{id}",
23372	//   "httpMethod": "GET",
23373	//   "id": "dfareporting.contentCategories.get",
23374	//   "parameterOrder": [
23375	//     "profileId",
23376	//     "id"
23377	//   ],
23378	//   "parameters": {
23379	//     "id": {
23380	//       "description": "Content category ID.",
23381	//       "format": "int64",
23382	//       "location": "path",
23383	//       "required": true,
23384	//       "type": "string"
23385	//     },
23386	//     "profileId": {
23387	//       "description": "User profile ID associated with this request.",
23388	//       "format": "int64",
23389	//       "location": "path",
23390	//       "required": true,
23391	//       "type": "string"
23392	//     }
23393	//   },
23394	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23395	//   "response": {
23396	//     "$ref": "ContentCategory"
23397	//   },
23398	//   "scopes": [
23399	//     "https://www.googleapis.com/auth/dfatrafficking"
23400	//   ]
23401	// }
23402
23403}
23404
23405// method id "dfareporting.contentCategories.insert":
23406
23407type ContentCategoriesInsertCall struct {
23408	s               *Service
23409	profileId       int64
23410	contentcategory *ContentCategory
23411	urlParams_      gensupport.URLParams
23412	ctx_            context.Context
23413	header_         http.Header
23414}
23415
23416// Insert: Inserts a new content category.
23417func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
23418	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23419	c.profileId = profileId
23420	c.contentcategory = contentcategory
23421	return c
23422}
23423
23424// Fields allows partial responses to be retrieved. See
23425// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23426// for more information.
23427func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
23428	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23429	return c
23430}
23431
23432// Context sets the context to be used in this call's Do method. Any
23433// pending HTTP request will be aborted if the provided context is
23434// canceled.
23435func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
23436	c.ctx_ = ctx
23437	return c
23438}
23439
23440// Header returns an http.Header that can be modified by the caller to
23441// add HTTP headers to the request.
23442func (c *ContentCategoriesInsertCall) Header() http.Header {
23443	if c.header_ == nil {
23444		c.header_ = make(http.Header)
23445	}
23446	return c.header_
23447}
23448
23449func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
23450	reqHeaders := make(http.Header)
23451	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23452	for k, v := range c.header_ {
23453		reqHeaders[k] = v
23454	}
23455	reqHeaders.Set("User-Agent", c.s.userAgent())
23456	var body io.Reader = nil
23457	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
23458	if err != nil {
23459		return nil, err
23460	}
23461	reqHeaders.Set("Content-Type", "application/json")
23462	c.urlParams_.Set("alt", alt)
23463	c.urlParams_.Set("prettyPrint", "false")
23464	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23465	urls += "?" + c.urlParams_.Encode()
23466	req, err := http.NewRequest("POST", urls, body)
23467	if err != nil {
23468		return nil, err
23469	}
23470	req.Header = reqHeaders
23471	googleapi.Expand(req.URL, map[string]string{
23472		"profileId": strconv.FormatInt(c.profileId, 10),
23473	})
23474	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23475}
23476
23477// Do executes the "dfareporting.contentCategories.insert" call.
23478// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23479// status code is an error. Response headers are in either
23480// *ContentCategory.ServerResponse.Header or (if a response was returned
23481// at all) in error.(*googleapi.Error).Header. Use
23482// googleapi.IsNotModified to check whether the returned error was
23483// because http.StatusNotModified was returned.
23484func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23485	gensupport.SetOptions(c.urlParams_, opts...)
23486	res, err := c.doRequest("json")
23487	if res != nil && res.StatusCode == http.StatusNotModified {
23488		if res.Body != nil {
23489			res.Body.Close()
23490		}
23491		return nil, &googleapi.Error{
23492			Code:   res.StatusCode,
23493			Header: res.Header,
23494		}
23495	}
23496	if err != nil {
23497		return nil, err
23498	}
23499	defer googleapi.CloseBody(res)
23500	if err := googleapi.CheckResponse(res); err != nil {
23501		return nil, err
23502	}
23503	ret := &ContentCategory{
23504		ServerResponse: googleapi.ServerResponse{
23505			Header:         res.Header,
23506			HTTPStatusCode: res.StatusCode,
23507		},
23508	}
23509	target := &ret
23510	if err := gensupport.DecodeResponse(target, res); err != nil {
23511		return nil, err
23512	}
23513	return ret, nil
23514	// {
23515	//   "description": "Inserts a new content category.",
23516	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23517	//   "httpMethod": "POST",
23518	//   "id": "dfareporting.contentCategories.insert",
23519	//   "parameterOrder": [
23520	//     "profileId"
23521	//   ],
23522	//   "parameters": {
23523	//     "profileId": {
23524	//       "description": "User profile ID associated with this request.",
23525	//       "format": "int64",
23526	//       "location": "path",
23527	//       "required": true,
23528	//       "type": "string"
23529	//     }
23530	//   },
23531	//   "path": "userprofiles/{profileId}/contentCategories",
23532	//   "request": {
23533	//     "$ref": "ContentCategory"
23534	//   },
23535	//   "response": {
23536	//     "$ref": "ContentCategory"
23537	//   },
23538	//   "scopes": [
23539	//     "https://www.googleapis.com/auth/dfatrafficking"
23540	//   ]
23541	// }
23542
23543}
23544
23545// method id "dfareporting.contentCategories.list":
23546
23547type ContentCategoriesListCall struct {
23548	s            *Service
23549	profileId    int64
23550	urlParams_   gensupport.URLParams
23551	ifNoneMatch_ string
23552	ctx_         context.Context
23553	header_      http.Header
23554}
23555
23556// List: Retrieves a list of content categories, possibly filtered. This
23557// method supports paging.
23558func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
23559	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23560	c.profileId = profileId
23561	return c
23562}
23563
23564// Ids sets the optional parameter "ids": Select only content categories
23565// with these IDs.
23566func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
23567	var ids_ []string
23568	for _, v := range ids {
23569		ids_ = append(ids_, fmt.Sprint(v))
23570	}
23571	c.urlParams_.SetMulti("ids", ids_)
23572	return c
23573}
23574
23575// MaxResults sets the optional parameter "maxResults": Maximum number
23576// of results to return.
23577func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
23578	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
23579	return c
23580}
23581
23582// PageToken sets the optional parameter "pageToken": Value of the
23583// nextPageToken from the previous result page.
23584func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
23585	c.urlParams_.Set("pageToken", pageToken)
23586	return c
23587}
23588
23589// SearchString sets the optional parameter "searchString": Allows
23590// searching for objects by name or ID. Wildcards (*) are allowed. For
23591// example, "contentcategory*2015" will return objects with names like
23592// "contentcategory June 2015", "contentcategory April 2015", or simply
23593// "contentcategory 2015". Most of the searches also add wildcards
23594// implicitly at the start and the end of the search string. For
23595// example, a search string of "contentcategory" will match objects with
23596// name "my contentcategory", "contentcategory 2015", or simply
23597// "contentcategory".
23598func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
23599	c.urlParams_.Set("searchString", searchString)
23600	return c
23601}
23602
23603// SortField sets the optional parameter "sortField": Field by which to
23604// sort the list.
23605//
23606// Possible values:
23607//   "ID" (default)
23608//   "NAME"
23609func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
23610	c.urlParams_.Set("sortField", sortField)
23611	return c
23612}
23613
23614// SortOrder sets the optional parameter "sortOrder": Order of sorted
23615// results.
23616//
23617// Possible values:
23618//   "ASCENDING" (default)
23619//   "DESCENDING"
23620func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
23621	c.urlParams_.Set("sortOrder", sortOrder)
23622	return c
23623}
23624
23625// Fields allows partial responses to be retrieved. See
23626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23627// for more information.
23628func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
23629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23630	return c
23631}
23632
23633// IfNoneMatch sets the optional parameter which makes the operation
23634// fail if the object's ETag matches the given value. This is useful for
23635// getting updates only after the object has changed since the last
23636// request. Use googleapi.IsNotModified to check whether the response
23637// error from Do is the result of In-None-Match.
23638func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
23639	c.ifNoneMatch_ = entityTag
23640	return c
23641}
23642
23643// Context sets the context to be used in this call's Do method. Any
23644// pending HTTP request will be aborted if the provided context is
23645// canceled.
23646func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
23647	c.ctx_ = ctx
23648	return c
23649}
23650
23651// Header returns an http.Header that can be modified by the caller to
23652// add HTTP headers to the request.
23653func (c *ContentCategoriesListCall) Header() http.Header {
23654	if c.header_ == nil {
23655		c.header_ = make(http.Header)
23656	}
23657	return c.header_
23658}
23659
23660func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
23661	reqHeaders := make(http.Header)
23662	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23663	for k, v := range c.header_ {
23664		reqHeaders[k] = v
23665	}
23666	reqHeaders.Set("User-Agent", c.s.userAgent())
23667	if c.ifNoneMatch_ != "" {
23668		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23669	}
23670	var body io.Reader = nil
23671	c.urlParams_.Set("alt", alt)
23672	c.urlParams_.Set("prettyPrint", "false")
23673	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23674	urls += "?" + c.urlParams_.Encode()
23675	req, err := http.NewRequest("GET", urls, body)
23676	if err != nil {
23677		return nil, err
23678	}
23679	req.Header = reqHeaders
23680	googleapi.Expand(req.URL, map[string]string{
23681		"profileId": strconv.FormatInt(c.profileId, 10),
23682	})
23683	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23684}
23685
23686// Do executes the "dfareporting.contentCategories.list" call.
23687// Exactly one of *ContentCategoriesListResponse or error will be
23688// non-nil. Any non-2xx status code is an error. Response headers are in
23689// either *ContentCategoriesListResponse.ServerResponse.Header or (if a
23690// response was returned at all) in error.(*googleapi.Error).Header. Use
23691// googleapi.IsNotModified to check whether the returned error was
23692// because http.StatusNotModified was returned.
23693func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
23694	gensupport.SetOptions(c.urlParams_, opts...)
23695	res, err := c.doRequest("json")
23696	if res != nil && res.StatusCode == http.StatusNotModified {
23697		if res.Body != nil {
23698			res.Body.Close()
23699		}
23700		return nil, &googleapi.Error{
23701			Code:   res.StatusCode,
23702			Header: res.Header,
23703		}
23704	}
23705	if err != nil {
23706		return nil, err
23707	}
23708	defer googleapi.CloseBody(res)
23709	if err := googleapi.CheckResponse(res); err != nil {
23710		return nil, err
23711	}
23712	ret := &ContentCategoriesListResponse{
23713		ServerResponse: googleapi.ServerResponse{
23714			Header:         res.Header,
23715			HTTPStatusCode: res.StatusCode,
23716		},
23717	}
23718	target := &ret
23719	if err := gensupport.DecodeResponse(target, res); err != nil {
23720		return nil, err
23721	}
23722	return ret, nil
23723	// {
23724	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
23725	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23726	//   "httpMethod": "GET",
23727	//   "id": "dfareporting.contentCategories.list",
23728	//   "parameterOrder": [
23729	//     "profileId"
23730	//   ],
23731	//   "parameters": {
23732	//     "ids": {
23733	//       "description": "Select only content categories with these IDs.",
23734	//       "format": "int64",
23735	//       "location": "query",
23736	//       "repeated": true,
23737	//       "type": "string"
23738	//     },
23739	//     "maxResults": {
23740	//       "default": "1000",
23741	//       "description": "Maximum number of results to return.",
23742	//       "format": "int32",
23743	//       "location": "query",
23744	//       "maximum": "1000",
23745	//       "minimum": "0",
23746	//       "type": "integer"
23747	//     },
23748	//     "pageToken": {
23749	//       "description": "Value of the nextPageToken from the previous result page.",
23750	//       "location": "query",
23751	//       "type": "string"
23752	//     },
23753	//     "profileId": {
23754	//       "description": "User profile ID associated with this request.",
23755	//       "format": "int64",
23756	//       "location": "path",
23757	//       "required": true,
23758	//       "type": "string"
23759	//     },
23760	//     "searchString": {
23761	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"contentcategory*2015\" will return objects with names like \"contentcategory June 2015\", \"contentcategory April 2015\", or simply \"contentcategory 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"contentcategory\" will match objects with name \"my contentcategory\", \"contentcategory 2015\", or simply \"contentcategory\".",
23762	//       "location": "query",
23763	//       "type": "string"
23764	//     },
23765	//     "sortField": {
23766	//       "default": "ID",
23767	//       "description": "Field by which to sort the list.",
23768	//       "enum": [
23769	//         "ID",
23770	//         "NAME"
23771	//       ],
23772	//       "enumDescriptions": [
23773	//         "",
23774	//         ""
23775	//       ],
23776	//       "location": "query",
23777	//       "type": "string"
23778	//     },
23779	//     "sortOrder": {
23780	//       "default": "ASCENDING",
23781	//       "description": "Order of sorted results.",
23782	//       "enum": [
23783	//         "ASCENDING",
23784	//         "DESCENDING"
23785	//       ],
23786	//       "enumDescriptions": [
23787	//         "",
23788	//         ""
23789	//       ],
23790	//       "location": "query",
23791	//       "type": "string"
23792	//     }
23793	//   },
23794	//   "path": "userprofiles/{profileId}/contentCategories",
23795	//   "response": {
23796	//     "$ref": "ContentCategoriesListResponse"
23797	//   },
23798	//   "scopes": [
23799	//     "https://www.googleapis.com/auth/dfatrafficking"
23800	//   ]
23801	// }
23802
23803}
23804
23805// Pages invokes f for each page of results.
23806// A non-nil error returned from f will halt the iteration.
23807// The provided context supersedes any context provided to the Context method.
23808func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
23809	c.ctx_ = ctx
23810	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23811	for {
23812		x, err := c.Do()
23813		if err != nil {
23814			return err
23815		}
23816		if err := f(x); err != nil {
23817			return err
23818		}
23819		if x.NextPageToken == "" {
23820			return nil
23821		}
23822		c.PageToken(x.NextPageToken)
23823	}
23824}
23825
23826// method id "dfareporting.contentCategories.patch":
23827
23828type ContentCategoriesPatchCall struct {
23829	s               *Service
23830	profileId       int64
23831	contentcategory *ContentCategory
23832	urlParams_      gensupport.URLParams
23833	ctx_            context.Context
23834	header_         http.Header
23835}
23836
23837// Patch: Updates an existing content category. This method supports
23838// patch semantics.
23839func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
23840	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23841	c.profileId = profileId
23842	c.urlParams_.Set("id", fmt.Sprint(id))
23843	c.contentcategory = contentcategory
23844	return c
23845}
23846
23847// Fields allows partial responses to be retrieved. See
23848// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23849// for more information.
23850func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
23851	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23852	return c
23853}
23854
23855// Context sets the context to be used in this call's Do method. Any
23856// pending HTTP request will be aborted if the provided context is
23857// canceled.
23858func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
23859	c.ctx_ = ctx
23860	return c
23861}
23862
23863// Header returns an http.Header that can be modified by the caller to
23864// add HTTP headers to the request.
23865func (c *ContentCategoriesPatchCall) Header() http.Header {
23866	if c.header_ == nil {
23867		c.header_ = make(http.Header)
23868	}
23869	return c.header_
23870}
23871
23872func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
23873	reqHeaders := make(http.Header)
23874	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
23875	for k, v := range c.header_ {
23876		reqHeaders[k] = v
23877	}
23878	reqHeaders.Set("User-Agent", c.s.userAgent())
23879	var body io.Reader = nil
23880	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
23881	if err != nil {
23882		return nil, err
23883	}
23884	reqHeaders.Set("Content-Type", "application/json")
23885	c.urlParams_.Set("alt", alt)
23886	c.urlParams_.Set("prettyPrint", "false")
23887	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23888	urls += "?" + c.urlParams_.Encode()
23889	req, err := http.NewRequest("PATCH", urls, body)
23890	if err != nil {
23891		return nil, err
23892	}
23893	req.Header = reqHeaders
23894	googleapi.Expand(req.URL, map[string]string{
23895		"profileId": strconv.FormatInt(c.profileId, 10),
23896	})
23897	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23898}
23899
23900// Do executes the "dfareporting.contentCategories.patch" call.
23901// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23902// status code is an error. Response headers are in either
23903// *ContentCategory.ServerResponse.Header or (if a response was returned
23904// at all) in error.(*googleapi.Error).Header. Use
23905// googleapi.IsNotModified to check whether the returned error was
23906// because http.StatusNotModified was returned.
23907func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23908	gensupport.SetOptions(c.urlParams_, opts...)
23909	res, err := c.doRequest("json")
23910	if res != nil && res.StatusCode == http.StatusNotModified {
23911		if res.Body != nil {
23912			res.Body.Close()
23913		}
23914		return nil, &googleapi.Error{
23915			Code:   res.StatusCode,
23916			Header: res.Header,
23917		}
23918	}
23919	if err != nil {
23920		return nil, err
23921	}
23922	defer googleapi.CloseBody(res)
23923	if err := googleapi.CheckResponse(res); err != nil {
23924		return nil, err
23925	}
23926	ret := &ContentCategory{
23927		ServerResponse: googleapi.ServerResponse{
23928			Header:         res.Header,
23929			HTTPStatusCode: res.StatusCode,
23930		},
23931	}
23932	target := &ret
23933	if err := gensupport.DecodeResponse(target, res); err != nil {
23934		return nil, err
23935	}
23936	return ret, nil
23937	// {
23938	//   "description": "Updates an existing content category. This method supports patch semantics.",
23939	//   "flatPath": "userprofiles/{profileId}/contentCategories",
23940	//   "httpMethod": "PATCH",
23941	//   "id": "dfareporting.contentCategories.patch",
23942	//   "parameterOrder": [
23943	//     "profileId",
23944	//     "id"
23945	//   ],
23946	//   "parameters": {
23947	//     "id": {
23948	//       "description": "ContentCategory ID.",
23949	//       "format": "int64",
23950	//       "location": "query",
23951	//       "required": true,
23952	//       "type": "string"
23953	//     },
23954	//     "profileId": {
23955	//       "description": "User profile ID associated with this request.",
23956	//       "format": "int64",
23957	//       "location": "path",
23958	//       "required": true,
23959	//       "type": "string"
23960	//     }
23961	//   },
23962	//   "path": "userprofiles/{profileId}/contentCategories",
23963	//   "request": {
23964	//     "$ref": "ContentCategory"
23965	//   },
23966	//   "response": {
23967	//     "$ref": "ContentCategory"
23968	//   },
23969	//   "scopes": [
23970	//     "https://www.googleapis.com/auth/dfatrafficking"
23971	//   ]
23972	// }
23973
23974}
23975
23976// method id "dfareporting.contentCategories.update":
23977
23978type ContentCategoriesUpdateCall struct {
23979	s               *Service
23980	profileId       int64
23981	contentcategory *ContentCategory
23982	urlParams_      gensupport.URLParams
23983	ctx_            context.Context
23984	header_         http.Header
23985}
23986
23987// Update: Updates an existing content category.
23988func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
23989	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23990	c.profileId = profileId
23991	c.contentcategory = contentcategory
23992	return c
23993}
23994
23995// Fields allows partial responses to be retrieved. See
23996// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23997// for more information.
23998func (c *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
23999	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24000	return c
24001}
24002
24003// Context sets the context to be used in this call's Do method. Any
24004// pending HTTP request will be aborted if the provided context is
24005// canceled.
24006func (c *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
24007	c.ctx_ = ctx
24008	return c
24009}
24010
24011// Header returns an http.Header that can be modified by the caller to
24012// add HTTP headers to the request.
24013func (c *ContentCategoriesUpdateCall) Header() http.Header {
24014	if c.header_ == nil {
24015		c.header_ = make(http.Header)
24016	}
24017	return c.header_
24018}
24019
24020func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
24021	reqHeaders := make(http.Header)
24022	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24023	for k, v := range c.header_ {
24024		reqHeaders[k] = v
24025	}
24026	reqHeaders.Set("User-Agent", c.s.userAgent())
24027	var body io.Reader = nil
24028	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24029	if err != nil {
24030		return nil, err
24031	}
24032	reqHeaders.Set("Content-Type", "application/json")
24033	c.urlParams_.Set("alt", alt)
24034	c.urlParams_.Set("prettyPrint", "false")
24035	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24036	urls += "?" + c.urlParams_.Encode()
24037	req, err := http.NewRequest("PUT", urls, body)
24038	if err != nil {
24039		return nil, err
24040	}
24041	req.Header = reqHeaders
24042	googleapi.Expand(req.URL, map[string]string{
24043		"profileId": strconv.FormatInt(c.profileId, 10),
24044	})
24045	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24046}
24047
24048// Do executes the "dfareporting.contentCategories.update" call.
24049// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24050// status code is an error. Response headers are in either
24051// *ContentCategory.ServerResponse.Header or (if a response was returned
24052// at all) in error.(*googleapi.Error).Header. Use
24053// googleapi.IsNotModified to check whether the returned error was
24054// because http.StatusNotModified was returned.
24055func (c *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24056	gensupport.SetOptions(c.urlParams_, opts...)
24057	res, err := c.doRequest("json")
24058	if res != nil && res.StatusCode == http.StatusNotModified {
24059		if res.Body != nil {
24060			res.Body.Close()
24061		}
24062		return nil, &googleapi.Error{
24063			Code:   res.StatusCode,
24064			Header: res.Header,
24065		}
24066	}
24067	if err != nil {
24068		return nil, err
24069	}
24070	defer googleapi.CloseBody(res)
24071	if err := googleapi.CheckResponse(res); err != nil {
24072		return nil, err
24073	}
24074	ret := &ContentCategory{
24075		ServerResponse: googleapi.ServerResponse{
24076			Header:         res.Header,
24077			HTTPStatusCode: res.StatusCode,
24078		},
24079	}
24080	target := &ret
24081	if err := gensupport.DecodeResponse(target, res); err != nil {
24082		return nil, err
24083	}
24084	return ret, nil
24085	// {
24086	//   "description": "Updates an existing content category.",
24087	//   "flatPath": "userprofiles/{profileId}/contentCategories",
24088	//   "httpMethod": "PUT",
24089	//   "id": "dfareporting.contentCategories.update",
24090	//   "parameterOrder": [
24091	//     "profileId"
24092	//   ],
24093	//   "parameters": {
24094	//     "profileId": {
24095	//       "description": "User profile ID associated with this request.",
24096	//       "format": "int64",
24097	//       "location": "path",
24098	//       "required": true,
24099	//       "type": "string"
24100	//     }
24101	//   },
24102	//   "path": "userprofiles/{profileId}/contentCategories",
24103	//   "request": {
24104	//     "$ref": "ContentCategory"
24105	//   },
24106	//   "response": {
24107	//     "$ref": "ContentCategory"
24108	//   },
24109	//   "scopes": [
24110	//     "https://www.googleapis.com/auth/dfatrafficking"
24111	//   ]
24112	// }
24113
24114}
24115
24116// method id "dfareporting.conversions.batchinsert":
24117
24118type ConversionsBatchinsertCall struct {
24119	s                             *Service
24120	profileId                     int64
24121	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
24122	urlParams_                    gensupport.URLParams
24123	ctx_                          context.Context
24124	header_                       http.Header
24125}
24126
24127// Batchinsert: Inserts conversions.
24128func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
24129	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24130	c.profileId = profileId
24131	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
24132	return c
24133}
24134
24135// Fields allows partial responses to be retrieved. See
24136// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24137// for more information.
24138func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
24139	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24140	return c
24141}
24142
24143// Context sets the context to be used in this call's Do method. Any
24144// pending HTTP request will be aborted if the provided context is
24145// canceled.
24146func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
24147	c.ctx_ = ctx
24148	return c
24149}
24150
24151// Header returns an http.Header that can be modified by the caller to
24152// add HTTP headers to the request.
24153func (c *ConversionsBatchinsertCall) Header() http.Header {
24154	if c.header_ == nil {
24155		c.header_ = make(http.Header)
24156	}
24157	return c.header_
24158}
24159
24160func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
24161	reqHeaders := make(http.Header)
24162	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24163	for k, v := range c.header_ {
24164		reqHeaders[k] = v
24165	}
24166	reqHeaders.Set("User-Agent", c.s.userAgent())
24167	var body io.Reader = nil
24168	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
24169	if err != nil {
24170		return nil, err
24171	}
24172	reqHeaders.Set("Content-Type", "application/json")
24173	c.urlParams_.Set("alt", alt)
24174	c.urlParams_.Set("prettyPrint", "false")
24175	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
24176	urls += "?" + c.urlParams_.Encode()
24177	req, err := http.NewRequest("POST", urls, body)
24178	if err != nil {
24179		return nil, err
24180	}
24181	req.Header = reqHeaders
24182	googleapi.Expand(req.URL, map[string]string{
24183		"profileId": strconv.FormatInt(c.profileId, 10),
24184	})
24185	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24186}
24187
24188// Do executes the "dfareporting.conversions.batchinsert" call.
24189// Exactly one of *ConversionsBatchInsertResponse or error will be
24190// non-nil. Any non-2xx status code is an error. Response headers are in
24191// either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
24192// response was returned at all) in error.(*googleapi.Error).Header. Use
24193// googleapi.IsNotModified to check whether the returned error was
24194// because http.StatusNotModified was returned.
24195func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
24196	gensupport.SetOptions(c.urlParams_, opts...)
24197	res, err := c.doRequest("json")
24198	if res != nil && res.StatusCode == http.StatusNotModified {
24199		if res.Body != nil {
24200			res.Body.Close()
24201		}
24202		return nil, &googleapi.Error{
24203			Code:   res.StatusCode,
24204			Header: res.Header,
24205		}
24206	}
24207	if err != nil {
24208		return nil, err
24209	}
24210	defer googleapi.CloseBody(res)
24211	if err := googleapi.CheckResponse(res); err != nil {
24212		return nil, err
24213	}
24214	ret := &ConversionsBatchInsertResponse{
24215		ServerResponse: googleapi.ServerResponse{
24216			Header:         res.Header,
24217			HTTPStatusCode: res.StatusCode,
24218		},
24219	}
24220	target := &ret
24221	if err := gensupport.DecodeResponse(target, res); err != nil {
24222		return nil, err
24223	}
24224	return ret, nil
24225	// {
24226	//   "description": "Inserts conversions.",
24227	//   "flatPath": "userprofiles/{profileId}/conversions/batchinsert",
24228	//   "httpMethod": "POST",
24229	//   "id": "dfareporting.conversions.batchinsert",
24230	//   "parameterOrder": [
24231	//     "profileId"
24232	//   ],
24233	//   "parameters": {
24234	//     "profileId": {
24235	//       "description": "User profile ID associated with this request.",
24236	//       "format": "int64",
24237	//       "location": "path",
24238	//       "required": true,
24239	//       "type": "string"
24240	//     }
24241	//   },
24242	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
24243	//   "request": {
24244	//     "$ref": "ConversionsBatchInsertRequest"
24245	//   },
24246	//   "response": {
24247	//     "$ref": "ConversionsBatchInsertResponse"
24248	//   },
24249	//   "scopes": [
24250	//     "https://www.googleapis.com/auth/ddmconversions"
24251	//   ]
24252	// }
24253
24254}
24255
24256// method id "dfareporting.conversions.batchupdate":
24257
24258type ConversionsBatchupdateCall struct {
24259	s                             *Service
24260	profileId                     int64
24261	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
24262	urlParams_                    gensupport.URLParams
24263	ctx_                          context.Context
24264	header_                       http.Header
24265}
24266
24267// Batchupdate: Updates existing conversions.
24268func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
24269	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24270	c.profileId = profileId
24271	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
24272	return c
24273}
24274
24275// Fields allows partial responses to be retrieved. See
24276// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24277// for more information.
24278func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
24279	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24280	return c
24281}
24282
24283// Context sets the context to be used in this call's Do method. Any
24284// pending HTTP request will be aborted if the provided context is
24285// canceled.
24286func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
24287	c.ctx_ = ctx
24288	return c
24289}
24290
24291// Header returns an http.Header that can be modified by the caller to
24292// add HTTP headers to the request.
24293func (c *ConversionsBatchupdateCall) Header() http.Header {
24294	if c.header_ == nil {
24295		c.header_ = make(http.Header)
24296	}
24297	return c.header_
24298}
24299
24300func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
24301	reqHeaders := make(http.Header)
24302	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24303	for k, v := range c.header_ {
24304		reqHeaders[k] = v
24305	}
24306	reqHeaders.Set("User-Agent", c.s.userAgent())
24307	var body io.Reader = nil
24308	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
24309	if err != nil {
24310		return nil, err
24311	}
24312	reqHeaders.Set("Content-Type", "application/json")
24313	c.urlParams_.Set("alt", alt)
24314	c.urlParams_.Set("prettyPrint", "false")
24315	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
24316	urls += "?" + c.urlParams_.Encode()
24317	req, err := http.NewRequest("POST", urls, body)
24318	if err != nil {
24319		return nil, err
24320	}
24321	req.Header = reqHeaders
24322	googleapi.Expand(req.URL, map[string]string{
24323		"profileId": strconv.FormatInt(c.profileId, 10),
24324	})
24325	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24326}
24327
24328// Do executes the "dfareporting.conversions.batchupdate" call.
24329// Exactly one of *ConversionsBatchUpdateResponse or error will be
24330// non-nil. Any non-2xx status code is an error. Response headers are in
24331// either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
24332// response was returned at all) in error.(*googleapi.Error).Header. Use
24333// googleapi.IsNotModified to check whether the returned error was
24334// because http.StatusNotModified was returned.
24335func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
24336	gensupport.SetOptions(c.urlParams_, opts...)
24337	res, err := c.doRequest("json")
24338	if res != nil && res.StatusCode == http.StatusNotModified {
24339		if res.Body != nil {
24340			res.Body.Close()
24341		}
24342		return nil, &googleapi.Error{
24343			Code:   res.StatusCode,
24344			Header: res.Header,
24345		}
24346	}
24347	if err != nil {
24348		return nil, err
24349	}
24350	defer googleapi.CloseBody(res)
24351	if err := googleapi.CheckResponse(res); err != nil {
24352		return nil, err
24353	}
24354	ret := &ConversionsBatchUpdateResponse{
24355		ServerResponse: googleapi.ServerResponse{
24356			Header:         res.Header,
24357			HTTPStatusCode: res.StatusCode,
24358		},
24359	}
24360	target := &ret
24361	if err := gensupport.DecodeResponse(target, res); err != nil {
24362		return nil, err
24363	}
24364	return ret, nil
24365	// {
24366	//   "description": "Updates existing conversions.",
24367	//   "flatPath": "userprofiles/{profileId}/conversions/batchupdate",
24368	//   "httpMethod": "POST",
24369	//   "id": "dfareporting.conversions.batchupdate",
24370	//   "parameterOrder": [
24371	//     "profileId"
24372	//   ],
24373	//   "parameters": {
24374	//     "profileId": {
24375	//       "description": "User profile ID associated with this request.",
24376	//       "format": "int64",
24377	//       "location": "path",
24378	//       "required": true,
24379	//       "type": "string"
24380	//     }
24381	//   },
24382	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
24383	//   "request": {
24384	//     "$ref": "ConversionsBatchUpdateRequest"
24385	//   },
24386	//   "response": {
24387	//     "$ref": "ConversionsBatchUpdateResponse"
24388	//   },
24389	//   "scopes": [
24390	//     "https://www.googleapis.com/auth/ddmconversions"
24391	//   ]
24392	// }
24393
24394}
24395
24396// method id "dfareporting.countries.get":
24397
24398type CountriesGetCall struct {
24399	s            *Service
24400	profileId    int64
24401	dartId       int64
24402	urlParams_   gensupport.URLParams
24403	ifNoneMatch_ string
24404	ctx_         context.Context
24405	header_      http.Header
24406}
24407
24408// Get: Gets one country by ID.
24409func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
24410	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24411	c.profileId = profileId
24412	c.dartId = dartId
24413	return c
24414}
24415
24416// Fields allows partial responses to be retrieved. See
24417// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24418// for more information.
24419func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
24420	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24421	return c
24422}
24423
24424// IfNoneMatch sets the optional parameter which makes the operation
24425// fail if the object's ETag matches the given value. This is useful for
24426// getting updates only after the object has changed since the last
24427// request. Use googleapi.IsNotModified to check whether the response
24428// error from Do is the result of In-None-Match.
24429func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
24430	c.ifNoneMatch_ = entityTag
24431	return c
24432}
24433
24434// Context sets the context to be used in this call's Do method. Any
24435// pending HTTP request will be aborted if the provided context is
24436// canceled.
24437func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
24438	c.ctx_ = ctx
24439	return c
24440}
24441
24442// Header returns an http.Header that can be modified by the caller to
24443// add HTTP headers to the request.
24444func (c *CountriesGetCall) Header() http.Header {
24445	if c.header_ == nil {
24446		c.header_ = make(http.Header)
24447	}
24448	return c.header_
24449}
24450
24451func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
24452	reqHeaders := make(http.Header)
24453	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24454	for k, v := range c.header_ {
24455		reqHeaders[k] = v
24456	}
24457	reqHeaders.Set("User-Agent", c.s.userAgent())
24458	if c.ifNoneMatch_ != "" {
24459		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24460	}
24461	var body io.Reader = nil
24462	c.urlParams_.Set("alt", alt)
24463	c.urlParams_.Set("prettyPrint", "false")
24464	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
24465	urls += "?" + c.urlParams_.Encode()
24466	req, err := http.NewRequest("GET", urls, body)
24467	if err != nil {
24468		return nil, err
24469	}
24470	req.Header = reqHeaders
24471	googleapi.Expand(req.URL, map[string]string{
24472		"profileId": strconv.FormatInt(c.profileId, 10),
24473		"dartId":    strconv.FormatInt(c.dartId, 10),
24474	})
24475	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24476}
24477
24478// Do executes the "dfareporting.countries.get" call.
24479// Exactly one of *Country or error will be non-nil. Any non-2xx status
24480// code is an error. Response headers are in either
24481// *Country.ServerResponse.Header or (if a response was returned at all)
24482// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24483// check whether the returned error was because http.StatusNotModified
24484// was returned.
24485func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
24486	gensupport.SetOptions(c.urlParams_, opts...)
24487	res, err := c.doRequest("json")
24488	if res != nil && res.StatusCode == http.StatusNotModified {
24489		if res.Body != nil {
24490			res.Body.Close()
24491		}
24492		return nil, &googleapi.Error{
24493			Code:   res.StatusCode,
24494			Header: res.Header,
24495		}
24496	}
24497	if err != nil {
24498		return nil, err
24499	}
24500	defer googleapi.CloseBody(res)
24501	if err := googleapi.CheckResponse(res); err != nil {
24502		return nil, err
24503	}
24504	ret := &Country{
24505		ServerResponse: googleapi.ServerResponse{
24506			Header:         res.Header,
24507			HTTPStatusCode: res.StatusCode,
24508		},
24509	}
24510	target := &ret
24511	if err := gensupport.DecodeResponse(target, res); err != nil {
24512		return nil, err
24513	}
24514	return ret, nil
24515	// {
24516	//   "description": "Gets one country by ID.",
24517	//   "flatPath": "userprofiles/{profileId}/countries/{dartId}",
24518	//   "httpMethod": "GET",
24519	//   "id": "dfareporting.countries.get",
24520	//   "parameterOrder": [
24521	//     "profileId",
24522	//     "dartId"
24523	//   ],
24524	//   "parameters": {
24525	//     "dartId": {
24526	//       "description": "Country DART ID.",
24527	//       "format": "int64",
24528	//       "location": "path",
24529	//       "required": true,
24530	//       "type": "string"
24531	//     },
24532	//     "profileId": {
24533	//       "description": "User profile ID associated with this request.",
24534	//       "format": "int64",
24535	//       "location": "path",
24536	//       "required": true,
24537	//       "type": "string"
24538	//     }
24539	//   },
24540	//   "path": "userprofiles/{profileId}/countries/{dartId}",
24541	//   "response": {
24542	//     "$ref": "Country"
24543	//   },
24544	//   "scopes": [
24545	//     "https://www.googleapis.com/auth/dfatrafficking"
24546	//   ]
24547	// }
24548
24549}
24550
24551// method id "dfareporting.countries.list":
24552
24553type CountriesListCall struct {
24554	s            *Service
24555	profileId    int64
24556	urlParams_   gensupport.URLParams
24557	ifNoneMatch_ string
24558	ctx_         context.Context
24559	header_      http.Header
24560}
24561
24562// List: Retrieves a list of countries.
24563func (r *CountriesService) List(profileId int64) *CountriesListCall {
24564	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24565	c.profileId = profileId
24566	return c
24567}
24568
24569// Fields allows partial responses to be retrieved. See
24570// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24571// for more information.
24572func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
24573	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24574	return c
24575}
24576
24577// IfNoneMatch sets the optional parameter which makes the operation
24578// fail if the object's ETag matches the given value. This is useful for
24579// getting updates only after the object has changed since the last
24580// request. Use googleapi.IsNotModified to check whether the response
24581// error from Do is the result of In-None-Match.
24582func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
24583	c.ifNoneMatch_ = entityTag
24584	return c
24585}
24586
24587// Context sets the context to be used in this call's Do method. Any
24588// pending HTTP request will be aborted if the provided context is
24589// canceled.
24590func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
24591	c.ctx_ = ctx
24592	return c
24593}
24594
24595// Header returns an http.Header that can be modified by the caller to
24596// add HTTP headers to the request.
24597func (c *CountriesListCall) Header() http.Header {
24598	if c.header_ == nil {
24599		c.header_ = make(http.Header)
24600	}
24601	return c.header_
24602}
24603
24604func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
24605	reqHeaders := make(http.Header)
24606	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24607	for k, v := range c.header_ {
24608		reqHeaders[k] = v
24609	}
24610	reqHeaders.Set("User-Agent", c.s.userAgent())
24611	if c.ifNoneMatch_ != "" {
24612		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24613	}
24614	var body io.Reader = nil
24615	c.urlParams_.Set("alt", alt)
24616	c.urlParams_.Set("prettyPrint", "false")
24617	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
24618	urls += "?" + c.urlParams_.Encode()
24619	req, err := http.NewRequest("GET", urls, body)
24620	if err != nil {
24621		return nil, err
24622	}
24623	req.Header = reqHeaders
24624	googleapi.Expand(req.URL, map[string]string{
24625		"profileId": strconv.FormatInt(c.profileId, 10),
24626	})
24627	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24628}
24629
24630// Do executes the "dfareporting.countries.list" call.
24631// Exactly one of *CountriesListResponse or error will be non-nil. Any
24632// non-2xx status code is an error. Response headers are in either
24633// *CountriesListResponse.ServerResponse.Header or (if a response was
24634// returned at all) in error.(*googleapi.Error).Header. Use
24635// googleapi.IsNotModified to check whether the returned error was
24636// because http.StatusNotModified was returned.
24637func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
24638	gensupport.SetOptions(c.urlParams_, opts...)
24639	res, err := c.doRequest("json")
24640	if res != nil && res.StatusCode == http.StatusNotModified {
24641		if res.Body != nil {
24642			res.Body.Close()
24643		}
24644		return nil, &googleapi.Error{
24645			Code:   res.StatusCode,
24646			Header: res.Header,
24647		}
24648	}
24649	if err != nil {
24650		return nil, err
24651	}
24652	defer googleapi.CloseBody(res)
24653	if err := googleapi.CheckResponse(res); err != nil {
24654		return nil, err
24655	}
24656	ret := &CountriesListResponse{
24657		ServerResponse: googleapi.ServerResponse{
24658			Header:         res.Header,
24659			HTTPStatusCode: res.StatusCode,
24660		},
24661	}
24662	target := &ret
24663	if err := gensupport.DecodeResponse(target, res); err != nil {
24664		return nil, err
24665	}
24666	return ret, nil
24667	// {
24668	//   "description": "Retrieves a list of countries.",
24669	//   "flatPath": "userprofiles/{profileId}/countries",
24670	//   "httpMethod": "GET",
24671	//   "id": "dfareporting.countries.list",
24672	//   "parameterOrder": [
24673	//     "profileId"
24674	//   ],
24675	//   "parameters": {
24676	//     "profileId": {
24677	//       "description": "User profile ID associated with this request.",
24678	//       "format": "int64",
24679	//       "location": "path",
24680	//       "required": true,
24681	//       "type": "string"
24682	//     }
24683	//   },
24684	//   "path": "userprofiles/{profileId}/countries",
24685	//   "response": {
24686	//     "$ref": "CountriesListResponse"
24687	//   },
24688	//   "scopes": [
24689	//     "https://www.googleapis.com/auth/dfatrafficking"
24690	//   ]
24691	// }
24692
24693}
24694
24695// method id "dfareporting.creativeAssets.insert":
24696
24697type CreativeAssetsInsertCall struct {
24698	s                     *Service
24699	profileId             int64
24700	advertiserId          int64
24701	creativeassetmetadata *CreativeAssetMetadata
24702	urlParams_            gensupport.URLParams
24703	mediaInfo_            *gensupport.MediaInfo
24704	ctx_                  context.Context
24705	header_               http.Header
24706}
24707
24708// Insert: Inserts a new creative asset.
24709func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
24710	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24711	c.profileId = profileId
24712	c.advertiserId = advertiserId
24713	c.creativeassetmetadata = creativeassetmetadata
24714	return c
24715}
24716
24717// Media specifies the media to upload in one or more chunks. The chunk
24718// size may be controlled by supplying a MediaOption generated by
24719// googleapi.ChunkSize. The chunk size defaults to
24720// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
24721// upload request will be determined by sniffing the contents of r,
24722// unless a MediaOption generated by googleapi.ContentType is
24723// supplied.
24724// At most one of Media and ResumableMedia may be set.
24725func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
24726	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
24727	return c
24728}
24729
24730// ResumableMedia specifies the media to upload in chunks and can be
24731// canceled with ctx.
24732//
24733// Deprecated: use Media instead.
24734//
24735// At most one of Media and ResumableMedia may be set. mediaType
24736// identifies the MIME media type of the upload, such as "image/png". If
24737// mediaType is "", it will be auto-detected. The provided ctx will
24738// supersede any context previously provided to the Context method.
24739func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
24740	c.ctx_ = ctx
24741	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
24742	return c
24743}
24744
24745// ProgressUpdater provides a callback function that will be called
24746// after every chunk. It should be a low-latency function in order to
24747// not slow down the upload operation. This should only be called when
24748// using ResumableMedia (as opposed to Media).
24749func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
24750	c.mediaInfo_.SetProgressUpdater(pu)
24751	return c
24752}
24753
24754// Fields allows partial responses to be retrieved. See
24755// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24756// for more information.
24757func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
24758	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24759	return c
24760}
24761
24762// Context sets the context to be used in this call's Do method. Any
24763// pending HTTP request will be aborted if the provided context is
24764// canceled.
24765// This context will supersede any context previously provided to the
24766// ResumableMedia method.
24767func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
24768	c.ctx_ = ctx
24769	return c
24770}
24771
24772// Header returns an http.Header that can be modified by the caller to
24773// add HTTP headers to the request.
24774func (c *CreativeAssetsInsertCall) Header() http.Header {
24775	if c.header_ == nil {
24776		c.header_ = make(http.Header)
24777	}
24778	return c.header_
24779}
24780
24781func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
24782	reqHeaders := make(http.Header)
24783	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24784	for k, v := range c.header_ {
24785		reqHeaders[k] = v
24786	}
24787	reqHeaders.Set("User-Agent", c.s.userAgent())
24788	var body io.Reader = nil
24789	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
24790	if err != nil {
24791		return nil, err
24792	}
24793	reqHeaders.Set("Content-Type", "application/json")
24794	c.urlParams_.Set("alt", alt)
24795	c.urlParams_.Set("prettyPrint", "false")
24796	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24797	if c.mediaInfo_ != nil {
24798		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24799		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
24800	}
24801	if body == nil {
24802		body = new(bytes.Buffer)
24803		reqHeaders.Set("Content-Type", "application/json")
24804	}
24805	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
24806	defer cleanup()
24807	urls += "?" + c.urlParams_.Encode()
24808	req, err := http.NewRequest("POST", urls, body)
24809	if err != nil {
24810		return nil, err
24811	}
24812	req.Header = reqHeaders
24813	req.GetBody = getBody
24814	googleapi.Expand(req.URL, map[string]string{
24815		"profileId":    strconv.FormatInt(c.profileId, 10),
24816		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
24817	})
24818	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24819}
24820
24821// Do executes the "dfareporting.creativeAssets.insert" call.
24822// Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
24823// non-2xx status code is an error. Response headers are in either
24824// *CreativeAssetMetadata.ServerResponse.Header or (if a response was
24825// returned at all) in error.(*googleapi.Error).Header. Use
24826// googleapi.IsNotModified to check whether the returned error was
24827// because http.StatusNotModified was returned.
24828func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
24829	gensupport.SetOptions(c.urlParams_, opts...)
24830	res, err := c.doRequest("json")
24831	if res != nil && res.StatusCode == http.StatusNotModified {
24832		if res.Body != nil {
24833			res.Body.Close()
24834		}
24835		return nil, &googleapi.Error{
24836			Code:   res.StatusCode,
24837			Header: res.Header,
24838		}
24839	}
24840	if err != nil {
24841		return nil, err
24842	}
24843	defer googleapi.CloseBody(res)
24844	if err := googleapi.CheckResponse(res); err != nil {
24845		return nil, err
24846	}
24847	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
24848	if rx != nil {
24849		rx.Client = c.s.client
24850		rx.UserAgent = c.s.userAgent()
24851		ctx := c.ctx_
24852		if ctx == nil {
24853			ctx = context.TODO()
24854		}
24855		res, err = rx.Upload(ctx)
24856		if err != nil {
24857			return nil, err
24858		}
24859		defer res.Body.Close()
24860		if err := googleapi.CheckResponse(res); err != nil {
24861			return nil, err
24862		}
24863	}
24864	ret := &CreativeAssetMetadata{
24865		ServerResponse: googleapi.ServerResponse{
24866			Header:         res.Header,
24867			HTTPStatusCode: res.StatusCode,
24868		},
24869	}
24870	target := &ret
24871	if err := gensupport.DecodeResponse(target, res); err != nil {
24872		return nil, err
24873	}
24874	return ret, nil
24875	// {
24876	//   "description": "Inserts a new creative asset.",
24877	//   "flatPath": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
24878	//   "httpMethod": "POST",
24879	//   "id": "dfareporting.creativeAssets.insert",
24880	//   "mediaUpload": {
24881	//     "accept": [
24882	//       "*/*"
24883	//     ],
24884	//     "maxSize": "1073741824",
24885	//     "protocols": {
24886	//       "simple": {
24887	//         "multipart": true,
24888	//         "path": "/upload/dfareporting/v3.3/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
24889	//       }
24890	//     }
24891	//   },
24892	//   "parameterOrder": [
24893	//     "profileId",
24894	//     "advertiserId"
24895	//   ],
24896	//   "parameters": {
24897	//     "advertiserId": {
24898	//       "description": "Advertiser ID of this creative. This is a required field.",
24899	//       "format": "int64",
24900	//       "location": "path",
24901	//       "required": true,
24902	//       "type": "string"
24903	//     },
24904	//     "profileId": {
24905	//       "description": "User profile ID associated with this request.",
24906	//       "format": "int64",
24907	//       "location": "path",
24908	//       "required": true,
24909	//       "type": "string"
24910	//     }
24911	//   },
24912	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
24913	//   "request": {
24914	//     "$ref": "CreativeAssetMetadata"
24915	//   },
24916	//   "response": {
24917	//     "$ref": "CreativeAssetMetadata"
24918	//   },
24919	//   "scopes": [
24920	//     "https://www.googleapis.com/auth/dfatrafficking"
24921	//   ],
24922	//   "supportsMediaUpload": true
24923	// }
24924
24925}
24926
24927// method id "dfareporting.creativeFieldValues.delete":
24928
24929type CreativeFieldValuesDeleteCall struct {
24930	s               *Service
24931	profileId       int64
24932	creativeFieldId int64
24933	id              int64
24934	urlParams_      gensupport.URLParams
24935	ctx_            context.Context
24936	header_         http.Header
24937}
24938
24939// Delete: Deletes an existing creative field value.
24940func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
24941	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24942	c.profileId = profileId
24943	c.creativeFieldId = creativeFieldId
24944	c.id = id
24945	return c
24946}
24947
24948// Fields allows partial responses to be retrieved. See
24949// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24950// for more information.
24951func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
24952	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24953	return c
24954}
24955
24956// Context sets the context to be used in this call's Do method. Any
24957// pending HTTP request will be aborted if the provided context is
24958// canceled.
24959func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
24960	c.ctx_ = ctx
24961	return c
24962}
24963
24964// Header returns an http.Header that can be modified by the caller to
24965// add HTTP headers to the request.
24966func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
24967	if c.header_ == nil {
24968		c.header_ = make(http.Header)
24969	}
24970	return c.header_
24971}
24972
24973func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
24974	reqHeaders := make(http.Header)
24975	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
24976	for k, v := range c.header_ {
24977		reqHeaders[k] = v
24978	}
24979	reqHeaders.Set("User-Agent", c.s.userAgent())
24980	var body io.Reader = nil
24981	c.urlParams_.Set("alt", alt)
24982	c.urlParams_.Set("prettyPrint", "false")
24983	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
24984	urls += "?" + c.urlParams_.Encode()
24985	req, err := http.NewRequest("DELETE", urls, body)
24986	if err != nil {
24987		return nil, err
24988	}
24989	req.Header = reqHeaders
24990	googleapi.Expand(req.URL, map[string]string{
24991		"profileId":       strconv.FormatInt(c.profileId, 10),
24992		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
24993		"id":              strconv.FormatInt(c.id, 10),
24994	})
24995	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24996}
24997
24998// Do executes the "dfareporting.creativeFieldValues.delete" call.
24999func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
25000	gensupport.SetOptions(c.urlParams_, opts...)
25001	res, err := c.doRequest("json")
25002	if err != nil {
25003		return err
25004	}
25005	defer googleapi.CloseBody(res)
25006	if err := googleapi.CheckResponse(res); err != nil {
25007		return err
25008	}
25009	return nil
25010	// {
25011	//   "description": "Deletes an existing creative field value.",
25012	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25013	//   "httpMethod": "DELETE",
25014	//   "id": "dfareporting.creativeFieldValues.delete",
25015	//   "parameterOrder": [
25016	//     "profileId",
25017	//     "creativeFieldId",
25018	//     "id"
25019	//   ],
25020	//   "parameters": {
25021	//     "creativeFieldId": {
25022	//       "description": "Creative field ID for this creative field value.",
25023	//       "format": "int64",
25024	//       "location": "path",
25025	//       "required": true,
25026	//       "type": "string"
25027	//     },
25028	//     "id": {
25029	//       "description": "Creative Field Value ID",
25030	//       "format": "int64",
25031	//       "location": "path",
25032	//       "required": true,
25033	//       "type": "string"
25034	//     },
25035	//     "profileId": {
25036	//       "description": "User profile ID associated with this request.",
25037	//       "format": "int64",
25038	//       "location": "path",
25039	//       "required": true,
25040	//       "type": "string"
25041	//     }
25042	//   },
25043	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25044	//   "scopes": [
25045	//     "https://www.googleapis.com/auth/dfatrafficking"
25046	//   ]
25047	// }
25048
25049}
25050
25051// method id "dfareporting.creativeFieldValues.get":
25052
25053type CreativeFieldValuesGetCall struct {
25054	s               *Service
25055	profileId       int64
25056	creativeFieldId int64
25057	id              int64
25058	urlParams_      gensupport.URLParams
25059	ifNoneMatch_    string
25060	ctx_            context.Context
25061	header_         http.Header
25062}
25063
25064// Get: Gets one creative field value by ID.
25065func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
25066	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25067	c.profileId = profileId
25068	c.creativeFieldId = creativeFieldId
25069	c.id = id
25070	return c
25071}
25072
25073// Fields allows partial responses to be retrieved. See
25074// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25075// for more information.
25076func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
25077	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25078	return c
25079}
25080
25081// IfNoneMatch sets the optional parameter which makes the operation
25082// fail if the object's ETag matches the given value. This is useful for
25083// getting updates only after the object has changed since the last
25084// request. Use googleapi.IsNotModified to check whether the response
25085// error from Do is the result of In-None-Match.
25086func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
25087	c.ifNoneMatch_ = entityTag
25088	return c
25089}
25090
25091// Context sets the context to be used in this call's Do method. Any
25092// pending HTTP request will be aborted if the provided context is
25093// canceled.
25094func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
25095	c.ctx_ = ctx
25096	return c
25097}
25098
25099// Header returns an http.Header that can be modified by the caller to
25100// add HTTP headers to the request.
25101func (c *CreativeFieldValuesGetCall) Header() http.Header {
25102	if c.header_ == nil {
25103		c.header_ = make(http.Header)
25104	}
25105	return c.header_
25106}
25107
25108func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
25109	reqHeaders := make(http.Header)
25110	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25111	for k, v := range c.header_ {
25112		reqHeaders[k] = v
25113	}
25114	reqHeaders.Set("User-Agent", c.s.userAgent())
25115	if c.ifNoneMatch_ != "" {
25116		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25117	}
25118	var body io.Reader = nil
25119	c.urlParams_.Set("alt", alt)
25120	c.urlParams_.Set("prettyPrint", "false")
25121	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25122	urls += "?" + c.urlParams_.Encode()
25123	req, err := http.NewRequest("GET", urls, body)
25124	if err != nil {
25125		return nil, err
25126	}
25127	req.Header = reqHeaders
25128	googleapi.Expand(req.URL, map[string]string{
25129		"profileId":       strconv.FormatInt(c.profileId, 10),
25130		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25131		"id":              strconv.FormatInt(c.id, 10),
25132	})
25133	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25134}
25135
25136// Do executes the "dfareporting.creativeFieldValues.get" call.
25137// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25138// non-2xx status code is an error. Response headers are in either
25139// *CreativeFieldValue.ServerResponse.Header or (if a response was
25140// returned at all) in error.(*googleapi.Error).Header. Use
25141// googleapi.IsNotModified to check whether the returned error was
25142// because http.StatusNotModified was returned.
25143func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25144	gensupport.SetOptions(c.urlParams_, opts...)
25145	res, err := c.doRequest("json")
25146	if res != nil && res.StatusCode == http.StatusNotModified {
25147		if res.Body != nil {
25148			res.Body.Close()
25149		}
25150		return nil, &googleapi.Error{
25151			Code:   res.StatusCode,
25152			Header: res.Header,
25153		}
25154	}
25155	if err != nil {
25156		return nil, err
25157	}
25158	defer googleapi.CloseBody(res)
25159	if err := googleapi.CheckResponse(res); err != nil {
25160		return nil, err
25161	}
25162	ret := &CreativeFieldValue{
25163		ServerResponse: googleapi.ServerResponse{
25164			Header:         res.Header,
25165			HTTPStatusCode: res.StatusCode,
25166		},
25167	}
25168	target := &ret
25169	if err := gensupport.DecodeResponse(target, res); err != nil {
25170		return nil, err
25171	}
25172	return ret, nil
25173	// {
25174	//   "description": "Gets one creative field value by ID.",
25175	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25176	//   "httpMethod": "GET",
25177	//   "id": "dfareporting.creativeFieldValues.get",
25178	//   "parameterOrder": [
25179	//     "profileId",
25180	//     "creativeFieldId",
25181	//     "id"
25182	//   ],
25183	//   "parameters": {
25184	//     "creativeFieldId": {
25185	//       "description": "Creative field ID for this creative field value.",
25186	//       "format": "int64",
25187	//       "location": "path",
25188	//       "required": true,
25189	//       "type": "string"
25190	//     },
25191	//     "id": {
25192	//       "description": "Creative Field Value ID",
25193	//       "format": "int64",
25194	//       "location": "path",
25195	//       "required": true,
25196	//       "type": "string"
25197	//     },
25198	//     "profileId": {
25199	//       "description": "User profile ID associated with this request.",
25200	//       "format": "int64",
25201	//       "location": "path",
25202	//       "required": true,
25203	//       "type": "string"
25204	//     }
25205	//   },
25206	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25207	//   "response": {
25208	//     "$ref": "CreativeFieldValue"
25209	//   },
25210	//   "scopes": [
25211	//     "https://www.googleapis.com/auth/dfatrafficking"
25212	//   ]
25213	// }
25214
25215}
25216
25217// method id "dfareporting.creativeFieldValues.insert":
25218
25219type CreativeFieldValuesInsertCall struct {
25220	s                  *Service
25221	profileId          int64
25222	creativeFieldId    int64
25223	creativefieldvalue *CreativeFieldValue
25224	urlParams_         gensupport.URLParams
25225	ctx_               context.Context
25226	header_            http.Header
25227}
25228
25229// Insert: Inserts a new creative field value.
25230func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
25231	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25232	c.profileId = profileId
25233	c.creativeFieldId = creativeFieldId
25234	c.creativefieldvalue = creativefieldvalue
25235	return c
25236}
25237
25238// Fields allows partial responses to be retrieved. See
25239// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25240// for more information.
25241func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
25242	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25243	return c
25244}
25245
25246// Context sets the context to be used in this call's Do method. Any
25247// pending HTTP request will be aborted if the provided context is
25248// canceled.
25249func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
25250	c.ctx_ = ctx
25251	return c
25252}
25253
25254// Header returns an http.Header that can be modified by the caller to
25255// add HTTP headers to the request.
25256func (c *CreativeFieldValuesInsertCall) Header() http.Header {
25257	if c.header_ == nil {
25258		c.header_ = make(http.Header)
25259	}
25260	return c.header_
25261}
25262
25263func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
25264	reqHeaders := make(http.Header)
25265	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25266	for k, v := range c.header_ {
25267		reqHeaders[k] = v
25268	}
25269	reqHeaders.Set("User-Agent", c.s.userAgent())
25270	var body io.Reader = nil
25271	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25272	if err != nil {
25273		return nil, err
25274	}
25275	reqHeaders.Set("Content-Type", "application/json")
25276	c.urlParams_.Set("alt", alt)
25277	c.urlParams_.Set("prettyPrint", "false")
25278	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25279	urls += "?" + c.urlParams_.Encode()
25280	req, err := http.NewRequest("POST", urls, body)
25281	if err != nil {
25282		return nil, err
25283	}
25284	req.Header = reqHeaders
25285	googleapi.Expand(req.URL, map[string]string{
25286		"profileId":       strconv.FormatInt(c.profileId, 10),
25287		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25288	})
25289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25290}
25291
25292// Do executes the "dfareporting.creativeFieldValues.insert" call.
25293// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25294// non-2xx status code is an error. Response headers are in either
25295// *CreativeFieldValue.ServerResponse.Header or (if a response was
25296// returned at all) in error.(*googleapi.Error).Header. Use
25297// googleapi.IsNotModified to check whether the returned error was
25298// because http.StatusNotModified was returned.
25299func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25300	gensupport.SetOptions(c.urlParams_, opts...)
25301	res, err := c.doRequest("json")
25302	if res != nil && res.StatusCode == http.StatusNotModified {
25303		if res.Body != nil {
25304			res.Body.Close()
25305		}
25306		return nil, &googleapi.Error{
25307			Code:   res.StatusCode,
25308			Header: res.Header,
25309		}
25310	}
25311	if err != nil {
25312		return nil, err
25313	}
25314	defer googleapi.CloseBody(res)
25315	if err := googleapi.CheckResponse(res); err != nil {
25316		return nil, err
25317	}
25318	ret := &CreativeFieldValue{
25319		ServerResponse: googleapi.ServerResponse{
25320			Header:         res.Header,
25321			HTTPStatusCode: res.StatusCode,
25322		},
25323	}
25324	target := &ret
25325	if err := gensupport.DecodeResponse(target, res); err != nil {
25326		return nil, err
25327	}
25328	return ret, nil
25329	// {
25330	//   "description": "Inserts a new creative field value.",
25331	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25332	//   "httpMethod": "POST",
25333	//   "id": "dfareporting.creativeFieldValues.insert",
25334	//   "parameterOrder": [
25335	//     "profileId",
25336	//     "creativeFieldId"
25337	//   ],
25338	//   "parameters": {
25339	//     "creativeFieldId": {
25340	//       "description": "Creative field ID for this creative field value.",
25341	//       "format": "int64",
25342	//       "location": "path",
25343	//       "required": true,
25344	//       "type": "string"
25345	//     },
25346	//     "profileId": {
25347	//       "description": "User profile ID associated with this request.",
25348	//       "format": "int64",
25349	//       "location": "path",
25350	//       "required": true,
25351	//       "type": "string"
25352	//     }
25353	//   },
25354	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25355	//   "request": {
25356	//     "$ref": "CreativeFieldValue"
25357	//   },
25358	//   "response": {
25359	//     "$ref": "CreativeFieldValue"
25360	//   },
25361	//   "scopes": [
25362	//     "https://www.googleapis.com/auth/dfatrafficking"
25363	//   ]
25364	// }
25365
25366}
25367
25368// method id "dfareporting.creativeFieldValues.list":
25369
25370type CreativeFieldValuesListCall struct {
25371	s               *Service
25372	profileId       int64
25373	creativeFieldId int64
25374	urlParams_      gensupport.URLParams
25375	ifNoneMatch_    string
25376	ctx_            context.Context
25377	header_         http.Header
25378}
25379
25380// List: Retrieves a list of creative field values, possibly filtered.
25381// This method supports paging.
25382func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
25383	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25384	c.profileId = profileId
25385	c.creativeFieldId = creativeFieldId
25386	return c
25387}
25388
25389// Ids sets the optional parameter "ids": Select only creative field
25390// values with these IDs.
25391func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
25392	var ids_ []string
25393	for _, v := range ids {
25394		ids_ = append(ids_, fmt.Sprint(v))
25395	}
25396	c.urlParams_.SetMulti("ids", ids_)
25397	return c
25398}
25399
25400// MaxResults sets the optional parameter "maxResults": Maximum number
25401// of results to return.
25402func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
25403	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25404	return c
25405}
25406
25407// PageToken sets the optional parameter "pageToken": Value of the
25408// nextPageToken from the previous result page.
25409func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
25410	c.urlParams_.Set("pageToken", pageToken)
25411	return c
25412}
25413
25414// SearchString sets the optional parameter "searchString": Allows
25415// searching for creative field values by their values. Wildcards (e.g.
25416// *) are not allowed.
25417func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
25418	c.urlParams_.Set("searchString", searchString)
25419	return c
25420}
25421
25422// SortField sets the optional parameter "sortField": Field by which to
25423// sort the list.
25424//
25425// Possible values:
25426//   "ID" (default)
25427//   "VALUE"
25428func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
25429	c.urlParams_.Set("sortField", sortField)
25430	return c
25431}
25432
25433// SortOrder sets the optional parameter "sortOrder": Order of sorted
25434// results.
25435//
25436// Possible values:
25437//   "ASCENDING" (default)
25438//   "DESCENDING"
25439func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
25440	c.urlParams_.Set("sortOrder", sortOrder)
25441	return c
25442}
25443
25444// Fields allows partial responses to be retrieved. See
25445// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25446// for more information.
25447func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
25448	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25449	return c
25450}
25451
25452// IfNoneMatch sets the optional parameter which makes the operation
25453// fail if the object's ETag matches the given value. This is useful for
25454// getting updates only after the object has changed since the last
25455// request. Use googleapi.IsNotModified to check whether the response
25456// error from Do is the result of In-None-Match.
25457func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
25458	c.ifNoneMatch_ = entityTag
25459	return c
25460}
25461
25462// Context sets the context to be used in this call's Do method. Any
25463// pending HTTP request will be aborted if the provided context is
25464// canceled.
25465func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
25466	c.ctx_ = ctx
25467	return c
25468}
25469
25470// Header returns an http.Header that can be modified by the caller to
25471// add HTTP headers to the request.
25472func (c *CreativeFieldValuesListCall) Header() http.Header {
25473	if c.header_ == nil {
25474		c.header_ = make(http.Header)
25475	}
25476	return c.header_
25477}
25478
25479func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
25480	reqHeaders := make(http.Header)
25481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25482	for k, v := range c.header_ {
25483		reqHeaders[k] = v
25484	}
25485	reqHeaders.Set("User-Agent", c.s.userAgent())
25486	if c.ifNoneMatch_ != "" {
25487		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25488	}
25489	var body io.Reader = nil
25490	c.urlParams_.Set("alt", alt)
25491	c.urlParams_.Set("prettyPrint", "false")
25492	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25493	urls += "?" + c.urlParams_.Encode()
25494	req, err := http.NewRequest("GET", urls, body)
25495	if err != nil {
25496		return nil, err
25497	}
25498	req.Header = reqHeaders
25499	googleapi.Expand(req.URL, map[string]string{
25500		"profileId":       strconv.FormatInt(c.profileId, 10),
25501		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25502	})
25503	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25504}
25505
25506// Do executes the "dfareporting.creativeFieldValues.list" call.
25507// Exactly one of *CreativeFieldValuesListResponse or error will be
25508// non-nil. Any non-2xx status code is an error. Response headers are in
25509// either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
25510// a response was returned at all) in error.(*googleapi.Error).Header.
25511// Use googleapi.IsNotModified to check whether the returned error was
25512// because http.StatusNotModified was returned.
25513func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
25514	gensupport.SetOptions(c.urlParams_, opts...)
25515	res, err := c.doRequest("json")
25516	if res != nil && res.StatusCode == http.StatusNotModified {
25517		if res.Body != nil {
25518			res.Body.Close()
25519		}
25520		return nil, &googleapi.Error{
25521			Code:   res.StatusCode,
25522			Header: res.Header,
25523		}
25524	}
25525	if err != nil {
25526		return nil, err
25527	}
25528	defer googleapi.CloseBody(res)
25529	if err := googleapi.CheckResponse(res); err != nil {
25530		return nil, err
25531	}
25532	ret := &CreativeFieldValuesListResponse{
25533		ServerResponse: googleapi.ServerResponse{
25534			Header:         res.Header,
25535			HTTPStatusCode: res.StatusCode,
25536		},
25537	}
25538	target := &ret
25539	if err := gensupport.DecodeResponse(target, res); err != nil {
25540		return nil, err
25541	}
25542	return ret, nil
25543	// {
25544	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
25545	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25546	//   "httpMethod": "GET",
25547	//   "id": "dfareporting.creativeFieldValues.list",
25548	//   "parameterOrder": [
25549	//     "profileId",
25550	//     "creativeFieldId"
25551	//   ],
25552	//   "parameters": {
25553	//     "creativeFieldId": {
25554	//       "description": "Creative field ID for this creative field value.",
25555	//       "format": "int64",
25556	//       "location": "path",
25557	//       "required": true,
25558	//       "type": "string"
25559	//     },
25560	//     "ids": {
25561	//       "description": "Select only creative field values with these IDs.",
25562	//       "format": "int64",
25563	//       "location": "query",
25564	//       "repeated": true,
25565	//       "type": "string"
25566	//     },
25567	//     "maxResults": {
25568	//       "default": "1000",
25569	//       "description": "Maximum number of results to return.",
25570	//       "format": "int32",
25571	//       "location": "query",
25572	//       "maximum": "1000",
25573	//       "minimum": "0",
25574	//       "type": "integer"
25575	//     },
25576	//     "pageToken": {
25577	//       "description": "Value of the nextPageToken from the previous result page.",
25578	//       "location": "query",
25579	//       "type": "string"
25580	//     },
25581	//     "profileId": {
25582	//       "description": "User profile ID associated with this request.",
25583	//       "format": "int64",
25584	//       "location": "path",
25585	//       "required": true,
25586	//       "type": "string"
25587	//     },
25588	//     "searchString": {
25589	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
25590	//       "location": "query",
25591	//       "type": "string"
25592	//     },
25593	//     "sortField": {
25594	//       "default": "ID",
25595	//       "description": "Field by which to sort the list.",
25596	//       "enum": [
25597	//         "ID",
25598	//         "VALUE"
25599	//       ],
25600	//       "enumDescriptions": [
25601	//         "",
25602	//         ""
25603	//       ],
25604	//       "location": "query",
25605	//       "type": "string"
25606	//     },
25607	//     "sortOrder": {
25608	//       "default": "ASCENDING",
25609	//       "description": "Order of sorted results.",
25610	//       "enum": [
25611	//         "ASCENDING",
25612	//         "DESCENDING"
25613	//       ],
25614	//       "enumDescriptions": [
25615	//         "",
25616	//         ""
25617	//       ],
25618	//       "location": "query",
25619	//       "type": "string"
25620	//     }
25621	//   },
25622	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25623	//   "response": {
25624	//     "$ref": "CreativeFieldValuesListResponse"
25625	//   },
25626	//   "scopes": [
25627	//     "https://www.googleapis.com/auth/dfatrafficking"
25628	//   ]
25629	// }
25630
25631}
25632
25633// Pages invokes f for each page of results.
25634// A non-nil error returned from f will halt the iteration.
25635// The provided context supersedes any context provided to the Context method.
25636func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
25637	c.ctx_ = ctx
25638	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25639	for {
25640		x, err := c.Do()
25641		if err != nil {
25642			return err
25643		}
25644		if err := f(x); err != nil {
25645			return err
25646		}
25647		if x.NextPageToken == "" {
25648			return nil
25649		}
25650		c.PageToken(x.NextPageToken)
25651	}
25652}
25653
25654// method id "dfareporting.creativeFieldValues.patch":
25655
25656type CreativeFieldValuesPatchCall struct {
25657	s                  *Service
25658	profileId          int64
25659	creativeFieldId    int64
25660	creativefieldvalue *CreativeFieldValue
25661	urlParams_         gensupport.URLParams
25662	ctx_               context.Context
25663	header_            http.Header
25664}
25665
25666// Patch: Updates an existing creative field value. This method supports
25667// patch semantics.
25668func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
25669	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25670	c.profileId = profileId
25671	c.creativeFieldId = creativeFieldId
25672	c.urlParams_.Set("id", fmt.Sprint(id))
25673	c.creativefieldvalue = creativefieldvalue
25674	return c
25675}
25676
25677// Fields allows partial responses to be retrieved. See
25678// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25679// for more information.
25680func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
25681	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25682	return c
25683}
25684
25685// Context sets the context to be used in this call's Do method. Any
25686// pending HTTP request will be aborted if the provided context is
25687// canceled.
25688func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
25689	c.ctx_ = ctx
25690	return c
25691}
25692
25693// Header returns an http.Header that can be modified by the caller to
25694// add HTTP headers to the request.
25695func (c *CreativeFieldValuesPatchCall) Header() http.Header {
25696	if c.header_ == nil {
25697		c.header_ = make(http.Header)
25698	}
25699	return c.header_
25700}
25701
25702func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
25703	reqHeaders := make(http.Header)
25704	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25705	for k, v := range c.header_ {
25706		reqHeaders[k] = v
25707	}
25708	reqHeaders.Set("User-Agent", c.s.userAgent())
25709	var body io.Reader = nil
25710	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25711	if err != nil {
25712		return nil, err
25713	}
25714	reqHeaders.Set("Content-Type", "application/json")
25715	c.urlParams_.Set("alt", alt)
25716	c.urlParams_.Set("prettyPrint", "false")
25717	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25718	urls += "?" + c.urlParams_.Encode()
25719	req, err := http.NewRequest("PATCH", urls, body)
25720	if err != nil {
25721		return nil, err
25722	}
25723	req.Header = reqHeaders
25724	googleapi.Expand(req.URL, map[string]string{
25725		"profileId":       strconv.FormatInt(c.profileId, 10),
25726		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25727	})
25728	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25729}
25730
25731// Do executes the "dfareporting.creativeFieldValues.patch" call.
25732// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25733// non-2xx status code is an error. Response headers are in either
25734// *CreativeFieldValue.ServerResponse.Header or (if a response was
25735// returned at all) in error.(*googleapi.Error).Header. Use
25736// googleapi.IsNotModified to check whether the returned error was
25737// because http.StatusNotModified was returned.
25738func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25739	gensupport.SetOptions(c.urlParams_, opts...)
25740	res, err := c.doRequest("json")
25741	if res != nil && res.StatusCode == http.StatusNotModified {
25742		if res.Body != nil {
25743			res.Body.Close()
25744		}
25745		return nil, &googleapi.Error{
25746			Code:   res.StatusCode,
25747			Header: res.Header,
25748		}
25749	}
25750	if err != nil {
25751		return nil, err
25752	}
25753	defer googleapi.CloseBody(res)
25754	if err := googleapi.CheckResponse(res); err != nil {
25755		return nil, err
25756	}
25757	ret := &CreativeFieldValue{
25758		ServerResponse: googleapi.ServerResponse{
25759			Header:         res.Header,
25760			HTTPStatusCode: res.StatusCode,
25761		},
25762	}
25763	target := &ret
25764	if err := gensupport.DecodeResponse(target, res); err != nil {
25765		return nil, err
25766	}
25767	return ret, nil
25768	// {
25769	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
25770	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25771	//   "httpMethod": "PATCH",
25772	//   "id": "dfareporting.creativeFieldValues.patch",
25773	//   "parameterOrder": [
25774	//     "profileId",
25775	//     "creativeFieldId",
25776	//     "id"
25777	//   ],
25778	//   "parameters": {
25779	//     "creativeFieldId": {
25780	//       "description": "CreativeField ID.",
25781	//       "format": "int64",
25782	//       "location": "path",
25783	//       "required": true,
25784	//       "type": "string"
25785	//     },
25786	//     "id": {
25787	//       "description": "CreativeFieldValue ID.",
25788	//       "format": "int64",
25789	//       "location": "query",
25790	//       "required": true,
25791	//       "type": "string"
25792	//     },
25793	//     "profileId": {
25794	//       "description": "User profile ID associated with this request.",
25795	//       "format": "int64",
25796	//       "location": "path",
25797	//       "required": true,
25798	//       "type": "string"
25799	//     }
25800	//   },
25801	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25802	//   "request": {
25803	//     "$ref": "CreativeFieldValue"
25804	//   },
25805	//   "response": {
25806	//     "$ref": "CreativeFieldValue"
25807	//   },
25808	//   "scopes": [
25809	//     "https://www.googleapis.com/auth/dfatrafficking"
25810	//   ]
25811	// }
25812
25813}
25814
25815// method id "dfareporting.creativeFieldValues.update":
25816
25817type CreativeFieldValuesUpdateCall struct {
25818	s                  *Service
25819	profileId          int64
25820	creativeFieldId    int64
25821	creativefieldvalue *CreativeFieldValue
25822	urlParams_         gensupport.URLParams
25823	ctx_               context.Context
25824	header_            http.Header
25825}
25826
25827// Update: Updates an existing creative field value.
25828func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
25829	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25830	c.profileId = profileId
25831	c.creativeFieldId = creativeFieldId
25832	c.creativefieldvalue = creativefieldvalue
25833	return c
25834}
25835
25836// Fields allows partial responses to be retrieved. See
25837// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25838// for more information.
25839func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
25840	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25841	return c
25842}
25843
25844// Context sets the context to be used in this call's Do method. Any
25845// pending HTTP request will be aborted if the provided context is
25846// canceled.
25847func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
25848	c.ctx_ = ctx
25849	return c
25850}
25851
25852// Header returns an http.Header that can be modified by the caller to
25853// add HTTP headers to the request.
25854func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
25855	if c.header_ == nil {
25856		c.header_ = make(http.Header)
25857	}
25858	return c.header_
25859}
25860
25861func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
25862	reqHeaders := make(http.Header)
25863	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
25864	for k, v := range c.header_ {
25865		reqHeaders[k] = v
25866	}
25867	reqHeaders.Set("User-Agent", c.s.userAgent())
25868	var body io.Reader = nil
25869	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25870	if err != nil {
25871		return nil, err
25872	}
25873	reqHeaders.Set("Content-Type", "application/json")
25874	c.urlParams_.Set("alt", alt)
25875	c.urlParams_.Set("prettyPrint", "false")
25876	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25877	urls += "?" + c.urlParams_.Encode()
25878	req, err := http.NewRequest("PUT", urls, body)
25879	if err != nil {
25880		return nil, err
25881	}
25882	req.Header = reqHeaders
25883	googleapi.Expand(req.URL, map[string]string{
25884		"profileId":       strconv.FormatInt(c.profileId, 10),
25885		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25886	})
25887	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25888}
25889
25890// Do executes the "dfareporting.creativeFieldValues.update" call.
25891// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25892// non-2xx status code is an error. Response headers are in either
25893// *CreativeFieldValue.ServerResponse.Header or (if a response was
25894// returned at all) in error.(*googleapi.Error).Header. Use
25895// googleapi.IsNotModified to check whether the returned error was
25896// because http.StatusNotModified was returned.
25897func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25898	gensupport.SetOptions(c.urlParams_, opts...)
25899	res, err := c.doRequest("json")
25900	if res != nil && res.StatusCode == http.StatusNotModified {
25901		if res.Body != nil {
25902			res.Body.Close()
25903		}
25904		return nil, &googleapi.Error{
25905			Code:   res.StatusCode,
25906			Header: res.Header,
25907		}
25908	}
25909	if err != nil {
25910		return nil, err
25911	}
25912	defer googleapi.CloseBody(res)
25913	if err := googleapi.CheckResponse(res); err != nil {
25914		return nil, err
25915	}
25916	ret := &CreativeFieldValue{
25917		ServerResponse: googleapi.ServerResponse{
25918			Header:         res.Header,
25919			HTTPStatusCode: res.StatusCode,
25920		},
25921	}
25922	target := &ret
25923	if err := gensupport.DecodeResponse(target, res); err != nil {
25924		return nil, err
25925	}
25926	return ret, nil
25927	// {
25928	//   "description": "Updates an existing creative field value.",
25929	//   "flatPath": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25930	//   "httpMethod": "PUT",
25931	//   "id": "dfareporting.creativeFieldValues.update",
25932	//   "parameterOrder": [
25933	//     "profileId",
25934	//     "creativeFieldId"
25935	//   ],
25936	//   "parameters": {
25937	//     "creativeFieldId": {
25938	//       "description": "Creative field ID for this creative field value.",
25939	//       "format": "int64",
25940	//       "location": "path",
25941	//       "required": true,
25942	//       "type": "string"
25943	//     },
25944	//     "profileId": {
25945	//       "description": "User profile ID associated with this request.",
25946	//       "format": "int64",
25947	//       "location": "path",
25948	//       "required": true,
25949	//       "type": "string"
25950	//     }
25951	//   },
25952	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25953	//   "request": {
25954	//     "$ref": "CreativeFieldValue"
25955	//   },
25956	//   "response": {
25957	//     "$ref": "CreativeFieldValue"
25958	//   },
25959	//   "scopes": [
25960	//     "https://www.googleapis.com/auth/dfatrafficking"
25961	//   ]
25962	// }
25963
25964}
25965
25966// method id "dfareporting.creativeFields.delete":
25967
25968type CreativeFieldsDeleteCall struct {
25969	s          *Service
25970	profileId  int64
25971	id         int64
25972	urlParams_ gensupport.URLParams
25973	ctx_       context.Context
25974	header_    http.Header
25975}
25976
25977// Delete: Deletes an existing creative field.
25978func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
25979	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25980	c.profileId = profileId
25981	c.id = id
25982	return c
25983}
25984
25985// Fields allows partial responses to be retrieved. See
25986// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25987// for more information.
25988func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
25989	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25990	return c
25991}
25992
25993// Context sets the context to be used in this call's Do method. Any
25994// pending HTTP request will be aborted if the provided context is
25995// canceled.
25996func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
25997	c.ctx_ = ctx
25998	return c
25999}
26000
26001// Header returns an http.Header that can be modified by the caller to
26002// add HTTP headers to the request.
26003func (c *CreativeFieldsDeleteCall) Header() http.Header {
26004	if c.header_ == nil {
26005		c.header_ = make(http.Header)
26006	}
26007	return c.header_
26008}
26009
26010func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
26011	reqHeaders := make(http.Header)
26012	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26013	for k, v := range c.header_ {
26014		reqHeaders[k] = v
26015	}
26016	reqHeaders.Set("User-Agent", c.s.userAgent())
26017	var body io.Reader = nil
26018	c.urlParams_.Set("alt", alt)
26019	c.urlParams_.Set("prettyPrint", "false")
26020	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26021	urls += "?" + c.urlParams_.Encode()
26022	req, err := http.NewRequest("DELETE", urls, body)
26023	if err != nil {
26024		return nil, err
26025	}
26026	req.Header = reqHeaders
26027	googleapi.Expand(req.URL, map[string]string{
26028		"profileId": strconv.FormatInt(c.profileId, 10),
26029		"id":        strconv.FormatInt(c.id, 10),
26030	})
26031	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26032}
26033
26034// Do executes the "dfareporting.creativeFields.delete" call.
26035func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
26036	gensupport.SetOptions(c.urlParams_, opts...)
26037	res, err := c.doRequest("json")
26038	if err != nil {
26039		return err
26040	}
26041	defer googleapi.CloseBody(res)
26042	if err := googleapi.CheckResponse(res); err != nil {
26043		return err
26044	}
26045	return nil
26046	// {
26047	//   "description": "Deletes an existing creative field.",
26048	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26049	//   "httpMethod": "DELETE",
26050	//   "id": "dfareporting.creativeFields.delete",
26051	//   "parameterOrder": [
26052	//     "profileId",
26053	//     "id"
26054	//   ],
26055	//   "parameters": {
26056	//     "id": {
26057	//       "description": "Creative Field ID",
26058	//       "format": "int64",
26059	//       "location": "path",
26060	//       "required": true,
26061	//       "type": "string"
26062	//     },
26063	//     "profileId": {
26064	//       "description": "User profile ID associated with this request.",
26065	//       "format": "int64",
26066	//       "location": "path",
26067	//       "required": true,
26068	//       "type": "string"
26069	//     }
26070	//   },
26071	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26072	//   "scopes": [
26073	//     "https://www.googleapis.com/auth/dfatrafficking"
26074	//   ]
26075	// }
26076
26077}
26078
26079// method id "dfareporting.creativeFields.get":
26080
26081type CreativeFieldsGetCall struct {
26082	s            *Service
26083	profileId    int64
26084	id           int64
26085	urlParams_   gensupport.URLParams
26086	ifNoneMatch_ string
26087	ctx_         context.Context
26088	header_      http.Header
26089}
26090
26091// Get: Gets one creative field by ID.
26092func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
26093	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26094	c.profileId = profileId
26095	c.id = id
26096	return c
26097}
26098
26099// Fields allows partial responses to be retrieved. See
26100// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26101// for more information.
26102func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
26103	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26104	return c
26105}
26106
26107// IfNoneMatch sets the optional parameter which makes the operation
26108// fail if the object's ETag matches the given value. This is useful for
26109// getting updates only after the object has changed since the last
26110// request. Use googleapi.IsNotModified to check whether the response
26111// error from Do is the result of In-None-Match.
26112func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
26113	c.ifNoneMatch_ = entityTag
26114	return c
26115}
26116
26117// Context sets the context to be used in this call's Do method. Any
26118// pending HTTP request will be aborted if the provided context is
26119// canceled.
26120func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
26121	c.ctx_ = ctx
26122	return c
26123}
26124
26125// Header returns an http.Header that can be modified by the caller to
26126// add HTTP headers to the request.
26127func (c *CreativeFieldsGetCall) Header() http.Header {
26128	if c.header_ == nil {
26129		c.header_ = make(http.Header)
26130	}
26131	return c.header_
26132}
26133
26134func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
26135	reqHeaders := make(http.Header)
26136	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26137	for k, v := range c.header_ {
26138		reqHeaders[k] = v
26139	}
26140	reqHeaders.Set("User-Agent", c.s.userAgent())
26141	if c.ifNoneMatch_ != "" {
26142		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26143	}
26144	var body io.Reader = nil
26145	c.urlParams_.Set("alt", alt)
26146	c.urlParams_.Set("prettyPrint", "false")
26147	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26148	urls += "?" + c.urlParams_.Encode()
26149	req, err := http.NewRequest("GET", urls, body)
26150	if err != nil {
26151		return nil, err
26152	}
26153	req.Header = reqHeaders
26154	googleapi.Expand(req.URL, map[string]string{
26155		"profileId": strconv.FormatInt(c.profileId, 10),
26156		"id":        strconv.FormatInt(c.id, 10),
26157	})
26158	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26159}
26160
26161// Do executes the "dfareporting.creativeFields.get" call.
26162// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26163// status code is an error. Response headers are in either
26164// *CreativeField.ServerResponse.Header or (if a response was returned
26165// at all) in error.(*googleapi.Error).Header. Use
26166// googleapi.IsNotModified to check whether the returned error was
26167// because http.StatusNotModified was returned.
26168func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26169	gensupport.SetOptions(c.urlParams_, opts...)
26170	res, err := c.doRequest("json")
26171	if res != nil && res.StatusCode == http.StatusNotModified {
26172		if res.Body != nil {
26173			res.Body.Close()
26174		}
26175		return nil, &googleapi.Error{
26176			Code:   res.StatusCode,
26177			Header: res.Header,
26178		}
26179	}
26180	if err != nil {
26181		return nil, err
26182	}
26183	defer googleapi.CloseBody(res)
26184	if err := googleapi.CheckResponse(res); err != nil {
26185		return nil, err
26186	}
26187	ret := &CreativeField{
26188		ServerResponse: googleapi.ServerResponse{
26189			Header:         res.Header,
26190			HTTPStatusCode: res.StatusCode,
26191		},
26192	}
26193	target := &ret
26194	if err := gensupport.DecodeResponse(target, res); err != nil {
26195		return nil, err
26196	}
26197	return ret, nil
26198	// {
26199	//   "description": "Gets one creative field by ID.",
26200	//   "flatPath": "userprofiles/{profileId}/creativeFields/{id}",
26201	//   "httpMethod": "GET",
26202	//   "id": "dfareporting.creativeFields.get",
26203	//   "parameterOrder": [
26204	//     "profileId",
26205	//     "id"
26206	//   ],
26207	//   "parameters": {
26208	//     "id": {
26209	//       "description": "Creative Field ID",
26210	//       "format": "int64",
26211	//       "location": "path",
26212	//       "required": true,
26213	//       "type": "string"
26214	//     },
26215	//     "profileId": {
26216	//       "description": "User profile ID associated with this request.",
26217	//       "format": "int64",
26218	//       "location": "path",
26219	//       "required": true,
26220	//       "type": "string"
26221	//     }
26222	//   },
26223	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26224	//   "response": {
26225	//     "$ref": "CreativeField"
26226	//   },
26227	//   "scopes": [
26228	//     "https://www.googleapis.com/auth/dfatrafficking"
26229	//   ]
26230	// }
26231
26232}
26233
26234// method id "dfareporting.creativeFields.insert":
26235
26236type CreativeFieldsInsertCall struct {
26237	s             *Service
26238	profileId     int64
26239	creativefield *CreativeField
26240	urlParams_    gensupport.URLParams
26241	ctx_          context.Context
26242	header_       http.Header
26243}
26244
26245// Insert: Inserts a new creative field.
26246func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
26247	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26248	c.profileId = profileId
26249	c.creativefield = creativefield
26250	return c
26251}
26252
26253// Fields allows partial responses to be retrieved. See
26254// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26255// for more information.
26256func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
26257	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26258	return c
26259}
26260
26261// Context sets the context to be used in this call's Do method. Any
26262// pending HTTP request will be aborted if the provided context is
26263// canceled.
26264func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
26265	c.ctx_ = ctx
26266	return c
26267}
26268
26269// Header returns an http.Header that can be modified by the caller to
26270// add HTTP headers to the request.
26271func (c *CreativeFieldsInsertCall) Header() http.Header {
26272	if c.header_ == nil {
26273		c.header_ = make(http.Header)
26274	}
26275	return c.header_
26276}
26277
26278func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
26279	reqHeaders := make(http.Header)
26280	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26281	for k, v := range c.header_ {
26282		reqHeaders[k] = v
26283	}
26284	reqHeaders.Set("User-Agent", c.s.userAgent())
26285	var body io.Reader = nil
26286	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26287	if err != nil {
26288		return nil, err
26289	}
26290	reqHeaders.Set("Content-Type", "application/json")
26291	c.urlParams_.Set("alt", alt)
26292	c.urlParams_.Set("prettyPrint", "false")
26293	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26294	urls += "?" + c.urlParams_.Encode()
26295	req, err := http.NewRequest("POST", urls, body)
26296	if err != nil {
26297		return nil, err
26298	}
26299	req.Header = reqHeaders
26300	googleapi.Expand(req.URL, map[string]string{
26301		"profileId": strconv.FormatInt(c.profileId, 10),
26302	})
26303	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26304}
26305
26306// Do executes the "dfareporting.creativeFields.insert" call.
26307// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26308// status code is an error. Response headers are in either
26309// *CreativeField.ServerResponse.Header or (if a response was returned
26310// at all) in error.(*googleapi.Error).Header. Use
26311// googleapi.IsNotModified to check whether the returned error was
26312// because http.StatusNotModified was returned.
26313func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26314	gensupport.SetOptions(c.urlParams_, opts...)
26315	res, err := c.doRequest("json")
26316	if res != nil && res.StatusCode == http.StatusNotModified {
26317		if res.Body != nil {
26318			res.Body.Close()
26319		}
26320		return nil, &googleapi.Error{
26321			Code:   res.StatusCode,
26322			Header: res.Header,
26323		}
26324	}
26325	if err != nil {
26326		return nil, err
26327	}
26328	defer googleapi.CloseBody(res)
26329	if err := googleapi.CheckResponse(res); err != nil {
26330		return nil, err
26331	}
26332	ret := &CreativeField{
26333		ServerResponse: googleapi.ServerResponse{
26334			Header:         res.Header,
26335			HTTPStatusCode: res.StatusCode,
26336		},
26337	}
26338	target := &ret
26339	if err := gensupport.DecodeResponse(target, res); err != nil {
26340		return nil, err
26341	}
26342	return ret, nil
26343	// {
26344	//   "description": "Inserts a new creative field.",
26345	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26346	//   "httpMethod": "POST",
26347	//   "id": "dfareporting.creativeFields.insert",
26348	//   "parameterOrder": [
26349	//     "profileId"
26350	//   ],
26351	//   "parameters": {
26352	//     "profileId": {
26353	//       "description": "User profile ID associated with this request.",
26354	//       "format": "int64",
26355	//       "location": "path",
26356	//       "required": true,
26357	//       "type": "string"
26358	//     }
26359	//   },
26360	//   "path": "userprofiles/{profileId}/creativeFields",
26361	//   "request": {
26362	//     "$ref": "CreativeField"
26363	//   },
26364	//   "response": {
26365	//     "$ref": "CreativeField"
26366	//   },
26367	//   "scopes": [
26368	//     "https://www.googleapis.com/auth/dfatrafficking"
26369	//   ]
26370	// }
26371
26372}
26373
26374// method id "dfareporting.creativeFields.list":
26375
26376type CreativeFieldsListCall struct {
26377	s            *Service
26378	profileId    int64
26379	urlParams_   gensupport.URLParams
26380	ifNoneMatch_ string
26381	ctx_         context.Context
26382	header_      http.Header
26383}
26384
26385// List: Retrieves a list of creative fields, possibly filtered. This
26386// method supports paging.
26387func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
26388	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26389	c.profileId = profileId
26390	return c
26391}
26392
26393// AdvertiserIds sets the optional parameter "advertiserIds": Select
26394// only creative fields that belong to these advertisers.
26395func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
26396	var advertiserIds_ []string
26397	for _, v := range advertiserIds {
26398		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
26399	}
26400	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
26401	return c
26402}
26403
26404// Ids sets the optional parameter "ids": Select only creative fields
26405// with these IDs.
26406func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
26407	var ids_ []string
26408	for _, v := range ids {
26409		ids_ = append(ids_, fmt.Sprint(v))
26410	}
26411	c.urlParams_.SetMulti("ids", ids_)
26412	return c
26413}
26414
26415// MaxResults sets the optional parameter "maxResults": Maximum number
26416// of results to return.
26417func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
26418	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26419	return c
26420}
26421
26422// PageToken sets the optional parameter "pageToken": Value of the
26423// nextPageToken from the previous result page.
26424func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
26425	c.urlParams_.Set("pageToken", pageToken)
26426	return c
26427}
26428
26429// SearchString sets the optional parameter "searchString": Allows
26430// searching for creative fields by name or ID. Wildcards (*) are
26431// allowed. For example, "creativefield*2015" will return creative
26432// fields with names like "creativefield June 2015", "creativefield
26433// April 2015", or simply "creativefield 2015". Most of the searches
26434// also add wild-cards implicitly at the start and the end of the search
26435// string. For example, a search string of "creativefield" will match
26436// creative fields with the name "my creativefield", "creativefield
26437// 2015", or simply "creativefield".
26438func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
26439	c.urlParams_.Set("searchString", searchString)
26440	return c
26441}
26442
26443// SortField sets the optional parameter "sortField": Field by which to
26444// sort the list.
26445//
26446// Possible values:
26447//   "ID" (default)
26448//   "NAME"
26449func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
26450	c.urlParams_.Set("sortField", sortField)
26451	return c
26452}
26453
26454// SortOrder sets the optional parameter "sortOrder": Order of sorted
26455// results.
26456//
26457// Possible values:
26458//   "ASCENDING" (default)
26459//   "DESCENDING"
26460func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
26461	c.urlParams_.Set("sortOrder", sortOrder)
26462	return c
26463}
26464
26465// Fields allows partial responses to be retrieved. See
26466// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26467// for more information.
26468func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
26469	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26470	return c
26471}
26472
26473// IfNoneMatch sets the optional parameter which makes the operation
26474// fail if the object's ETag matches the given value. This is useful for
26475// getting updates only after the object has changed since the last
26476// request. Use googleapi.IsNotModified to check whether the response
26477// error from Do is the result of In-None-Match.
26478func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
26479	c.ifNoneMatch_ = entityTag
26480	return c
26481}
26482
26483// Context sets the context to be used in this call's Do method. Any
26484// pending HTTP request will be aborted if the provided context is
26485// canceled.
26486func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
26487	c.ctx_ = ctx
26488	return c
26489}
26490
26491// Header returns an http.Header that can be modified by the caller to
26492// add HTTP headers to the request.
26493func (c *CreativeFieldsListCall) Header() http.Header {
26494	if c.header_ == nil {
26495		c.header_ = make(http.Header)
26496	}
26497	return c.header_
26498}
26499
26500func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
26501	reqHeaders := make(http.Header)
26502	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26503	for k, v := range c.header_ {
26504		reqHeaders[k] = v
26505	}
26506	reqHeaders.Set("User-Agent", c.s.userAgent())
26507	if c.ifNoneMatch_ != "" {
26508		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26509	}
26510	var body io.Reader = nil
26511	c.urlParams_.Set("alt", alt)
26512	c.urlParams_.Set("prettyPrint", "false")
26513	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26514	urls += "?" + c.urlParams_.Encode()
26515	req, err := http.NewRequest("GET", urls, body)
26516	if err != nil {
26517		return nil, err
26518	}
26519	req.Header = reqHeaders
26520	googleapi.Expand(req.URL, map[string]string{
26521		"profileId": strconv.FormatInt(c.profileId, 10),
26522	})
26523	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26524}
26525
26526// Do executes the "dfareporting.creativeFields.list" call.
26527// Exactly one of *CreativeFieldsListResponse or error will be non-nil.
26528// Any non-2xx status code is an error. Response headers are in either
26529// *CreativeFieldsListResponse.ServerResponse.Header or (if a response
26530// was returned at all) in error.(*googleapi.Error).Header. Use
26531// googleapi.IsNotModified to check whether the returned error was
26532// because http.StatusNotModified was returned.
26533func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
26534	gensupport.SetOptions(c.urlParams_, opts...)
26535	res, err := c.doRequest("json")
26536	if res != nil && res.StatusCode == http.StatusNotModified {
26537		if res.Body != nil {
26538			res.Body.Close()
26539		}
26540		return nil, &googleapi.Error{
26541			Code:   res.StatusCode,
26542			Header: res.Header,
26543		}
26544	}
26545	if err != nil {
26546		return nil, err
26547	}
26548	defer googleapi.CloseBody(res)
26549	if err := googleapi.CheckResponse(res); err != nil {
26550		return nil, err
26551	}
26552	ret := &CreativeFieldsListResponse{
26553		ServerResponse: googleapi.ServerResponse{
26554			Header:         res.Header,
26555			HTTPStatusCode: res.StatusCode,
26556		},
26557	}
26558	target := &ret
26559	if err := gensupport.DecodeResponse(target, res); err != nil {
26560		return nil, err
26561	}
26562	return ret, nil
26563	// {
26564	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
26565	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26566	//   "httpMethod": "GET",
26567	//   "id": "dfareporting.creativeFields.list",
26568	//   "parameterOrder": [
26569	//     "profileId"
26570	//   ],
26571	//   "parameters": {
26572	//     "advertiserIds": {
26573	//       "description": "Select only creative fields that belong to these advertisers.",
26574	//       "format": "int64",
26575	//       "location": "query",
26576	//       "repeated": true,
26577	//       "type": "string"
26578	//     },
26579	//     "ids": {
26580	//       "description": "Select only creative fields with these IDs.",
26581	//       "format": "int64",
26582	//       "location": "query",
26583	//       "repeated": true,
26584	//       "type": "string"
26585	//     },
26586	//     "maxResults": {
26587	//       "default": "1000",
26588	//       "description": "Maximum number of results to return.",
26589	//       "format": "int32",
26590	//       "location": "query",
26591	//       "maximum": "1000",
26592	//       "minimum": "0",
26593	//       "type": "integer"
26594	//     },
26595	//     "pageToken": {
26596	//       "description": "Value of the nextPageToken from the previous result page.",
26597	//       "location": "query",
26598	//       "type": "string"
26599	//     },
26600	//     "profileId": {
26601	//       "description": "User profile ID associated with this request.",
26602	//       "format": "int64",
26603	//       "location": "path",
26604	//       "required": true,
26605	//       "type": "string"
26606	//     },
26607	//     "searchString": {
26608	//       "description": "Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, \"creativefield*2015\" will return creative fields with names like \"creativefield June 2015\", \"creativefield April 2015\", or simply \"creativefield 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativefield\" will match creative fields with the name \"my creativefield\", \"creativefield 2015\", or simply \"creativefield\".",
26609	//       "location": "query",
26610	//       "type": "string"
26611	//     },
26612	//     "sortField": {
26613	//       "default": "ID",
26614	//       "description": "Field by which to sort the list.",
26615	//       "enum": [
26616	//         "ID",
26617	//         "NAME"
26618	//       ],
26619	//       "enumDescriptions": [
26620	//         "",
26621	//         ""
26622	//       ],
26623	//       "location": "query",
26624	//       "type": "string"
26625	//     },
26626	//     "sortOrder": {
26627	//       "default": "ASCENDING",
26628	//       "description": "Order of sorted results.",
26629	//       "enum": [
26630	//         "ASCENDING",
26631	//         "DESCENDING"
26632	//       ],
26633	//       "enumDescriptions": [
26634	//         "",
26635	//         ""
26636	//       ],
26637	//       "location": "query",
26638	//       "type": "string"
26639	//     }
26640	//   },
26641	//   "path": "userprofiles/{profileId}/creativeFields",
26642	//   "response": {
26643	//     "$ref": "CreativeFieldsListResponse"
26644	//   },
26645	//   "scopes": [
26646	//     "https://www.googleapis.com/auth/dfatrafficking"
26647	//   ]
26648	// }
26649
26650}
26651
26652// Pages invokes f for each page of results.
26653// A non-nil error returned from f will halt the iteration.
26654// The provided context supersedes any context provided to the Context method.
26655func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
26656	c.ctx_ = ctx
26657	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26658	for {
26659		x, err := c.Do()
26660		if err != nil {
26661			return err
26662		}
26663		if err := f(x); err != nil {
26664			return err
26665		}
26666		if x.NextPageToken == "" {
26667			return nil
26668		}
26669		c.PageToken(x.NextPageToken)
26670	}
26671}
26672
26673// method id "dfareporting.creativeFields.patch":
26674
26675type CreativeFieldsPatchCall struct {
26676	s             *Service
26677	profileId     int64
26678	creativefield *CreativeField
26679	urlParams_    gensupport.URLParams
26680	ctx_          context.Context
26681	header_       http.Header
26682}
26683
26684// Patch: Updates an existing creative field. This method supports patch
26685// semantics.
26686func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
26687	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26688	c.profileId = profileId
26689	c.urlParams_.Set("id", fmt.Sprint(id))
26690	c.creativefield = creativefield
26691	return c
26692}
26693
26694// Fields allows partial responses to be retrieved. See
26695// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26696// for more information.
26697func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
26698	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26699	return c
26700}
26701
26702// Context sets the context to be used in this call's Do method. Any
26703// pending HTTP request will be aborted if the provided context is
26704// canceled.
26705func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
26706	c.ctx_ = ctx
26707	return c
26708}
26709
26710// Header returns an http.Header that can be modified by the caller to
26711// add HTTP headers to the request.
26712func (c *CreativeFieldsPatchCall) Header() http.Header {
26713	if c.header_ == nil {
26714		c.header_ = make(http.Header)
26715	}
26716	return c.header_
26717}
26718
26719func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
26720	reqHeaders := make(http.Header)
26721	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26722	for k, v := range c.header_ {
26723		reqHeaders[k] = v
26724	}
26725	reqHeaders.Set("User-Agent", c.s.userAgent())
26726	var body io.Reader = nil
26727	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26728	if err != nil {
26729		return nil, err
26730	}
26731	reqHeaders.Set("Content-Type", "application/json")
26732	c.urlParams_.Set("alt", alt)
26733	c.urlParams_.Set("prettyPrint", "false")
26734	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26735	urls += "?" + c.urlParams_.Encode()
26736	req, err := http.NewRequest("PATCH", urls, body)
26737	if err != nil {
26738		return nil, err
26739	}
26740	req.Header = reqHeaders
26741	googleapi.Expand(req.URL, map[string]string{
26742		"profileId": strconv.FormatInt(c.profileId, 10),
26743	})
26744	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26745}
26746
26747// Do executes the "dfareporting.creativeFields.patch" call.
26748// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26749// status code is an error. Response headers are in either
26750// *CreativeField.ServerResponse.Header or (if a response was returned
26751// at all) in error.(*googleapi.Error).Header. Use
26752// googleapi.IsNotModified to check whether the returned error was
26753// because http.StatusNotModified was returned.
26754func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26755	gensupport.SetOptions(c.urlParams_, opts...)
26756	res, err := c.doRequest("json")
26757	if res != nil && res.StatusCode == http.StatusNotModified {
26758		if res.Body != nil {
26759			res.Body.Close()
26760		}
26761		return nil, &googleapi.Error{
26762			Code:   res.StatusCode,
26763			Header: res.Header,
26764		}
26765	}
26766	if err != nil {
26767		return nil, err
26768	}
26769	defer googleapi.CloseBody(res)
26770	if err := googleapi.CheckResponse(res); err != nil {
26771		return nil, err
26772	}
26773	ret := &CreativeField{
26774		ServerResponse: googleapi.ServerResponse{
26775			Header:         res.Header,
26776			HTTPStatusCode: res.StatusCode,
26777		},
26778	}
26779	target := &ret
26780	if err := gensupport.DecodeResponse(target, res); err != nil {
26781		return nil, err
26782	}
26783	return ret, nil
26784	// {
26785	//   "description": "Updates an existing creative field. This method supports patch semantics.",
26786	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26787	//   "httpMethod": "PATCH",
26788	//   "id": "dfareporting.creativeFields.patch",
26789	//   "parameterOrder": [
26790	//     "profileId",
26791	//     "id"
26792	//   ],
26793	//   "parameters": {
26794	//     "id": {
26795	//       "description": "CreativeField ID.",
26796	//       "format": "int64",
26797	//       "location": "query",
26798	//       "required": true,
26799	//       "type": "string"
26800	//     },
26801	//     "profileId": {
26802	//       "description": "User profile ID associated with this request.",
26803	//       "format": "int64",
26804	//       "location": "path",
26805	//       "required": true,
26806	//       "type": "string"
26807	//     }
26808	//   },
26809	//   "path": "userprofiles/{profileId}/creativeFields",
26810	//   "request": {
26811	//     "$ref": "CreativeField"
26812	//   },
26813	//   "response": {
26814	//     "$ref": "CreativeField"
26815	//   },
26816	//   "scopes": [
26817	//     "https://www.googleapis.com/auth/dfatrafficking"
26818	//   ]
26819	// }
26820
26821}
26822
26823// method id "dfareporting.creativeFields.update":
26824
26825type CreativeFieldsUpdateCall struct {
26826	s             *Service
26827	profileId     int64
26828	creativefield *CreativeField
26829	urlParams_    gensupport.URLParams
26830	ctx_          context.Context
26831	header_       http.Header
26832}
26833
26834// Update: Updates an existing creative field.
26835func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
26836	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26837	c.profileId = profileId
26838	c.creativefield = creativefield
26839	return c
26840}
26841
26842// Fields allows partial responses to be retrieved. See
26843// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26844// for more information.
26845func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
26846	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26847	return c
26848}
26849
26850// Context sets the context to be used in this call's Do method. Any
26851// pending HTTP request will be aborted if the provided context is
26852// canceled.
26853func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
26854	c.ctx_ = ctx
26855	return c
26856}
26857
26858// Header returns an http.Header that can be modified by the caller to
26859// add HTTP headers to the request.
26860func (c *CreativeFieldsUpdateCall) Header() http.Header {
26861	if c.header_ == nil {
26862		c.header_ = make(http.Header)
26863	}
26864	return c.header_
26865}
26866
26867func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
26868	reqHeaders := make(http.Header)
26869	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
26870	for k, v := range c.header_ {
26871		reqHeaders[k] = v
26872	}
26873	reqHeaders.Set("User-Agent", c.s.userAgent())
26874	var body io.Reader = nil
26875	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26876	if err != nil {
26877		return nil, err
26878	}
26879	reqHeaders.Set("Content-Type", "application/json")
26880	c.urlParams_.Set("alt", alt)
26881	c.urlParams_.Set("prettyPrint", "false")
26882	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26883	urls += "?" + c.urlParams_.Encode()
26884	req, err := http.NewRequest("PUT", urls, body)
26885	if err != nil {
26886		return nil, err
26887	}
26888	req.Header = reqHeaders
26889	googleapi.Expand(req.URL, map[string]string{
26890		"profileId": strconv.FormatInt(c.profileId, 10),
26891	})
26892	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26893}
26894
26895// Do executes the "dfareporting.creativeFields.update" call.
26896// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26897// status code is an error. Response headers are in either
26898// *CreativeField.ServerResponse.Header or (if a response was returned
26899// at all) in error.(*googleapi.Error).Header. Use
26900// googleapi.IsNotModified to check whether the returned error was
26901// because http.StatusNotModified was returned.
26902func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26903	gensupport.SetOptions(c.urlParams_, opts...)
26904	res, err := c.doRequest("json")
26905	if res != nil && res.StatusCode == http.StatusNotModified {
26906		if res.Body != nil {
26907			res.Body.Close()
26908		}
26909		return nil, &googleapi.Error{
26910			Code:   res.StatusCode,
26911			Header: res.Header,
26912		}
26913	}
26914	if err != nil {
26915		return nil, err
26916	}
26917	defer googleapi.CloseBody(res)
26918	if err := googleapi.CheckResponse(res); err != nil {
26919		return nil, err
26920	}
26921	ret := &CreativeField{
26922		ServerResponse: googleapi.ServerResponse{
26923			Header:         res.Header,
26924			HTTPStatusCode: res.StatusCode,
26925		},
26926	}
26927	target := &ret
26928	if err := gensupport.DecodeResponse(target, res); err != nil {
26929		return nil, err
26930	}
26931	return ret, nil
26932	// {
26933	//   "description": "Updates an existing creative field.",
26934	//   "flatPath": "userprofiles/{profileId}/creativeFields",
26935	//   "httpMethod": "PUT",
26936	//   "id": "dfareporting.creativeFields.update",
26937	//   "parameterOrder": [
26938	//     "profileId"
26939	//   ],
26940	//   "parameters": {
26941	//     "profileId": {
26942	//       "description": "User profile ID associated with this request.",
26943	//       "format": "int64",
26944	//       "location": "path",
26945	//       "required": true,
26946	//       "type": "string"
26947	//     }
26948	//   },
26949	//   "path": "userprofiles/{profileId}/creativeFields",
26950	//   "request": {
26951	//     "$ref": "CreativeField"
26952	//   },
26953	//   "response": {
26954	//     "$ref": "CreativeField"
26955	//   },
26956	//   "scopes": [
26957	//     "https://www.googleapis.com/auth/dfatrafficking"
26958	//   ]
26959	// }
26960
26961}
26962
26963// method id "dfareporting.creativeGroups.get":
26964
26965type CreativeGroupsGetCall struct {
26966	s            *Service
26967	profileId    int64
26968	id           int64
26969	urlParams_   gensupport.URLParams
26970	ifNoneMatch_ string
26971	ctx_         context.Context
26972	header_      http.Header
26973}
26974
26975// Get: Gets one creative group by ID.
26976func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
26977	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26978	c.profileId = profileId
26979	c.id = id
26980	return c
26981}
26982
26983// Fields allows partial responses to be retrieved. See
26984// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26985// for more information.
26986func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
26987	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26988	return c
26989}
26990
26991// IfNoneMatch sets the optional parameter which makes the operation
26992// fail if the object's ETag matches the given value. This is useful for
26993// getting updates only after the object has changed since the last
26994// request. Use googleapi.IsNotModified to check whether the response
26995// error from Do is the result of In-None-Match.
26996func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
26997	c.ifNoneMatch_ = entityTag
26998	return c
26999}
27000
27001// Context sets the context to be used in this call's Do method. Any
27002// pending HTTP request will be aborted if the provided context is
27003// canceled.
27004func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
27005	c.ctx_ = ctx
27006	return c
27007}
27008
27009// Header returns an http.Header that can be modified by the caller to
27010// add HTTP headers to the request.
27011func (c *CreativeGroupsGetCall) Header() http.Header {
27012	if c.header_ == nil {
27013		c.header_ = make(http.Header)
27014	}
27015	return c.header_
27016}
27017
27018func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
27019	reqHeaders := make(http.Header)
27020	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27021	for k, v := range c.header_ {
27022		reqHeaders[k] = v
27023	}
27024	reqHeaders.Set("User-Agent", c.s.userAgent())
27025	if c.ifNoneMatch_ != "" {
27026		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27027	}
27028	var body io.Reader = nil
27029	c.urlParams_.Set("alt", alt)
27030	c.urlParams_.Set("prettyPrint", "false")
27031	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
27032	urls += "?" + c.urlParams_.Encode()
27033	req, err := http.NewRequest("GET", urls, body)
27034	if err != nil {
27035		return nil, err
27036	}
27037	req.Header = reqHeaders
27038	googleapi.Expand(req.URL, map[string]string{
27039		"profileId": strconv.FormatInt(c.profileId, 10),
27040		"id":        strconv.FormatInt(c.id, 10),
27041	})
27042	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27043}
27044
27045// Do executes the "dfareporting.creativeGroups.get" call.
27046// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27047// status code is an error. Response headers are in either
27048// *CreativeGroup.ServerResponse.Header or (if a response was returned
27049// at all) in error.(*googleapi.Error).Header. Use
27050// googleapi.IsNotModified to check whether the returned error was
27051// because http.StatusNotModified was returned.
27052func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27053	gensupport.SetOptions(c.urlParams_, opts...)
27054	res, err := c.doRequest("json")
27055	if res != nil && res.StatusCode == http.StatusNotModified {
27056		if res.Body != nil {
27057			res.Body.Close()
27058		}
27059		return nil, &googleapi.Error{
27060			Code:   res.StatusCode,
27061			Header: res.Header,
27062		}
27063	}
27064	if err != nil {
27065		return nil, err
27066	}
27067	defer googleapi.CloseBody(res)
27068	if err := googleapi.CheckResponse(res); err != nil {
27069		return nil, err
27070	}
27071	ret := &CreativeGroup{
27072		ServerResponse: googleapi.ServerResponse{
27073			Header:         res.Header,
27074			HTTPStatusCode: res.StatusCode,
27075		},
27076	}
27077	target := &ret
27078	if err := gensupport.DecodeResponse(target, res); err != nil {
27079		return nil, err
27080	}
27081	return ret, nil
27082	// {
27083	//   "description": "Gets one creative group by ID.",
27084	//   "flatPath": "userprofiles/{profileId}/creativeGroups/{id}",
27085	//   "httpMethod": "GET",
27086	//   "id": "dfareporting.creativeGroups.get",
27087	//   "parameterOrder": [
27088	//     "profileId",
27089	//     "id"
27090	//   ],
27091	//   "parameters": {
27092	//     "id": {
27093	//       "description": "Creative group ID.",
27094	//       "format": "int64",
27095	//       "location": "path",
27096	//       "required": true,
27097	//       "type": "string"
27098	//     },
27099	//     "profileId": {
27100	//       "description": "User profile ID associated with this request.",
27101	//       "format": "int64",
27102	//       "location": "path",
27103	//       "required": true,
27104	//       "type": "string"
27105	//     }
27106	//   },
27107	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
27108	//   "response": {
27109	//     "$ref": "CreativeGroup"
27110	//   },
27111	//   "scopes": [
27112	//     "https://www.googleapis.com/auth/dfatrafficking"
27113	//   ]
27114	// }
27115
27116}
27117
27118// method id "dfareporting.creativeGroups.insert":
27119
27120type CreativeGroupsInsertCall struct {
27121	s             *Service
27122	profileId     int64
27123	creativegroup *CreativeGroup
27124	urlParams_    gensupport.URLParams
27125	ctx_          context.Context
27126	header_       http.Header
27127}
27128
27129// Insert: Inserts a new creative group.
27130func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
27131	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27132	c.profileId = profileId
27133	c.creativegroup = creativegroup
27134	return c
27135}
27136
27137// Fields allows partial responses to be retrieved. See
27138// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27139// for more information.
27140func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
27141	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27142	return c
27143}
27144
27145// Context sets the context to be used in this call's Do method. Any
27146// pending HTTP request will be aborted if the provided context is
27147// canceled.
27148func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
27149	c.ctx_ = ctx
27150	return c
27151}
27152
27153// Header returns an http.Header that can be modified by the caller to
27154// add HTTP headers to the request.
27155func (c *CreativeGroupsInsertCall) Header() http.Header {
27156	if c.header_ == nil {
27157		c.header_ = make(http.Header)
27158	}
27159	return c.header_
27160}
27161
27162func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
27163	reqHeaders := make(http.Header)
27164	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27165	for k, v := range c.header_ {
27166		reqHeaders[k] = v
27167	}
27168	reqHeaders.Set("User-Agent", c.s.userAgent())
27169	var body io.Reader = nil
27170	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27171	if err != nil {
27172		return nil, err
27173	}
27174	reqHeaders.Set("Content-Type", "application/json")
27175	c.urlParams_.Set("alt", alt)
27176	c.urlParams_.Set("prettyPrint", "false")
27177	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27178	urls += "?" + c.urlParams_.Encode()
27179	req, err := http.NewRequest("POST", urls, body)
27180	if err != nil {
27181		return nil, err
27182	}
27183	req.Header = reqHeaders
27184	googleapi.Expand(req.URL, map[string]string{
27185		"profileId": strconv.FormatInt(c.profileId, 10),
27186	})
27187	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27188}
27189
27190// Do executes the "dfareporting.creativeGroups.insert" call.
27191// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27192// status code is an error. Response headers are in either
27193// *CreativeGroup.ServerResponse.Header or (if a response was returned
27194// at all) in error.(*googleapi.Error).Header. Use
27195// googleapi.IsNotModified to check whether the returned error was
27196// because http.StatusNotModified was returned.
27197func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27198	gensupport.SetOptions(c.urlParams_, opts...)
27199	res, err := c.doRequest("json")
27200	if res != nil && res.StatusCode == http.StatusNotModified {
27201		if res.Body != nil {
27202			res.Body.Close()
27203		}
27204		return nil, &googleapi.Error{
27205			Code:   res.StatusCode,
27206			Header: res.Header,
27207		}
27208	}
27209	if err != nil {
27210		return nil, err
27211	}
27212	defer googleapi.CloseBody(res)
27213	if err := googleapi.CheckResponse(res); err != nil {
27214		return nil, err
27215	}
27216	ret := &CreativeGroup{
27217		ServerResponse: googleapi.ServerResponse{
27218			Header:         res.Header,
27219			HTTPStatusCode: res.StatusCode,
27220		},
27221	}
27222	target := &ret
27223	if err := gensupport.DecodeResponse(target, res); err != nil {
27224		return nil, err
27225	}
27226	return ret, nil
27227	// {
27228	//   "description": "Inserts a new creative group.",
27229	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27230	//   "httpMethod": "POST",
27231	//   "id": "dfareporting.creativeGroups.insert",
27232	//   "parameterOrder": [
27233	//     "profileId"
27234	//   ],
27235	//   "parameters": {
27236	//     "profileId": {
27237	//       "description": "User profile ID associated with this request.",
27238	//       "format": "int64",
27239	//       "location": "path",
27240	//       "required": true,
27241	//       "type": "string"
27242	//     }
27243	//   },
27244	//   "path": "userprofiles/{profileId}/creativeGroups",
27245	//   "request": {
27246	//     "$ref": "CreativeGroup"
27247	//   },
27248	//   "response": {
27249	//     "$ref": "CreativeGroup"
27250	//   },
27251	//   "scopes": [
27252	//     "https://www.googleapis.com/auth/dfatrafficking"
27253	//   ]
27254	// }
27255
27256}
27257
27258// method id "dfareporting.creativeGroups.list":
27259
27260type CreativeGroupsListCall struct {
27261	s            *Service
27262	profileId    int64
27263	urlParams_   gensupport.URLParams
27264	ifNoneMatch_ string
27265	ctx_         context.Context
27266	header_      http.Header
27267}
27268
27269// List: Retrieves a list of creative groups, possibly filtered. This
27270// method supports paging.
27271func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
27272	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27273	c.profileId = profileId
27274	return c
27275}
27276
27277// AdvertiserIds sets the optional parameter "advertiserIds": Select
27278// only creative groups that belong to these advertisers.
27279func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
27280	var advertiserIds_ []string
27281	for _, v := range advertiserIds {
27282		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
27283	}
27284	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
27285	return c
27286}
27287
27288// GroupNumber sets the optional parameter "groupNumber": Select only
27289// creative groups that belong to this subgroup.
27290func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
27291	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
27292	return c
27293}
27294
27295// Ids sets the optional parameter "ids": Select only creative groups
27296// with these IDs.
27297func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
27298	var ids_ []string
27299	for _, v := range ids {
27300		ids_ = append(ids_, fmt.Sprint(v))
27301	}
27302	c.urlParams_.SetMulti("ids", ids_)
27303	return c
27304}
27305
27306// MaxResults sets the optional parameter "maxResults": Maximum number
27307// of results to return.
27308func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
27309	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27310	return c
27311}
27312
27313// PageToken sets the optional parameter "pageToken": Value of the
27314// nextPageToken from the previous result page.
27315func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
27316	c.urlParams_.Set("pageToken", pageToken)
27317	return c
27318}
27319
27320// SearchString sets the optional parameter "searchString": Allows
27321// searching for creative groups by name or ID. Wildcards (*) are
27322// allowed. For example, "creativegroup*2015" will return creative
27323// groups with names like "creativegroup June 2015", "creativegroup
27324// April 2015", or simply "creativegroup 2015". Most of the searches
27325// also add wild-cards implicitly at the start and the end of the search
27326// string. For example, a search string of "creativegroup" will match
27327// creative groups with the name "my creativegroup", "creativegroup
27328// 2015", or simply "creativegroup".
27329func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
27330	c.urlParams_.Set("searchString", searchString)
27331	return c
27332}
27333
27334// SortField sets the optional parameter "sortField": Field by which to
27335// sort the list.
27336//
27337// Possible values:
27338//   "ID" (default)
27339//   "NAME"
27340func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
27341	c.urlParams_.Set("sortField", sortField)
27342	return c
27343}
27344
27345// SortOrder sets the optional parameter "sortOrder": Order of sorted
27346// results.
27347//
27348// Possible values:
27349//   "ASCENDING" (default)
27350//   "DESCENDING"
27351func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
27352	c.urlParams_.Set("sortOrder", sortOrder)
27353	return c
27354}
27355
27356// Fields allows partial responses to be retrieved. See
27357// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27358// for more information.
27359func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
27360	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27361	return c
27362}
27363
27364// IfNoneMatch sets the optional parameter which makes the operation
27365// fail if the object's ETag matches the given value. This is useful for
27366// getting updates only after the object has changed since the last
27367// request. Use googleapi.IsNotModified to check whether the response
27368// error from Do is the result of In-None-Match.
27369func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
27370	c.ifNoneMatch_ = entityTag
27371	return c
27372}
27373
27374// Context sets the context to be used in this call's Do method. Any
27375// pending HTTP request will be aborted if the provided context is
27376// canceled.
27377func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
27378	c.ctx_ = ctx
27379	return c
27380}
27381
27382// Header returns an http.Header that can be modified by the caller to
27383// add HTTP headers to the request.
27384func (c *CreativeGroupsListCall) Header() http.Header {
27385	if c.header_ == nil {
27386		c.header_ = make(http.Header)
27387	}
27388	return c.header_
27389}
27390
27391func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
27392	reqHeaders := make(http.Header)
27393	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27394	for k, v := range c.header_ {
27395		reqHeaders[k] = v
27396	}
27397	reqHeaders.Set("User-Agent", c.s.userAgent())
27398	if c.ifNoneMatch_ != "" {
27399		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27400	}
27401	var body io.Reader = nil
27402	c.urlParams_.Set("alt", alt)
27403	c.urlParams_.Set("prettyPrint", "false")
27404	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27405	urls += "?" + c.urlParams_.Encode()
27406	req, err := http.NewRequest("GET", urls, body)
27407	if err != nil {
27408		return nil, err
27409	}
27410	req.Header = reqHeaders
27411	googleapi.Expand(req.URL, map[string]string{
27412		"profileId": strconv.FormatInt(c.profileId, 10),
27413	})
27414	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27415}
27416
27417// Do executes the "dfareporting.creativeGroups.list" call.
27418// Exactly one of *CreativeGroupsListResponse or error will be non-nil.
27419// Any non-2xx status code is an error. Response headers are in either
27420// *CreativeGroupsListResponse.ServerResponse.Header or (if a response
27421// was returned at all) in error.(*googleapi.Error).Header. Use
27422// googleapi.IsNotModified to check whether the returned error was
27423// because http.StatusNotModified was returned.
27424func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
27425	gensupport.SetOptions(c.urlParams_, opts...)
27426	res, err := c.doRequest("json")
27427	if res != nil && res.StatusCode == http.StatusNotModified {
27428		if res.Body != nil {
27429			res.Body.Close()
27430		}
27431		return nil, &googleapi.Error{
27432			Code:   res.StatusCode,
27433			Header: res.Header,
27434		}
27435	}
27436	if err != nil {
27437		return nil, err
27438	}
27439	defer googleapi.CloseBody(res)
27440	if err := googleapi.CheckResponse(res); err != nil {
27441		return nil, err
27442	}
27443	ret := &CreativeGroupsListResponse{
27444		ServerResponse: googleapi.ServerResponse{
27445			Header:         res.Header,
27446			HTTPStatusCode: res.StatusCode,
27447		},
27448	}
27449	target := &ret
27450	if err := gensupport.DecodeResponse(target, res); err != nil {
27451		return nil, err
27452	}
27453	return ret, nil
27454	// {
27455	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
27456	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27457	//   "httpMethod": "GET",
27458	//   "id": "dfareporting.creativeGroups.list",
27459	//   "parameterOrder": [
27460	//     "profileId"
27461	//   ],
27462	//   "parameters": {
27463	//     "advertiserIds": {
27464	//       "description": "Select only creative groups that belong to these advertisers.",
27465	//       "format": "int64",
27466	//       "location": "query",
27467	//       "repeated": true,
27468	//       "type": "string"
27469	//     },
27470	//     "groupNumber": {
27471	//       "description": "Select only creative groups that belong to this subgroup.",
27472	//       "format": "int32",
27473	//       "location": "query",
27474	//       "maximum": "2",
27475	//       "minimum": "1",
27476	//       "type": "integer"
27477	//     },
27478	//     "ids": {
27479	//       "description": "Select only creative groups with these IDs.",
27480	//       "format": "int64",
27481	//       "location": "query",
27482	//       "repeated": true,
27483	//       "type": "string"
27484	//     },
27485	//     "maxResults": {
27486	//       "default": "1000",
27487	//       "description": "Maximum number of results to return.",
27488	//       "format": "int32",
27489	//       "location": "query",
27490	//       "maximum": "1000",
27491	//       "minimum": "0",
27492	//       "type": "integer"
27493	//     },
27494	//     "pageToken": {
27495	//       "description": "Value of the nextPageToken from the previous result page.",
27496	//       "location": "query",
27497	//       "type": "string"
27498	//     },
27499	//     "profileId": {
27500	//       "description": "User profile ID associated with this request.",
27501	//       "format": "int64",
27502	//       "location": "path",
27503	//       "required": true,
27504	//       "type": "string"
27505	//     },
27506	//     "searchString": {
27507	//       "description": "Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, \"creativegroup*2015\" will return creative groups with names like \"creativegroup June 2015\", \"creativegroup April 2015\", or simply \"creativegroup 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativegroup\" will match creative groups with the name \"my creativegroup\", \"creativegroup 2015\", or simply \"creativegroup\".",
27508	//       "location": "query",
27509	//       "type": "string"
27510	//     },
27511	//     "sortField": {
27512	//       "default": "ID",
27513	//       "description": "Field by which to sort the list.",
27514	//       "enum": [
27515	//         "ID",
27516	//         "NAME"
27517	//       ],
27518	//       "enumDescriptions": [
27519	//         "",
27520	//         ""
27521	//       ],
27522	//       "location": "query",
27523	//       "type": "string"
27524	//     },
27525	//     "sortOrder": {
27526	//       "default": "ASCENDING",
27527	//       "description": "Order of sorted results.",
27528	//       "enum": [
27529	//         "ASCENDING",
27530	//         "DESCENDING"
27531	//       ],
27532	//       "enumDescriptions": [
27533	//         "",
27534	//         ""
27535	//       ],
27536	//       "location": "query",
27537	//       "type": "string"
27538	//     }
27539	//   },
27540	//   "path": "userprofiles/{profileId}/creativeGroups",
27541	//   "response": {
27542	//     "$ref": "CreativeGroupsListResponse"
27543	//   },
27544	//   "scopes": [
27545	//     "https://www.googleapis.com/auth/dfatrafficking"
27546	//   ]
27547	// }
27548
27549}
27550
27551// Pages invokes f for each page of results.
27552// A non-nil error returned from f will halt the iteration.
27553// The provided context supersedes any context provided to the Context method.
27554func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
27555	c.ctx_ = ctx
27556	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27557	for {
27558		x, err := c.Do()
27559		if err != nil {
27560			return err
27561		}
27562		if err := f(x); err != nil {
27563			return err
27564		}
27565		if x.NextPageToken == "" {
27566			return nil
27567		}
27568		c.PageToken(x.NextPageToken)
27569	}
27570}
27571
27572// method id "dfareporting.creativeGroups.patch":
27573
27574type CreativeGroupsPatchCall struct {
27575	s             *Service
27576	profileId     int64
27577	creativegroup *CreativeGroup
27578	urlParams_    gensupport.URLParams
27579	ctx_          context.Context
27580	header_       http.Header
27581}
27582
27583// Patch: Updates an existing creative group. This method supports patch
27584// semantics.
27585func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
27586	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27587	c.profileId = profileId
27588	c.urlParams_.Set("id", fmt.Sprint(id))
27589	c.creativegroup = creativegroup
27590	return c
27591}
27592
27593// Fields allows partial responses to be retrieved. See
27594// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27595// for more information.
27596func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
27597	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27598	return c
27599}
27600
27601// Context sets the context to be used in this call's Do method. Any
27602// pending HTTP request will be aborted if the provided context is
27603// canceled.
27604func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
27605	c.ctx_ = ctx
27606	return c
27607}
27608
27609// Header returns an http.Header that can be modified by the caller to
27610// add HTTP headers to the request.
27611func (c *CreativeGroupsPatchCall) Header() http.Header {
27612	if c.header_ == nil {
27613		c.header_ = make(http.Header)
27614	}
27615	return c.header_
27616}
27617
27618func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
27619	reqHeaders := make(http.Header)
27620	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27621	for k, v := range c.header_ {
27622		reqHeaders[k] = v
27623	}
27624	reqHeaders.Set("User-Agent", c.s.userAgent())
27625	var body io.Reader = nil
27626	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27627	if err != nil {
27628		return nil, err
27629	}
27630	reqHeaders.Set("Content-Type", "application/json")
27631	c.urlParams_.Set("alt", alt)
27632	c.urlParams_.Set("prettyPrint", "false")
27633	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27634	urls += "?" + c.urlParams_.Encode()
27635	req, err := http.NewRequest("PATCH", urls, body)
27636	if err != nil {
27637		return nil, err
27638	}
27639	req.Header = reqHeaders
27640	googleapi.Expand(req.URL, map[string]string{
27641		"profileId": strconv.FormatInt(c.profileId, 10),
27642	})
27643	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27644}
27645
27646// Do executes the "dfareporting.creativeGroups.patch" call.
27647// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27648// status code is an error. Response headers are in either
27649// *CreativeGroup.ServerResponse.Header or (if a response was returned
27650// at all) in error.(*googleapi.Error).Header. Use
27651// googleapi.IsNotModified to check whether the returned error was
27652// because http.StatusNotModified was returned.
27653func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27654	gensupport.SetOptions(c.urlParams_, opts...)
27655	res, err := c.doRequest("json")
27656	if res != nil && res.StatusCode == http.StatusNotModified {
27657		if res.Body != nil {
27658			res.Body.Close()
27659		}
27660		return nil, &googleapi.Error{
27661			Code:   res.StatusCode,
27662			Header: res.Header,
27663		}
27664	}
27665	if err != nil {
27666		return nil, err
27667	}
27668	defer googleapi.CloseBody(res)
27669	if err := googleapi.CheckResponse(res); err != nil {
27670		return nil, err
27671	}
27672	ret := &CreativeGroup{
27673		ServerResponse: googleapi.ServerResponse{
27674			Header:         res.Header,
27675			HTTPStatusCode: res.StatusCode,
27676		},
27677	}
27678	target := &ret
27679	if err := gensupport.DecodeResponse(target, res); err != nil {
27680		return nil, err
27681	}
27682	return ret, nil
27683	// {
27684	//   "description": "Updates an existing creative group. This method supports patch semantics.",
27685	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27686	//   "httpMethod": "PATCH",
27687	//   "id": "dfareporting.creativeGroups.patch",
27688	//   "parameterOrder": [
27689	//     "profileId",
27690	//     "id"
27691	//   ],
27692	//   "parameters": {
27693	//     "id": {
27694	//       "description": "CreativeGroup ID.",
27695	//       "format": "int64",
27696	//       "location": "query",
27697	//       "required": true,
27698	//       "type": "string"
27699	//     },
27700	//     "profileId": {
27701	//       "description": "User profile ID associated with this request.",
27702	//       "format": "int64",
27703	//       "location": "path",
27704	//       "required": true,
27705	//       "type": "string"
27706	//     }
27707	//   },
27708	//   "path": "userprofiles/{profileId}/creativeGroups",
27709	//   "request": {
27710	//     "$ref": "CreativeGroup"
27711	//   },
27712	//   "response": {
27713	//     "$ref": "CreativeGroup"
27714	//   },
27715	//   "scopes": [
27716	//     "https://www.googleapis.com/auth/dfatrafficking"
27717	//   ]
27718	// }
27719
27720}
27721
27722// method id "dfareporting.creativeGroups.update":
27723
27724type CreativeGroupsUpdateCall struct {
27725	s             *Service
27726	profileId     int64
27727	creativegroup *CreativeGroup
27728	urlParams_    gensupport.URLParams
27729	ctx_          context.Context
27730	header_       http.Header
27731}
27732
27733// Update: Updates an existing creative group.
27734func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
27735	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27736	c.profileId = profileId
27737	c.creativegroup = creativegroup
27738	return c
27739}
27740
27741// Fields allows partial responses to be retrieved. See
27742// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27743// for more information.
27744func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
27745	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27746	return c
27747}
27748
27749// Context sets the context to be used in this call's Do method. Any
27750// pending HTTP request will be aborted if the provided context is
27751// canceled.
27752func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
27753	c.ctx_ = ctx
27754	return c
27755}
27756
27757// Header returns an http.Header that can be modified by the caller to
27758// add HTTP headers to the request.
27759func (c *CreativeGroupsUpdateCall) Header() http.Header {
27760	if c.header_ == nil {
27761		c.header_ = make(http.Header)
27762	}
27763	return c.header_
27764}
27765
27766func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
27767	reqHeaders := make(http.Header)
27768	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27769	for k, v := range c.header_ {
27770		reqHeaders[k] = v
27771	}
27772	reqHeaders.Set("User-Agent", c.s.userAgent())
27773	var body io.Reader = nil
27774	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27775	if err != nil {
27776		return nil, err
27777	}
27778	reqHeaders.Set("Content-Type", "application/json")
27779	c.urlParams_.Set("alt", alt)
27780	c.urlParams_.Set("prettyPrint", "false")
27781	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27782	urls += "?" + c.urlParams_.Encode()
27783	req, err := http.NewRequest("PUT", urls, body)
27784	if err != nil {
27785		return nil, err
27786	}
27787	req.Header = reqHeaders
27788	googleapi.Expand(req.URL, map[string]string{
27789		"profileId": strconv.FormatInt(c.profileId, 10),
27790	})
27791	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27792}
27793
27794// Do executes the "dfareporting.creativeGroups.update" call.
27795// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27796// status code is an error. Response headers are in either
27797// *CreativeGroup.ServerResponse.Header or (if a response was returned
27798// at all) in error.(*googleapi.Error).Header. Use
27799// googleapi.IsNotModified to check whether the returned error was
27800// because http.StatusNotModified was returned.
27801func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27802	gensupport.SetOptions(c.urlParams_, opts...)
27803	res, err := c.doRequest("json")
27804	if res != nil && res.StatusCode == http.StatusNotModified {
27805		if res.Body != nil {
27806			res.Body.Close()
27807		}
27808		return nil, &googleapi.Error{
27809			Code:   res.StatusCode,
27810			Header: res.Header,
27811		}
27812	}
27813	if err != nil {
27814		return nil, err
27815	}
27816	defer googleapi.CloseBody(res)
27817	if err := googleapi.CheckResponse(res); err != nil {
27818		return nil, err
27819	}
27820	ret := &CreativeGroup{
27821		ServerResponse: googleapi.ServerResponse{
27822			Header:         res.Header,
27823			HTTPStatusCode: res.StatusCode,
27824		},
27825	}
27826	target := &ret
27827	if err := gensupport.DecodeResponse(target, res); err != nil {
27828		return nil, err
27829	}
27830	return ret, nil
27831	// {
27832	//   "description": "Updates an existing creative group.",
27833	//   "flatPath": "userprofiles/{profileId}/creativeGroups",
27834	//   "httpMethod": "PUT",
27835	//   "id": "dfareporting.creativeGroups.update",
27836	//   "parameterOrder": [
27837	//     "profileId"
27838	//   ],
27839	//   "parameters": {
27840	//     "profileId": {
27841	//       "description": "User profile ID associated with this request.",
27842	//       "format": "int64",
27843	//       "location": "path",
27844	//       "required": true,
27845	//       "type": "string"
27846	//     }
27847	//   },
27848	//   "path": "userprofiles/{profileId}/creativeGroups",
27849	//   "request": {
27850	//     "$ref": "CreativeGroup"
27851	//   },
27852	//   "response": {
27853	//     "$ref": "CreativeGroup"
27854	//   },
27855	//   "scopes": [
27856	//     "https://www.googleapis.com/auth/dfatrafficking"
27857	//   ]
27858	// }
27859
27860}
27861
27862// method id "dfareporting.creatives.get":
27863
27864type CreativesGetCall struct {
27865	s            *Service
27866	profileId    int64
27867	id           int64
27868	urlParams_   gensupport.URLParams
27869	ifNoneMatch_ string
27870	ctx_         context.Context
27871	header_      http.Header
27872}
27873
27874// Get: Gets one creative by ID.
27875func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
27876	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27877	c.profileId = profileId
27878	c.id = id
27879	return c
27880}
27881
27882// Fields allows partial responses to be retrieved. See
27883// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27884// for more information.
27885func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
27886	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27887	return c
27888}
27889
27890// IfNoneMatch sets the optional parameter which makes the operation
27891// fail if the object's ETag matches the given value. This is useful for
27892// getting updates only after the object has changed since the last
27893// request. Use googleapi.IsNotModified to check whether the response
27894// error from Do is the result of In-None-Match.
27895func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
27896	c.ifNoneMatch_ = entityTag
27897	return c
27898}
27899
27900// Context sets the context to be used in this call's Do method. Any
27901// pending HTTP request will be aborted if the provided context is
27902// canceled.
27903func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
27904	c.ctx_ = ctx
27905	return c
27906}
27907
27908// Header returns an http.Header that can be modified by the caller to
27909// add HTTP headers to the request.
27910func (c *CreativesGetCall) Header() http.Header {
27911	if c.header_ == nil {
27912		c.header_ = make(http.Header)
27913	}
27914	return c.header_
27915}
27916
27917func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
27918	reqHeaders := make(http.Header)
27919	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
27920	for k, v := range c.header_ {
27921		reqHeaders[k] = v
27922	}
27923	reqHeaders.Set("User-Agent", c.s.userAgent())
27924	if c.ifNoneMatch_ != "" {
27925		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27926	}
27927	var body io.Reader = nil
27928	c.urlParams_.Set("alt", alt)
27929	c.urlParams_.Set("prettyPrint", "false")
27930	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
27931	urls += "?" + c.urlParams_.Encode()
27932	req, err := http.NewRequest("GET", urls, body)
27933	if err != nil {
27934		return nil, err
27935	}
27936	req.Header = reqHeaders
27937	googleapi.Expand(req.URL, map[string]string{
27938		"profileId": strconv.FormatInt(c.profileId, 10),
27939		"id":        strconv.FormatInt(c.id, 10),
27940	})
27941	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27942}
27943
27944// Do executes the "dfareporting.creatives.get" call.
27945// Exactly one of *Creative or error will be non-nil. Any non-2xx status
27946// code is an error. Response headers are in either
27947// *Creative.ServerResponse.Header or (if a response was returned at
27948// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
27949// to check whether the returned error was because
27950// http.StatusNotModified was returned.
27951func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
27952	gensupport.SetOptions(c.urlParams_, opts...)
27953	res, err := c.doRequest("json")
27954	if res != nil && res.StatusCode == http.StatusNotModified {
27955		if res.Body != nil {
27956			res.Body.Close()
27957		}
27958		return nil, &googleapi.Error{
27959			Code:   res.StatusCode,
27960			Header: res.Header,
27961		}
27962	}
27963	if err != nil {
27964		return nil, err
27965	}
27966	defer googleapi.CloseBody(res)
27967	if err := googleapi.CheckResponse(res); err != nil {
27968		return nil, err
27969	}
27970	ret := &Creative{
27971		ServerResponse: googleapi.ServerResponse{
27972			Header:         res.Header,
27973			HTTPStatusCode: res.StatusCode,
27974		},
27975	}
27976	target := &ret
27977	if err := gensupport.DecodeResponse(target, res); err != nil {
27978		return nil, err
27979	}
27980	return ret, nil
27981	// {
27982	//   "description": "Gets one creative by ID.",
27983	//   "flatPath": "userprofiles/{profileId}/creatives/{id}",
27984	//   "httpMethod": "GET",
27985	//   "id": "dfareporting.creatives.get",
27986	//   "parameterOrder": [
27987	//     "profileId",
27988	//     "id"
27989	//   ],
27990	//   "parameters": {
27991	//     "id": {
27992	//       "description": "Creative ID.",
27993	//       "format": "int64",
27994	//       "location": "path",
27995	//       "required": true,
27996	//       "type": "string"
27997	//     },
27998	//     "profileId": {
27999	//       "description": "User profile ID associated with this request.",
28000	//       "format": "int64",
28001	//       "location": "path",
28002	//       "required": true,
28003	//       "type": "string"
28004	//     }
28005	//   },
28006	//   "path": "userprofiles/{profileId}/creatives/{id}",
28007	//   "response": {
28008	//     "$ref": "Creative"
28009	//   },
28010	//   "scopes": [
28011	//     "https://www.googleapis.com/auth/dfatrafficking"
28012	//   ]
28013	// }
28014
28015}
28016
28017// method id "dfareporting.creatives.insert":
28018
28019type CreativesInsertCall struct {
28020	s          *Service
28021	profileId  int64
28022	creative   *Creative
28023	urlParams_ gensupport.URLParams
28024	ctx_       context.Context
28025	header_    http.Header
28026}
28027
28028// Insert: Inserts a new creative.
28029func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
28030	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28031	c.profileId = profileId
28032	c.creative = creative
28033	return c
28034}
28035
28036// Fields allows partial responses to be retrieved. See
28037// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28038// for more information.
28039func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
28040	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28041	return c
28042}
28043
28044// Context sets the context to be used in this call's Do method. Any
28045// pending HTTP request will be aborted if the provided context is
28046// canceled.
28047func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
28048	c.ctx_ = ctx
28049	return c
28050}
28051
28052// Header returns an http.Header that can be modified by the caller to
28053// add HTTP headers to the request.
28054func (c *CreativesInsertCall) Header() http.Header {
28055	if c.header_ == nil {
28056		c.header_ = make(http.Header)
28057	}
28058	return c.header_
28059}
28060
28061func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
28062	reqHeaders := make(http.Header)
28063	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28064	for k, v := range c.header_ {
28065		reqHeaders[k] = v
28066	}
28067	reqHeaders.Set("User-Agent", c.s.userAgent())
28068	var body io.Reader = nil
28069	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28070	if err != nil {
28071		return nil, err
28072	}
28073	reqHeaders.Set("Content-Type", "application/json")
28074	c.urlParams_.Set("alt", alt)
28075	c.urlParams_.Set("prettyPrint", "false")
28076	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28077	urls += "?" + c.urlParams_.Encode()
28078	req, err := http.NewRequest("POST", urls, body)
28079	if err != nil {
28080		return nil, err
28081	}
28082	req.Header = reqHeaders
28083	googleapi.Expand(req.URL, map[string]string{
28084		"profileId": strconv.FormatInt(c.profileId, 10),
28085	})
28086	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28087}
28088
28089// Do executes the "dfareporting.creatives.insert" call.
28090// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28091// code is an error. Response headers are in either
28092// *Creative.ServerResponse.Header or (if a response was returned at
28093// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28094// to check whether the returned error was because
28095// http.StatusNotModified was returned.
28096func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28097	gensupport.SetOptions(c.urlParams_, opts...)
28098	res, err := c.doRequest("json")
28099	if res != nil && res.StatusCode == http.StatusNotModified {
28100		if res.Body != nil {
28101			res.Body.Close()
28102		}
28103		return nil, &googleapi.Error{
28104			Code:   res.StatusCode,
28105			Header: res.Header,
28106		}
28107	}
28108	if err != nil {
28109		return nil, err
28110	}
28111	defer googleapi.CloseBody(res)
28112	if err := googleapi.CheckResponse(res); err != nil {
28113		return nil, err
28114	}
28115	ret := &Creative{
28116		ServerResponse: googleapi.ServerResponse{
28117			Header:         res.Header,
28118			HTTPStatusCode: res.StatusCode,
28119		},
28120	}
28121	target := &ret
28122	if err := gensupport.DecodeResponse(target, res); err != nil {
28123		return nil, err
28124	}
28125	return ret, nil
28126	// {
28127	//   "description": "Inserts a new creative.",
28128	//   "flatPath": "userprofiles/{profileId}/creatives",
28129	//   "httpMethod": "POST",
28130	//   "id": "dfareporting.creatives.insert",
28131	//   "parameterOrder": [
28132	//     "profileId"
28133	//   ],
28134	//   "parameters": {
28135	//     "profileId": {
28136	//       "description": "User profile ID associated with this request.",
28137	//       "format": "int64",
28138	//       "location": "path",
28139	//       "required": true,
28140	//       "type": "string"
28141	//     }
28142	//   },
28143	//   "path": "userprofiles/{profileId}/creatives",
28144	//   "request": {
28145	//     "$ref": "Creative"
28146	//   },
28147	//   "response": {
28148	//     "$ref": "Creative"
28149	//   },
28150	//   "scopes": [
28151	//     "https://www.googleapis.com/auth/dfatrafficking"
28152	//   ]
28153	// }
28154
28155}
28156
28157// method id "dfareporting.creatives.list":
28158
28159type CreativesListCall struct {
28160	s            *Service
28161	profileId    int64
28162	urlParams_   gensupport.URLParams
28163	ifNoneMatch_ string
28164	ctx_         context.Context
28165	header_      http.Header
28166}
28167
28168// List: Retrieves a list of creatives, possibly filtered. This method
28169// supports paging.
28170func (r *CreativesService) List(profileId int64) *CreativesListCall {
28171	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28172	c.profileId = profileId
28173	return c
28174}
28175
28176// Active sets the optional parameter "active": Select only active
28177// creatives. Leave blank to select active and inactive creatives.
28178func (c *CreativesListCall) Active(active bool) *CreativesListCall {
28179	c.urlParams_.Set("active", fmt.Sprint(active))
28180	return c
28181}
28182
28183// AdvertiserId sets the optional parameter "advertiserId": Select only
28184// creatives with this advertiser ID.
28185func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
28186	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28187	return c
28188}
28189
28190// Archived sets the optional parameter "archived": Select only archived
28191// creatives. Leave blank to select archived and unarchived creatives.
28192func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
28193	c.urlParams_.Set("archived", fmt.Sprint(archived))
28194	return c
28195}
28196
28197// CampaignId sets the optional parameter "campaignId": Select only
28198// creatives with this campaign ID.
28199func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
28200	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
28201	return c
28202}
28203
28204// CompanionCreativeIds sets the optional parameter
28205// "companionCreativeIds": Select only in-stream video creatives with
28206// these companion IDs.
28207func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
28208	var companionCreativeIds_ []string
28209	for _, v := range companionCreativeIds {
28210		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
28211	}
28212	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
28213	return c
28214}
28215
28216// CreativeFieldIds sets the optional parameter "creativeFieldIds":
28217// Select only creatives with these creative field IDs.
28218func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
28219	var creativeFieldIds_ []string
28220	for _, v := range creativeFieldIds {
28221		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
28222	}
28223	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
28224	return c
28225}
28226
28227// Ids sets the optional parameter "ids": Select only creatives with
28228// these IDs.
28229func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
28230	var ids_ []string
28231	for _, v := range ids {
28232		ids_ = append(ids_, fmt.Sprint(v))
28233	}
28234	c.urlParams_.SetMulti("ids", ids_)
28235	return c
28236}
28237
28238// MaxResults sets the optional parameter "maxResults": Maximum number
28239// of results to return.
28240func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
28241	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28242	return c
28243}
28244
28245// PageToken sets the optional parameter "pageToken": Value of the
28246// nextPageToken from the previous result page.
28247func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
28248	c.urlParams_.Set("pageToken", pageToken)
28249	return c
28250}
28251
28252// RenderingIds sets the optional parameter "renderingIds": Select only
28253// creatives with these rendering IDs.
28254func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
28255	var renderingIds_ []string
28256	for _, v := range renderingIds {
28257		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
28258	}
28259	c.urlParams_.SetMulti("renderingIds", renderingIds_)
28260	return c
28261}
28262
28263// SearchString sets the optional parameter "searchString": Allows
28264// searching for objects by name or ID. Wildcards (*) are allowed. For
28265// example, "creative*2015" will return objects with names like
28266// "creative June 2015", "creative April 2015", or simply "creative
28267// 2015". Most of the searches also add wildcards implicitly at the
28268// start and the end of the search string. For example, a search string
28269// of "creative" will match objects with name "my creative", "creative
28270// 2015", or simply "creative".
28271func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
28272	c.urlParams_.Set("searchString", searchString)
28273	return c
28274}
28275
28276// SizeIds sets the optional parameter "sizeIds": Select only creatives
28277// with these size IDs.
28278func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
28279	var sizeIds_ []string
28280	for _, v := range sizeIds {
28281		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
28282	}
28283	c.urlParams_.SetMulti("sizeIds", sizeIds_)
28284	return c
28285}
28286
28287// SortField sets the optional parameter "sortField": Field by which to
28288// sort the list.
28289//
28290// Possible values:
28291//   "ID" (default)
28292//   "NAME"
28293func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
28294	c.urlParams_.Set("sortField", sortField)
28295	return c
28296}
28297
28298// SortOrder sets the optional parameter "sortOrder": Order of sorted
28299// results.
28300//
28301// Possible values:
28302//   "ASCENDING" (default)
28303//   "DESCENDING"
28304func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
28305	c.urlParams_.Set("sortOrder", sortOrder)
28306	return c
28307}
28308
28309// StudioCreativeId sets the optional parameter "studioCreativeId":
28310// Select only creatives corresponding to this Studio creative ID.
28311func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
28312	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
28313	return c
28314}
28315
28316// Types sets the optional parameter "types": Select only creatives with
28317// these creative types.
28318//
28319// Possible values:
28320//   "IMAGE"
28321//   "DISPLAY_REDIRECT"
28322//   "CUSTOM_DISPLAY"
28323//   "INTERNAL_REDIRECT"
28324//   "CUSTOM_DISPLAY_INTERSTITIAL"
28325//   "INTERSTITIAL_INTERNAL_REDIRECT"
28326//   "TRACKING_TEXT"
28327//   "RICH_MEDIA_DISPLAY_BANNER"
28328//   "RICH_MEDIA_INPAGE_FLOATING"
28329//   "RICH_MEDIA_IM_EXPAND"
28330//   "RICH_MEDIA_DISPLAY_EXPANDING"
28331//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
28332//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
28333//   "RICH_MEDIA_MOBILE_IN_APP"
28334//   "FLASH_INPAGE"
28335//   "INSTREAM_VIDEO"
28336//   "VPAID_LINEAR_VIDEO"
28337//   "VPAID_NON_LINEAR_VIDEO"
28338//   "INSTREAM_VIDEO_REDIRECT"
28339//   "RICH_MEDIA_PEEL_DOWN"
28340//   "HTML5_BANNER"
28341//   "DISPLAY"
28342//   "DISPLAY_IMAGE_GALLERY"
28343//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
28344//   "INSTREAM_AUDIO"
28345func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
28346	c.urlParams_.SetMulti("types", append([]string{}, types...))
28347	return c
28348}
28349
28350// Fields allows partial responses to be retrieved. See
28351// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28352// for more information.
28353func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
28354	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28355	return c
28356}
28357
28358// IfNoneMatch sets the optional parameter which makes the operation
28359// fail if the object's ETag matches the given value. This is useful for
28360// getting updates only after the object has changed since the last
28361// request. Use googleapi.IsNotModified to check whether the response
28362// error from Do is the result of In-None-Match.
28363func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
28364	c.ifNoneMatch_ = entityTag
28365	return c
28366}
28367
28368// Context sets the context to be used in this call's Do method. Any
28369// pending HTTP request will be aborted if the provided context is
28370// canceled.
28371func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
28372	c.ctx_ = ctx
28373	return c
28374}
28375
28376// Header returns an http.Header that can be modified by the caller to
28377// add HTTP headers to the request.
28378func (c *CreativesListCall) Header() http.Header {
28379	if c.header_ == nil {
28380		c.header_ = make(http.Header)
28381	}
28382	return c.header_
28383}
28384
28385func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
28386	reqHeaders := make(http.Header)
28387	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28388	for k, v := range c.header_ {
28389		reqHeaders[k] = v
28390	}
28391	reqHeaders.Set("User-Agent", c.s.userAgent())
28392	if c.ifNoneMatch_ != "" {
28393		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28394	}
28395	var body io.Reader = nil
28396	c.urlParams_.Set("alt", alt)
28397	c.urlParams_.Set("prettyPrint", "false")
28398	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28399	urls += "?" + c.urlParams_.Encode()
28400	req, err := http.NewRequest("GET", urls, body)
28401	if err != nil {
28402		return nil, err
28403	}
28404	req.Header = reqHeaders
28405	googleapi.Expand(req.URL, map[string]string{
28406		"profileId": strconv.FormatInt(c.profileId, 10),
28407	})
28408	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28409}
28410
28411// Do executes the "dfareporting.creatives.list" call.
28412// Exactly one of *CreativesListResponse or error will be non-nil. Any
28413// non-2xx status code is an error. Response headers are in either
28414// *CreativesListResponse.ServerResponse.Header or (if a response was
28415// returned at all) in error.(*googleapi.Error).Header. Use
28416// googleapi.IsNotModified to check whether the returned error was
28417// because http.StatusNotModified was returned.
28418func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
28419	gensupport.SetOptions(c.urlParams_, opts...)
28420	res, err := c.doRequest("json")
28421	if res != nil && res.StatusCode == http.StatusNotModified {
28422		if res.Body != nil {
28423			res.Body.Close()
28424		}
28425		return nil, &googleapi.Error{
28426			Code:   res.StatusCode,
28427			Header: res.Header,
28428		}
28429	}
28430	if err != nil {
28431		return nil, err
28432	}
28433	defer googleapi.CloseBody(res)
28434	if err := googleapi.CheckResponse(res); err != nil {
28435		return nil, err
28436	}
28437	ret := &CreativesListResponse{
28438		ServerResponse: googleapi.ServerResponse{
28439			Header:         res.Header,
28440			HTTPStatusCode: res.StatusCode,
28441		},
28442	}
28443	target := &ret
28444	if err := gensupport.DecodeResponse(target, res); err != nil {
28445		return nil, err
28446	}
28447	return ret, nil
28448	// {
28449	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
28450	//   "flatPath": "userprofiles/{profileId}/creatives",
28451	//   "httpMethod": "GET",
28452	//   "id": "dfareporting.creatives.list",
28453	//   "parameterOrder": [
28454	//     "profileId"
28455	//   ],
28456	//   "parameters": {
28457	//     "active": {
28458	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
28459	//       "location": "query",
28460	//       "type": "boolean"
28461	//     },
28462	//     "advertiserId": {
28463	//       "description": "Select only creatives with this advertiser ID.",
28464	//       "format": "int64",
28465	//       "location": "query",
28466	//       "type": "string"
28467	//     },
28468	//     "archived": {
28469	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
28470	//       "location": "query",
28471	//       "type": "boolean"
28472	//     },
28473	//     "campaignId": {
28474	//       "description": "Select only creatives with this campaign ID.",
28475	//       "format": "int64",
28476	//       "location": "query",
28477	//       "type": "string"
28478	//     },
28479	//     "companionCreativeIds": {
28480	//       "description": "Select only in-stream video creatives with these companion IDs.",
28481	//       "format": "int64",
28482	//       "location": "query",
28483	//       "repeated": true,
28484	//       "type": "string"
28485	//     },
28486	//     "creativeFieldIds": {
28487	//       "description": "Select only creatives with these creative field IDs.",
28488	//       "format": "int64",
28489	//       "location": "query",
28490	//       "repeated": true,
28491	//       "type": "string"
28492	//     },
28493	//     "ids": {
28494	//       "description": "Select only creatives with these IDs.",
28495	//       "format": "int64",
28496	//       "location": "query",
28497	//       "repeated": true,
28498	//       "type": "string"
28499	//     },
28500	//     "maxResults": {
28501	//       "default": "1000",
28502	//       "description": "Maximum number of results to return.",
28503	//       "format": "int32",
28504	//       "location": "query",
28505	//       "maximum": "1000",
28506	//       "minimum": "0",
28507	//       "type": "integer"
28508	//     },
28509	//     "pageToken": {
28510	//       "description": "Value of the nextPageToken from the previous result page.",
28511	//       "location": "query",
28512	//       "type": "string"
28513	//     },
28514	//     "profileId": {
28515	//       "description": "User profile ID associated with this request.",
28516	//       "format": "int64",
28517	//       "location": "path",
28518	//       "required": true,
28519	//       "type": "string"
28520	//     },
28521	//     "renderingIds": {
28522	//       "description": "Select only creatives with these rendering IDs.",
28523	//       "format": "int64",
28524	//       "location": "query",
28525	//       "repeated": true,
28526	//       "type": "string"
28527	//     },
28528	//     "searchString": {
28529	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"creative*2015\" will return objects with names like \"creative June 2015\", \"creative April 2015\", or simply \"creative 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"creative\" will match objects with name \"my creative\", \"creative 2015\", or simply \"creative\".",
28530	//       "location": "query",
28531	//       "type": "string"
28532	//     },
28533	//     "sizeIds": {
28534	//       "description": "Select only creatives with these size IDs.",
28535	//       "format": "int64",
28536	//       "location": "query",
28537	//       "repeated": true,
28538	//       "type": "string"
28539	//     },
28540	//     "sortField": {
28541	//       "default": "ID",
28542	//       "description": "Field by which to sort the list.",
28543	//       "enum": [
28544	//         "ID",
28545	//         "NAME"
28546	//       ],
28547	//       "enumDescriptions": [
28548	//         "",
28549	//         ""
28550	//       ],
28551	//       "location": "query",
28552	//       "type": "string"
28553	//     },
28554	//     "sortOrder": {
28555	//       "default": "ASCENDING",
28556	//       "description": "Order of sorted results.",
28557	//       "enum": [
28558	//         "ASCENDING",
28559	//         "DESCENDING"
28560	//       ],
28561	//       "enumDescriptions": [
28562	//         "",
28563	//         ""
28564	//       ],
28565	//       "location": "query",
28566	//       "type": "string"
28567	//     },
28568	//     "studioCreativeId": {
28569	//       "description": "Select only creatives corresponding to this Studio creative ID.",
28570	//       "format": "int64",
28571	//       "location": "query",
28572	//       "type": "string"
28573	//     },
28574	//     "types": {
28575	//       "description": "Select only creatives with these creative types.",
28576	//       "enum": [
28577	//         "IMAGE",
28578	//         "DISPLAY_REDIRECT",
28579	//         "CUSTOM_DISPLAY",
28580	//         "INTERNAL_REDIRECT",
28581	//         "CUSTOM_DISPLAY_INTERSTITIAL",
28582	//         "INTERSTITIAL_INTERNAL_REDIRECT",
28583	//         "TRACKING_TEXT",
28584	//         "RICH_MEDIA_DISPLAY_BANNER",
28585	//         "RICH_MEDIA_INPAGE_FLOATING",
28586	//         "RICH_MEDIA_IM_EXPAND",
28587	//         "RICH_MEDIA_DISPLAY_EXPANDING",
28588	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
28589	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
28590	//         "RICH_MEDIA_MOBILE_IN_APP",
28591	//         "FLASH_INPAGE",
28592	//         "INSTREAM_VIDEO",
28593	//         "VPAID_LINEAR_VIDEO",
28594	//         "VPAID_NON_LINEAR_VIDEO",
28595	//         "INSTREAM_VIDEO_REDIRECT",
28596	//         "RICH_MEDIA_PEEL_DOWN",
28597	//         "HTML5_BANNER",
28598	//         "DISPLAY",
28599	//         "DISPLAY_IMAGE_GALLERY",
28600	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
28601	//         "INSTREAM_AUDIO"
28602	//       ],
28603	//       "enumDescriptions": [
28604	//         "",
28605	//         "",
28606	//         "",
28607	//         "",
28608	//         "",
28609	//         "",
28610	//         "",
28611	//         "",
28612	//         "",
28613	//         "",
28614	//         "",
28615	//         "",
28616	//         "",
28617	//         "",
28618	//         "",
28619	//         "",
28620	//         "",
28621	//         "",
28622	//         "",
28623	//         "",
28624	//         "",
28625	//         "",
28626	//         "",
28627	//         "",
28628	//         ""
28629	//       ],
28630	//       "location": "query",
28631	//       "repeated": true,
28632	//       "type": "string"
28633	//     }
28634	//   },
28635	//   "path": "userprofiles/{profileId}/creatives",
28636	//   "response": {
28637	//     "$ref": "CreativesListResponse"
28638	//   },
28639	//   "scopes": [
28640	//     "https://www.googleapis.com/auth/dfatrafficking"
28641	//   ]
28642	// }
28643
28644}
28645
28646// Pages invokes f for each page of results.
28647// A non-nil error returned from f will halt the iteration.
28648// The provided context supersedes any context provided to the Context method.
28649func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
28650	c.ctx_ = ctx
28651	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28652	for {
28653		x, err := c.Do()
28654		if err != nil {
28655			return err
28656		}
28657		if err := f(x); err != nil {
28658			return err
28659		}
28660		if x.NextPageToken == "" {
28661			return nil
28662		}
28663		c.PageToken(x.NextPageToken)
28664	}
28665}
28666
28667// method id "dfareporting.creatives.patch":
28668
28669type CreativesPatchCall struct {
28670	s          *Service
28671	profileId  int64
28672	creative   *Creative
28673	urlParams_ gensupport.URLParams
28674	ctx_       context.Context
28675	header_    http.Header
28676}
28677
28678// Patch: Updates an existing creative. This method supports patch
28679// semantics.
28680func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
28681	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28682	c.profileId = profileId
28683	c.urlParams_.Set("id", fmt.Sprint(id))
28684	c.creative = creative
28685	return c
28686}
28687
28688// Fields allows partial responses to be retrieved. See
28689// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28690// for more information.
28691func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
28692	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28693	return c
28694}
28695
28696// Context sets the context to be used in this call's Do method. Any
28697// pending HTTP request will be aborted if the provided context is
28698// canceled.
28699func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
28700	c.ctx_ = ctx
28701	return c
28702}
28703
28704// Header returns an http.Header that can be modified by the caller to
28705// add HTTP headers to the request.
28706func (c *CreativesPatchCall) Header() http.Header {
28707	if c.header_ == nil {
28708		c.header_ = make(http.Header)
28709	}
28710	return c.header_
28711}
28712
28713func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
28714	reqHeaders := make(http.Header)
28715	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28716	for k, v := range c.header_ {
28717		reqHeaders[k] = v
28718	}
28719	reqHeaders.Set("User-Agent", c.s.userAgent())
28720	var body io.Reader = nil
28721	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28722	if err != nil {
28723		return nil, err
28724	}
28725	reqHeaders.Set("Content-Type", "application/json")
28726	c.urlParams_.Set("alt", alt)
28727	c.urlParams_.Set("prettyPrint", "false")
28728	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28729	urls += "?" + c.urlParams_.Encode()
28730	req, err := http.NewRequest("PATCH", urls, body)
28731	if err != nil {
28732		return nil, err
28733	}
28734	req.Header = reqHeaders
28735	googleapi.Expand(req.URL, map[string]string{
28736		"profileId": strconv.FormatInt(c.profileId, 10),
28737	})
28738	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28739}
28740
28741// Do executes the "dfareporting.creatives.patch" call.
28742// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28743// code is an error. Response headers are in either
28744// *Creative.ServerResponse.Header or (if a response was returned at
28745// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28746// to check whether the returned error was because
28747// http.StatusNotModified was returned.
28748func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28749	gensupport.SetOptions(c.urlParams_, opts...)
28750	res, err := c.doRequest("json")
28751	if res != nil && res.StatusCode == http.StatusNotModified {
28752		if res.Body != nil {
28753			res.Body.Close()
28754		}
28755		return nil, &googleapi.Error{
28756			Code:   res.StatusCode,
28757			Header: res.Header,
28758		}
28759	}
28760	if err != nil {
28761		return nil, err
28762	}
28763	defer googleapi.CloseBody(res)
28764	if err := googleapi.CheckResponse(res); err != nil {
28765		return nil, err
28766	}
28767	ret := &Creative{
28768		ServerResponse: googleapi.ServerResponse{
28769			Header:         res.Header,
28770			HTTPStatusCode: res.StatusCode,
28771		},
28772	}
28773	target := &ret
28774	if err := gensupport.DecodeResponse(target, res); err != nil {
28775		return nil, err
28776	}
28777	return ret, nil
28778	// {
28779	//   "description": "Updates an existing creative. This method supports patch semantics.",
28780	//   "flatPath": "userprofiles/{profileId}/creatives",
28781	//   "httpMethod": "PATCH",
28782	//   "id": "dfareporting.creatives.patch",
28783	//   "parameterOrder": [
28784	//     "profileId",
28785	//     "id"
28786	//   ],
28787	//   "parameters": {
28788	//     "id": {
28789	//       "description": "Creative ID.",
28790	//       "format": "int64",
28791	//       "location": "query",
28792	//       "required": true,
28793	//       "type": "string"
28794	//     },
28795	//     "profileId": {
28796	//       "description": "User profile ID associated with this request.",
28797	//       "format": "int64",
28798	//       "location": "path",
28799	//       "required": true,
28800	//       "type": "string"
28801	//     }
28802	//   },
28803	//   "path": "userprofiles/{profileId}/creatives",
28804	//   "request": {
28805	//     "$ref": "Creative"
28806	//   },
28807	//   "response": {
28808	//     "$ref": "Creative"
28809	//   },
28810	//   "scopes": [
28811	//     "https://www.googleapis.com/auth/dfatrafficking"
28812	//   ]
28813	// }
28814
28815}
28816
28817// method id "dfareporting.creatives.update":
28818
28819type CreativesUpdateCall struct {
28820	s          *Service
28821	profileId  int64
28822	creative   *Creative
28823	urlParams_ gensupport.URLParams
28824	ctx_       context.Context
28825	header_    http.Header
28826}
28827
28828// Update: Updates an existing creative.
28829func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
28830	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28831	c.profileId = profileId
28832	c.creative = creative
28833	return c
28834}
28835
28836// Fields allows partial responses to be retrieved. See
28837// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28838// for more information.
28839func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
28840	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28841	return c
28842}
28843
28844// Context sets the context to be used in this call's Do method. Any
28845// pending HTTP request will be aborted if the provided context is
28846// canceled.
28847func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
28848	c.ctx_ = ctx
28849	return c
28850}
28851
28852// Header returns an http.Header that can be modified by the caller to
28853// add HTTP headers to the request.
28854func (c *CreativesUpdateCall) Header() http.Header {
28855	if c.header_ == nil {
28856		c.header_ = make(http.Header)
28857	}
28858	return c.header_
28859}
28860
28861func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
28862	reqHeaders := make(http.Header)
28863	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
28864	for k, v := range c.header_ {
28865		reqHeaders[k] = v
28866	}
28867	reqHeaders.Set("User-Agent", c.s.userAgent())
28868	var body io.Reader = nil
28869	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28870	if err != nil {
28871		return nil, err
28872	}
28873	reqHeaders.Set("Content-Type", "application/json")
28874	c.urlParams_.Set("alt", alt)
28875	c.urlParams_.Set("prettyPrint", "false")
28876	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28877	urls += "?" + c.urlParams_.Encode()
28878	req, err := http.NewRequest("PUT", urls, body)
28879	if err != nil {
28880		return nil, err
28881	}
28882	req.Header = reqHeaders
28883	googleapi.Expand(req.URL, map[string]string{
28884		"profileId": strconv.FormatInt(c.profileId, 10),
28885	})
28886	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28887}
28888
28889// Do executes the "dfareporting.creatives.update" call.
28890// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28891// code is an error. Response headers are in either
28892// *Creative.ServerResponse.Header or (if a response was returned at
28893// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28894// to check whether the returned error was because
28895// http.StatusNotModified was returned.
28896func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28897	gensupport.SetOptions(c.urlParams_, opts...)
28898	res, err := c.doRequest("json")
28899	if res != nil && res.StatusCode == http.StatusNotModified {
28900		if res.Body != nil {
28901			res.Body.Close()
28902		}
28903		return nil, &googleapi.Error{
28904			Code:   res.StatusCode,
28905			Header: res.Header,
28906		}
28907	}
28908	if err != nil {
28909		return nil, err
28910	}
28911	defer googleapi.CloseBody(res)
28912	if err := googleapi.CheckResponse(res); err != nil {
28913		return nil, err
28914	}
28915	ret := &Creative{
28916		ServerResponse: googleapi.ServerResponse{
28917			Header:         res.Header,
28918			HTTPStatusCode: res.StatusCode,
28919		},
28920	}
28921	target := &ret
28922	if err := gensupport.DecodeResponse(target, res); err != nil {
28923		return nil, err
28924	}
28925	return ret, nil
28926	// {
28927	//   "description": "Updates an existing creative.",
28928	//   "flatPath": "userprofiles/{profileId}/creatives",
28929	//   "httpMethod": "PUT",
28930	//   "id": "dfareporting.creatives.update",
28931	//   "parameterOrder": [
28932	//     "profileId"
28933	//   ],
28934	//   "parameters": {
28935	//     "profileId": {
28936	//       "description": "User profile ID associated with this request.",
28937	//       "format": "int64",
28938	//       "location": "path",
28939	//       "required": true,
28940	//       "type": "string"
28941	//     }
28942	//   },
28943	//   "path": "userprofiles/{profileId}/creatives",
28944	//   "request": {
28945	//     "$ref": "Creative"
28946	//   },
28947	//   "response": {
28948	//     "$ref": "Creative"
28949	//   },
28950	//   "scopes": [
28951	//     "https://www.googleapis.com/auth/dfatrafficking"
28952	//   ]
28953	// }
28954
28955}
28956
28957// method id "dfareporting.dimensionValues.query":
28958
28959type DimensionValuesQueryCall struct {
28960	s                     *Service
28961	profileId             int64
28962	dimensionvaluerequest *DimensionValueRequest
28963	urlParams_            gensupport.URLParams
28964	ctx_                  context.Context
28965	header_               http.Header
28966}
28967
28968// Query: Retrieves list of report dimension values for a list of
28969// filters.
28970func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
28971	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28972	c.profileId = profileId
28973	c.dimensionvaluerequest = dimensionvaluerequest
28974	return c
28975}
28976
28977// MaxResults sets the optional parameter "maxResults": Maximum number
28978// of results to return.
28979func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
28980	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28981	return c
28982}
28983
28984// PageToken sets the optional parameter "pageToken": The value of the
28985// nextToken from the previous result page.
28986func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
28987	c.urlParams_.Set("pageToken", pageToken)
28988	return c
28989}
28990
28991// Fields allows partial responses to be retrieved. See
28992// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28993// for more information.
28994func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
28995	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28996	return c
28997}
28998
28999// Context sets the context to be used in this call's Do method. Any
29000// pending HTTP request will be aborted if the provided context is
29001// canceled.
29002func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
29003	c.ctx_ = ctx
29004	return c
29005}
29006
29007// Header returns an http.Header that can be modified by the caller to
29008// add HTTP headers to the request.
29009func (c *DimensionValuesQueryCall) Header() http.Header {
29010	if c.header_ == nil {
29011		c.header_ = make(http.Header)
29012	}
29013	return c.header_
29014}
29015
29016func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
29017	reqHeaders := make(http.Header)
29018	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29019	for k, v := range c.header_ {
29020		reqHeaders[k] = v
29021	}
29022	reqHeaders.Set("User-Agent", c.s.userAgent())
29023	var body io.Reader = nil
29024	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
29025	if err != nil {
29026		return nil, err
29027	}
29028	reqHeaders.Set("Content-Type", "application/json")
29029	c.urlParams_.Set("alt", alt)
29030	c.urlParams_.Set("prettyPrint", "false")
29031	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
29032	urls += "?" + c.urlParams_.Encode()
29033	req, err := http.NewRequest("POST", urls, body)
29034	if err != nil {
29035		return nil, err
29036	}
29037	req.Header = reqHeaders
29038	googleapi.Expand(req.URL, map[string]string{
29039		"profileId": strconv.FormatInt(c.profileId, 10),
29040	})
29041	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29042}
29043
29044// Do executes the "dfareporting.dimensionValues.query" call.
29045// Exactly one of *DimensionValueList or error will be non-nil. Any
29046// non-2xx status code is an error. Response headers are in either
29047// *DimensionValueList.ServerResponse.Header or (if a response was
29048// returned at all) in error.(*googleapi.Error).Header. Use
29049// googleapi.IsNotModified to check whether the returned error was
29050// because http.StatusNotModified was returned.
29051func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
29052	gensupport.SetOptions(c.urlParams_, opts...)
29053	res, err := c.doRequest("json")
29054	if res != nil && res.StatusCode == http.StatusNotModified {
29055		if res.Body != nil {
29056			res.Body.Close()
29057		}
29058		return nil, &googleapi.Error{
29059			Code:   res.StatusCode,
29060			Header: res.Header,
29061		}
29062	}
29063	if err != nil {
29064		return nil, err
29065	}
29066	defer googleapi.CloseBody(res)
29067	if err := googleapi.CheckResponse(res); err != nil {
29068		return nil, err
29069	}
29070	ret := &DimensionValueList{
29071		ServerResponse: googleapi.ServerResponse{
29072			Header:         res.Header,
29073			HTTPStatusCode: res.StatusCode,
29074		},
29075	}
29076	target := &ret
29077	if err := gensupport.DecodeResponse(target, res); err != nil {
29078		return nil, err
29079	}
29080	return ret, nil
29081	// {
29082	//   "description": "Retrieves list of report dimension values for a list of filters.",
29083	//   "flatPath": "userprofiles/{profileId}/dimensionvalues/query",
29084	//   "httpMethod": "POST",
29085	//   "id": "dfareporting.dimensionValues.query",
29086	//   "parameterOrder": [
29087	//     "profileId"
29088	//   ],
29089	//   "parameters": {
29090	//     "maxResults": {
29091	//       "default": "100",
29092	//       "description": "Maximum number of results to return.",
29093	//       "format": "int32",
29094	//       "location": "query",
29095	//       "maximum": "100",
29096	//       "minimum": "0",
29097	//       "type": "integer"
29098	//     },
29099	//     "pageToken": {
29100	//       "description": "The value of the nextToken from the previous result page.",
29101	//       "location": "query",
29102	//       "type": "string"
29103	//     },
29104	//     "profileId": {
29105	//       "description": "The Campaign Manager 360 user profile ID.",
29106	//       "format": "int64",
29107	//       "location": "path",
29108	//       "required": true,
29109	//       "type": "string"
29110	//     }
29111	//   },
29112	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
29113	//   "request": {
29114	//     "$ref": "DimensionValueRequest"
29115	//   },
29116	//   "response": {
29117	//     "$ref": "DimensionValueList"
29118	//   },
29119	//   "scopes": [
29120	//     "https://www.googleapis.com/auth/dfareporting"
29121	//   ]
29122	// }
29123
29124}
29125
29126// Pages invokes f for each page of results.
29127// A non-nil error returned from f will halt the iteration.
29128// The provided context supersedes any context provided to the Context method.
29129func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
29130	c.ctx_ = ctx
29131	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29132	for {
29133		x, err := c.Do()
29134		if err != nil {
29135			return err
29136		}
29137		if err := f(x); err != nil {
29138			return err
29139		}
29140		if x.NextPageToken == "" {
29141			return nil
29142		}
29143		c.PageToken(x.NextPageToken)
29144	}
29145}
29146
29147// method id "dfareporting.directorySites.get":
29148
29149type DirectorySitesGetCall struct {
29150	s            *Service
29151	profileId    int64
29152	id           int64
29153	urlParams_   gensupport.URLParams
29154	ifNoneMatch_ string
29155	ctx_         context.Context
29156	header_      http.Header
29157}
29158
29159// Get: Gets one directory site by ID.
29160func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
29161	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29162	c.profileId = profileId
29163	c.id = id
29164	return c
29165}
29166
29167// Fields allows partial responses to be retrieved. See
29168// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29169// for more information.
29170func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
29171	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29172	return c
29173}
29174
29175// IfNoneMatch sets the optional parameter which makes the operation
29176// fail if the object's ETag matches the given value. This is useful for
29177// getting updates only after the object has changed since the last
29178// request. Use googleapi.IsNotModified to check whether the response
29179// error from Do is the result of In-None-Match.
29180func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
29181	c.ifNoneMatch_ = entityTag
29182	return c
29183}
29184
29185// Context sets the context to be used in this call's Do method. Any
29186// pending HTTP request will be aborted if the provided context is
29187// canceled.
29188func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
29189	c.ctx_ = ctx
29190	return c
29191}
29192
29193// Header returns an http.Header that can be modified by the caller to
29194// add HTTP headers to the request.
29195func (c *DirectorySitesGetCall) Header() http.Header {
29196	if c.header_ == nil {
29197		c.header_ = make(http.Header)
29198	}
29199	return c.header_
29200}
29201
29202func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
29203	reqHeaders := make(http.Header)
29204	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29205	for k, v := range c.header_ {
29206		reqHeaders[k] = v
29207	}
29208	reqHeaders.Set("User-Agent", c.s.userAgent())
29209	if c.ifNoneMatch_ != "" {
29210		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29211	}
29212	var body io.Reader = nil
29213	c.urlParams_.Set("alt", alt)
29214	c.urlParams_.Set("prettyPrint", "false")
29215	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
29216	urls += "?" + c.urlParams_.Encode()
29217	req, err := http.NewRequest("GET", urls, body)
29218	if err != nil {
29219		return nil, err
29220	}
29221	req.Header = reqHeaders
29222	googleapi.Expand(req.URL, map[string]string{
29223		"profileId": strconv.FormatInt(c.profileId, 10),
29224		"id":        strconv.FormatInt(c.id, 10),
29225	})
29226	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29227}
29228
29229// Do executes the "dfareporting.directorySites.get" call.
29230// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29231// status code is an error. Response headers are in either
29232// *DirectorySite.ServerResponse.Header or (if a response was returned
29233// at all) in error.(*googleapi.Error).Header. Use
29234// googleapi.IsNotModified to check whether the returned error was
29235// because http.StatusNotModified was returned.
29236func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29237	gensupport.SetOptions(c.urlParams_, opts...)
29238	res, err := c.doRequest("json")
29239	if res != nil && res.StatusCode == http.StatusNotModified {
29240		if res.Body != nil {
29241			res.Body.Close()
29242		}
29243		return nil, &googleapi.Error{
29244			Code:   res.StatusCode,
29245			Header: res.Header,
29246		}
29247	}
29248	if err != nil {
29249		return nil, err
29250	}
29251	defer googleapi.CloseBody(res)
29252	if err := googleapi.CheckResponse(res); err != nil {
29253		return nil, err
29254	}
29255	ret := &DirectorySite{
29256		ServerResponse: googleapi.ServerResponse{
29257			Header:         res.Header,
29258			HTTPStatusCode: res.StatusCode,
29259		},
29260	}
29261	target := &ret
29262	if err := gensupport.DecodeResponse(target, res); err != nil {
29263		return nil, err
29264	}
29265	return ret, nil
29266	// {
29267	//   "description": "Gets one directory site by ID.",
29268	//   "flatPath": "userprofiles/{profileId}/directorySites/{id}",
29269	//   "httpMethod": "GET",
29270	//   "id": "dfareporting.directorySites.get",
29271	//   "parameterOrder": [
29272	//     "profileId",
29273	//     "id"
29274	//   ],
29275	//   "parameters": {
29276	//     "id": {
29277	//       "description": "Directory site ID.",
29278	//       "format": "int64",
29279	//       "location": "path",
29280	//       "required": true,
29281	//       "type": "string"
29282	//     },
29283	//     "profileId": {
29284	//       "description": "User profile ID associated with this request.",
29285	//       "format": "int64",
29286	//       "location": "path",
29287	//       "required": true,
29288	//       "type": "string"
29289	//     }
29290	//   },
29291	//   "path": "userprofiles/{profileId}/directorySites/{id}",
29292	//   "response": {
29293	//     "$ref": "DirectorySite"
29294	//   },
29295	//   "scopes": [
29296	//     "https://www.googleapis.com/auth/dfatrafficking"
29297	//   ]
29298	// }
29299
29300}
29301
29302// method id "dfareporting.directorySites.insert":
29303
29304type DirectorySitesInsertCall struct {
29305	s             *Service
29306	profileId     int64
29307	directorysite *DirectorySite
29308	urlParams_    gensupport.URLParams
29309	ctx_          context.Context
29310	header_       http.Header
29311}
29312
29313// Insert: Inserts a new directory site.
29314func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
29315	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29316	c.profileId = profileId
29317	c.directorysite = directorysite
29318	return c
29319}
29320
29321// Fields allows partial responses to be retrieved. See
29322// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29323// for more information.
29324func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
29325	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29326	return c
29327}
29328
29329// Context sets the context to be used in this call's Do method. Any
29330// pending HTTP request will be aborted if the provided context is
29331// canceled.
29332func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
29333	c.ctx_ = ctx
29334	return c
29335}
29336
29337// Header returns an http.Header that can be modified by the caller to
29338// add HTTP headers to the request.
29339func (c *DirectorySitesInsertCall) Header() http.Header {
29340	if c.header_ == nil {
29341		c.header_ = make(http.Header)
29342	}
29343	return c.header_
29344}
29345
29346func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
29347	reqHeaders := make(http.Header)
29348	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29349	for k, v := range c.header_ {
29350		reqHeaders[k] = v
29351	}
29352	reqHeaders.Set("User-Agent", c.s.userAgent())
29353	var body io.Reader = nil
29354	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
29355	if err != nil {
29356		return nil, err
29357	}
29358	reqHeaders.Set("Content-Type", "application/json")
29359	c.urlParams_.Set("alt", alt)
29360	c.urlParams_.Set("prettyPrint", "false")
29361	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29362	urls += "?" + c.urlParams_.Encode()
29363	req, err := http.NewRequest("POST", urls, body)
29364	if err != nil {
29365		return nil, err
29366	}
29367	req.Header = reqHeaders
29368	googleapi.Expand(req.URL, map[string]string{
29369		"profileId": strconv.FormatInt(c.profileId, 10),
29370	})
29371	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29372}
29373
29374// Do executes the "dfareporting.directorySites.insert" call.
29375// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29376// status code is an error. Response headers are in either
29377// *DirectorySite.ServerResponse.Header or (if a response was returned
29378// at all) in error.(*googleapi.Error).Header. Use
29379// googleapi.IsNotModified to check whether the returned error was
29380// because http.StatusNotModified was returned.
29381func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29382	gensupport.SetOptions(c.urlParams_, opts...)
29383	res, err := c.doRequest("json")
29384	if res != nil && res.StatusCode == http.StatusNotModified {
29385		if res.Body != nil {
29386			res.Body.Close()
29387		}
29388		return nil, &googleapi.Error{
29389			Code:   res.StatusCode,
29390			Header: res.Header,
29391		}
29392	}
29393	if err != nil {
29394		return nil, err
29395	}
29396	defer googleapi.CloseBody(res)
29397	if err := googleapi.CheckResponse(res); err != nil {
29398		return nil, err
29399	}
29400	ret := &DirectorySite{
29401		ServerResponse: googleapi.ServerResponse{
29402			Header:         res.Header,
29403			HTTPStatusCode: res.StatusCode,
29404		},
29405	}
29406	target := &ret
29407	if err := gensupport.DecodeResponse(target, res); err != nil {
29408		return nil, err
29409	}
29410	return ret, nil
29411	// {
29412	//   "description": "Inserts a new directory site.",
29413	//   "flatPath": "userprofiles/{profileId}/directorySites",
29414	//   "httpMethod": "POST",
29415	//   "id": "dfareporting.directorySites.insert",
29416	//   "parameterOrder": [
29417	//     "profileId"
29418	//   ],
29419	//   "parameters": {
29420	//     "profileId": {
29421	//       "description": "User profile ID associated with this request.",
29422	//       "format": "int64",
29423	//       "location": "path",
29424	//       "required": true,
29425	//       "type": "string"
29426	//     }
29427	//   },
29428	//   "path": "userprofiles/{profileId}/directorySites",
29429	//   "request": {
29430	//     "$ref": "DirectorySite"
29431	//   },
29432	//   "response": {
29433	//     "$ref": "DirectorySite"
29434	//   },
29435	//   "scopes": [
29436	//     "https://www.googleapis.com/auth/dfatrafficking"
29437	//   ]
29438	// }
29439
29440}
29441
29442// method id "dfareporting.directorySites.list":
29443
29444type DirectorySitesListCall struct {
29445	s            *Service
29446	profileId    int64
29447	urlParams_   gensupport.URLParams
29448	ifNoneMatch_ string
29449	ctx_         context.Context
29450	header_      http.Header
29451}
29452
29453// List: Retrieves a list of directory sites, possibly filtered. This
29454// method supports paging.
29455func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
29456	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29457	c.profileId = profileId
29458	return c
29459}
29460
29461// AcceptsInStreamVideoPlacements sets the optional parameter
29462// "acceptsInStreamVideoPlacements": This search filter is no longer
29463// supported and will have no effect on the results returned.
29464func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
29465	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
29466	return c
29467}
29468
29469// AcceptsInterstitialPlacements sets the optional parameter
29470// "acceptsInterstitialPlacements": This search filter is no longer
29471// supported and will have no effect on the results returned.
29472func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
29473	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
29474	return c
29475}
29476
29477// AcceptsPublisherPaidPlacements sets the optional parameter
29478// "acceptsPublisherPaidPlacements": Select only directory sites that
29479// accept publisher paid placements. This field can be left blank.
29480func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
29481	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
29482	return c
29483}
29484
29485// Active sets the optional parameter "active": Select only active
29486// directory sites. Leave blank to retrieve both active and inactive
29487// directory sites.
29488func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
29489	c.urlParams_.Set("active", fmt.Sprint(active))
29490	return c
29491}
29492
29493// DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
29494// only directory sites with this Ad Manager network code.
29495func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
29496	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
29497	return c
29498}
29499
29500// Ids sets the optional parameter "ids": Select only directory sites
29501// with these IDs.
29502func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
29503	var ids_ []string
29504	for _, v := range ids {
29505		ids_ = append(ids_, fmt.Sprint(v))
29506	}
29507	c.urlParams_.SetMulti("ids", ids_)
29508	return c
29509}
29510
29511// MaxResults sets the optional parameter "maxResults": Maximum number
29512// of results to return.
29513func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
29514	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29515	return c
29516}
29517
29518// PageToken sets the optional parameter "pageToken": Value of the
29519// nextPageToken from the previous result page.
29520func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
29521	c.urlParams_.Set("pageToken", pageToken)
29522	return c
29523}
29524
29525// SearchString sets the optional parameter "searchString": Allows
29526// searching for objects by name, ID or URL. Wildcards (*) are allowed.
29527// For example, "directory site*2015" will return objects with names
29528// like "directory site June 2015", "directory site April 2015", or
29529// simply "directory site 2015". Most of the searches also add wildcards
29530// implicitly at the start and the end of the search string. For
29531// example, a search string of "directory site" will match objects with
29532// name "my directory site", "directory site 2015" or simply, "directory
29533// site".
29534func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
29535	c.urlParams_.Set("searchString", searchString)
29536	return c
29537}
29538
29539// SortField sets the optional parameter "sortField": Field by which to
29540// sort the list.
29541//
29542// Possible values:
29543//   "ID" (default)
29544//   "NAME"
29545func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
29546	c.urlParams_.Set("sortField", sortField)
29547	return c
29548}
29549
29550// SortOrder sets the optional parameter "sortOrder": Order of sorted
29551// results.
29552//
29553// Possible values:
29554//   "ASCENDING" (default)
29555//   "DESCENDING"
29556func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
29557	c.urlParams_.Set("sortOrder", sortOrder)
29558	return c
29559}
29560
29561// Fields allows partial responses to be retrieved. See
29562// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29563// for more information.
29564func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
29565	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29566	return c
29567}
29568
29569// IfNoneMatch sets the optional parameter which makes the operation
29570// fail if the object's ETag matches the given value. This is useful for
29571// getting updates only after the object has changed since the last
29572// request. Use googleapi.IsNotModified to check whether the response
29573// error from Do is the result of In-None-Match.
29574func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
29575	c.ifNoneMatch_ = entityTag
29576	return c
29577}
29578
29579// Context sets the context to be used in this call's Do method. Any
29580// pending HTTP request will be aborted if the provided context is
29581// canceled.
29582func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
29583	c.ctx_ = ctx
29584	return c
29585}
29586
29587// Header returns an http.Header that can be modified by the caller to
29588// add HTTP headers to the request.
29589func (c *DirectorySitesListCall) Header() http.Header {
29590	if c.header_ == nil {
29591		c.header_ = make(http.Header)
29592	}
29593	return c.header_
29594}
29595
29596func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
29597	reqHeaders := make(http.Header)
29598	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29599	for k, v := range c.header_ {
29600		reqHeaders[k] = v
29601	}
29602	reqHeaders.Set("User-Agent", c.s.userAgent())
29603	if c.ifNoneMatch_ != "" {
29604		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29605	}
29606	var body io.Reader = nil
29607	c.urlParams_.Set("alt", alt)
29608	c.urlParams_.Set("prettyPrint", "false")
29609	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29610	urls += "?" + c.urlParams_.Encode()
29611	req, err := http.NewRequest("GET", urls, body)
29612	if err != nil {
29613		return nil, err
29614	}
29615	req.Header = reqHeaders
29616	googleapi.Expand(req.URL, map[string]string{
29617		"profileId": strconv.FormatInt(c.profileId, 10),
29618	})
29619	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29620}
29621
29622// Do executes the "dfareporting.directorySites.list" call.
29623// Exactly one of *DirectorySitesListResponse or error will be non-nil.
29624// Any non-2xx status code is an error. Response headers are in either
29625// *DirectorySitesListResponse.ServerResponse.Header or (if a response
29626// was returned at all) in error.(*googleapi.Error).Header. Use
29627// googleapi.IsNotModified to check whether the returned error was
29628// because http.StatusNotModified was returned.
29629func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
29630	gensupport.SetOptions(c.urlParams_, opts...)
29631	res, err := c.doRequest("json")
29632	if res != nil && res.StatusCode == http.StatusNotModified {
29633		if res.Body != nil {
29634			res.Body.Close()
29635		}
29636		return nil, &googleapi.Error{
29637			Code:   res.StatusCode,
29638			Header: res.Header,
29639		}
29640	}
29641	if err != nil {
29642		return nil, err
29643	}
29644	defer googleapi.CloseBody(res)
29645	if err := googleapi.CheckResponse(res); err != nil {
29646		return nil, err
29647	}
29648	ret := &DirectorySitesListResponse{
29649		ServerResponse: googleapi.ServerResponse{
29650			Header:         res.Header,
29651			HTTPStatusCode: res.StatusCode,
29652		},
29653	}
29654	target := &ret
29655	if err := gensupport.DecodeResponse(target, res); err != nil {
29656		return nil, err
29657	}
29658	return ret, nil
29659	// {
29660	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
29661	//   "flatPath": "userprofiles/{profileId}/directorySites",
29662	//   "httpMethod": "GET",
29663	//   "id": "dfareporting.directorySites.list",
29664	//   "parameterOrder": [
29665	//     "profileId"
29666	//   ],
29667	//   "parameters": {
29668	//     "acceptsInStreamVideoPlacements": {
29669	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29670	//       "location": "query",
29671	//       "type": "boolean"
29672	//     },
29673	//     "acceptsInterstitialPlacements": {
29674	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
29675	//       "location": "query",
29676	//       "type": "boolean"
29677	//     },
29678	//     "acceptsPublisherPaidPlacements": {
29679	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
29680	//       "location": "query",
29681	//       "type": "boolean"
29682	//     },
29683	//     "active": {
29684	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
29685	//       "location": "query",
29686	//       "type": "boolean"
29687	//     },
29688	//     "dfpNetworkCode": {
29689	//       "description": "Select only directory sites with this Ad Manager network code.",
29690	//       "location": "query",
29691	//       "type": "string"
29692	//     },
29693	//     "ids": {
29694	//       "description": "Select only directory sites with these IDs.",
29695	//       "format": "int64",
29696	//       "location": "query",
29697	//       "repeated": true,
29698	//       "type": "string"
29699	//     },
29700	//     "maxResults": {
29701	//       "default": "1000",
29702	//       "description": "Maximum number of results to return.",
29703	//       "format": "int32",
29704	//       "location": "query",
29705	//       "maximum": "1000",
29706	//       "minimum": "0",
29707	//       "type": "integer"
29708	//     },
29709	//     "pageToken": {
29710	//       "description": "Value of the nextPageToken from the previous result page.",
29711	//       "location": "query",
29712	//       "type": "string"
29713	//     },
29714	//     "profileId": {
29715	//       "description": "User profile ID associated with this request.",
29716	//       "format": "int64",
29717	//       "location": "path",
29718	//       "required": true,
29719	//       "type": "string"
29720	//     },
29721	//     "searchString": {
29722	//       "description": "Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, \"directory site*2015\" will return objects with names like \"directory site June 2015\", \"directory site April 2015\", or simply \"directory site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site\" will match objects with name \"my directory site\", \"directory site 2015\" or simply, \"directory site\".",
29723	//       "location": "query",
29724	//       "type": "string"
29725	//     },
29726	//     "sortField": {
29727	//       "default": "ID",
29728	//       "description": "Field by which to sort the list.",
29729	//       "enum": [
29730	//         "ID",
29731	//         "NAME"
29732	//       ],
29733	//       "enumDescriptions": [
29734	//         "",
29735	//         ""
29736	//       ],
29737	//       "location": "query",
29738	//       "type": "string"
29739	//     },
29740	//     "sortOrder": {
29741	//       "default": "ASCENDING",
29742	//       "description": "Order of sorted results.",
29743	//       "enum": [
29744	//         "ASCENDING",
29745	//         "DESCENDING"
29746	//       ],
29747	//       "enumDescriptions": [
29748	//         "",
29749	//         ""
29750	//       ],
29751	//       "location": "query",
29752	//       "type": "string"
29753	//     }
29754	//   },
29755	//   "path": "userprofiles/{profileId}/directorySites",
29756	//   "response": {
29757	//     "$ref": "DirectorySitesListResponse"
29758	//   },
29759	//   "scopes": [
29760	//     "https://www.googleapis.com/auth/dfatrafficking"
29761	//   ]
29762	// }
29763
29764}
29765
29766// Pages invokes f for each page of results.
29767// A non-nil error returned from f will halt the iteration.
29768// The provided context supersedes any context provided to the Context method.
29769func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
29770	c.ctx_ = ctx
29771	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29772	for {
29773		x, err := c.Do()
29774		if err != nil {
29775			return err
29776		}
29777		if err := f(x); err != nil {
29778			return err
29779		}
29780		if x.NextPageToken == "" {
29781			return nil
29782		}
29783		c.PageToken(x.NextPageToken)
29784	}
29785}
29786
29787// method id "dfareporting.dynamicTargetingKeys.delete":
29788
29789type DynamicTargetingKeysDeleteCall struct {
29790	s          *Service
29791	profileId  int64
29792	objectId   int64
29793	urlParams_ gensupport.URLParams
29794	ctx_       context.Context
29795	header_    http.Header
29796}
29797
29798// Delete: Deletes an existing dynamic targeting key.
29799func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
29800	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29801	c.profileId = profileId
29802	c.objectId = objectId
29803	c.urlParams_.Set("name", name)
29804	c.urlParams_.Set("objectType", objectType)
29805	return c
29806}
29807
29808// Fields allows partial responses to be retrieved. See
29809// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29810// for more information.
29811func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
29812	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29813	return c
29814}
29815
29816// Context sets the context to be used in this call's Do method. Any
29817// pending HTTP request will be aborted if the provided context is
29818// canceled.
29819func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
29820	c.ctx_ = ctx
29821	return c
29822}
29823
29824// Header returns an http.Header that can be modified by the caller to
29825// add HTTP headers to the request.
29826func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
29827	if c.header_ == nil {
29828		c.header_ = make(http.Header)
29829	}
29830	return c.header_
29831}
29832
29833func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
29834	reqHeaders := make(http.Header)
29835	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29836	for k, v := range c.header_ {
29837		reqHeaders[k] = v
29838	}
29839	reqHeaders.Set("User-Agent", c.s.userAgent())
29840	var body io.Reader = nil
29841	c.urlParams_.Set("alt", alt)
29842	c.urlParams_.Set("prettyPrint", "false")
29843	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
29844	urls += "?" + c.urlParams_.Encode()
29845	req, err := http.NewRequest("DELETE", urls, body)
29846	if err != nil {
29847		return nil, err
29848	}
29849	req.Header = reqHeaders
29850	googleapi.Expand(req.URL, map[string]string{
29851		"profileId": strconv.FormatInt(c.profileId, 10),
29852		"objectId":  strconv.FormatInt(c.objectId, 10),
29853	})
29854	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29855}
29856
29857// Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
29858func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
29859	gensupport.SetOptions(c.urlParams_, opts...)
29860	res, err := c.doRequest("json")
29861	if err != nil {
29862		return err
29863	}
29864	defer googleapi.CloseBody(res)
29865	if err := googleapi.CheckResponse(res); err != nil {
29866		return err
29867	}
29868	return nil
29869	// {
29870	//   "description": "Deletes an existing dynamic targeting key.",
29871	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
29872	//   "httpMethod": "DELETE",
29873	//   "id": "dfareporting.dynamicTargetingKeys.delete",
29874	//   "parameterOrder": [
29875	//     "profileId",
29876	//     "objectId",
29877	//     "name",
29878	//     "objectType"
29879	//   ],
29880	//   "parameters": {
29881	//     "name": {
29882	//       "description": "Name of this dynamic targeting key. This is a required field. Must be less than 256 characters long and cannot contain commas. All characters are converted to lowercase.",
29883	//       "location": "query",
29884	//       "required": true,
29885	//       "type": "string"
29886	//     },
29887	//     "objectId": {
29888	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
29889	//       "format": "int64",
29890	//       "location": "path",
29891	//       "required": true,
29892	//       "type": "string"
29893	//     },
29894	//     "objectType": {
29895	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
29896	//       "enum": [
29897	//         "OBJECT_ADVERTISER",
29898	//         "OBJECT_AD",
29899	//         "OBJECT_CREATIVE",
29900	//         "OBJECT_PLACEMENT"
29901	//       ],
29902	//       "enumDescriptions": [
29903	//         "",
29904	//         "",
29905	//         "",
29906	//         ""
29907	//       ],
29908	//       "location": "query",
29909	//       "required": true,
29910	//       "type": "string"
29911	//     },
29912	//     "profileId": {
29913	//       "description": "User profile ID associated with this request.",
29914	//       "format": "int64",
29915	//       "location": "path",
29916	//       "required": true,
29917	//       "type": "string"
29918	//     }
29919	//   },
29920	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
29921	//   "scopes": [
29922	//     "https://www.googleapis.com/auth/dfatrafficking"
29923	//   ]
29924	// }
29925
29926}
29927
29928// method id "dfareporting.dynamicTargetingKeys.insert":
29929
29930type DynamicTargetingKeysInsertCall struct {
29931	s                   *Service
29932	profileId           int64
29933	dynamictargetingkey *DynamicTargetingKey
29934	urlParams_          gensupport.URLParams
29935	ctx_                context.Context
29936	header_             http.Header
29937}
29938
29939// Insert: Inserts a new dynamic targeting key. Keys must be created at
29940// the advertiser level before being assigned to the advertiser's ads,
29941// creatives, or placements. There is a maximum of 1000 keys per
29942// advertiser, out of which a maximum of 20 keys can be assigned per ad,
29943// creative, or placement.
29944func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
29945	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29946	c.profileId = profileId
29947	c.dynamictargetingkey = dynamictargetingkey
29948	return c
29949}
29950
29951// Fields allows partial responses to be retrieved. See
29952// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29953// for more information.
29954func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
29955	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29956	return c
29957}
29958
29959// Context sets the context to be used in this call's Do method. Any
29960// pending HTTP request will be aborted if the provided context is
29961// canceled.
29962func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
29963	c.ctx_ = ctx
29964	return c
29965}
29966
29967// Header returns an http.Header that can be modified by the caller to
29968// add HTTP headers to the request.
29969func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
29970	if c.header_ == nil {
29971		c.header_ = make(http.Header)
29972	}
29973	return c.header_
29974}
29975
29976func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
29977	reqHeaders := make(http.Header)
29978	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
29979	for k, v := range c.header_ {
29980		reqHeaders[k] = v
29981	}
29982	reqHeaders.Set("User-Agent", c.s.userAgent())
29983	var body io.Reader = nil
29984	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
29985	if err != nil {
29986		return nil, err
29987	}
29988	reqHeaders.Set("Content-Type", "application/json")
29989	c.urlParams_.Set("alt", alt)
29990	c.urlParams_.Set("prettyPrint", "false")
29991	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
29992	urls += "?" + c.urlParams_.Encode()
29993	req, err := http.NewRequest("POST", urls, body)
29994	if err != nil {
29995		return nil, err
29996	}
29997	req.Header = reqHeaders
29998	googleapi.Expand(req.URL, map[string]string{
29999		"profileId": strconv.FormatInt(c.profileId, 10),
30000	})
30001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30002}
30003
30004// Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
30005// Exactly one of *DynamicTargetingKey or error will be non-nil. Any
30006// non-2xx status code is an error. Response headers are in either
30007// *DynamicTargetingKey.ServerResponse.Header or (if a response was
30008// returned at all) in error.(*googleapi.Error).Header. Use
30009// googleapi.IsNotModified to check whether the returned error was
30010// because http.StatusNotModified was returned.
30011func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
30012	gensupport.SetOptions(c.urlParams_, opts...)
30013	res, err := c.doRequest("json")
30014	if res != nil && res.StatusCode == http.StatusNotModified {
30015		if res.Body != nil {
30016			res.Body.Close()
30017		}
30018		return nil, &googleapi.Error{
30019			Code:   res.StatusCode,
30020			Header: res.Header,
30021		}
30022	}
30023	if err != nil {
30024		return nil, err
30025	}
30026	defer googleapi.CloseBody(res)
30027	if err := googleapi.CheckResponse(res); err != nil {
30028		return nil, err
30029	}
30030	ret := &DynamicTargetingKey{
30031		ServerResponse: googleapi.ServerResponse{
30032			Header:         res.Header,
30033			HTTPStatusCode: res.StatusCode,
30034		},
30035	}
30036	target := &ret
30037	if err := gensupport.DecodeResponse(target, res); err != nil {
30038		return nil, err
30039	}
30040	return ret, nil
30041	// {
30042	//   "description": "Inserts a new dynamic targeting key. Keys must be created at the advertiser level before being assigned to the advertiser's ads, creatives, or placements. There is a maximum of 1000 keys per advertiser, out of which a maximum of 20 keys can be assigned per ad, creative, or placement.",
30043	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30044	//   "httpMethod": "POST",
30045	//   "id": "dfareporting.dynamicTargetingKeys.insert",
30046	//   "parameterOrder": [
30047	//     "profileId"
30048	//   ],
30049	//   "parameters": {
30050	//     "profileId": {
30051	//       "description": "User profile ID associated with this request.",
30052	//       "format": "int64",
30053	//       "location": "path",
30054	//       "required": true,
30055	//       "type": "string"
30056	//     }
30057	//   },
30058	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30059	//   "request": {
30060	//     "$ref": "DynamicTargetingKey"
30061	//   },
30062	//   "response": {
30063	//     "$ref": "DynamicTargetingKey"
30064	//   },
30065	//   "scopes": [
30066	//     "https://www.googleapis.com/auth/dfatrafficking"
30067	//   ]
30068	// }
30069
30070}
30071
30072// method id "dfareporting.dynamicTargetingKeys.list":
30073
30074type DynamicTargetingKeysListCall struct {
30075	s            *Service
30076	profileId    int64
30077	urlParams_   gensupport.URLParams
30078	ifNoneMatch_ string
30079	ctx_         context.Context
30080	header_      http.Header
30081}
30082
30083// List: Retrieves a list of dynamic targeting keys.
30084func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
30085	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30086	c.profileId = profileId
30087	return c
30088}
30089
30090// AdvertiserId sets the optional parameter "advertiserId": Select only
30091// dynamic targeting keys whose object has this advertiser ID.
30092func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
30093	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30094	return c
30095}
30096
30097// Names sets the optional parameter "names": Select only dynamic
30098// targeting keys exactly matching these names.
30099func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
30100	c.urlParams_.SetMulti("names", append([]string{}, names...))
30101	return c
30102}
30103
30104// ObjectId sets the optional parameter "objectId": Select only dynamic
30105// targeting keys with this object ID.
30106func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
30107	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
30108	return c
30109}
30110
30111// ObjectType sets the optional parameter "objectType": Select only
30112// dynamic targeting keys with this object type.
30113//
30114// Possible values:
30115//   "OBJECT_ADVERTISER"
30116//   "OBJECT_AD"
30117//   "OBJECT_CREATIVE"
30118//   "OBJECT_PLACEMENT"
30119func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
30120	c.urlParams_.Set("objectType", objectType)
30121	return c
30122}
30123
30124// Fields allows partial responses to be retrieved. See
30125// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30126// for more information.
30127func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
30128	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30129	return c
30130}
30131
30132// IfNoneMatch sets the optional parameter which makes the operation
30133// fail if the object's ETag matches the given value. This is useful for
30134// getting updates only after the object has changed since the last
30135// request. Use googleapi.IsNotModified to check whether the response
30136// error from Do is the result of In-None-Match.
30137func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
30138	c.ifNoneMatch_ = entityTag
30139	return c
30140}
30141
30142// Context sets the context to be used in this call's Do method. Any
30143// pending HTTP request will be aborted if the provided context is
30144// canceled.
30145func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
30146	c.ctx_ = ctx
30147	return c
30148}
30149
30150// Header returns an http.Header that can be modified by the caller to
30151// add HTTP headers to the request.
30152func (c *DynamicTargetingKeysListCall) Header() http.Header {
30153	if c.header_ == nil {
30154		c.header_ = make(http.Header)
30155	}
30156	return c.header_
30157}
30158
30159func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
30160	reqHeaders := make(http.Header)
30161	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30162	for k, v := range c.header_ {
30163		reqHeaders[k] = v
30164	}
30165	reqHeaders.Set("User-Agent", c.s.userAgent())
30166	if c.ifNoneMatch_ != "" {
30167		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30168	}
30169	var body io.Reader = nil
30170	c.urlParams_.Set("alt", alt)
30171	c.urlParams_.Set("prettyPrint", "false")
30172	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30173	urls += "?" + c.urlParams_.Encode()
30174	req, err := http.NewRequest("GET", urls, body)
30175	if err != nil {
30176		return nil, err
30177	}
30178	req.Header = reqHeaders
30179	googleapi.Expand(req.URL, map[string]string{
30180		"profileId": strconv.FormatInt(c.profileId, 10),
30181	})
30182	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30183}
30184
30185// Do executes the "dfareporting.dynamicTargetingKeys.list" call.
30186// Exactly one of *DynamicTargetingKeysListResponse or error will be
30187// non-nil. Any non-2xx status code is an error. Response headers are in
30188// either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
30189// a response was returned at all) in error.(*googleapi.Error).Header.
30190// Use googleapi.IsNotModified to check whether the returned error was
30191// because http.StatusNotModified was returned.
30192func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
30193	gensupport.SetOptions(c.urlParams_, opts...)
30194	res, err := c.doRequest("json")
30195	if res != nil && res.StatusCode == http.StatusNotModified {
30196		if res.Body != nil {
30197			res.Body.Close()
30198		}
30199		return nil, &googleapi.Error{
30200			Code:   res.StatusCode,
30201			Header: res.Header,
30202		}
30203	}
30204	if err != nil {
30205		return nil, err
30206	}
30207	defer googleapi.CloseBody(res)
30208	if err := googleapi.CheckResponse(res); err != nil {
30209		return nil, err
30210	}
30211	ret := &DynamicTargetingKeysListResponse{
30212		ServerResponse: googleapi.ServerResponse{
30213			Header:         res.Header,
30214			HTTPStatusCode: res.StatusCode,
30215		},
30216	}
30217	target := &ret
30218	if err := gensupport.DecodeResponse(target, res); err != nil {
30219		return nil, err
30220	}
30221	return ret, nil
30222	// {
30223	//   "description": "Retrieves a list of dynamic targeting keys.",
30224	//   "flatPath": "userprofiles/{profileId}/dynamicTargetingKeys",
30225	//   "httpMethod": "GET",
30226	//   "id": "dfareporting.dynamicTargetingKeys.list",
30227	//   "parameterOrder": [
30228	//     "profileId"
30229	//   ],
30230	//   "parameters": {
30231	//     "advertiserId": {
30232	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
30233	//       "format": "int64",
30234	//       "location": "query",
30235	//       "type": "string"
30236	//     },
30237	//     "names": {
30238	//       "description": "Select only dynamic targeting keys exactly matching these names.",
30239	//       "location": "query",
30240	//       "repeated": true,
30241	//       "type": "string"
30242	//     },
30243	//     "objectId": {
30244	//       "description": "Select only dynamic targeting keys with this object ID.",
30245	//       "format": "int64",
30246	//       "location": "query",
30247	//       "type": "string"
30248	//     },
30249	//     "objectType": {
30250	//       "description": "Select only dynamic targeting keys with this object type.",
30251	//       "enum": [
30252	//         "OBJECT_ADVERTISER",
30253	//         "OBJECT_AD",
30254	//         "OBJECT_CREATIVE",
30255	//         "OBJECT_PLACEMENT"
30256	//       ],
30257	//       "enumDescriptions": [
30258	//         "",
30259	//         "",
30260	//         "",
30261	//         ""
30262	//       ],
30263	//       "location": "query",
30264	//       "type": "string"
30265	//     },
30266	//     "profileId": {
30267	//       "description": "User profile ID associated with this request.",
30268	//       "format": "int64",
30269	//       "location": "path",
30270	//       "required": true,
30271	//       "type": "string"
30272	//     }
30273	//   },
30274	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30275	//   "response": {
30276	//     "$ref": "DynamicTargetingKeysListResponse"
30277	//   },
30278	//   "scopes": [
30279	//     "https://www.googleapis.com/auth/dfatrafficking"
30280	//   ]
30281	// }
30282
30283}
30284
30285// method id "dfareporting.eventTags.delete":
30286
30287type EventTagsDeleteCall struct {
30288	s          *Service
30289	profileId  int64
30290	id         int64
30291	urlParams_ gensupport.URLParams
30292	ctx_       context.Context
30293	header_    http.Header
30294}
30295
30296// Delete: Deletes an existing event tag.
30297func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
30298	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30299	c.profileId = profileId
30300	c.id = id
30301	return c
30302}
30303
30304// Fields allows partial responses to be retrieved. See
30305// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30306// for more information.
30307func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
30308	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30309	return c
30310}
30311
30312// Context sets the context to be used in this call's Do method. Any
30313// pending HTTP request will be aborted if the provided context is
30314// canceled.
30315func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
30316	c.ctx_ = ctx
30317	return c
30318}
30319
30320// Header returns an http.Header that can be modified by the caller to
30321// add HTTP headers to the request.
30322func (c *EventTagsDeleteCall) Header() http.Header {
30323	if c.header_ == nil {
30324		c.header_ = make(http.Header)
30325	}
30326	return c.header_
30327}
30328
30329func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
30330	reqHeaders := make(http.Header)
30331	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30332	for k, v := range c.header_ {
30333		reqHeaders[k] = v
30334	}
30335	reqHeaders.Set("User-Agent", c.s.userAgent())
30336	var body io.Reader = nil
30337	c.urlParams_.Set("alt", alt)
30338	c.urlParams_.Set("prettyPrint", "false")
30339	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30340	urls += "?" + c.urlParams_.Encode()
30341	req, err := http.NewRequest("DELETE", urls, body)
30342	if err != nil {
30343		return nil, err
30344	}
30345	req.Header = reqHeaders
30346	googleapi.Expand(req.URL, map[string]string{
30347		"profileId": strconv.FormatInt(c.profileId, 10),
30348		"id":        strconv.FormatInt(c.id, 10),
30349	})
30350	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30351}
30352
30353// Do executes the "dfareporting.eventTags.delete" call.
30354func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
30355	gensupport.SetOptions(c.urlParams_, opts...)
30356	res, err := c.doRequest("json")
30357	if err != nil {
30358		return err
30359	}
30360	defer googleapi.CloseBody(res)
30361	if err := googleapi.CheckResponse(res); err != nil {
30362		return err
30363	}
30364	return nil
30365	// {
30366	//   "description": "Deletes an existing event tag.",
30367	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30368	//   "httpMethod": "DELETE",
30369	//   "id": "dfareporting.eventTags.delete",
30370	//   "parameterOrder": [
30371	//     "profileId",
30372	//     "id"
30373	//   ],
30374	//   "parameters": {
30375	//     "id": {
30376	//       "description": "Event tag ID.",
30377	//       "format": "int64",
30378	//       "location": "path",
30379	//       "required": true,
30380	//       "type": "string"
30381	//     },
30382	//     "profileId": {
30383	//       "description": "User profile ID associated with this request.",
30384	//       "format": "int64",
30385	//       "location": "path",
30386	//       "required": true,
30387	//       "type": "string"
30388	//     }
30389	//   },
30390	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30391	//   "scopes": [
30392	//     "https://www.googleapis.com/auth/dfatrafficking"
30393	//   ]
30394	// }
30395
30396}
30397
30398// method id "dfareporting.eventTags.get":
30399
30400type EventTagsGetCall struct {
30401	s            *Service
30402	profileId    int64
30403	id           int64
30404	urlParams_   gensupport.URLParams
30405	ifNoneMatch_ string
30406	ctx_         context.Context
30407	header_      http.Header
30408}
30409
30410// Get: Gets one event tag by ID.
30411func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
30412	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30413	c.profileId = profileId
30414	c.id = id
30415	return c
30416}
30417
30418// Fields allows partial responses to be retrieved. See
30419// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30420// for more information.
30421func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
30422	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30423	return c
30424}
30425
30426// IfNoneMatch sets the optional parameter which makes the operation
30427// fail if the object's ETag matches the given value. This is useful for
30428// getting updates only after the object has changed since the last
30429// request. Use googleapi.IsNotModified to check whether the response
30430// error from Do is the result of In-None-Match.
30431func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
30432	c.ifNoneMatch_ = entityTag
30433	return c
30434}
30435
30436// Context sets the context to be used in this call's Do method. Any
30437// pending HTTP request will be aborted if the provided context is
30438// canceled.
30439func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
30440	c.ctx_ = ctx
30441	return c
30442}
30443
30444// Header returns an http.Header that can be modified by the caller to
30445// add HTTP headers to the request.
30446func (c *EventTagsGetCall) Header() http.Header {
30447	if c.header_ == nil {
30448		c.header_ = make(http.Header)
30449	}
30450	return c.header_
30451}
30452
30453func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
30454	reqHeaders := make(http.Header)
30455	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30456	for k, v := range c.header_ {
30457		reqHeaders[k] = v
30458	}
30459	reqHeaders.Set("User-Agent", c.s.userAgent())
30460	if c.ifNoneMatch_ != "" {
30461		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30462	}
30463	var body io.Reader = nil
30464	c.urlParams_.Set("alt", alt)
30465	c.urlParams_.Set("prettyPrint", "false")
30466	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30467	urls += "?" + c.urlParams_.Encode()
30468	req, err := http.NewRequest("GET", urls, body)
30469	if err != nil {
30470		return nil, err
30471	}
30472	req.Header = reqHeaders
30473	googleapi.Expand(req.URL, map[string]string{
30474		"profileId": strconv.FormatInt(c.profileId, 10),
30475		"id":        strconv.FormatInt(c.id, 10),
30476	})
30477	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30478}
30479
30480// Do executes the "dfareporting.eventTags.get" call.
30481// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30482// code is an error. Response headers are in either
30483// *EventTag.ServerResponse.Header or (if a response was returned at
30484// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30485// to check whether the returned error was because
30486// http.StatusNotModified was returned.
30487func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30488	gensupport.SetOptions(c.urlParams_, opts...)
30489	res, err := c.doRequest("json")
30490	if res != nil && res.StatusCode == http.StatusNotModified {
30491		if res.Body != nil {
30492			res.Body.Close()
30493		}
30494		return nil, &googleapi.Error{
30495			Code:   res.StatusCode,
30496			Header: res.Header,
30497		}
30498	}
30499	if err != nil {
30500		return nil, err
30501	}
30502	defer googleapi.CloseBody(res)
30503	if err := googleapi.CheckResponse(res); err != nil {
30504		return nil, err
30505	}
30506	ret := &EventTag{
30507		ServerResponse: googleapi.ServerResponse{
30508			Header:         res.Header,
30509			HTTPStatusCode: res.StatusCode,
30510		},
30511	}
30512	target := &ret
30513	if err := gensupport.DecodeResponse(target, res); err != nil {
30514		return nil, err
30515	}
30516	return ret, nil
30517	// {
30518	//   "description": "Gets one event tag by ID.",
30519	//   "flatPath": "userprofiles/{profileId}/eventTags/{id}",
30520	//   "httpMethod": "GET",
30521	//   "id": "dfareporting.eventTags.get",
30522	//   "parameterOrder": [
30523	//     "profileId",
30524	//     "id"
30525	//   ],
30526	//   "parameters": {
30527	//     "id": {
30528	//       "description": "Event tag ID.",
30529	//       "format": "int64",
30530	//       "location": "path",
30531	//       "required": true,
30532	//       "type": "string"
30533	//     },
30534	//     "profileId": {
30535	//       "description": "User profile ID associated with this request.",
30536	//       "format": "int64",
30537	//       "location": "path",
30538	//       "required": true,
30539	//       "type": "string"
30540	//     }
30541	//   },
30542	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30543	//   "response": {
30544	//     "$ref": "EventTag"
30545	//   },
30546	//   "scopes": [
30547	//     "https://www.googleapis.com/auth/dfatrafficking"
30548	//   ]
30549	// }
30550
30551}
30552
30553// method id "dfareporting.eventTags.insert":
30554
30555type EventTagsInsertCall struct {
30556	s          *Service
30557	profileId  int64
30558	eventtag   *EventTag
30559	urlParams_ gensupport.URLParams
30560	ctx_       context.Context
30561	header_    http.Header
30562}
30563
30564// Insert: Inserts a new event tag.
30565func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
30566	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30567	c.profileId = profileId
30568	c.eventtag = eventtag
30569	return c
30570}
30571
30572// Fields allows partial responses to be retrieved. See
30573// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30574// for more information.
30575func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
30576	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30577	return c
30578}
30579
30580// Context sets the context to be used in this call's Do method. Any
30581// pending HTTP request will be aborted if the provided context is
30582// canceled.
30583func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
30584	c.ctx_ = ctx
30585	return c
30586}
30587
30588// Header returns an http.Header that can be modified by the caller to
30589// add HTTP headers to the request.
30590func (c *EventTagsInsertCall) Header() http.Header {
30591	if c.header_ == nil {
30592		c.header_ = make(http.Header)
30593	}
30594	return c.header_
30595}
30596
30597func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
30598	reqHeaders := make(http.Header)
30599	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30600	for k, v := range c.header_ {
30601		reqHeaders[k] = v
30602	}
30603	reqHeaders.Set("User-Agent", c.s.userAgent())
30604	var body io.Reader = nil
30605	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
30606	if err != nil {
30607		return nil, err
30608	}
30609	reqHeaders.Set("Content-Type", "application/json")
30610	c.urlParams_.Set("alt", alt)
30611	c.urlParams_.Set("prettyPrint", "false")
30612	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30613	urls += "?" + c.urlParams_.Encode()
30614	req, err := http.NewRequest("POST", urls, body)
30615	if err != nil {
30616		return nil, err
30617	}
30618	req.Header = reqHeaders
30619	googleapi.Expand(req.URL, map[string]string{
30620		"profileId": strconv.FormatInt(c.profileId, 10),
30621	})
30622	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30623}
30624
30625// Do executes the "dfareporting.eventTags.insert" call.
30626// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
30627// code is an error. Response headers are in either
30628// *EventTag.ServerResponse.Header or (if a response was returned at
30629// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
30630// to check whether the returned error was because
30631// http.StatusNotModified was returned.
30632func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
30633	gensupport.SetOptions(c.urlParams_, opts...)
30634	res, err := c.doRequest("json")
30635	if res != nil && res.StatusCode == http.StatusNotModified {
30636		if res.Body != nil {
30637			res.Body.Close()
30638		}
30639		return nil, &googleapi.Error{
30640			Code:   res.StatusCode,
30641			Header: res.Header,
30642		}
30643	}
30644	if err != nil {
30645		return nil, err
30646	}
30647	defer googleapi.CloseBody(res)
30648	if err := googleapi.CheckResponse(res); err != nil {
30649		return nil, err
30650	}
30651	ret := &EventTag{
30652		ServerResponse: googleapi.ServerResponse{
30653			Header:         res.Header,
30654			HTTPStatusCode: res.StatusCode,
30655		},
30656	}
30657	target := &ret
30658	if err := gensupport.DecodeResponse(target, res); err != nil {
30659		return nil, err
30660	}
30661	return ret, nil
30662	// {
30663	//   "description": "Inserts a new event tag.",
30664	//   "flatPath": "userprofiles/{profileId}/eventTags",
30665	//   "httpMethod": "POST",
30666	//   "id": "dfareporting.eventTags.insert",
30667	//   "parameterOrder": [
30668	//     "profileId"
30669	//   ],
30670	//   "parameters": {
30671	//     "profileId": {
30672	//       "description": "User profile ID associated with this request.",
30673	//       "format": "int64",
30674	//       "location": "path",
30675	//       "required": true,
30676	//       "type": "string"
30677	//     }
30678	//   },
30679	//   "path": "userprofiles/{profileId}/eventTags",
30680	//   "request": {
30681	//     "$ref": "EventTag"
30682	//   },
30683	//   "response": {
30684	//     "$ref": "EventTag"
30685	//   },
30686	//   "scopes": [
30687	//     "https://www.googleapis.com/auth/dfatrafficking"
30688	//   ]
30689	// }
30690
30691}
30692
30693// method id "dfareporting.eventTags.list":
30694
30695type EventTagsListCall struct {
30696	s            *Service
30697	profileId    int64
30698	urlParams_   gensupport.URLParams
30699	ifNoneMatch_ string
30700	ctx_         context.Context
30701	header_      http.Header
30702}
30703
30704// List: Retrieves a list of event tags, possibly filtered.
30705func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
30706	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30707	c.profileId = profileId
30708	return c
30709}
30710
30711// AdId sets the optional parameter "adId": Select only event tags that
30712// belong to this ad.
30713func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
30714	c.urlParams_.Set("adId", fmt.Sprint(adId))
30715	return c
30716}
30717
30718// AdvertiserId sets the optional parameter "advertiserId": Select only
30719// event tags that belong to this advertiser.
30720func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
30721	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30722	return c
30723}
30724
30725// CampaignId sets the optional parameter "campaignId": Select only
30726// event tags that belong to this campaign.
30727func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
30728	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
30729	return c
30730}
30731
30732// DefinitionsOnly sets the optional parameter "definitionsOnly":
30733// Examine only the specified campaign or advertiser's event tags for
30734// matching selector criteria. When set to false, the parent advertiser
30735// and parent campaign of the specified ad or campaign is examined as
30736// well. In addition, when set to false, the status field is examined as
30737// well, along with the enabledByDefault field. This parameter can not
30738// be set to true when adId is specified as ads do not define their own
30739// even tags.
30740func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
30741	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
30742	return c
30743}
30744
30745// Enabled sets the optional parameter "enabled": Select only enabled
30746// event tags. What is considered enabled or disabled depends on the
30747// definitionsOnly parameter. When definitionsOnly is set to true, only
30748// the specified advertiser or campaign's event tags' enabledByDefault
30749// field is examined. When definitionsOnly is set to false, the
30750// specified ad or specified campaign's parent advertiser's or parent
30751// campaign's event tags' enabledByDefault and status fields are
30752// examined as well.
30753func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
30754	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
30755	return c
30756}
30757
30758// EventTagTypes sets the optional parameter "eventTagTypes": Select
30759// only event tags with the specified event tag types. Event tag types
30760// can be used to specify whether to use a third-party pixel, a
30761// third-party JavaScript URL, or a third-party click-through URL for
30762// either impression or click tracking.
30763//
30764// Possible values:
30765//   "IMPRESSION_IMAGE_EVENT_TAG"
30766//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
30767//   "CLICK_THROUGH_EVENT_TAG"
30768func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
30769	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
30770	return c
30771}
30772
30773// Ids sets the optional parameter "ids": Select only event tags with
30774// these IDs.
30775func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
30776	var ids_ []string
30777	for _, v := range ids {
30778		ids_ = append(ids_, fmt.Sprint(v))
30779	}
30780	c.urlParams_.SetMulti("ids", ids_)
30781	return c
30782}
30783
30784// SearchString sets the optional parameter "searchString": Allows
30785// searching for objects by name or ID. Wildcards (*) are allowed. For
30786// example, "eventtag*2015" will return objects with names like
30787// "eventtag June 2015", "eventtag April 2015", or simply "eventtag
30788// 2015". Most of the searches also add wildcards implicitly at the
30789// start and the end of the search string. For example, a search string
30790// of "eventtag" will match objects with name "my eventtag", "eventtag
30791// 2015", or simply "eventtag".
30792func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
30793	c.urlParams_.Set("searchString", searchString)
30794	return c
30795}
30796
30797// SortField sets the optional parameter "sortField": Field by which to
30798// sort the list.
30799//
30800// Possible values:
30801//   "ID" (default)
30802//   "NAME"
30803func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
30804	c.urlParams_.Set("sortField", sortField)
30805	return c
30806}
30807
30808// SortOrder sets the optional parameter "sortOrder": Order of sorted
30809// results.
30810//
30811// Possible values:
30812//   "ASCENDING" (default)
30813//   "DESCENDING"
30814func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
30815	c.urlParams_.Set("sortOrder", sortOrder)
30816	return c
30817}
30818
30819// Fields allows partial responses to be retrieved. See
30820// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30821// for more information.
30822func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
30823	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30824	return c
30825}
30826
30827// IfNoneMatch sets the optional parameter which makes the operation
30828// fail if the object's ETag matches the given value. This is useful for
30829// getting updates only after the object has changed since the last
30830// request. Use googleapi.IsNotModified to check whether the response
30831// error from Do is the result of In-None-Match.
30832func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
30833	c.ifNoneMatch_ = entityTag
30834	return c
30835}
30836
30837// Context sets the context to be used in this call's Do method. Any
30838// pending HTTP request will be aborted if the provided context is
30839// canceled.
30840func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
30841	c.ctx_ = ctx
30842	return c
30843}
30844
30845// Header returns an http.Header that can be modified by the caller to
30846// add HTTP headers to the request.
30847func (c *EventTagsListCall) Header() http.Header {
30848	if c.header_ == nil {
30849		c.header_ = make(http.Header)
30850	}
30851	return c.header_
30852}
30853
30854func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
30855	reqHeaders := make(http.Header)
30856	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
30857	for k, v := range c.header_ {
30858		reqHeaders[k] = v
30859	}
30860	reqHeaders.Set("User-Agent", c.s.userAgent())
30861	if c.ifNoneMatch_ != "" {
30862		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30863	}
30864	var body io.Reader = nil
30865	c.urlParams_.Set("alt", alt)
30866	c.urlParams_.Set("prettyPrint", "false")
30867	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
30868	urls += "?" + c.urlParams_.Encode()
30869	req, err := http.NewRequest("GET", urls, body)
30870	if err != nil {
30871		return nil, err
30872	}
30873	req.Header = reqHeaders
30874	googleapi.Expand(req.URL, map[string]string{
30875		"profileId": strconv.FormatInt(c.profileId, 10),
30876	})
30877	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30878}
30879
30880// Do executes the "dfareporting.eventTags.list" call.
30881// Exactly one of *EventTagsListResponse or error will be non-nil. Any
30882// non-2xx status code is an error. Response headers are in either
30883// *EventTagsListResponse.ServerResponse.Header or (if a response was
30884// returned at all) in error.(*googleapi.Error).Header. Use
30885// googleapi.IsNotModified to check whether the returned error was
30886// because http.StatusNotModified was returned.
30887func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
30888	gensupport.SetOptions(c.urlParams_, opts...)
30889	res, err := c.doRequest("json")
30890	if res != nil && res.StatusCode == http.StatusNotModified {
30891		if res.Body != nil {
30892			res.Body.Close()
30893		}
30894		return nil, &googleapi.Error{
30895			Code:   res.StatusCode,
30896			Header: res.Header,
30897		}
30898	}
30899	if err != nil {
30900		return nil, err
30901	}
30902	defer googleapi.CloseBody(res)
30903	if err := googleapi.CheckResponse(res); err != nil {
30904		return nil, err
30905	}
30906	ret := &EventTagsListResponse{
30907		ServerResponse: googleapi.ServerResponse{
30908			Header:         res.Header,
30909			HTTPStatusCode: res.StatusCode,
30910		},
30911	}
30912	target := &ret
30913	if err := gensupport.DecodeResponse(target, res); err != nil {
30914		return nil, err
30915	}
30916	return ret, nil
30917	// {
30918	//   "description": "Retrieves a list of event tags, possibly filtered.",
30919	//   "flatPath": "userprofiles/{profileId}/eventTags",
30920	//   "httpMethod": "GET",
30921	//   "id": "dfareporting.eventTags.list",
30922	//   "parameterOrder": [
30923	//     "profileId"
30924	//   ],
30925	//   "parameters": {
30926	//     "adId": {
30927	//       "description": "Select only event tags that belong to this ad.",
30928	//       "format": "int64",
30929	//       "location": "query",
30930	//       "type": "string"
30931	//     },
30932	//     "advertiserId": {
30933	//       "description": "Select only event tags that belong to this advertiser.",
30934	//       "format": "int64",
30935	//       "location": "query",
30936	//       "type": "string"
30937	//     },
30938	//     "campaignId": {
30939	//       "description": "Select only event tags that belong to this campaign.",
30940	//       "format": "int64",
30941	//       "location": "query",
30942	//       "type": "string"
30943	//     },
30944	//     "definitionsOnly": {
30945	//       "description": "Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.",
30946	//       "location": "query",
30947	//       "type": "boolean"
30948	//     },
30949	//     "enabled": {
30950	//       "description": "Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.",
30951	//       "location": "query",
30952	//       "type": "boolean"
30953	//     },
30954	//     "eventTagTypes": {
30955	//       "description": "Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking.",
30956	//       "enum": [
30957	//         "IMPRESSION_IMAGE_EVENT_TAG",
30958	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG",
30959	//         "CLICK_THROUGH_EVENT_TAG"
30960	//       ],
30961	//       "enumDescriptions": [
30962	//         "",
30963	//         "",
30964	//         ""
30965	//       ],
30966	//       "location": "query",
30967	//       "repeated": true,
30968	//       "type": "string"
30969	//     },
30970	//     "ids": {
30971	//       "description": "Select only event tags with these IDs.",
30972	//       "format": "int64",
30973	//       "location": "query",
30974	//       "repeated": true,
30975	//       "type": "string"
30976	//     },
30977	//     "profileId": {
30978	//       "description": "User profile ID associated with this request.",
30979	//       "format": "int64",
30980	//       "location": "path",
30981	//       "required": true,
30982	//       "type": "string"
30983	//     },
30984	//     "searchString": {
30985	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"eventtag*2015\" will return objects with names like \"eventtag June 2015\", \"eventtag April 2015\", or simply \"eventtag 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"eventtag\" will match objects with name \"my eventtag\", \"eventtag 2015\", or simply \"eventtag\".",
30986	//       "location": "query",
30987	//       "type": "string"
30988	//     },
30989	//     "sortField": {
30990	//       "default": "ID",
30991	//       "description": "Field by which to sort the list.",
30992	//       "enum": [
30993	//         "ID",
30994	//         "NAME"
30995	//       ],
30996	//       "enumDescriptions": [
30997	//         "",
30998	//         ""
30999	//       ],
31000	//       "location": "query",
31001	//       "type": "string"
31002	//     },
31003	//     "sortOrder": {
31004	//       "default": "ASCENDING",
31005	//       "description": "Order of sorted results.",
31006	//       "enum": [
31007	//         "ASCENDING",
31008	//         "DESCENDING"
31009	//       ],
31010	//       "enumDescriptions": [
31011	//         "",
31012	//         ""
31013	//       ],
31014	//       "location": "query",
31015	//       "type": "string"
31016	//     }
31017	//   },
31018	//   "path": "userprofiles/{profileId}/eventTags",
31019	//   "response": {
31020	//     "$ref": "EventTagsListResponse"
31021	//   },
31022	//   "scopes": [
31023	//     "https://www.googleapis.com/auth/dfatrafficking"
31024	//   ]
31025	// }
31026
31027}
31028
31029// method id "dfareporting.eventTags.patch":
31030
31031type EventTagsPatchCall struct {
31032	s          *Service
31033	profileId  int64
31034	eventtag   *EventTag
31035	urlParams_ gensupport.URLParams
31036	ctx_       context.Context
31037	header_    http.Header
31038}
31039
31040// Patch: Updates an existing event tag. This method supports patch
31041// semantics.
31042func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
31043	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31044	c.profileId = profileId
31045	c.urlParams_.Set("id", fmt.Sprint(id))
31046	c.eventtag = eventtag
31047	return c
31048}
31049
31050// Fields allows partial responses to be retrieved. See
31051// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31052// for more information.
31053func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
31054	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31055	return c
31056}
31057
31058// Context sets the context to be used in this call's Do method. Any
31059// pending HTTP request will be aborted if the provided context is
31060// canceled.
31061func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
31062	c.ctx_ = ctx
31063	return c
31064}
31065
31066// Header returns an http.Header that can be modified by the caller to
31067// add HTTP headers to the request.
31068func (c *EventTagsPatchCall) Header() http.Header {
31069	if c.header_ == nil {
31070		c.header_ = make(http.Header)
31071	}
31072	return c.header_
31073}
31074
31075func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
31076	reqHeaders := make(http.Header)
31077	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31078	for k, v := range c.header_ {
31079		reqHeaders[k] = v
31080	}
31081	reqHeaders.Set("User-Agent", c.s.userAgent())
31082	var body io.Reader = nil
31083	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31084	if err != nil {
31085		return nil, err
31086	}
31087	reqHeaders.Set("Content-Type", "application/json")
31088	c.urlParams_.Set("alt", alt)
31089	c.urlParams_.Set("prettyPrint", "false")
31090	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31091	urls += "?" + c.urlParams_.Encode()
31092	req, err := http.NewRequest("PATCH", urls, body)
31093	if err != nil {
31094		return nil, err
31095	}
31096	req.Header = reqHeaders
31097	googleapi.Expand(req.URL, map[string]string{
31098		"profileId": strconv.FormatInt(c.profileId, 10),
31099	})
31100	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31101}
31102
31103// Do executes the "dfareporting.eventTags.patch" call.
31104// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31105// code is an error. Response headers are in either
31106// *EventTag.ServerResponse.Header or (if a response was returned at
31107// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31108// to check whether the returned error was because
31109// http.StatusNotModified was returned.
31110func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31111	gensupport.SetOptions(c.urlParams_, opts...)
31112	res, err := c.doRequest("json")
31113	if res != nil && res.StatusCode == http.StatusNotModified {
31114		if res.Body != nil {
31115			res.Body.Close()
31116		}
31117		return nil, &googleapi.Error{
31118			Code:   res.StatusCode,
31119			Header: res.Header,
31120		}
31121	}
31122	if err != nil {
31123		return nil, err
31124	}
31125	defer googleapi.CloseBody(res)
31126	if err := googleapi.CheckResponse(res); err != nil {
31127		return nil, err
31128	}
31129	ret := &EventTag{
31130		ServerResponse: googleapi.ServerResponse{
31131			Header:         res.Header,
31132			HTTPStatusCode: res.StatusCode,
31133		},
31134	}
31135	target := &ret
31136	if err := gensupport.DecodeResponse(target, res); err != nil {
31137		return nil, err
31138	}
31139	return ret, nil
31140	// {
31141	//   "description": "Updates an existing event tag. This method supports patch semantics.",
31142	//   "flatPath": "userprofiles/{profileId}/eventTags",
31143	//   "httpMethod": "PATCH",
31144	//   "id": "dfareporting.eventTags.patch",
31145	//   "parameterOrder": [
31146	//     "profileId",
31147	//     "id"
31148	//   ],
31149	//   "parameters": {
31150	//     "id": {
31151	//       "description": "EventTag ID.",
31152	//       "format": "int64",
31153	//       "location": "query",
31154	//       "required": true,
31155	//       "type": "string"
31156	//     },
31157	//     "profileId": {
31158	//       "description": "User profile ID associated with this request.",
31159	//       "format": "int64",
31160	//       "location": "path",
31161	//       "required": true,
31162	//       "type": "string"
31163	//     }
31164	//   },
31165	//   "path": "userprofiles/{profileId}/eventTags",
31166	//   "request": {
31167	//     "$ref": "EventTag"
31168	//   },
31169	//   "response": {
31170	//     "$ref": "EventTag"
31171	//   },
31172	//   "scopes": [
31173	//     "https://www.googleapis.com/auth/dfatrafficking"
31174	//   ]
31175	// }
31176
31177}
31178
31179// method id "dfareporting.eventTags.update":
31180
31181type EventTagsUpdateCall struct {
31182	s          *Service
31183	profileId  int64
31184	eventtag   *EventTag
31185	urlParams_ gensupport.URLParams
31186	ctx_       context.Context
31187	header_    http.Header
31188}
31189
31190// Update: Updates an existing event tag.
31191func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
31192	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31193	c.profileId = profileId
31194	c.eventtag = eventtag
31195	return c
31196}
31197
31198// Fields allows partial responses to be retrieved. See
31199// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31200// for more information.
31201func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
31202	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31203	return c
31204}
31205
31206// Context sets the context to be used in this call's Do method. Any
31207// pending HTTP request will be aborted if the provided context is
31208// canceled.
31209func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
31210	c.ctx_ = ctx
31211	return c
31212}
31213
31214// Header returns an http.Header that can be modified by the caller to
31215// add HTTP headers to the request.
31216func (c *EventTagsUpdateCall) Header() http.Header {
31217	if c.header_ == nil {
31218		c.header_ = make(http.Header)
31219	}
31220	return c.header_
31221}
31222
31223func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
31224	reqHeaders := make(http.Header)
31225	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31226	for k, v := range c.header_ {
31227		reqHeaders[k] = v
31228	}
31229	reqHeaders.Set("User-Agent", c.s.userAgent())
31230	var body io.Reader = nil
31231	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31232	if err != nil {
31233		return nil, err
31234	}
31235	reqHeaders.Set("Content-Type", "application/json")
31236	c.urlParams_.Set("alt", alt)
31237	c.urlParams_.Set("prettyPrint", "false")
31238	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31239	urls += "?" + c.urlParams_.Encode()
31240	req, err := http.NewRequest("PUT", urls, body)
31241	if err != nil {
31242		return nil, err
31243	}
31244	req.Header = reqHeaders
31245	googleapi.Expand(req.URL, map[string]string{
31246		"profileId": strconv.FormatInt(c.profileId, 10),
31247	})
31248	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31249}
31250
31251// Do executes the "dfareporting.eventTags.update" call.
31252// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31253// code is an error. Response headers are in either
31254// *EventTag.ServerResponse.Header or (if a response was returned at
31255// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31256// to check whether the returned error was because
31257// http.StatusNotModified was returned.
31258func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31259	gensupport.SetOptions(c.urlParams_, opts...)
31260	res, err := c.doRequest("json")
31261	if res != nil && res.StatusCode == http.StatusNotModified {
31262		if res.Body != nil {
31263			res.Body.Close()
31264		}
31265		return nil, &googleapi.Error{
31266			Code:   res.StatusCode,
31267			Header: res.Header,
31268		}
31269	}
31270	if err != nil {
31271		return nil, err
31272	}
31273	defer googleapi.CloseBody(res)
31274	if err := googleapi.CheckResponse(res); err != nil {
31275		return nil, err
31276	}
31277	ret := &EventTag{
31278		ServerResponse: googleapi.ServerResponse{
31279			Header:         res.Header,
31280			HTTPStatusCode: res.StatusCode,
31281		},
31282	}
31283	target := &ret
31284	if err := gensupport.DecodeResponse(target, res); err != nil {
31285		return nil, err
31286	}
31287	return ret, nil
31288	// {
31289	//   "description": "Updates an existing event tag.",
31290	//   "flatPath": "userprofiles/{profileId}/eventTags",
31291	//   "httpMethod": "PUT",
31292	//   "id": "dfareporting.eventTags.update",
31293	//   "parameterOrder": [
31294	//     "profileId"
31295	//   ],
31296	//   "parameters": {
31297	//     "profileId": {
31298	//       "description": "User profile ID associated with this request.",
31299	//       "format": "int64",
31300	//       "location": "path",
31301	//       "required": true,
31302	//       "type": "string"
31303	//     }
31304	//   },
31305	//   "path": "userprofiles/{profileId}/eventTags",
31306	//   "request": {
31307	//     "$ref": "EventTag"
31308	//   },
31309	//   "response": {
31310	//     "$ref": "EventTag"
31311	//   },
31312	//   "scopes": [
31313	//     "https://www.googleapis.com/auth/dfatrafficking"
31314	//   ]
31315	// }
31316
31317}
31318
31319// method id "dfareporting.files.get":
31320
31321type FilesGetCall struct {
31322	s            *Service
31323	reportId     int64
31324	fileId       int64
31325	urlParams_   gensupport.URLParams
31326	ifNoneMatch_ string
31327	ctx_         context.Context
31328	header_      http.Header
31329}
31330
31331// Get: Retrieves a report file by its report ID and file ID. This
31332// method supports media download.
31333func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
31334	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31335	c.reportId = reportId
31336	c.fileId = fileId
31337	return c
31338}
31339
31340// Fields allows partial responses to be retrieved. See
31341// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31342// for more information.
31343func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
31344	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31345	return c
31346}
31347
31348// IfNoneMatch sets the optional parameter which makes the operation
31349// fail if the object's ETag matches the given value. This is useful for
31350// getting updates only after the object has changed since the last
31351// request. Use googleapi.IsNotModified to check whether the response
31352// error from Do is the result of In-None-Match.
31353func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
31354	c.ifNoneMatch_ = entityTag
31355	return c
31356}
31357
31358// Context sets the context to be used in this call's Do and Download
31359// methods. Any pending HTTP request will be aborted if the provided
31360// context is canceled.
31361func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
31362	c.ctx_ = ctx
31363	return c
31364}
31365
31366// Header returns an http.Header that can be modified by the caller to
31367// add HTTP headers to the request.
31368func (c *FilesGetCall) Header() http.Header {
31369	if c.header_ == nil {
31370		c.header_ = make(http.Header)
31371	}
31372	return c.header_
31373}
31374
31375func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
31376	reqHeaders := make(http.Header)
31377	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31378	for k, v := range c.header_ {
31379		reqHeaders[k] = v
31380	}
31381	reqHeaders.Set("User-Agent", c.s.userAgent())
31382	if c.ifNoneMatch_ != "" {
31383		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31384	}
31385	var body io.Reader = nil
31386	c.urlParams_.Set("alt", alt)
31387	c.urlParams_.Set("prettyPrint", "false")
31388	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
31389	urls += "?" + c.urlParams_.Encode()
31390	req, err := http.NewRequest("GET", urls, body)
31391	if err != nil {
31392		return nil, err
31393	}
31394	req.Header = reqHeaders
31395	googleapi.Expand(req.URL, map[string]string{
31396		"reportId": strconv.FormatInt(c.reportId, 10),
31397		"fileId":   strconv.FormatInt(c.fileId, 10),
31398	})
31399	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31400}
31401
31402// Download fetches the API endpoint's "media" value, instead of the normal
31403// API response value. If the returned error is nil, the Response is guaranteed to
31404// have a 2xx status code. Callers must close the Response.Body as usual.
31405func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
31406	gensupport.SetOptions(c.urlParams_, opts...)
31407	res, err := c.doRequest("media")
31408	if err != nil {
31409		return nil, err
31410	}
31411	if err := googleapi.CheckMediaResponse(res); err != nil {
31412		res.Body.Close()
31413		return nil, err
31414	}
31415	return res, nil
31416}
31417
31418// Do executes the "dfareporting.files.get" call.
31419// Exactly one of *File or error will be non-nil. Any non-2xx status
31420// code is an error. Response headers are in either
31421// *File.ServerResponse.Header or (if a response was returned at all) in
31422// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
31423// whether the returned error was because http.StatusNotModified was
31424// returned.
31425func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
31426	gensupport.SetOptions(c.urlParams_, opts...)
31427	res, err := c.doRequest("json")
31428	if res != nil && res.StatusCode == http.StatusNotModified {
31429		if res.Body != nil {
31430			res.Body.Close()
31431		}
31432		return nil, &googleapi.Error{
31433			Code:   res.StatusCode,
31434			Header: res.Header,
31435		}
31436	}
31437	if err != nil {
31438		return nil, err
31439	}
31440	defer googleapi.CloseBody(res)
31441	if err := googleapi.CheckResponse(res); err != nil {
31442		return nil, err
31443	}
31444	ret := &File{
31445		ServerResponse: googleapi.ServerResponse{
31446			Header:         res.Header,
31447			HTTPStatusCode: res.StatusCode,
31448		},
31449	}
31450	target := &ret
31451	if err := gensupport.DecodeResponse(target, res); err != nil {
31452		return nil, err
31453	}
31454	return ret, nil
31455	// {
31456	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
31457	//   "flatPath": "reports/{reportId}/files/{fileId}",
31458	//   "httpMethod": "GET",
31459	//   "id": "dfareporting.files.get",
31460	//   "parameterOrder": [
31461	//     "reportId",
31462	//     "fileId"
31463	//   ],
31464	//   "parameters": {
31465	//     "fileId": {
31466	//       "description": "The ID of the report file.",
31467	//       "format": "int64",
31468	//       "location": "path",
31469	//       "required": true,
31470	//       "type": "string"
31471	//     },
31472	//     "reportId": {
31473	//       "description": "The ID of the report.",
31474	//       "format": "int64",
31475	//       "location": "path",
31476	//       "required": true,
31477	//       "type": "string"
31478	//     }
31479	//   },
31480	//   "path": "reports/{reportId}/files/{fileId}",
31481	//   "response": {
31482	//     "$ref": "File"
31483	//   },
31484	//   "scopes": [
31485	//     "https://www.googleapis.com/auth/dfareporting"
31486	//   ],
31487	//   "supportsMediaDownload": true
31488	// }
31489
31490}
31491
31492// method id "dfareporting.files.list":
31493
31494type FilesListCall struct {
31495	s            *Service
31496	profileId    int64
31497	urlParams_   gensupport.URLParams
31498	ifNoneMatch_ string
31499	ctx_         context.Context
31500	header_      http.Header
31501}
31502
31503// List: Lists files for a user profile.
31504func (r *FilesService) List(profileId int64) *FilesListCall {
31505	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31506	c.profileId = profileId
31507	return c
31508}
31509
31510// MaxResults sets the optional parameter "maxResults": Maximum number
31511// of results to return.
31512func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
31513	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
31514	return c
31515}
31516
31517// PageToken sets the optional parameter "pageToken": The value of the
31518// nextToken from the previous result page.
31519func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
31520	c.urlParams_.Set("pageToken", pageToken)
31521	return c
31522}
31523
31524// Scope sets the optional parameter "scope": The scope that defines
31525// which results are returned.
31526//
31527// Possible values:
31528//   "ALL" - All files in account.
31529//   "MINE" (default) - My files.
31530//   "SHARED_WITH_ME" - Files shared with me.
31531func (c *FilesListCall) Scope(scope string) *FilesListCall {
31532	c.urlParams_.Set("scope", scope)
31533	return c
31534}
31535
31536// SortField sets the optional parameter "sortField": The field by which
31537// to sort the list.
31538//
31539// Possible values:
31540//   "ID" - Sort by file ID.
31541//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
31542func (c *FilesListCall) SortField(sortField string) *FilesListCall {
31543	c.urlParams_.Set("sortField", sortField)
31544	return c
31545}
31546
31547// SortOrder sets the optional parameter "sortOrder": Order of sorted
31548// results.
31549//
31550// Possible values:
31551//   "ASCENDING" - Ascending order.
31552//   "DESCENDING" (default) - Descending order.
31553func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
31554	c.urlParams_.Set("sortOrder", sortOrder)
31555	return c
31556}
31557
31558// Fields allows partial responses to be retrieved. See
31559// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31560// for more information.
31561func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
31562	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31563	return c
31564}
31565
31566// IfNoneMatch sets the optional parameter which makes the operation
31567// fail if the object's ETag matches the given value. This is useful for
31568// getting updates only after the object has changed since the last
31569// request. Use googleapi.IsNotModified to check whether the response
31570// error from Do is the result of In-None-Match.
31571func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
31572	c.ifNoneMatch_ = entityTag
31573	return c
31574}
31575
31576// Context sets the context to be used in this call's Do method. Any
31577// pending HTTP request will be aborted if the provided context is
31578// canceled.
31579func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
31580	c.ctx_ = ctx
31581	return c
31582}
31583
31584// Header returns an http.Header that can be modified by the caller to
31585// add HTTP headers to the request.
31586func (c *FilesListCall) Header() http.Header {
31587	if c.header_ == nil {
31588		c.header_ = make(http.Header)
31589	}
31590	return c.header_
31591}
31592
31593func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
31594	reqHeaders := make(http.Header)
31595	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31596	for k, v := range c.header_ {
31597		reqHeaders[k] = v
31598	}
31599	reqHeaders.Set("User-Agent", c.s.userAgent())
31600	if c.ifNoneMatch_ != "" {
31601		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31602	}
31603	var body io.Reader = nil
31604	c.urlParams_.Set("alt", alt)
31605	c.urlParams_.Set("prettyPrint", "false")
31606	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
31607	urls += "?" + c.urlParams_.Encode()
31608	req, err := http.NewRequest("GET", urls, body)
31609	if err != nil {
31610		return nil, err
31611	}
31612	req.Header = reqHeaders
31613	googleapi.Expand(req.URL, map[string]string{
31614		"profileId": strconv.FormatInt(c.profileId, 10),
31615	})
31616	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31617}
31618
31619// Do executes the "dfareporting.files.list" call.
31620// Exactly one of *FileList or error will be non-nil. Any non-2xx status
31621// code is an error. Response headers are in either
31622// *FileList.ServerResponse.Header or (if a response was returned at
31623// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31624// to check whether the returned error was because
31625// http.StatusNotModified was returned.
31626func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
31627	gensupport.SetOptions(c.urlParams_, opts...)
31628	res, err := c.doRequest("json")
31629	if res != nil && res.StatusCode == http.StatusNotModified {
31630		if res.Body != nil {
31631			res.Body.Close()
31632		}
31633		return nil, &googleapi.Error{
31634			Code:   res.StatusCode,
31635			Header: res.Header,
31636		}
31637	}
31638	if err != nil {
31639		return nil, err
31640	}
31641	defer googleapi.CloseBody(res)
31642	if err := googleapi.CheckResponse(res); err != nil {
31643		return nil, err
31644	}
31645	ret := &FileList{
31646		ServerResponse: googleapi.ServerResponse{
31647			Header:         res.Header,
31648			HTTPStatusCode: res.StatusCode,
31649		},
31650	}
31651	target := &ret
31652	if err := gensupport.DecodeResponse(target, res); err != nil {
31653		return nil, err
31654	}
31655	return ret, nil
31656	// {
31657	//   "description": "Lists files for a user profile.",
31658	//   "flatPath": "userprofiles/{profileId}/files",
31659	//   "httpMethod": "GET",
31660	//   "id": "dfareporting.files.list",
31661	//   "parameterOrder": [
31662	//     "profileId"
31663	//   ],
31664	//   "parameters": {
31665	//     "maxResults": {
31666	//       "default": "10",
31667	//       "description": "Maximum number of results to return.",
31668	//       "format": "int32",
31669	//       "location": "query",
31670	//       "maximum": "10",
31671	//       "minimum": "0",
31672	//       "type": "integer"
31673	//     },
31674	//     "pageToken": {
31675	//       "description": "The value of the nextToken from the previous result page.",
31676	//       "location": "query",
31677	//       "type": "string"
31678	//     },
31679	//     "profileId": {
31680	//       "description": "The Campaign Manager 360 user profile ID.",
31681	//       "format": "int64",
31682	//       "location": "path",
31683	//       "required": true,
31684	//       "type": "string"
31685	//     },
31686	//     "scope": {
31687	//       "default": "MINE",
31688	//       "description": "The scope that defines which results are returned.",
31689	//       "enum": [
31690	//         "ALL",
31691	//         "MINE",
31692	//         "SHARED_WITH_ME"
31693	//       ],
31694	//       "enumDescriptions": [
31695	//         "All files in account.",
31696	//         "My files.",
31697	//         "Files shared with me."
31698	//       ],
31699	//       "location": "query",
31700	//       "type": "string"
31701	//     },
31702	//     "sortField": {
31703	//       "default": "LAST_MODIFIED_TIME",
31704	//       "description": "The field by which to sort the list.",
31705	//       "enum": [
31706	//         "ID",
31707	//         "LAST_MODIFIED_TIME"
31708	//       ],
31709	//       "enumDescriptions": [
31710	//         "Sort by file ID.",
31711	//         "Sort by 'lastmodifiedAt' field."
31712	//       ],
31713	//       "location": "query",
31714	//       "type": "string"
31715	//     },
31716	//     "sortOrder": {
31717	//       "default": "DESCENDING",
31718	//       "description": "Order of sorted results.",
31719	//       "enum": [
31720	//         "ASCENDING",
31721	//         "DESCENDING"
31722	//       ],
31723	//       "enumDescriptions": [
31724	//         "Ascending order.",
31725	//         "Descending order."
31726	//       ],
31727	//       "location": "query",
31728	//       "type": "string"
31729	//     }
31730	//   },
31731	//   "path": "userprofiles/{profileId}/files",
31732	//   "response": {
31733	//     "$ref": "FileList"
31734	//   },
31735	//   "scopes": [
31736	//     "https://www.googleapis.com/auth/dfareporting"
31737	//   ]
31738	// }
31739
31740}
31741
31742// Pages invokes f for each page of results.
31743// A non-nil error returned from f will halt the iteration.
31744// The provided context supersedes any context provided to the Context method.
31745func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
31746	c.ctx_ = ctx
31747	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
31748	for {
31749		x, err := c.Do()
31750		if err != nil {
31751			return err
31752		}
31753		if err := f(x); err != nil {
31754			return err
31755		}
31756		if x.NextPageToken == "" {
31757			return nil
31758		}
31759		c.PageToken(x.NextPageToken)
31760	}
31761}
31762
31763// method id "dfareporting.floodlightActivities.delete":
31764
31765type FloodlightActivitiesDeleteCall struct {
31766	s          *Service
31767	profileId  int64
31768	id         int64
31769	urlParams_ gensupport.URLParams
31770	ctx_       context.Context
31771	header_    http.Header
31772}
31773
31774// Delete: Deletes an existing floodlight activity.
31775func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
31776	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31777	c.profileId = profileId
31778	c.id = id
31779	return c
31780}
31781
31782// Fields allows partial responses to be retrieved. See
31783// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31784// for more information.
31785func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
31786	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31787	return c
31788}
31789
31790// Context sets the context to be used in this call's Do method. Any
31791// pending HTTP request will be aborted if the provided context is
31792// canceled.
31793func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
31794	c.ctx_ = ctx
31795	return c
31796}
31797
31798// Header returns an http.Header that can be modified by the caller to
31799// add HTTP headers to the request.
31800func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
31801	if c.header_ == nil {
31802		c.header_ = make(http.Header)
31803	}
31804	return c.header_
31805}
31806
31807func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
31808	reqHeaders := make(http.Header)
31809	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31810	for k, v := range c.header_ {
31811		reqHeaders[k] = v
31812	}
31813	reqHeaders.Set("User-Agent", c.s.userAgent())
31814	var body io.Reader = nil
31815	c.urlParams_.Set("alt", alt)
31816	c.urlParams_.Set("prettyPrint", "false")
31817	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
31818	urls += "?" + c.urlParams_.Encode()
31819	req, err := http.NewRequest("DELETE", urls, body)
31820	if err != nil {
31821		return nil, err
31822	}
31823	req.Header = reqHeaders
31824	googleapi.Expand(req.URL, map[string]string{
31825		"profileId": strconv.FormatInt(c.profileId, 10),
31826		"id":        strconv.FormatInt(c.id, 10),
31827	})
31828	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31829}
31830
31831// Do executes the "dfareporting.floodlightActivities.delete" call.
31832func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
31833	gensupport.SetOptions(c.urlParams_, opts...)
31834	res, err := c.doRequest("json")
31835	if err != nil {
31836		return err
31837	}
31838	defer googleapi.CloseBody(res)
31839	if err := googleapi.CheckResponse(res); err != nil {
31840		return err
31841	}
31842	return nil
31843	// {
31844	//   "description": "Deletes an existing floodlight activity.",
31845	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
31846	//   "httpMethod": "DELETE",
31847	//   "id": "dfareporting.floodlightActivities.delete",
31848	//   "parameterOrder": [
31849	//     "profileId",
31850	//     "id"
31851	//   ],
31852	//   "parameters": {
31853	//     "id": {
31854	//       "description": "Floodlight activity ID.",
31855	//       "format": "int64",
31856	//       "location": "path",
31857	//       "required": true,
31858	//       "type": "string"
31859	//     },
31860	//     "profileId": {
31861	//       "description": "User profile ID associated with this request.",
31862	//       "format": "int64",
31863	//       "location": "path",
31864	//       "required": true,
31865	//       "type": "string"
31866	//     }
31867	//   },
31868	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
31869	//   "scopes": [
31870	//     "https://www.googleapis.com/auth/dfatrafficking"
31871	//   ]
31872	// }
31873
31874}
31875
31876// method id "dfareporting.floodlightActivities.generatetag":
31877
31878type FloodlightActivitiesGeneratetagCall struct {
31879	s          *Service
31880	profileId  int64
31881	urlParams_ gensupport.URLParams
31882	ctx_       context.Context
31883	header_    http.Header
31884}
31885
31886// Generatetag: Generates a tag for a floodlight activity.
31887func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
31888	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31889	c.profileId = profileId
31890	return c
31891}
31892
31893// FloodlightActivityId sets the optional parameter
31894// "floodlightActivityId": Floodlight activity ID for which we want to
31895// generate a tag.
31896func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
31897	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
31898	return c
31899}
31900
31901// Fields allows partial responses to be retrieved. See
31902// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31903// for more information.
31904func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
31905	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31906	return c
31907}
31908
31909// Context sets the context to be used in this call's Do method. Any
31910// pending HTTP request will be aborted if the provided context is
31911// canceled.
31912func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
31913	c.ctx_ = ctx
31914	return c
31915}
31916
31917// Header returns an http.Header that can be modified by the caller to
31918// add HTTP headers to the request.
31919func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
31920	if c.header_ == nil {
31921		c.header_ = make(http.Header)
31922	}
31923	return c.header_
31924}
31925
31926func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
31927	reqHeaders := make(http.Header)
31928	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
31929	for k, v := range c.header_ {
31930		reqHeaders[k] = v
31931	}
31932	reqHeaders.Set("User-Agent", c.s.userAgent())
31933	var body io.Reader = nil
31934	c.urlParams_.Set("alt", alt)
31935	c.urlParams_.Set("prettyPrint", "false")
31936	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
31937	urls += "?" + c.urlParams_.Encode()
31938	req, err := http.NewRequest("POST", urls, body)
31939	if err != nil {
31940		return nil, err
31941	}
31942	req.Header = reqHeaders
31943	googleapi.Expand(req.URL, map[string]string{
31944		"profileId": strconv.FormatInt(c.profileId, 10),
31945	})
31946	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31947}
31948
31949// Do executes the "dfareporting.floodlightActivities.generatetag" call.
31950// Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
31951// be non-nil. Any non-2xx status code is an error. Response headers are
31952// in either
31953// *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
31954// a response was returned at all) in error.(*googleapi.Error).Header.
31955// Use googleapi.IsNotModified to check whether the returned error was
31956// because http.StatusNotModified was returned.
31957func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
31958	gensupport.SetOptions(c.urlParams_, opts...)
31959	res, err := c.doRequest("json")
31960	if res != nil && res.StatusCode == http.StatusNotModified {
31961		if res.Body != nil {
31962			res.Body.Close()
31963		}
31964		return nil, &googleapi.Error{
31965			Code:   res.StatusCode,
31966			Header: res.Header,
31967		}
31968	}
31969	if err != nil {
31970		return nil, err
31971	}
31972	defer googleapi.CloseBody(res)
31973	if err := googleapi.CheckResponse(res); err != nil {
31974		return nil, err
31975	}
31976	ret := &FloodlightActivitiesGenerateTagResponse{
31977		ServerResponse: googleapi.ServerResponse{
31978			Header:         res.Header,
31979			HTTPStatusCode: res.StatusCode,
31980		},
31981	}
31982	target := &ret
31983	if err := gensupport.DecodeResponse(target, res); err != nil {
31984		return nil, err
31985	}
31986	return ret, nil
31987	// {
31988	//   "description": "Generates a tag for a floodlight activity.",
31989	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/generatetag",
31990	//   "httpMethod": "POST",
31991	//   "id": "dfareporting.floodlightActivities.generatetag",
31992	//   "parameterOrder": [
31993	//     "profileId"
31994	//   ],
31995	//   "parameters": {
31996	//     "floodlightActivityId": {
31997	//       "description": "Floodlight activity ID for which we want to generate a tag.",
31998	//       "format": "int64",
31999	//       "location": "query",
32000	//       "type": "string"
32001	//     },
32002	//     "profileId": {
32003	//       "description": "User profile ID associated with this request.",
32004	//       "format": "int64",
32005	//       "location": "path",
32006	//       "required": true,
32007	//       "type": "string"
32008	//     }
32009	//   },
32010	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
32011	//   "response": {
32012	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
32013	//   },
32014	//   "scopes": [
32015	//     "https://www.googleapis.com/auth/dfatrafficking"
32016	//   ]
32017	// }
32018
32019}
32020
32021// method id "dfareporting.floodlightActivities.get":
32022
32023type FloodlightActivitiesGetCall struct {
32024	s            *Service
32025	profileId    int64
32026	id           int64
32027	urlParams_   gensupport.URLParams
32028	ifNoneMatch_ string
32029	ctx_         context.Context
32030	header_      http.Header
32031}
32032
32033// Get: Gets one floodlight activity by ID.
32034func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
32035	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32036	c.profileId = profileId
32037	c.id = id
32038	return c
32039}
32040
32041// Fields allows partial responses to be retrieved. See
32042// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32043// for more information.
32044func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
32045	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32046	return c
32047}
32048
32049// IfNoneMatch sets the optional parameter which makes the operation
32050// fail if the object's ETag matches the given value. This is useful for
32051// getting updates only after the object has changed since the last
32052// request. Use googleapi.IsNotModified to check whether the response
32053// error from Do is the result of In-None-Match.
32054func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
32055	c.ifNoneMatch_ = entityTag
32056	return c
32057}
32058
32059// Context sets the context to be used in this call's Do method. Any
32060// pending HTTP request will be aborted if the provided context is
32061// canceled.
32062func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
32063	c.ctx_ = ctx
32064	return c
32065}
32066
32067// Header returns an http.Header that can be modified by the caller to
32068// add HTTP headers to the request.
32069func (c *FloodlightActivitiesGetCall) Header() http.Header {
32070	if c.header_ == nil {
32071		c.header_ = make(http.Header)
32072	}
32073	return c.header_
32074}
32075
32076func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
32077	reqHeaders := make(http.Header)
32078	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32079	for k, v := range c.header_ {
32080		reqHeaders[k] = v
32081	}
32082	reqHeaders.Set("User-Agent", c.s.userAgent())
32083	if c.ifNoneMatch_ != "" {
32084		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32085	}
32086	var body io.Reader = nil
32087	c.urlParams_.Set("alt", alt)
32088	c.urlParams_.Set("prettyPrint", "false")
32089	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32090	urls += "?" + c.urlParams_.Encode()
32091	req, err := http.NewRequest("GET", urls, body)
32092	if err != nil {
32093		return nil, err
32094	}
32095	req.Header = reqHeaders
32096	googleapi.Expand(req.URL, map[string]string{
32097		"profileId": strconv.FormatInt(c.profileId, 10),
32098		"id":        strconv.FormatInt(c.id, 10),
32099	})
32100	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32101}
32102
32103// Do executes the "dfareporting.floodlightActivities.get" call.
32104// Exactly one of *FloodlightActivity or error will be non-nil. Any
32105// non-2xx status code is an error. Response headers are in either
32106// *FloodlightActivity.ServerResponse.Header or (if a response was
32107// returned at all) in error.(*googleapi.Error).Header. Use
32108// googleapi.IsNotModified to check whether the returned error was
32109// because http.StatusNotModified was returned.
32110func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32111	gensupport.SetOptions(c.urlParams_, opts...)
32112	res, err := c.doRequest("json")
32113	if res != nil && res.StatusCode == http.StatusNotModified {
32114		if res.Body != nil {
32115			res.Body.Close()
32116		}
32117		return nil, &googleapi.Error{
32118			Code:   res.StatusCode,
32119			Header: res.Header,
32120		}
32121	}
32122	if err != nil {
32123		return nil, err
32124	}
32125	defer googleapi.CloseBody(res)
32126	if err := googleapi.CheckResponse(res); err != nil {
32127		return nil, err
32128	}
32129	ret := &FloodlightActivity{
32130		ServerResponse: googleapi.ServerResponse{
32131			Header:         res.Header,
32132			HTTPStatusCode: res.StatusCode,
32133		},
32134	}
32135	target := &ret
32136	if err := gensupport.DecodeResponse(target, res); err != nil {
32137		return nil, err
32138	}
32139	return ret, nil
32140	// {
32141	//   "description": "Gets one floodlight activity by ID.",
32142	//   "flatPath": "userprofiles/{profileId}/floodlightActivities/{id}",
32143	//   "httpMethod": "GET",
32144	//   "id": "dfareporting.floodlightActivities.get",
32145	//   "parameterOrder": [
32146	//     "profileId",
32147	//     "id"
32148	//   ],
32149	//   "parameters": {
32150	//     "id": {
32151	//       "description": "Floodlight activity ID.",
32152	//       "format": "int64",
32153	//       "location": "path",
32154	//       "required": true,
32155	//       "type": "string"
32156	//     },
32157	//     "profileId": {
32158	//       "description": "User profile ID associated with this request.",
32159	//       "format": "int64",
32160	//       "location": "path",
32161	//       "required": true,
32162	//       "type": "string"
32163	//     }
32164	//   },
32165	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32166	//   "response": {
32167	//     "$ref": "FloodlightActivity"
32168	//   },
32169	//   "scopes": [
32170	//     "https://www.googleapis.com/auth/dfatrafficking"
32171	//   ]
32172	// }
32173
32174}
32175
32176// method id "dfareporting.floodlightActivities.insert":
32177
32178type FloodlightActivitiesInsertCall struct {
32179	s                  *Service
32180	profileId          int64
32181	floodlightactivity *FloodlightActivity
32182	urlParams_         gensupport.URLParams
32183	ctx_               context.Context
32184	header_            http.Header
32185}
32186
32187// Insert: Inserts a new floodlight activity.
32188func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
32189	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32190	c.profileId = profileId
32191	c.floodlightactivity = floodlightactivity
32192	return c
32193}
32194
32195// Fields allows partial responses to be retrieved. See
32196// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32197// for more information.
32198func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
32199	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32200	return c
32201}
32202
32203// Context sets the context to be used in this call's Do method. Any
32204// pending HTTP request will be aborted if the provided context is
32205// canceled.
32206func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
32207	c.ctx_ = ctx
32208	return c
32209}
32210
32211// Header returns an http.Header that can be modified by the caller to
32212// add HTTP headers to the request.
32213func (c *FloodlightActivitiesInsertCall) Header() http.Header {
32214	if c.header_ == nil {
32215		c.header_ = make(http.Header)
32216	}
32217	return c.header_
32218}
32219
32220func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
32221	reqHeaders := make(http.Header)
32222	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32223	for k, v := range c.header_ {
32224		reqHeaders[k] = v
32225	}
32226	reqHeaders.Set("User-Agent", c.s.userAgent())
32227	var body io.Reader = nil
32228	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32229	if err != nil {
32230		return nil, err
32231	}
32232	reqHeaders.Set("Content-Type", "application/json")
32233	c.urlParams_.Set("alt", alt)
32234	c.urlParams_.Set("prettyPrint", "false")
32235	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32236	urls += "?" + c.urlParams_.Encode()
32237	req, err := http.NewRequest("POST", urls, body)
32238	if err != nil {
32239		return nil, err
32240	}
32241	req.Header = reqHeaders
32242	googleapi.Expand(req.URL, map[string]string{
32243		"profileId": strconv.FormatInt(c.profileId, 10),
32244	})
32245	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32246}
32247
32248// Do executes the "dfareporting.floodlightActivities.insert" call.
32249// Exactly one of *FloodlightActivity or error will be non-nil. Any
32250// non-2xx status code is an error. Response headers are in either
32251// *FloodlightActivity.ServerResponse.Header or (if a response was
32252// returned at all) in error.(*googleapi.Error).Header. Use
32253// googleapi.IsNotModified to check whether the returned error was
32254// because http.StatusNotModified was returned.
32255func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32256	gensupport.SetOptions(c.urlParams_, opts...)
32257	res, err := c.doRequest("json")
32258	if res != nil && res.StatusCode == http.StatusNotModified {
32259		if res.Body != nil {
32260			res.Body.Close()
32261		}
32262		return nil, &googleapi.Error{
32263			Code:   res.StatusCode,
32264			Header: res.Header,
32265		}
32266	}
32267	if err != nil {
32268		return nil, err
32269	}
32270	defer googleapi.CloseBody(res)
32271	if err := googleapi.CheckResponse(res); err != nil {
32272		return nil, err
32273	}
32274	ret := &FloodlightActivity{
32275		ServerResponse: googleapi.ServerResponse{
32276			Header:         res.Header,
32277			HTTPStatusCode: res.StatusCode,
32278		},
32279	}
32280	target := &ret
32281	if err := gensupport.DecodeResponse(target, res); err != nil {
32282		return nil, err
32283	}
32284	return ret, nil
32285	// {
32286	//   "description": "Inserts a new floodlight activity.",
32287	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32288	//   "httpMethod": "POST",
32289	//   "id": "dfareporting.floodlightActivities.insert",
32290	//   "parameterOrder": [
32291	//     "profileId"
32292	//   ],
32293	//   "parameters": {
32294	//     "profileId": {
32295	//       "description": "User profile ID associated with this request.",
32296	//       "format": "int64",
32297	//       "location": "path",
32298	//       "required": true,
32299	//       "type": "string"
32300	//     }
32301	//   },
32302	//   "path": "userprofiles/{profileId}/floodlightActivities",
32303	//   "request": {
32304	//     "$ref": "FloodlightActivity"
32305	//   },
32306	//   "response": {
32307	//     "$ref": "FloodlightActivity"
32308	//   },
32309	//   "scopes": [
32310	//     "https://www.googleapis.com/auth/dfatrafficking"
32311	//   ]
32312	// }
32313
32314}
32315
32316// method id "dfareporting.floodlightActivities.list":
32317
32318type FloodlightActivitiesListCall struct {
32319	s            *Service
32320	profileId    int64
32321	urlParams_   gensupport.URLParams
32322	ifNoneMatch_ string
32323	ctx_         context.Context
32324	header_      http.Header
32325}
32326
32327// List: Retrieves a list of floodlight activities, possibly filtered.
32328// This method supports paging.
32329func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
32330	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32331	c.profileId = profileId
32332	return c
32333}
32334
32335// AdvertiserId sets the optional parameter "advertiserId": Select only
32336// floodlight activities for the specified advertiser ID. Must specify
32337// either ids, advertiserId, or floodlightConfigurationId for a
32338// non-empty result.
32339func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
32340	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32341	return c
32342}
32343
32344// FloodlightActivityGroupIds sets the optional parameter
32345// "floodlightActivityGroupIds": Select only floodlight activities with
32346// the specified floodlight activity group IDs.
32347func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
32348	var floodlightActivityGroupIds_ []string
32349	for _, v := range floodlightActivityGroupIds {
32350		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
32351	}
32352	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
32353	return c
32354}
32355
32356// FloodlightActivityGroupName sets the optional parameter
32357// "floodlightActivityGroupName": Select only floodlight activities with
32358// the specified floodlight activity group name.
32359func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
32360	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
32361	return c
32362}
32363
32364// FloodlightActivityGroupTagString sets the optional parameter
32365// "floodlightActivityGroupTagString": Select only floodlight activities
32366// with the specified floodlight activity group tag string.
32367func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
32368	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
32369	return c
32370}
32371
32372// FloodlightActivityGroupType sets the optional parameter
32373// "floodlightActivityGroupType": Select only floodlight activities with
32374// the specified floodlight activity group type.
32375//
32376// Possible values:
32377//   "COUNTER"
32378//   "SALE"
32379func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
32380	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
32381	return c
32382}
32383
32384// FloodlightConfigurationId sets the optional parameter
32385// "floodlightConfigurationId": Select only floodlight activities for
32386// the specified floodlight configuration ID. Must specify either ids,
32387// advertiserId, or floodlightConfigurationId for a non-empty result.
32388func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
32389	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
32390	return c
32391}
32392
32393// Ids sets the optional parameter "ids": Select only floodlight
32394// activities with the specified IDs. Must specify either ids,
32395// advertiserId, or floodlightConfigurationId for a non-empty result.
32396func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
32397	var ids_ []string
32398	for _, v := range ids {
32399		ids_ = append(ids_, fmt.Sprint(v))
32400	}
32401	c.urlParams_.SetMulti("ids", ids_)
32402	return c
32403}
32404
32405// MaxResults sets the optional parameter "maxResults": Maximum number
32406// of results to return.
32407func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
32408	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32409	return c
32410}
32411
32412// PageToken sets the optional parameter "pageToken": Value of the
32413// nextPageToken from the previous result page.
32414func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
32415	c.urlParams_.Set("pageToken", pageToken)
32416	return c
32417}
32418
32419// SearchString sets the optional parameter "searchString": Allows
32420// searching for objects by name or ID. Wildcards (*) are allowed. For
32421// example, "floodlightactivity*2015" will return objects with names
32422// like "floodlightactivity June 2015", "floodlightactivity April 2015",
32423// or simply "floodlightactivity 2015". Most of the searches also add
32424// wildcards implicitly at the start and the end of the search string.
32425// For example, a search string of "floodlightactivity" will match
32426// objects with name "my floodlightactivity activity",
32427// "floodlightactivity 2015", or simply "floodlightactivity".
32428func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
32429	c.urlParams_.Set("searchString", searchString)
32430	return c
32431}
32432
32433// SortField sets the optional parameter "sortField": Field by which to
32434// sort the list.
32435//
32436// Possible values:
32437//   "ID" (default)
32438//   "NAME"
32439func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
32440	c.urlParams_.Set("sortField", sortField)
32441	return c
32442}
32443
32444// SortOrder sets the optional parameter "sortOrder": Order of sorted
32445// results.
32446//
32447// Possible values:
32448//   "ASCENDING" (default)
32449//   "DESCENDING"
32450func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
32451	c.urlParams_.Set("sortOrder", sortOrder)
32452	return c
32453}
32454
32455// TagString sets the optional parameter "tagString": Select only
32456// floodlight activities with the specified tag string.
32457func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
32458	c.urlParams_.Set("tagString", tagString)
32459	return c
32460}
32461
32462// Fields allows partial responses to be retrieved. See
32463// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32464// for more information.
32465func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
32466	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32467	return c
32468}
32469
32470// IfNoneMatch sets the optional parameter which makes the operation
32471// fail if the object's ETag matches the given value. This is useful for
32472// getting updates only after the object has changed since the last
32473// request. Use googleapi.IsNotModified to check whether the response
32474// error from Do is the result of In-None-Match.
32475func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
32476	c.ifNoneMatch_ = entityTag
32477	return c
32478}
32479
32480// Context sets the context to be used in this call's Do method. Any
32481// pending HTTP request will be aborted if the provided context is
32482// canceled.
32483func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
32484	c.ctx_ = ctx
32485	return c
32486}
32487
32488// Header returns an http.Header that can be modified by the caller to
32489// add HTTP headers to the request.
32490func (c *FloodlightActivitiesListCall) Header() http.Header {
32491	if c.header_ == nil {
32492		c.header_ = make(http.Header)
32493	}
32494	return c.header_
32495}
32496
32497func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
32498	reqHeaders := make(http.Header)
32499	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32500	for k, v := range c.header_ {
32501		reqHeaders[k] = v
32502	}
32503	reqHeaders.Set("User-Agent", c.s.userAgent())
32504	if c.ifNoneMatch_ != "" {
32505		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32506	}
32507	var body io.Reader = nil
32508	c.urlParams_.Set("alt", alt)
32509	c.urlParams_.Set("prettyPrint", "false")
32510	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32511	urls += "?" + c.urlParams_.Encode()
32512	req, err := http.NewRequest("GET", urls, body)
32513	if err != nil {
32514		return nil, err
32515	}
32516	req.Header = reqHeaders
32517	googleapi.Expand(req.URL, map[string]string{
32518		"profileId": strconv.FormatInt(c.profileId, 10),
32519	})
32520	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32521}
32522
32523// Do executes the "dfareporting.floodlightActivities.list" call.
32524// Exactly one of *FloodlightActivitiesListResponse or error will be
32525// non-nil. Any non-2xx status code is an error. Response headers are in
32526// either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
32527// a response was returned at all) in error.(*googleapi.Error).Header.
32528// Use googleapi.IsNotModified to check whether the returned error was
32529// because http.StatusNotModified was returned.
32530func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
32531	gensupport.SetOptions(c.urlParams_, opts...)
32532	res, err := c.doRequest("json")
32533	if res != nil && res.StatusCode == http.StatusNotModified {
32534		if res.Body != nil {
32535			res.Body.Close()
32536		}
32537		return nil, &googleapi.Error{
32538			Code:   res.StatusCode,
32539			Header: res.Header,
32540		}
32541	}
32542	if err != nil {
32543		return nil, err
32544	}
32545	defer googleapi.CloseBody(res)
32546	if err := googleapi.CheckResponse(res); err != nil {
32547		return nil, err
32548	}
32549	ret := &FloodlightActivitiesListResponse{
32550		ServerResponse: googleapi.ServerResponse{
32551			Header:         res.Header,
32552			HTTPStatusCode: res.StatusCode,
32553		},
32554	}
32555	target := &ret
32556	if err := gensupport.DecodeResponse(target, res); err != nil {
32557		return nil, err
32558	}
32559	return ret, nil
32560	// {
32561	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
32562	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32563	//   "httpMethod": "GET",
32564	//   "id": "dfareporting.floodlightActivities.list",
32565	//   "parameterOrder": [
32566	//     "profileId"
32567	//   ],
32568	//   "parameters": {
32569	//     "advertiserId": {
32570	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32571	//       "format": "int64",
32572	//       "location": "query",
32573	//       "type": "string"
32574	//     },
32575	//     "floodlightActivityGroupIds": {
32576	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
32577	//       "format": "int64",
32578	//       "location": "query",
32579	//       "repeated": true,
32580	//       "type": "string"
32581	//     },
32582	//     "floodlightActivityGroupName": {
32583	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
32584	//       "location": "query",
32585	//       "type": "string"
32586	//     },
32587	//     "floodlightActivityGroupTagString": {
32588	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
32589	//       "location": "query",
32590	//       "type": "string"
32591	//     },
32592	//     "floodlightActivityGroupType": {
32593	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
32594	//       "enum": [
32595	//         "COUNTER",
32596	//         "SALE"
32597	//       ],
32598	//       "enumDescriptions": [
32599	//         "",
32600	//         ""
32601	//       ],
32602	//       "location": "query",
32603	//       "type": "string"
32604	//     },
32605	//     "floodlightConfigurationId": {
32606	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32607	//       "format": "int64",
32608	//       "location": "query",
32609	//       "type": "string"
32610	//     },
32611	//     "ids": {
32612	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
32613	//       "format": "int64",
32614	//       "location": "query",
32615	//       "repeated": true,
32616	//       "type": "string"
32617	//     },
32618	//     "maxResults": {
32619	//       "default": "1000",
32620	//       "description": "Maximum number of results to return.",
32621	//       "format": "int32",
32622	//       "location": "query",
32623	//       "maximum": "1000",
32624	//       "minimum": "0",
32625	//       "type": "integer"
32626	//     },
32627	//     "pageToken": {
32628	//       "description": "Value of the nextPageToken from the previous result page.",
32629	//       "location": "query",
32630	//       "type": "string"
32631	//     },
32632	//     "profileId": {
32633	//       "description": "User profile ID associated with this request.",
32634	//       "format": "int64",
32635	//       "location": "path",
32636	//       "required": true,
32637	//       "type": "string"
32638	//     },
32639	//     "searchString": {
32640	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivity*2015\" will return objects with names like \"floodlightactivity June 2015\", \"floodlightactivity April 2015\", or simply \"floodlightactivity 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivity\" will match objects with name \"my floodlightactivity activity\", \"floodlightactivity 2015\", or simply \"floodlightactivity\".",
32641	//       "location": "query",
32642	//       "type": "string"
32643	//     },
32644	//     "sortField": {
32645	//       "default": "ID",
32646	//       "description": "Field by which to sort the list.",
32647	//       "enum": [
32648	//         "ID",
32649	//         "NAME"
32650	//       ],
32651	//       "enumDescriptions": [
32652	//         "",
32653	//         ""
32654	//       ],
32655	//       "location": "query",
32656	//       "type": "string"
32657	//     },
32658	//     "sortOrder": {
32659	//       "default": "ASCENDING",
32660	//       "description": "Order of sorted results.",
32661	//       "enum": [
32662	//         "ASCENDING",
32663	//         "DESCENDING"
32664	//       ],
32665	//       "enumDescriptions": [
32666	//         "",
32667	//         ""
32668	//       ],
32669	//       "location": "query",
32670	//       "type": "string"
32671	//     },
32672	//     "tagString": {
32673	//       "description": "Select only floodlight activities with the specified tag string.",
32674	//       "location": "query",
32675	//       "type": "string"
32676	//     }
32677	//   },
32678	//   "path": "userprofiles/{profileId}/floodlightActivities",
32679	//   "response": {
32680	//     "$ref": "FloodlightActivitiesListResponse"
32681	//   },
32682	//   "scopes": [
32683	//     "https://www.googleapis.com/auth/dfatrafficking"
32684	//   ]
32685	// }
32686
32687}
32688
32689// Pages invokes f for each page of results.
32690// A non-nil error returned from f will halt the iteration.
32691// The provided context supersedes any context provided to the Context method.
32692func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
32693	c.ctx_ = ctx
32694	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32695	for {
32696		x, err := c.Do()
32697		if err != nil {
32698			return err
32699		}
32700		if err := f(x); err != nil {
32701			return err
32702		}
32703		if x.NextPageToken == "" {
32704			return nil
32705		}
32706		c.PageToken(x.NextPageToken)
32707	}
32708}
32709
32710// method id "dfareporting.floodlightActivities.patch":
32711
32712type FloodlightActivitiesPatchCall struct {
32713	s                  *Service
32714	profileId          int64
32715	floodlightactivity *FloodlightActivity
32716	urlParams_         gensupport.URLParams
32717	ctx_               context.Context
32718	header_            http.Header
32719}
32720
32721// Patch: Updates an existing floodlight activity. This method supports
32722// patch semantics.
32723func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
32724	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32725	c.profileId = profileId
32726	c.urlParams_.Set("id", fmt.Sprint(id))
32727	c.floodlightactivity = floodlightactivity
32728	return c
32729}
32730
32731// Fields allows partial responses to be retrieved. See
32732// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32733// for more information.
32734func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
32735	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32736	return c
32737}
32738
32739// Context sets the context to be used in this call's Do method. Any
32740// pending HTTP request will be aborted if the provided context is
32741// canceled.
32742func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
32743	c.ctx_ = ctx
32744	return c
32745}
32746
32747// Header returns an http.Header that can be modified by the caller to
32748// add HTTP headers to the request.
32749func (c *FloodlightActivitiesPatchCall) Header() http.Header {
32750	if c.header_ == nil {
32751		c.header_ = make(http.Header)
32752	}
32753	return c.header_
32754}
32755
32756func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
32757	reqHeaders := make(http.Header)
32758	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32759	for k, v := range c.header_ {
32760		reqHeaders[k] = v
32761	}
32762	reqHeaders.Set("User-Agent", c.s.userAgent())
32763	var body io.Reader = nil
32764	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32765	if err != nil {
32766		return nil, err
32767	}
32768	reqHeaders.Set("Content-Type", "application/json")
32769	c.urlParams_.Set("alt", alt)
32770	c.urlParams_.Set("prettyPrint", "false")
32771	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32772	urls += "?" + c.urlParams_.Encode()
32773	req, err := http.NewRequest("PATCH", urls, body)
32774	if err != nil {
32775		return nil, err
32776	}
32777	req.Header = reqHeaders
32778	googleapi.Expand(req.URL, map[string]string{
32779		"profileId": strconv.FormatInt(c.profileId, 10),
32780	})
32781	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32782}
32783
32784// Do executes the "dfareporting.floodlightActivities.patch" call.
32785// Exactly one of *FloodlightActivity or error will be non-nil. Any
32786// non-2xx status code is an error. Response headers are in either
32787// *FloodlightActivity.ServerResponse.Header or (if a response was
32788// returned at all) in error.(*googleapi.Error).Header. Use
32789// googleapi.IsNotModified to check whether the returned error was
32790// because http.StatusNotModified was returned.
32791func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32792	gensupport.SetOptions(c.urlParams_, opts...)
32793	res, err := c.doRequest("json")
32794	if res != nil && res.StatusCode == http.StatusNotModified {
32795		if res.Body != nil {
32796			res.Body.Close()
32797		}
32798		return nil, &googleapi.Error{
32799			Code:   res.StatusCode,
32800			Header: res.Header,
32801		}
32802	}
32803	if err != nil {
32804		return nil, err
32805	}
32806	defer googleapi.CloseBody(res)
32807	if err := googleapi.CheckResponse(res); err != nil {
32808		return nil, err
32809	}
32810	ret := &FloodlightActivity{
32811		ServerResponse: googleapi.ServerResponse{
32812			Header:         res.Header,
32813			HTTPStatusCode: res.StatusCode,
32814		},
32815	}
32816	target := &ret
32817	if err := gensupport.DecodeResponse(target, res); err != nil {
32818		return nil, err
32819	}
32820	return ret, nil
32821	// {
32822	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
32823	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32824	//   "httpMethod": "PATCH",
32825	//   "id": "dfareporting.floodlightActivities.patch",
32826	//   "parameterOrder": [
32827	//     "profileId",
32828	//     "id"
32829	//   ],
32830	//   "parameters": {
32831	//     "id": {
32832	//       "description": "FloodlightActivity ID.",
32833	//       "format": "int64",
32834	//       "location": "query",
32835	//       "required": true,
32836	//       "type": "string"
32837	//     },
32838	//     "profileId": {
32839	//       "description": "User profile ID associated with this request.",
32840	//       "format": "int64",
32841	//       "location": "path",
32842	//       "required": true,
32843	//       "type": "string"
32844	//     }
32845	//   },
32846	//   "path": "userprofiles/{profileId}/floodlightActivities",
32847	//   "request": {
32848	//     "$ref": "FloodlightActivity"
32849	//   },
32850	//   "response": {
32851	//     "$ref": "FloodlightActivity"
32852	//   },
32853	//   "scopes": [
32854	//     "https://www.googleapis.com/auth/dfatrafficking"
32855	//   ]
32856	// }
32857
32858}
32859
32860// method id "dfareporting.floodlightActivities.update":
32861
32862type FloodlightActivitiesUpdateCall struct {
32863	s                  *Service
32864	profileId          int64
32865	floodlightactivity *FloodlightActivity
32866	urlParams_         gensupport.URLParams
32867	ctx_               context.Context
32868	header_            http.Header
32869}
32870
32871// Update: Updates an existing floodlight activity.
32872func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
32873	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32874	c.profileId = profileId
32875	c.floodlightactivity = floodlightactivity
32876	return c
32877}
32878
32879// Fields allows partial responses to be retrieved. See
32880// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32881// for more information.
32882func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
32883	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32884	return c
32885}
32886
32887// Context sets the context to be used in this call's Do method. Any
32888// pending HTTP request will be aborted if the provided context is
32889// canceled.
32890func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
32891	c.ctx_ = ctx
32892	return c
32893}
32894
32895// Header returns an http.Header that can be modified by the caller to
32896// add HTTP headers to the request.
32897func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
32898	if c.header_ == nil {
32899		c.header_ = make(http.Header)
32900	}
32901	return c.header_
32902}
32903
32904func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
32905	reqHeaders := make(http.Header)
32906	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
32907	for k, v := range c.header_ {
32908		reqHeaders[k] = v
32909	}
32910	reqHeaders.Set("User-Agent", c.s.userAgent())
32911	var body io.Reader = nil
32912	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32913	if err != nil {
32914		return nil, err
32915	}
32916	reqHeaders.Set("Content-Type", "application/json")
32917	c.urlParams_.Set("alt", alt)
32918	c.urlParams_.Set("prettyPrint", "false")
32919	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32920	urls += "?" + c.urlParams_.Encode()
32921	req, err := http.NewRequest("PUT", urls, body)
32922	if err != nil {
32923		return nil, err
32924	}
32925	req.Header = reqHeaders
32926	googleapi.Expand(req.URL, map[string]string{
32927		"profileId": strconv.FormatInt(c.profileId, 10),
32928	})
32929	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32930}
32931
32932// Do executes the "dfareporting.floodlightActivities.update" call.
32933// Exactly one of *FloodlightActivity or error will be non-nil. Any
32934// non-2xx status code is an error. Response headers are in either
32935// *FloodlightActivity.ServerResponse.Header or (if a response was
32936// returned at all) in error.(*googleapi.Error).Header. Use
32937// googleapi.IsNotModified to check whether the returned error was
32938// because http.StatusNotModified was returned.
32939func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32940	gensupport.SetOptions(c.urlParams_, opts...)
32941	res, err := c.doRequest("json")
32942	if res != nil && res.StatusCode == http.StatusNotModified {
32943		if res.Body != nil {
32944			res.Body.Close()
32945		}
32946		return nil, &googleapi.Error{
32947			Code:   res.StatusCode,
32948			Header: res.Header,
32949		}
32950	}
32951	if err != nil {
32952		return nil, err
32953	}
32954	defer googleapi.CloseBody(res)
32955	if err := googleapi.CheckResponse(res); err != nil {
32956		return nil, err
32957	}
32958	ret := &FloodlightActivity{
32959		ServerResponse: googleapi.ServerResponse{
32960			Header:         res.Header,
32961			HTTPStatusCode: res.StatusCode,
32962		},
32963	}
32964	target := &ret
32965	if err := gensupport.DecodeResponse(target, res); err != nil {
32966		return nil, err
32967	}
32968	return ret, nil
32969	// {
32970	//   "description": "Updates an existing floodlight activity.",
32971	//   "flatPath": "userprofiles/{profileId}/floodlightActivities",
32972	//   "httpMethod": "PUT",
32973	//   "id": "dfareporting.floodlightActivities.update",
32974	//   "parameterOrder": [
32975	//     "profileId"
32976	//   ],
32977	//   "parameters": {
32978	//     "profileId": {
32979	//       "description": "User profile ID associated with this request.",
32980	//       "format": "int64",
32981	//       "location": "path",
32982	//       "required": true,
32983	//       "type": "string"
32984	//     }
32985	//   },
32986	//   "path": "userprofiles/{profileId}/floodlightActivities",
32987	//   "request": {
32988	//     "$ref": "FloodlightActivity"
32989	//   },
32990	//   "response": {
32991	//     "$ref": "FloodlightActivity"
32992	//   },
32993	//   "scopes": [
32994	//     "https://www.googleapis.com/auth/dfatrafficking"
32995	//   ]
32996	// }
32997
32998}
32999
33000// method id "dfareporting.floodlightActivityGroups.get":
33001
33002type FloodlightActivityGroupsGetCall struct {
33003	s            *Service
33004	profileId    int64
33005	id           int64
33006	urlParams_   gensupport.URLParams
33007	ifNoneMatch_ string
33008	ctx_         context.Context
33009	header_      http.Header
33010}
33011
33012// Get: Gets one floodlight activity group by ID.
33013func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
33014	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33015	c.profileId = profileId
33016	c.id = id
33017	return c
33018}
33019
33020// Fields allows partial responses to be retrieved. See
33021// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33022// for more information.
33023func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
33024	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33025	return c
33026}
33027
33028// IfNoneMatch sets the optional parameter which makes the operation
33029// fail if the object's ETag matches the given value. This is useful for
33030// getting updates only after the object has changed since the last
33031// request. Use googleapi.IsNotModified to check whether the response
33032// error from Do is the result of In-None-Match.
33033func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
33034	c.ifNoneMatch_ = entityTag
33035	return c
33036}
33037
33038// Context sets the context to be used in this call's Do method. Any
33039// pending HTTP request will be aborted if the provided context is
33040// canceled.
33041func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
33042	c.ctx_ = ctx
33043	return c
33044}
33045
33046// Header returns an http.Header that can be modified by the caller to
33047// add HTTP headers to the request.
33048func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
33049	if c.header_ == nil {
33050		c.header_ = make(http.Header)
33051	}
33052	return c.header_
33053}
33054
33055func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
33056	reqHeaders := make(http.Header)
33057	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33058	for k, v := range c.header_ {
33059		reqHeaders[k] = v
33060	}
33061	reqHeaders.Set("User-Agent", c.s.userAgent())
33062	if c.ifNoneMatch_ != "" {
33063		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33064	}
33065	var body io.Reader = nil
33066	c.urlParams_.Set("alt", alt)
33067	c.urlParams_.Set("prettyPrint", "false")
33068	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
33069	urls += "?" + c.urlParams_.Encode()
33070	req, err := http.NewRequest("GET", urls, body)
33071	if err != nil {
33072		return nil, err
33073	}
33074	req.Header = reqHeaders
33075	googleapi.Expand(req.URL, map[string]string{
33076		"profileId": strconv.FormatInt(c.profileId, 10),
33077		"id":        strconv.FormatInt(c.id, 10),
33078	})
33079	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33080}
33081
33082// Do executes the "dfareporting.floodlightActivityGroups.get" call.
33083// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33084// non-2xx status code is an error. Response headers are in either
33085// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33086// returned at all) in error.(*googleapi.Error).Header. Use
33087// googleapi.IsNotModified to check whether the returned error was
33088// because http.StatusNotModified was returned.
33089func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33090	gensupport.SetOptions(c.urlParams_, opts...)
33091	res, err := c.doRequest("json")
33092	if res != nil && res.StatusCode == http.StatusNotModified {
33093		if res.Body != nil {
33094			res.Body.Close()
33095		}
33096		return nil, &googleapi.Error{
33097			Code:   res.StatusCode,
33098			Header: res.Header,
33099		}
33100	}
33101	if err != nil {
33102		return nil, err
33103	}
33104	defer googleapi.CloseBody(res)
33105	if err := googleapi.CheckResponse(res); err != nil {
33106		return nil, err
33107	}
33108	ret := &FloodlightActivityGroup{
33109		ServerResponse: googleapi.ServerResponse{
33110			Header:         res.Header,
33111			HTTPStatusCode: res.StatusCode,
33112		},
33113	}
33114	target := &ret
33115	if err := gensupport.DecodeResponse(target, res); err != nil {
33116		return nil, err
33117	}
33118	return ret, nil
33119	// {
33120	//   "description": "Gets one floodlight activity group by ID.",
33121	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33122	//   "httpMethod": "GET",
33123	//   "id": "dfareporting.floodlightActivityGroups.get",
33124	//   "parameterOrder": [
33125	//     "profileId",
33126	//     "id"
33127	//   ],
33128	//   "parameters": {
33129	//     "id": {
33130	//       "description": "Floodlight activity Group ID.",
33131	//       "format": "int64",
33132	//       "location": "path",
33133	//       "required": true,
33134	//       "type": "string"
33135	//     },
33136	//     "profileId": {
33137	//       "description": "User profile ID associated with this request.",
33138	//       "format": "int64",
33139	//       "location": "path",
33140	//       "required": true,
33141	//       "type": "string"
33142	//     }
33143	//   },
33144	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33145	//   "response": {
33146	//     "$ref": "FloodlightActivityGroup"
33147	//   },
33148	//   "scopes": [
33149	//     "https://www.googleapis.com/auth/dfatrafficking"
33150	//   ]
33151	// }
33152
33153}
33154
33155// method id "dfareporting.floodlightActivityGroups.insert":
33156
33157type FloodlightActivityGroupsInsertCall struct {
33158	s                       *Service
33159	profileId               int64
33160	floodlightactivitygroup *FloodlightActivityGroup
33161	urlParams_              gensupport.URLParams
33162	ctx_                    context.Context
33163	header_                 http.Header
33164}
33165
33166// Insert: Inserts a new floodlight activity group.
33167func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
33168	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33169	c.profileId = profileId
33170	c.floodlightactivitygroup = floodlightactivitygroup
33171	return c
33172}
33173
33174// Fields allows partial responses to be retrieved. See
33175// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33176// for more information.
33177func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
33178	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33179	return c
33180}
33181
33182// Context sets the context to be used in this call's Do method. Any
33183// pending HTTP request will be aborted if the provided context is
33184// canceled.
33185func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
33186	c.ctx_ = ctx
33187	return c
33188}
33189
33190// Header returns an http.Header that can be modified by the caller to
33191// add HTTP headers to the request.
33192func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
33193	if c.header_ == nil {
33194		c.header_ = make(http.Header)
33195	}
33196	return c.header_
33197}
33198
33199func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
33200	reqHeaders := make(http.Header)
33201	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33202	for k, v := range c.header_ {
33203		reqHeaders[k] = v
33204	}
33205	reqHeaders.Set("User-Agent", c.s.userAgent())
33206	var body io.Reader = nil
33207	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33208	if err != nil {
33209		return nil, err
33210	}
33211	reqHeaders.Set("Content-Type", "application/json")
33212	c.urlParams_.Set("alt", alt)
33213	c.urlParams_.Set("prettyPrint", "false")
33214	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33215	urls += "?" + c.urlParams_.Encode()
33216	req, err := http.NewRequest("POST", urls, body)
33217	if err != nil {
33218		return nil, err
33219	}
33220	req.Header = reqHeaders
33221	googleapi.Expand(req.URL, map[string]string{
33222		"profileId": strconv.FormatInt(c.profileId, 10),
33223	})
33224	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33225}
33226
33227// Do executes the "dfareporting.floodlightActivityGroups.insert" call.
33228// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33229// non-2xx status code is an error. Response headers are in either
33230// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33231// returned at all) in error.(*googleapi.Error).Header. Use
33232// googleapi.IsNotModified to check whether the returned error was
33233// because http.StatusNotModified was returned.
33234func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33235	gensupport.SetOptions(c.urlParams_, opts...)
33236	res, err := c.doRequest("json")
33237	if res != nil && res.StatusCode == http.StatusNotModified {
33238		if res.Body != nil {
33239			res.Body.Close()
33240		}
33241		return nil, &googleapi.Error{
33242			Code:   res.StatusCode,
33243			Header: res.Header,
33244		}
33245	}
33246	if err != nil {
33247		return nil, err
33248	}
33249	defer googleapi.CloseBody(res)
33250	if err := googleapi.CheckResponse(res); err != nil {
33251		return nil, err
33252	}
33253	ret := &FloodlightActivityGroup{
33254		ServerResponse: googleapi.ServerResponse{
33255			Header:         res.Header,
33256			HTTPStatusCode: res.StatusCode,
33257		},
33258	}
33259	target := &ret
33260	if err := gensupport.DecodeResponse(target, res); err != nil {
33261		return nil, err
33262	}
33263	return ret, nil
33264	// {
33265	//   "description": "Inserts a new floodlight activity group.",
33266	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33267	//   "httpMethod": "POST",
33268	//   "id": "dfareporting.floodlightActivityGroups.insert",
33269	//   "parameterOrder": [
33270	//     "profileId"
33271	//   ],
33272	//   "parameters": {
33273	//     "profileId": {
33274	//       "description": "User profile ID associated with this request.",
33275	//       "format": "int64",
33276	//       "location": "path",
33277	//       "required": true,
33278	//       "type": "string"
33279	//     }
33280	//   },
33281	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33282	//   "request": {
33283	//     "$ref": "FloodlightActivityGroup"
33284	//   },
33285	//   "response": {
33286	//     "$ref": "FloodlightActivityGroup"
33287	//   },
33288	//   "scopes": [
33289	//     "https://www.googleapis.com/auth/dfatrafficking"
33290	//   ]
33291	// }
33292
33293}
33294
33295// method id "dfareporting.floodlightActivityGroups.list":
33296
33297type FloodlightActivityGroupsListCall struct {
33298	s            *Service
33299	profileId    int64
33300	urlParams_   gensupport.URLParams
33301	ifNoneMatch_ string
33302	ctx_         context.Context
33303	header_      http.Header
33304}
33305
33306// List: Retrieves a list of floodlight activity groups, possibly
33307// filtered. This method supports paging.
33308func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
33309	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33310	c.profileId = profileId
33311	return c
33312}
33313
33314// AdvertiserId sets the optional parameter "advertiserId": Select only
33315// floodlight activity groups with the specified advertiser ID. Must
33316// specify either advertiserId or floodlightConfigurationId for a
33317// non-empty result.
33318func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
33319	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33320	return c
33321}
33322
33323// FloodlightConfigurationId sets the optional parameter
33324// "floodlightConfigurationId": Select only floodlight activity groups
33325// with the specified floodlight configuration ID. Must specify either
33326// advertiserId, or floodlightConfigurationId for a non-empty result.
33327func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
33328	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
33329	return c
33330}
33331
33332// Ids sets the optional parameter "ids": Select only floodlight
33333// activity groups with the specified IDs. Must specify either
33334// advertiserId or floodlightConfigurationId for a non-empty result.
33335func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
33336	var ids_ []string
33337	for _, v := range ids {
33338		ids_ = append(ids_, fmt.Sprint(v))
33339	}
33340	c.urlParams_.SetMulti("ids", ids_)
33341	return c
33342}
33343
33344// MaxResults sets the optional parameter "maxResults": Maximum number
33345// of results to return.
33346func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
33347	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
33348	return c
33349}
33350
33351// PageToken sets the optional parameter "pageToken": Value of the
33352// nextPageToken from the previous result page.
33353func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
33354	c.urlParams_.Set("pageToken", pageToken)
33355	return c
33356}
33357
33358// SearchString sets the optional parameter "searchString": Allows
33359// searching for objects by name or ID. Wildcards (*) are allowed. For
33360// example, "floodlightactivitygroup*2015" will return objects with
33361// names like "floodlightactivitygroup June 2015",
33362// "floodlightactivitygroup April 2015", or simply
33363// "floodlightactivitygroup 2015". Most of the searches also add
33364// wildcards implicitly at the start and the end of the search string.
33365// For example, a search string of "floodlightactivitygroup" will match
33366// objects with name "my floodlightactivitygroup activity",
33367// "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
33368func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
33369	c.urlParams_.Set("searchString", searchString)
33370	return c
33371}
33372
33373// SortField sets the optional parameter "sortField": Field by which to
33374// sort the list.
33375//
33376// Possible values:
33377//   "ID" (default)
33378//   "NAME"
33379func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
33380	c.urlParams_.Set("sortField", sortField)
33381	return c
33382}
33383
33384// SortOrder sets the optional parameter "sortOrder": Order of sorted
33385// results.
33386//
33387// Possible values:
33388//   "ASCENDING" (default)
33389//   "DESCENDING"
33390func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
33391	c.urlParams_.Set("sortOrder", sortOrder)
33392	return c
33393}
33394
33395// Type sets the optional parameter "type": Select only floodlight
33396// activity groups with the specified floodlight activity group type.
33397//
33398// Possible values:
33399//   "COUNTER"
33400//   "SALE"
33401func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
33402	c.urlParams_.Set("type", type_)
33403	return c
33404}
33405
33406// Fields allows partial responses to be retrieved. See
33407// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33408// for more information.
33409func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
33410	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33411	return c
33412}
33413
33414// IfNoneMatch sets the optional parameter which makes the operation
33415// fail if the object's ETag matches the given value. This is useful for
33416// getting updates only after the object has changed since the last
33417// request. Use googleapi.IsNotModified to check whether the response
33418// error from Do is the result of In-None-Match.
33419func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
33420	c.ifNoneMatch_ = entityTag
33421	return c
33422}
33423
33424// Context sets the context to be used in this call's Do method. Any
33425// pending HTTP request will be aborted if the provided context is
33426// canceled.
33427func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
33428	c.ctx_ = ctx
33429	return c
33430}
33431
33432// Header returns an http.Header that can be modified by the caller to
33433// add HTTP headers to the request.
33434func (c *FloodlightActivityGroupsListCall) Header() http.Header {
33435	if c.header_ == nil {
33436		c.header_ = make(http.Header)
33437	}
33438	return c.header_
33439}
33440
33441func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
33442	reqHeaders := make(http.Header)
33443	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33444	for k, v := range c.header_ {
33445		reqHeaders[k] = v
33446	}
33447	reqHeaders.Set("User-Agent", c.s.userAgent())
33448	if c.ifNoneMatch_ != "" {
33449		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33450	}
33451	var body io.Reader = nil
33452	c.urlParams_.Set("alt", alt)
33453	c.urlParams_.Set("prettyPrint", "false")
33454	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33455	urls += "?" + c.urlParams_.Encode()
33456	req, err := http.NewRequest("GET", urls, body)
33457	if err != nil {
33458		return nil, err
33459	}
33460	req.Header = reqHeaders
33461	googleapi.Expand(req.URL, map[string]string{
33462		"profileId": strconv.FormatInt(c.profileId, 10),
33463	})
33464	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33465}
33466
33467// Do executes the "dfareporting.floodlightActivityGroups.list" call.
33468// Exactly one of *FloodlightActivityGroupsListResponse or error will be
33469// non-nil. Any non-2xx status code is an error. Response headers are in
33470// either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
33471// (if a response was returned at all) in
33472// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
33473// whether the returned error was because http.StatusNotModified was
33474// returned.
33475func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
33476	gensupport.SetOptions(c.urlParams_, opts...)
33477	res, err := c.doRequest("json")
33478	if res != nil && res.StatusCode == http.StatusNotModified {
33479		if res.Body != nil {
33480			res.Body.Close()
33481		}
33482		return nil, &googleapi.Error{
33483			Code:   res.StatusCode,
33484			Header: res.Header,
33485		}
33486	}
33487	if err != nil {
33488		return nil, err
33489	}
33490	defer googleapi.CloseBody(res)
33491	if err := googleapi.CheckResponse(res); err != nil {
33492		return nil, err
33493	}
33494	ret := &FloodlightActivityGroupsListResponse{
33495		ServerResponse: googleapi.ServerResponse{
33496			Header:         res.Header,
33497			HTTPStatusCode: res.StatusCode,
33498		},
33499	}
33500	target := &ret
33501	if err := gensupport.DecodeResponse(target, res); err != nil {
33502		return nil, err
33503	}
33504	return ret, nil
33505	// {
33506	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
33507	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33508	//   "httpMethod": "GET",
33509	//   "id": "dfareporting.floodlightActivityGroups.list",
33510	//   "parameterOrder": [
33511	//     "profileId"
33512	//   ],
33513	//   "parameters": {
33514	//     "advertiserId": {
33515	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33516	//       "format": "int64",
33517	//       "location": "query",
33518	//       "type": "string"
33519	//     },
33520	//     "floodlightConfigurationId": {
33521	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
33522	//       "format": "int64",
33523	//       "location": "query",
33524	//       "type": "string"
33525	//     },
33526	//     "ids": {
33527	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
33528	//       "format": "int64",
33529	//       "location": "query",
33530	//       "repeated": true,
33531	//       "type": "string"
33532	//     },
33533	//     "maxResults": {
33534	//       "default": "1000",
33535	//       "description": "Maximum number of results to return.",
33536	//       "format": "int32",
33537	//       "location": "query",
33538	//       "maximum": "1000",
33539	//       "minimum": "0",
33540	//       "type": "integer"
33541	//     },
33542	//     "pageToken": {
33543	//       "description": "Value of the nextPageToken from the previous result page.",
33544	//       "location": "query",
33545	//       "type": "string"
33546	//     },
33547	//     "profileId": {
33548	//       "description": "User profile ID associated with this request.",
33549	//       "format": "int64",
33550	//       "location": "path",
33551	//       "required": true,
33552	//       "type": "string"
33553	//     },
33554	//     "searchString": {
33555	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivitygroup*2015\" will return objects with names like \"floodlightactivitygroup June 2015\", \"floodlightactivitygroup April 2015\", or simply \"floodlightactivitygroup 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivitygroup\" will match objects with name \"my floodlightactivitygroup activity\", \"floodlightactivitygroup 2015\", or simply \"floodlightactivitygroup\".",
33556	//       "location": "query",
33557	//       "type": "string"
33558	//     },
33559	//     "sortField": {
33560	//       "default": "ID",
33561	//       "description": "Field by which to sort the list.",
33562	//       "enum": [
33563	//         "ID",
33564	//         "NAME"
33565	//       ],
33566	//       "enumDescriptions": [
33567	//         "",
33568	//         ""
33569	//       ],
33570	//       "location": "query",
33571	//       "type": "string"
33572	//     },
33573	//     "sortOrder": {
33574	//       "default": "ASCENDING",
33575	//       "description": "Order of sorted results.",
33576	//       "enum": [
33577	//         "ASCENDING",
33578	//         "DESCENDING"
33579	//       ],
33580	//       "enumDescriptions": [
33581	//         "",
33582	//         ""
33583	//       ],
33584	//       "location": "query",
33585	//       "type": "string"
33586	//     },
33587	//     "type": {
33588	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
33589	//       "enum": [
33590	//         "COUNTER",
33591	//         "SALE"
33592	//       ],
33593	//       "enumDescriptions": [
33594	//         "",
33595	//         ""
33596	//       ],
33597	//       "location": "query",
33598	//       "type": "string"
33599	//     }
33600	//   },
33601	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33602	//   "response": {
33603	//     "$ref": "FloodlightActivityGroupsListResponse"
33604	//   },
33605	//   "scopes": [
33606	//     "https://www.googleapis.com/auth/dfatrafficking"
33607	//   ]
33608	// }
33609
33610}
33611
33612// Pages invokes f for each page of results.
33613// A non-nil error returned from f will halt the iteration.
33614// The provided context supersedes any context provided to the Context method.
33615func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
33616	c.ctx_ = ctx
33617	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33618	for {
33619		x, err := c.Do()
33620		if err != nil {
33621			return err
33622		}
33623		if err := f(x); err != nil {
33624			return err
33625		}
33626		if x.NextPageToken == "" {
33627			return nil
33628		}
33629		c.PageToken(x.NextPageToken)
33630	}
33631}
33632
33633// method id "dfareporting.floodlightActivityGroups.patch":
33634
33635type FloodlightActivityGroupsPatchCall struct {
33636	s                       *Service
33637	profileId               int64
33638	floodlightactivitygroup *FloodlightActivityGroup
33639	urlParams_              gensupport.URLParams
33640	ctx_                    context.Context
33641	header_                 http.Header
33642}
33643
33644// Patch: Updates an existing floodlight activity group. This method
33645// supports patch semantics.
33646func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
33647	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33648	c.profileId = profileId
33649	c.urlParams_.Set("id", fmt.Sprint(id))
33650	c.floodlightactivitygroup = floodlightactivitygroup
33651	return c
33652}
33653
33654// Fields allows partial responses to be retrieved. See
33655// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33656// for more information.
33657func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
33658	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33659	return c
33660}
33661
33662// Context sets the context to be used in this call's Do method. Any
33663// pending HTTP request will be aborted if the provided context is
33664// canceled.
33665func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
33666	c.ctx_ = ctx
33667	return c
33668}
33669
33670// Header returns an http.Header that can be modified by the caller to
33671// add HTTP headers to the request.
33672func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
33673	if c.header_ == nil {
33674		c.header_ = make(http.Header)
33675	}
33676	return c.header_
33677}
33678
33679func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
33680	reqHeaders := make(http.Header)
33681	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33682	for k, v := range c.header_ {
33683		reqHeaders[k] = v
33684	}
33685	reqHeaders.Set("User-Agent", c.s.userAgent())
33686	var body io.Reader = nil
33687	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33688	if err != nil {
33689		return nil, err
33690	}
33691	reqHeaders.Set("Content-Type", "application/json")
33692	c.urlParams_.Set("alt", alt)
33693	c.urlParams_.Set("prettyPrint", "false")
33694	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33695	urls += "?" + c.urlParams_.Encode()
33696	req, err := http.NewRequest("PATCH", urls, body)
33697	if err != nil {
33698		return nil, err
33699	}
33700	req.Header = reqHeaders
33701	googleapi.Expand(req.URL, map[string]string{
33702		"profileId": strconv.FormatInt(c.profileId, 10),
33703	})
33704	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33705}
33706
33707// Do executes the "dfareporting.floodlightActivityGroups.patch" call.
33708// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33709// non-2xx status code is an error. Response headers are in either
33710// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33711// returned at all) in error.(*googleapi.Error).Header. Use
33712// googleapi.IsNotModified to check whether the returned error was
33713// because http.StatusNotModified was returned.
33714func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33715	gensupport.SetOptions(c.urlParams_, opts...)
33716	res, err := c.doRequest("json")
33717	if res != nil && res.StatusCode == http.StatusNotModified {
33718		if res.Body != nil {
33719			res.Body.Close()
33720		}
33721		return nil, &googleapi.Error{
33722			Code:   res.StatusCode,
33723			Header: res.Header,
33724		}
33725	}
33726	if err != nil {
33727		return nil, err
33728	}
33729	defer googleapi.CloseBody(res)
33730	if err := googleapi.CheckResponse(res); err != nil {
33731		return nil, err
33732	}
33733	ret := &FloodlightActivityGroup{
33734		ServerResponse: googleapi.ServerResponse{
33735			Header:         res.Header,
33736			HTTPStatusCode: res.StatusCode,
33737		},
33738	}
33739	target := &ret
33740	if err := gensupport.DecodeResponse(target, res); err != nil {
33741		return nil, err
33742	}
33743	return ret, nil
33744	// {
33745	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
33746	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33747	//   "httpMethod": "PATCH",
33748	//   "id": "dfareporting.floodlightActivityGroups.patch",
33749	//   "parameterOrder": [
33750	//     "profileId",
33751	//     "id"
33752	//   ],
33753	//   "parameters": {
33754	//     "id": {
33755	//       "description": "FloodlightActivityGroup ID.",
33756	//       "format": "int64",
33757	//       "location": "query",
33758	//       "required": true,
33759	//       "type": "string"
33760	//     },
33761	//     "profileId": {
33762	//       "description": "User profile ID associated with this request.",
33763	//       "format": "int64",
33764	//       "location": "path",
33765	//       "required": true,
33766	//       "type": "string"
33767	//     }
33768	//   },
33769	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33770	//   "request": {
33771	//     "$ref": "FloodlightActivityGroup"
33772	//   },
33773	//   "response": {
33774	//     "$ref": "FloodlightActivityGroup"
33775	//   },
33776	//   "scopes": [
33777	//     "https://www.googleapis.com/auth/dfatrafficking"
33778	//   ]
33779	// }
33780
33781}
33782
33783// method id "dfareporting.floodlightActivityGroups.update":
33784
33785type FloodlightActivityGroupsUpdateCall struct {
33786	s                       *Service
33787	profileId               int64
33788	floodlightactivitygroup *FloodlightActivityGroup
33789	urlParams_              gensupport.URLParams
33790	ctx_                    context.Context
33791	header_                 http.Header
33792}
33793
33794// Update: Updates an existing floodlight activity group.
33795func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
33796	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33797	c.profileId = profileId
33798	c.floodlightactivitygroup = floodlightactivitygroup
33799	return c
33800}
33801
33802// Fields allows partial responses to be retrieved. See
33803// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33804// for more information.
33805func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
33806	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33807	return c
33808}
33809
33810// Context sets the context to be used in this call's Do method. Any
33811// pending HTTP request will be aborted if the provided context is
33812// canceled.
33813func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
33814	c.ctx_ = ctx
33815	return c
33816}
33817
33818// Header returns an http.Header that can be modified by the caller to
33819// add HTTP headers to the request.
33820func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
33821	if c.header_ == nil {
33822		c.header_ = make(http.Header)
33823	}
33824	return c.header_
33825}
33826
33827func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
33828	reqHeaders := make(http.Header)
33829	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33830	for k, v := range c.header_ {
33831		reqHeaders[k] = v
33832	}
33833	reqHeaders.Set("User-Agent", c.s.userAgent())
33834	var body io.Reader = nil
33835	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33836	if err != nil {
33837		return nil, err
33838	}
33839	reqHeaders.Set("Content-Type", "application/json")
33840	c.urlParams_.Set("alt", alt)
33841	c.urlParams_.Set("prettyPrint", "false")
33842	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33843	urls += "?" + c.urlParams_.Encode()
33844	req, err := http.NewRequest("PUT", urls, body)
33845	if err != nil {
33846		return nil, err
33847	}
33848	req.Header = reqHeaders
33849	googleapi.Expand(req.URL, map[string]string{
33850		"profileId": strconv.FormatInt(c.profileId, 10),
33851	})
33852	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33853}
33854
33855// Do executes the "dfareporting.floodlightActivityGroups.update" call.
33856// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33857// non-2xx status code is an error. Response headers are in either
33858// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33859// returned at all) in error.(*googleapi.Error).Header. Use
33860// googleapi.IsNotModified to check whether the returned error was
33861// because http.StatusNotModified was returned.
33862func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33863	gensupport.SetOptions(c.urlParams_, opts...)
33864	res, err := c.doRequest("json")
33865	if res != nil && res.StatusCode == http.StatusNotModified {
33866		if res.Body != nil {
33867			res.Body.Close()
33868		}
33869		return nil, &googleapi.Error{
33870			Code:   res.StatusCode,
33871			Header: res.Header,
33872		}
33873	}
33874	if err != nil {
33875		return nil, err
33876	}
33877	defer googleapi.CloseBody(res)
33878	if err := googleapi.CheckResponse(res); err != nil {
33879		return nil, err
33880	}
33881	ret := &FloodlightActivityGroup{
33882		ServerResponse: googleapi.ServerResponse{
33883			Header:         res.Header,
33884			HTTPStatusCode: res.StatusCode,
33885		},
33886	}
33887	target := &ret
33888	if err := gensupport.DecodeResponse(target, res); err != nil {
33889		return nil, err
33890	}
33891	return ret, nil
33892	// {
33893	//   "description": "Updates an existing floodlight activity group.",
33894	//   "flatPath": "userprofiles/{profileId}/floodlightActivityGroups",
33895	//   "httpMethod": "PUT",
33896	//   "id": "dfareporting.floodlightActivityGroups.update",
33897	//   "parameterOrder": [
33898	//     "profileId"
33899	//   ],
33900	//   "parameters": {
33901	//     "profileId": {
33902	//       "description": "User profile ID associated with this request.",
33903	//       "format": "int64",
33904	//       "location": "path",
33905	//       "required": true,
33906	//       "type": "string"
33907	//     }
33908	//   },
33909	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33910	//   "request": {
33911	//     "$ref": "FloodlightActivityGroup"
33912	//   },
33913	//   "response": {
33914	//     "$ref": "FloodlightActivityGroup"
33915	//   },
33916	//   "scopes": [
33917	//     "https://www.googleapis.com/auth/dfatrafficking"
33918	//   ]
33919	// }
33920
33921}
33922
33923// method id "dfareporting.floodlightConfigurations.get":
33924
33925type FloodlightConfigurationsGetCall struct {
33926	s            *Service
33927	profileId    int64
33928	id           int64
33929	urlParams_   gensupport.URLParams
33930	ifNoneMatch_ string
33931	ctx_         context.Context
33932	header_      http.Header
33933}
33934
33935// Get: Gets one floodlight configuration by ID.
33936func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
33937	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33938	c.profileId = profileId
33939	c.id = id
33940	return c
33941}
33942
33943// Fields allows partial responses to be retrieved. See
33944// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33945// for more information.
33946func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
33947	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33948	return c
33949}
33950
33951// IfNoneMatch sets the optional parameter which makes the operation
33952// fail if the object's ETag matches the given value. This is useful for
33953// getting updates only after the object has changed since the last
33954// request. Use googleapi.IsNotModified to check whether the response
33955// error from Do is the result of In-None-Match.
33956func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
33957	c.ifNoneMatch_ = entityTag
33958	return c
33959}
33960
33961// Context sets the context to be used in this call's Do method. Any
33962// pending HTTP request will be aborted if the provided context is
33963// canceled.
33964func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
33965	c.ctx_ = ctx
33966	return c
33967}
33968
33969// Header returns an http.Header that can be modified by the caller to
33970// add HTTP headers to the request.
33971func (c *FloodlightConfigurationsGetCall) Header() http.Header {
33972	if c.header_ == nil {
33973		c.header_ = make(http.Header)
33974	}
33975	return c.header_
33976}
33977
33978func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
33979	reqHeaders := make(http.Header)
33980	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
33981	for k, v := range c.header_ {
33982		reqHeaders[k] = v
33983	}
33984	reqHeaders.Set("User-Agent", c.s.userAgent())
33985	if c.ifNoneMatch_ != "" {
33986		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33987	}
33988	var body io.Reader = nil
33989	c.urlParams_.Set("alt", alt)
33990	c.urlParams_.Set("prettyPrint", "false")
33991	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
33992	urls += "?" + c.urlParams_.Encode()
33993	req, err := http.NewRequest("GET", urls, body)
33994	if err != nil {
33995		return nil, err
33996	}
33997	req.Header = reqHeaders
33998	googleapi.Expand(req.URL, map[string]string{
33999		"profileId": strconv.FormatInt(c.profileId, 10),
34000		"id":        strconv.FormatInt(c.id, 10),
34001	})
34002	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34003}
34004
34005// Do executes the "dfareporting.floodlightConfigurations.get" call.
34006// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34007// non-2xx status code is an error. Response headers are in either
34008// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34009// returned at all) in error.(*googleapi.Error).Header. Use
34010// googleapi.IsNotModified to check whether the returned error was
34011// because http.StatusNotModified was returned.
34012func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34013	gensupport.SetOptions(c.urlParams_, opts...)
34014	res, err := c.doRequest("json")
34015	if res != nil && res.StatusCode == http.StatusNotModified {
34016		if res.Body != nil {
34017			res.Body.Close()
34018		}
34019		return nil, &googleapi.Error{
34020			Code:   res.StatusCode,
34021			Header: res.Header,
34022		}
34023	}
34024	if err != nil {
34025		return nil, err
34026	}
34027	defer googleapi.CloseBody(res)
34028	if err := googleapi.CheckResponse(res); err != nil {
34029		return nil, err
34030	}
34031	ret := &FloodlightConfiguration{
34032		ServerResponse: googleapi.ServerResponse{
34033			Header:         res.Header,
34034			HTTPStatusCode: res.StatusCode,
34035		},
34036	}
34037	target := &ret
34038	if err := gensupport.DecodeResponse(target, res); err != nil {
34039		return nil, err
34040	}
34041	return ret, nil
34042	// {
34043	//   "description": "Gets one floodlight configuration by ID.",
34044	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34045	//   "httpMethod": "GET",
34046	//   "id": "dfareporting.floodlightConfigurations.get",
34047	//   "parameterOrder": [
34048	//     "profileId",
34049	//     "id"
34050	//   ],
34051	//   "parameters": {
34052	//     "id": {
34053	//       "description": "Floodlight configuration ID.",
34054	//       "format": "int64",
34055	//       "location": "path",
34056	//       "required": true,
34057	//       "type": "string"
34058	//     },
34059	//     "profileId": {
34060	//       "description": "User profile ID associated with this request.",
34061	//       "format": "int64",
34062	//       "location": "path",
34063	//       "required": true,
34064	//       "type": "string"
34065	//     }
34066	//   },
34067	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34068	//   "response": {
34069	//     "$ref": "FloodlightConfiguration"
34070	//   },
34071	//   "scopes": [
34072	//     "https://www.googleapis.com/auth/dfatrafficking"
34073	//   ]
34074	// }
34075
34076}
34077
34078// method id "dfareporting.floodlightConfigurations.list":
34079
34080type FloodlightConfigurationsListCall struct {
34081	s            *Service
34082	profileId    int64
34083	urlParams_   gensupport.URLParams
34084	ifNoneMatch_ string
34085	ctx_         context.Context
34086	header_      http.Header
34087}
34088
34089// List: Retrieves a list of floodlight configurations, possibly
34090// filtered.
34091func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
34092	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34093	c.profileId = profileId
34094	return c
34095}
34096
34097// Ids sets the optional parameter "ids": Set of IDs of floodlight
34098// configurations to retrieve. Required field; otherwise an empty list
34099// will be returned.
34100func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
34101	var ids_ []string
34102	for _, v := range ids {
34103		ids_ = append(ids_, fmt.Sprint(v))
34104	}
34105	c.urlParams_.SetMulti("ids", ids_)
34106	return c
34107}
34108
34109// Fields allows partial responses to be retrieved. See
34110// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34111// for more information.
34112func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
34113	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34114	return c
34115}
34116
34117// IfNoneMatch sets the optional parameter which makes the operation
34118// fail if the object's ETag matches the given value. This is useful for
34119// getting updates only after the object has changed since the last
34120// request. Use googleapi.IsNotModified to check whether the response
34121// error from Do is the result of In-None-Match.
34122func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
34123	c.ifNoneMatch_ = entityTag
34124	return c
34125}
34126
34127// Context sets the context to be used in this call's Do method. Any
34128// pending HTTP request will be aborted if the provided context is
34129// canceled.
34130func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
34131	c.ctx_ = ctx
34132	return c
34133}
34134
34135// Header returns an http.Header that can be modified by the caller to
34136// add HTTP headers to the request.
34137func (c *FloodlightConfigurationsListCall) Header() http.Header {
34138	if c.header_ == nil {
34139		c.header_ = make(http.Header)
34140	}
34141	return c.header_
34142}
34143
34144func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
34145	reqHeaders := make(http.Header)
34146	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34147	for k, v := range c.header_ {
34148		reqHeaders[k] = v
34149	}
34150	reqHeaders.Set("User-Agent", c.s.userAgent())
34151	if c.ifNoneMatch_ != "" {
34152		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34153	}
34154	var body io.Reader = nil
34155	c.urlParams_.Set("alt", alt)
34156	c.urlParams_.Set("prettyPrint", "false")
34157	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34158	urls += "?" + c.urlParams_.Encode()
34159	req, err := http.NewRequest("GET", urls, body)
34160	if err != nil {
34161		return nil, err
34162	}
34163	req.Header = reqHeaders
34164	googleapi.Expand(req.URL, map[string]string{
34165		"profileId": strconv.FormatInt(c.profileId, 10),
34166	})
34167	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34168}
34169
34170// Do executes the "dfareporting.floodlightConfigurations.list" call.
34171// Exactly one of *FloodlightConfigurationsListResponse or error will be
34172// non-nil. Any non-2xx status code is an error. Response headers are in
34173// either *FloodlightConfigurationsListResponse.ServerResponse.Header or
34174// (if a response was returned at all) in
34175// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34176// whether the returned error was because http.StatusNotModified was
34177// returned.
34178func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
34179	gensupport.SetOptions(c.urlParams_, opts...)
34180	res, err := c.doRequest("json")
34181	if res != nil && res.StatusCode == http.StatusNotModified {
34182		if res.Body != nil {
34183			res.Body.Close()
34184		}
34185		return nil, &googleapi.Error{
34186			Code:   res.StatusCode,
34187			Header: res.Header,
34188		}
34189	}
34190	if err != nil {
34191		return nil, err
34192	}
34193	defer googleapi.CloseBody(res)
34194	if err := googleapi.CheckResponse(res); err != nil {
34195		return nil, err
34196	}
34197	ret := &FloodlightConfigurationsListResponse{
34198		ServerResponse: googleapi.ServerResponse{
34199			Header:         res.Header,
34200			HTTPStatusCode: res.StatusCode,
34201		},
34202	}
34203	target := &ret
34204	if err := gensupport.DecodeResponse(target, res); err != nil {
34205		return nil, err
34206	}
34207	return ret, nil
34208	// {
34209	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
34210	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34211	//   "httpMethod": "GET",
34212	//   "id": "dfareporting.floodlightConfigurations.list",
34213	//   "parameterOrder": [
34214	//     "profileId"
34215	//   ],
34216	//   "parameters": {
34217	//     "ids": {
34218	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
34219	//       "format": "int64",
34220	//       "location": "query",
34221	//       "repeated": true,
34222	//       "type": "string"
34223	//     },
34224	//     "profileId": {
34225	//       "description": "User profile ID associated with this request.",
34226	//       "format": "int64",
34227	//       "location": "path",
34228	//       "required": true,
34229	//       "type": "string"
34230	//     }
34231	//   },
34232	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34233	//   "response": {
34234	//     "$ref": "FloodlightConfigurationsListResponse"
34235	//   },
34236	//   "scopes": [
34237	//     "https://www.googleapis.com/auth/dfatrafficking"
34238	//   ]
34239	// }
34240
34241}
34242
34243// method id "dfareporting.floodlightConfigurations.patch":
34244
34245type FloodlightConfigurationsPatchCall struct {
34246	s                       *Service
34247	profileId               int64
34248	floodlightconfiguration *FloodlightConfiguration
34249	urlParams_              gensupport.URLParams
34250	ctx_                    context.Context
34251	header_                 http.Header
34252}
34253
34254// Patch: Updates an existing floodlight configuration. This method
34255// supports patch semantics.
34256func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
34257	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34258	c.profileId = profileId
34259	c.urlParams_.Set("id", fmt.Sprint(id))
34260	c.floodlightconfiguration = floodlightconfiguration
34261	return c
34262}
34263
34264// Fields allows partial responses to be retrieved. See
34265// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34266// for more information.
34267func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
34268	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34269	return c
34270}
34271
34272// Context sets the context to be used in this call's Do method. Any
34273// pending HTTP request will be aborted if the provided context is
34274// canceled.
34275func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
34276	c.ctx_ = ctx
34277	return c
34278}
34279
34280// Header returns an http.Header that can be modified by the caller to
34281// add HTTP headers to the request.
34282func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
34283	if c.header_ == nil {
34284		c.header_ = make(http.Header)
34285	}
34286	return c.header_
34287}
34288
34289func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
34290	reqHeaders := make(http.Header)
34291	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34292	for k, v := range c.header_ {
34293		reqHeaders[k] = v
34294	}
34295	reqHeaders.Set("User-Agent", c.s.userAgent())
34296	var body io.Reader = nil
34297	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34298	if err != nil {
34299		return nil, err
34300	}
34301	reqHeaders.Set("Content-Type", "application/json")
34302	c.urlParams_.Set("alt", alt)
34303	c.urlParams_.Set("prettyPrint", "false")
34304	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34305	urls += "?" + c.urlParams_.Encode()
34306	req, err := http.NewRequest("PATCH", urls, body)
34307	if err != nil {
34308		return nil, err
34309	}
34310	req.Header = reqHeaders
34311	googleapi.Expand(req.URL, map[string]string{
34312		"profileId": strconv.FormatInt(c.profileId, 10),
34313	})
34314	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34315}
34316
34317// Do executes the "dfareporting.floodlightConfigurations.patch" call.
34318// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34319// non-2xx status code is an error. Response headers are in either
34320// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34321// returned at all) in error.(*googleapi.Error).Header. Use
34322// googleapi.IsNotModified to check whether the returned error was
34323// because http.StatusNotModified was returned.
34324func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34325	gensupport.SetOptions(c.urlParams_, opts...)
34326	res, err := c.doRequest("json")
34327	if res != nil && res.StatusCode == http.StatusNotModified {
34328		if res.Body != nil {
34329			res.Body.Close()
34330		}
34331		return nil, &googleapi.Error{
34332			Code:   res.StatusCode,
34333			Header: res.Header,
34334		}
34335	}
34336	if err != nil {
34337		return nil, err
34338	}
34339	defer googleapi.CloseBody(res)
34340	if err := googleapi.CheckResponse(res); err != nil {
34341		return nil, err
34342	}
34343	ret := &FloodlightConfiguration{
34344		ServerResponse: googleapi.ServerResponse{
34345			Header:         res.Header,
34346			HTTPStatusCode: res.StatusCode,
34347		},
34348	}
34349	target := &ret
34350	if err := gensupport.DecodeResponse(target, res); err != nil {
34351		return nil, err
34352	}
34353	return ret, nil
34354	// {
34355	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
34356	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34357	//   "httpMethod": "PATCH",
34358	//   "id": "dfareporting.floodlightConfigurations.patch",
34359	//   "parameterOrder": [
34360	//     "profileId",
34361	//     "id"
34362	//   ],
34363	//   "parameters": {
34364	//     "id": {
34365	//       "description": "FloodlightConfiguration ID.",
34366	//       "format": "int64",
34367	//       "location": "query",
34368	//       "required": true,
34369	//       "type": "string"
34370	//     },
34371	//     "profileId": {
34372	//       "description": "User profile ID associated with this request.",
34373	//       "format": "int64",
34374	//       "location": "path",
34375	//       "required": true,
34376	//       "type": "string"
34377	//     }
34378	//   },
34379	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34380	//   "request": {
34381	//     "$ref": "FloodlightConfiguration"
34382	//   },
34383	//   "response": {
34384	//     "$ref": "FloodlightConfiguration"
34385	//   },
34386	//   "scopes": [
34387	//     "https://www.googleapis.com/auth/dfatrafficking"
34388	//   ]
34389	// }
34390
34391}
34392
34393// method id "dfareporting.floodlightConfigurations.update":
34394
34395type FloodlightConfigurationsUpdateCall struct {
34396	s                       *Service
34397	profileId               int64
34398	floodlightconfiguration *FloodlightConfiguration
34399	urlParams_              gensupport.URLParams
34400	ctx_                    context.Context
34401	header_                 http.Header
34402}
34403
34404// Update: Updates an existing floodlight configuration.
34405func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
34406	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34407	c.profileId = profileId
34408	c.floodlightconfiguration = floodlightconfiguration
34409	return c
34410}
34411
34412// Fields allows partial responses to be retrieved. See
34413// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34414// for more information.
34415func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
34416	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34417	return c
34418}
34419
34420// Context sets the context to be used in this call's Do method. Any
34421// pending HTTP request will be aborted if the provided context is
34422// canceled.
34423func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
34424	c.ctx_ = ctx
34425	return c
34426}
34427
34428// Header returns an http.Header that can be modified by the caller to
34429// add HTTP headers to the request.
34430func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
34431	if c.header_ == nil {
34432		c.header_ = make(http.Header)
34433	}
34434	return c.header_
34435}
34436
34437func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
34438	reqHeaders := make(http.Header)
34439	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34440	for k, v := range c.header_ {
34441		reqHeaders[k] = v
34442	}
34443	reqHeaders.Set("User-Agent", c.s.userAgent())
34444	var body io.Reader = nil
34445	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34446	if err != nil {
34447		return nil, err
34448	}
34449	reqHeaders.Set("Content-Type", "application/json")
34450	c.urlParams_.Set("alt", alt)
34451	c.urlParams_.Set("prettyPrint", "false")
34452	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34453	urls += "?" + c.urlParams_.Encode()
34454	req, err := http.NewRequest("PUT", urls, body)
34455	if err != nil {
34456		return nil, err
34457	}
34458	req.Header = reqHeaders
34459	googleapi.Expand(req.URL, map[string]string{
34460		"profileId": strconv.FormatInt(c.profileId, 10),
34461	})
34462	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34463}
34464
34465// Do executes the "dfareporting.floodlightConfigurations.update" call.
34466// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34467// non-2xx status code is an error. Response headers are in either
34468// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34469// returned at all) in error.(*googleapi.Error).Header. Use
34470// googleapi.IsNotModified to check whether the returned error was
34471// because http.StatusNotModified was returned.
34472func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34473	gensupport.SetOptions(c.urlParams_, opts...)
34474	res, err := c.doRequest("json")
34475	if res != nil && res.StatusCode == http.StatusNotModified {
34476		if res.Body != nil {
34477			res.Body.Close()
34478		}
34479		return nil, &googleapi.Error{
34480			Code:   res.StatusCode,
34481			Header: res.Header,
34482		}
34483	}
34484	if err != nil {
34485		return nil, err
34486	}
34487	defer googleapi.CloseBody(res)
34488	if err := googleapi.CheckResponse(res); err != nil {
34489		return nil, err
34490	}
34491	ret := &FloodlightConfiguration{
34492		ServerResponse: googleapi.ServerResponse{
34493			Header:         res.Header,
34494			HTTPStatusCode: res.StatusCode,
34495		},
34496	}
34497	target := &ret
34498	if err := gensupport.DecodeResponse(target, res); err != nil {
34499		return nil, err
34500	}
34501	return ret, nil
34502	// {
34503	//   "description": "Updates an existing floodlight configuration.",
34504	//   "flatPath": "userprofiles/{profileId}/floodlightConfigurations",
34505	//   "httpMethod": "PUT",
34506	//   "id": "dfareporting.floodlightConfigurations.update",
34507	//   "parameterOrder": [
34508	//     "profileId"
34509	//   ],
34510	//   "parameters": {
34511	//     "profileId": {
34512	//       "description": "User profile ID associated with this request.",
34513	//       "format": "int64",
34514	//       "location": "path",
34515	//       "required": true,
34516	//       "type": "string"
34517	//     }
34518	//   },
34519	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34520	//   "request": {
34521	//     "$ref": "FloodlightConfiguration"
34522	//   },
34523	//   "response": {
34524	//     "$ref": "FloodlightConfiguration"
34525	//   },
34526	//   "scopes": [
34527	//     "https://www.googleapis.com/auth/dfatrafficking"
34528	//   ]
34529	// }
34530
34531}
34532
34533// method id "dfareporting.inventoryItems.get":
34534
34535type InventoryItemsGetCall struct {
34536	s            *Service
34537	profileId    int64
34538	projectId    int64
34539	id           int64
34540	urlParams_   gensupport.URLParams
34541	ifNoneMatch_ string
34542	ctx_         context.Context
34543	header_      http.Header
34544}
34545
34546// Get: Gets one inventory item by ID.
34547func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
34548	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34549	c.profileId = profileId
34550	c.projectId = projectId
34551	c.id = id
34552	return c
34553}
34554
34555// Fields allows partial responses to be retrieved. See
34556// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34557// for more information.
34558func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
34559	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34560	return c
34561}
34562
34563// IfNoneMatch sets the optional parameter which makes the operation
34564// fail if the object's ETag matches the given value. This is useful for
34565// getting updates only after the object has changed since the last
34566// request. Use googleapi.IsNotModified to check whether the response
34567// error from Do is the result of In-None-Match.
34568func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
34569	c.ifNoneMatch_ = entityTag
34570	return c
34571}
34572
34573// Context sets the context to be used in this call's Do method. Any
34574// pending HTTP request will be aborted if the provided context is
34575// canceled.
34576func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
34577	c.ctx_ = ctx
34578	return c
34579}
34580
34581// Header returns an http.Header that can be modified by the caller to
34582// add HTTP headers to the request.
34583func (c *InventoryItemsGetCall) Header() http.Header {
34584	if c.header_ == nil {
34585		c.header_ = make(http.Header)
34586	}
34587	return c.header_
34588}
34589
34590func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
34591	reqHeaders := make(http.Header)
34592	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34593	for k, v := range c.header_ {
34594		reqHeaders[k] = v
34595	}
34596	reqHeaders.Set("User-Agent", c.s.userAgent())
34597	if c.ifNoneMatch_ != "" {
34598		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34599	}
34600	var body io.Reader = nil
34601	c.urlParams_.Set("alt", alt)
34602	c.urlParams_.Set("prettyPrint", "false")
34603	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
34604	urls += "?" + c.urlParams_.Encode()
34605	req, err := http.NewRequest("GET", urls, body)
34606	if err != nil {
34607		return nil, err
34608	}
34609	req.Header = reqHeaders
34610	googleapi.Expand(req.URL, map[string]string{
34611		"profileId": strconv.FormatInt(c.profileId, 10),
34612		"projectId": strconv.FormatInt(c.projectId, 10),
34613		"id":        strconv.FormatInt(c.id, 10),
34614	})
34615	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34616}
34617
34618// Do executes the "dfareporting.inventoryItems.get" call.
34619// Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
34620// status code is an error. Response headers are in either
34621// *InventoryItem.ServerResponse.Header or (if a response was returned
34622// at all) in error.(*googleapi.Error).Header. Use
34623// googleapi.IsNotModified to check whether the returned error was
34624// because http.StatusNotModified was returned.
34625func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
34626	gensupport.SetOptions(c.urlParams_, opts...)
34627	res, err := c.doRequest("json")
34628	if res != nil && res.StatusCode == http.StatusNotModified {
34629		if res.Body != nil {
34630			res.Body.Close()
34631		}
34632		return nil, &googleapi.Error{
34633			Code:   res.StatusCode,
34634			Header: res.Header,
34635		}
34636	}
34637	if err != nil {
34638		return nil, err
34639	}
34640	defer googleapi.CloseBody(res)
34641	if err := googleapi.CheckResponse(res); err != nil {
34642		return nil, err
34643	}
34644	ret := &InventoryItem{
34645		ServerResponse: googleapi.ServerResponse{
34646			Header:         res.Header,
34647			HTTPStatusCode: res.StatusCode,
34648		},
34649	}
34650	target := &ret
34651	if err := gensupport.DecodeResponse(target, res); err != nil {
34652		return nil, err
34653	}
34654	return ret, nil
34655	// {
34656	//   "description": "Gets one inventory item by ID.",
34657	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34658	//   "httpMethod": "GET",
34659	//   "id": "dfareporting.inventoryItems.get",
34660	//   "parameterOrder": [
34661	//     "profileId",
34662	//     "projectId",
34663	//     "id"
34664	//   ],
34665	//   "parameters": {
34666	//     "id": {
34667	//       "description": "Inventory item ID.",
34668	//       "format": "int64",
34669	//       "location": "path",
34670	//       "required": true,
34671	//       "type": "string"
34672	//     },
34673	//     "profileId": {
34674	//       "description": "User profile ID associated with this request.",
34675	//       "format": "int64",
34676	//       "location": "path",
34677	//       "required": true,
34678	//       "type": "string"
34679	//     },
34680	//     "projectId": {
34681	//       "description": "Project ID for order documents.",
34682	//       "format": "int64",
34683	//       "location": "path",
34684	//       "required": true,
34685	//       "type": "string"
34686	//     }
34687	//   },
34688	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
34689	//   "response": {
34690	//     "$ref": "InventoryItem"
34691	//   },
34692	//   "scopes": [
34693	//     "https://www.googleapis.com/auth/dfatrafficking"
34694	//   ]
34695	// }
34696
34697}
34698
34699// method id "dfareporting.inventoryItems.list":
34700
34701type InventoryItemsListCall struct {
34702	s            *Service
34703	profileId    int64
34704	projectId    int64
34705	urlParams_   gensupport.URLParams
34706	ifNoneMatch_ string
34707	ctx_         context.Context
34708	header_      http.Header
34709}
34710
34711// List: Retrieves a list of inventory items, possibly filtered. This
34712// method supports paging.
34713func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
34714	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34715	c.profileId = profileId
34716	c.projectId = projectId
34717	return c
34718}
34719
34720// Ids sets the optional parameter "ids": Select only inventory items
34721// with these IDs.
34722func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
34723	var ids_ []string
34724	for _, v := range ids {
34725		ids_ = append(ids_, fmt.Sprint(v))
34726	}
34727	c.urlParams_.SetMulti("ids", ids_)
34728	return c
34729}
34730
34731// InPlan sets the optional parameter "inPlan": Select only inventory
34732// items that are in plan.
34733func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
34734	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
34735	return c
34736}
34737
34738// MaxResults sets the optional parameter "maxResults": Maximum number
34739// of results to return.
34740func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
34741	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
34742	return c
34743}
34744
34745// OrderId sets the optional parameter "orderId": Select only inventory
34746// items that belong to specified orders.
34747func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
34748	var orderId_ []string
34749	for _, v := range orderId {
34750		orderId_ = append(orderId_, fmt.Sprint(v))
34751	}
34752	c.urlParams_.SetMulti("orderId", orderId_)
34753	return c
34754}
34755
34756// PageToken sets the optional parameter "pageToken": Value of the
34757// nextPageToken from the previous result page.
34758func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
34759	c.urlParams_.Set("pageToken", pageToken)
34760	return c
34761}
34762
34763// SiteId sets the optional parameter "siteId": Select only inventory
34764// items that are associated with these sites.
34765func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
34766	var siteId_ []string
34767	for _, v := range siteId {
34768		siteId_ = append(siteId_, fmt.Sprint(v))
34769	}
34770	c.urlParams_.SetMulti("siteId", siteId_)
34771	return c
34772}
34773
34774// SortField sets the optional parameter "sortField": Field by which to
34775// sort the list.
34776//
34777// Possible values:
34778//   "ID" (default)
34779//   "NAME"
34780func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
34781	c.urlParams_.Set("sortField", sortField)
34782	return c
34783}
34784
34785// SortOrder sets the optional parameter "sortOrder": Order of sorted
34786// results.
34787//
34788// Possible values:
34789//   "ASCENDING" (default)
34790//   "DESCENDING"
34791func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
34792	c.urlParams_.Set("sortOrder", sortOrder)
34793	return c
34794}
34795
34796// Type sets the optional parameter "type": Select only inventory items
34797// with this type.
34798//
34799// Possible values:
34800//   "PLANNING_PLACEMENT_TYPE_REGULAR"
34801//   "PLANNING_PLACEMENT_TYPE_CREDIT"
34802func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
34803	c.urlParams_.Set("type", type_)
34804	return c
34805}
34806
34807// Fields allows partial responses to be retrieved. See
34808// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34809// for more information.
34810func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
34811	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34812	return c
34813}
34814
34815// IfNoneMatch sets the optional parameter which makes the operation
34816// fail if the object's ETag matches the given value. This is useful for
34817// getting updates only after the object has changed since the last
34818// request. Use googleapi.IsNotModified to check whether the response
34819// error from Do is the result of In-None-Match.
34820func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
34821	c.ifNoneMatch_ = entityTag
34822	return c
34823}
34824
34825// Context sets the context to be used in this call's Do method. Any
34826// pending HTTP request will be aborted if the provided context is
34827// canceled.
34828func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
34829	c.ctx_ = ctx
34830	return c
34831}
34832
34833// Header returns an http.Header that can be modified by the caller to
34834// add HTTP headers to the request.
34835func (c *InventoryItemsListCall) Header() http.Header {
34836	if c.header_ == nil {
34837		c.header_ = make(http.Header)
34838	}
34839	return c.header_
34840}
34841
34842func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
34843	reqHeaders := make(http.Header)
34844	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
34845	for k, v := range c.header_ {
34846		reqHeaders[k] = v
34847	}
34848	reqHeaders.Set("User-Agent", c.s.userAgent())
34849	if c.ifNoneMatch_ != "" {
34850		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34851	}
34852	var body io.Reader = nil
34853	c.urlParams_.Set("alt", alt)
34854	c.urlParams_.Set("prettyPrint", "false")
34855	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
34856	urls += "?" + c.urlParams_.Encode()
34857	req, err := http.NewRequest("GET", urls, body)
34858	if err != nil {
34859		return nil, err
34860	}
34861	req.Header = reqHeaders
34862	googleapi.Expand(req.URL, map[string]string{
34863		"profileId": strconv.FormatInt(c.profileId, 10),
34864		"projectId": strconv.FormatInt(c.projectId, 10),
34865	})
34866	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34867}
34868
34869// Do executes the "dfareporting.inventoryItems.list" call.
34870// Exactly one of *InventoryItemsListResponse or error will be non-nil.
34871// Any non-2xx status code is an error. Response headers are in either
34872// *InventoryItemsListResponse.ServerResponse.Header or (if a response
34873// was returned at all) in error.(*googleapi.Error).Header. Use
34874// googleapi.IsNotModified to check whether the returned error was
34875// because http.StatusNotModified was returned.
34876func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
34877	gensupport.SetOptions(c.urlParams_, opts...)
34878	res, err := c.doRequest("json")
34879	if res != nil && res.StatusCode == http.StatusNotModified {
34880		if res.Body != nil {
34881			res.Body.Close()
34882		}
34883		return nil, &googleapi.Error{
34884			Code:   res.StatusCode,
34885			Header: res.Header,
34886		}
34887	}
34888	if err != nil {
34889		return nil, err
34890	}
34891	defer googleapi.CloseBody(res)
34892	if err := googleapi.CheckResponse(res); err != nil {
34893		return nil, err
34894	}
34895	ret := &InventoryItemsListResponse{
34896		ServerResponse: googleapi.ServerResponse{
34897			Header:         res.Header,
34898			HTTPStatusCode: res.StatusCode,
34899		},
34900	}
34901	target := &ret
34902	if err := gensupport.DecodeResponse(target, res); err != nil {
34903		return nil, err
34904	}
34905	return ret, nil
34906	// {
34907	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
34908	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
34909	//   "httpMethod": "GET",
34910	//   "id": "dfareporting.inventoryItems.list",
34911	//   "parameterOrder": [
34912	//     "profileId",
34913	//     "projectId"
34914	//   ],
34915	//   "parameters": {
34916	//     "ids": {
34917	//       "description": "Select only inventory items with these IDs.",
34918	//       "format": "int64",
34919	//       "location": "query",
34920	//       "repeated": true,
34921	//       "type": "string"
34922	//     },
34923	//     "inPlan": {
34924	//       "description": "Select only inventory items that are in plan.",
34925	//       "location": "query",
34926	//       "type": "boolean"
34927	//     },
34928	//     "maxResults": {
34929	//       "default": "1000",
34930	//       "description": "Maximum number of results to return.",
34931	//       "format": "int32",
34932	//       "location": "query",
34933	//       "maximum": "1000",
34934	//       "minimum": "0",
34935	//       "type": "integer"
34936	//     },
34937	//     "orderId": {
34938	//       "description": "Select only inventory items that belong to specified orders.",
34939	//       "format": "int64",
34940	//       "location": "query",
34941	//       "repeated": true,
34942	//       "type": "string"
34943	//     },
34944	//     "pageToken": {
34945	//       "description": "Value of the nextPageToken from the previous result page.",
34946	//       "location": "query",
34947	//       "type": "string"
34948	//     },
34949	//     "profileId": {
34950	//       "description": "User profile ID associated with this request.",
34951	//       "format": "int64",
34952	//       "location": "path",
34953	//       "required": true,
34954	//       "type": "string"
34955	//     },
34956	//     "projectId": {
34957	//       "description": "Project ID for order documents.",
34958	//       "format": "int64",
34959	//       "location": "path",
34960	//       "required": true,
34961	//       "type": "string"
34962	//     },
34963	//     "siteId": {
34964	//       "description": "Select only inventory items that are associated with these sites.",
34965	//       "format": "int64",
34966	//       "location": "query",
34967	//       "repeated": true,
34968	//       "type": "string"
34969	//     },
34970	//     "sortField": {
34971	//       "default": "ID",
34972	//       "description": "Field by which to sort the list.",
34973	//       "enum": [
34974	//         "ID",
34975	//         "NAME"
34976	//       ],
34977	//       "enumDescriptions": [
34978	//         "",
34979	//         ""
34980	//       ],
34981	//       "location": "query",
34982	//       "type": "string"
34983	//     },
34984	//     "sortOrder": {
34985	//       "default": "ASCENDING",
34986	//       "description": "Order of sorted results.",
34987	//       "enum": [
34988	//         "ASCENDING",
34989	//         "DESCENDING"
34990	//       ],
34991	//       "enumDescriptions": [
34992	//         "",
34993	//         ""
34994	//       ],
34995	//       "location": "query",
34996	//       "type": "string"
34997	//     },
34998	//     "type": {
34999	//       "description": "Select only inventory items with this type.",
35000	//       "enum": [
35001	//         "PLANNING_PLACEMENT_TYPE_REGULAR",
35002	//         "PLANNING_PLACEMENT_TYPE_CREDIT"
35003	//       ],
35004	//       "enumDescriptions": [
35005	//         "",
35006	//         ""
35007	//       ],
35008	//       "location": "query",
35009	//       "type": "string"
35010	//     }
35011	//   },
35012	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35013	//   "response": {
35014	//     "$ref": "InventoryItemsListResponse"
35015	//   },
35016	//   "scopes": [
35017	//     "https://www.googleapis.com/auth/dfatrafficking"
35018	//   ]
35019	// }
35020
35021}
35022
35023// Pages invokes f for each page of results.
35024// A non-nil error returned from f will halt the iteration.
35025// The provided context supersedes any context provided to the Context method.
35026func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
35027	c.ctx_ = ctx
35028	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35029	for {
35030		x, err := c.Do()
35031		if err != nil {
35032			return err
35033		}
35034		if err := f(x); err != nil {
35035			return err
35036		}
35037		if x.NextPageToken == "" {
35038			return nil
35039		}
35040		c.PageToken(x.NextPageToken)
35041	}
35042}
35043
35044// method id "dfareporting.languages.list":
35045
35046type LanguagesListCall struct {
35047	s            *Service
35048	profileId    int64
35049	urlParams_   gensupport.URLParams
35050	ifNoneMatch_ string
35051	ctx_         context.Context
35052	header_      http.Header
35053}
35054
35055// List: Retrieves a list of languages.
35056func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
35057	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35058	c.profileId = profileId
35059	return c
35060}
35061
35062// Fields allows partial responses to be retrieved. See
35063// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35064// for more information.
35065func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
35066	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35067	return c
35068}
35069
35070// IfNoneMatch sets the optional parameter which makes the operation
35071// fail if the object's ETag matches the given value. This is useful for
35072// getting updates only after the object has changed since the last
35073// request. Use googleapi.IsNotModified to check whether the response
35074// error from Do is the result of In-None-Match.
35075func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
35076	c.ifNoneMatch_ = entityTag
35077	return c
35078}
35079
35080// Context sets the context to be used in this call's Do method. Any
35081// pending HTTP request will be aborted if the provided context is
35082// canceled.
35083func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
35084	c.ctx_ = ctx
35085	return c
35086}
35087
35088// Header returns an http.Header that can be modified by the caller to
35089// add HTTP headers to the request.
35090func (c *LanguagesListCall) Header() http.Header {
35091	if c.header_ == nil {
35092		c.header_ = make(http.Header)
35093	}
35094	return c.header_
35095}
35096
35097func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
35098	reqHeaders := make(http.Header)
35099	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35100	for k, v := range c.header_ {
35101		reqHeaders[k] = v
35102	}
35103	reqHeaders.Set("User-Agent", c.s.userAgent())
35104	if c.ifNoneMatch_ != "" {
35105		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35106	}
35107	var body io.Reader = nil
35108	c.urlParams_.Set("alt", alt)
35109	c.urlParams_.Set("prettyPrint", "false")
35110	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
35111	urls += "?" + c.urlParams_.Encode()
35112	req, err := http.NewRequest("GET", urls, body)
35113	if err != nil {
35114		return nil, err
35115	}
35116	req.Header = reqHeaders
35117	googleapi.Expand(req.URL, map[string]string{
35118		"profileId": strconv.FormatInt(c.profileId, 10),
35119	})
35120	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35121}
35122
35123// Do executes the "dfareporting.languages.list" call.
35124// Exactly one of *LanguagesListResponse or error will be non-nil. Any
35125// non-2xx status code is an error. Response headers are in either
35126// *LanguagesListResponse.ServerResponse.Header or (if a response was
35127// returned at all) in error.(*googleapi.Error).Header. Use
35128// googleapi.IsNotModified to check whether the returned error was
35129// because http.StatusNotModified was returned.
35130func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
35131	gensupport.SetOptions(c.urlParams_, opts...)
35132	res, err := c.doRequest("json")
35133	if res != nil && res.StatusCode == http.StatusNotModified {
35134		if res.Body != nil {
35135			res.Body.Close()
35136		}
35137		return nil, &googleapi.Error{
35138			Code:   res.StatusCode,
35139			Header: res.Header,
35140		}
35141	}
35142	if err != nil {
35143		return nil, err
35144	}
35145	defer googleapi.CloseBody(res)
35146	if err := googleapi.CheckResponse(res); err != nil {
35147		return nil, err
35148	}
35149	ret := &LanguagesListResponse{
35150		ServerResponse: googleapi.ServerResponse{
35151			Header:         res.Header,
35152			HTTPStatusCode: res.StatusCode,
35153		},
35154	}
35155	target := &ret
35156	if err := gensupport.DecodeResponse(target, res); err != nil {
35157		return nil, err
35158	}
35159	return ret, nil
35160	// {
35161	//   "description": "Retrieves a list of languages.",
35162	//   "flatPath": "userprofiles/{profileId}/languages",
35163	//   "httpMethod": "GET",
35164	//   "id": "dfareporting.languages.list",
35165	//   "parameterOrder": [
35166	//     "profileId"
35167	//   ],
35168	//   "parameters": {
35169	//     "profileId": {
35170	//       "description": "User profile ID associated with this request.",
35171	//       "format": "int64",
35172	//       "location": "path",
35173	//       "required": true,
35174	//       "type": "string"
35175	//     }
35176	//   },
35177	//   "path": "userprofiles/{profileId}/languages",
35178	//   "response": {
35179	//     "$ref": "LanguagesListResponse"
35180	//   },
35181	//   "scopes": [
35182	//     "https://www.googleapis.com/auth/dfatrafficking"
35183	//   ]
35184	// }
35185
35186}
35187
35188// method id "dfareporting.metros.list":
35189
35190type MetrosListCall struct {
35191	s            *Service
35192	profileId    int64
35193	urlParams_   gensupport.URLParams
35194	ifNoneMatch_ string
35195	ctx_         context.Context
35196	header_      http.Header
35197}
35198
35199// List: Retrieves a list of metros.
35200func (r *MetrosService) List(profileId int64) *MetrosListCall {
35201	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35202	c.profileId = profileId
35203	return c
35204}
35205
35206// Fields allows partial responses to be retrieved. See
35207// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35208// for more information.
35209func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
35210	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35211	return c
35212}
35213
35214// IfNoneMatch sets the optional parameter which makes the operation
35215// fail if the object's ETag matches the given value. This is useful for
35216// getting updates only after the object has changed since the last
35217// request. Use googleapi.IsNotModified to check whether the response
35218// error from Do is the result of In-None-Match.
35219func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
35220	c.ifNoneMatch_ = entityTag
35221	return c
35222}
35223
35224// Context sets the context to be used in this call's Do method. Any
35225// pending HTTP request will be aborted if the provided context is
35226// canceled.
35227func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
35228	c.ctx_ = ctx
35229	return c
35230}
35231
35232// Header returns an http.Header that can be modified by the caller to
35233// add HTTP headers to the request.
35234func (c *MetrosListCall) Header() http.Header {
35235	if c.header_ == nil {
35236		c.header_ = make(http.Header)
35237	}
35238	return c.header_
35239}
35240
35241func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
35242	reqHeaders := make(http.Header)
35243	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35244	for k, v := range c.header_ {
35245		reqHeaders[k] = v
35246	}
35247	reqHeaders.Set("User-Agent", c.s.userAgent())
35248	if c.ifNoneMatch_ != "" {
35249		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35250	}
35251	var body io.Reader = nil
35252	c.urlParams_.Set("alt", alt)
35253	c.urlParams_.Set("prettyPrint", "false")
35254	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
35255	urls += "?" + c.urlParams_.Encode()
35256	req, err := http.NewRequest("GET", urls, body)
35257	if err != nil {
35258		return nil, err
35259	}
35260	req.Header = reqHeaders
35261	googleapi.Expand(req.URL, map[string]string{
35262		"profileId": strconv.FormatInt(c.profileId, 10),
35263	})
35264	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35265}
35266
35267// Do executes the "dfareporting.metros.list" call.
35268// Exactly one of *MetrosListResponse or error will be non-nil. Any
35269// non-2xx status code is an error. Response headers are in either
35270// *MetrosListResponse.ServerResponse.Header or (if a response was
35271// returned at all) in error.(*googleapi.Error).Header. Use
35272// googleapi.IsNotModified to check whether the returned error was
35273// because http.StatusNotModified was returned.
35274func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
35275	gensupport.SetOptions(c.urlParams_, opts...)
35276	res, err := c.doRequest("json")
35277	if res != nil && res.StatusCode == http.StatusNotModified {
35278		if res.Body != nil {
35279			res.Body.Close()
35280		}
35281		return nil, &googleapi.Error{
35282			Code:   res.StatusCode,
35283			Header: res.Header,
35284		}
35285	}
35286	if err != nil {
35287		return nil, err
35288	}
35289	defer googleapi.CloseBody(res)
35290	if err := googleapi.CheckResponse(res); err != nil {
35291		return nil, err
35292	}
35293	ret := &MetrosListResponse{
35294		ServerResponse: googleapi.ServerResponse{
35295			Header:         res.Header,
35296			HTTPStatusCode: res.StatusCode,
35297		},
35298	}
35299	target := &ret
35300	if err := gensupport.DecodeResponse(target, res); err != nil {
35301		return nil, err
35302	}
35303	return ret, nil
35304	// {
35305	//   "description": "Retrieves a list of metros.",
35306	//   "flatPath": "userprofiles/{profileId}/metros",
35307	//   "httpMethod": "GET",
35308	//   "id": "dfareporting.metros.list",
35309	//   "parameterOrder": [
35310	//     "profileId"
35311	//   ],
35312	//   "parameters": {
35313	//     "profileId": {
35314	//       "description": "User profile ID associated with this request.",
35315	//       "format": "int64",
35316	//       "location": "path",
35317	//       "required": true,
35318	//       "type": "string"
35319	//     }
35320	//   },
35321	//   "path": "userprofiles/{profileId}/metros",
35322	//   "response": {
35323	//     "$ref": "MetrosListResponse"
35324	//   },
35325	//   "scopes": [
35326	//     "https://www.googleapis.com/auth/dfatrafficking"
35327	//   ]
35328	// }
35329
35330}
35331
35332// method id "dfareporting.mobileApps.get":
35333
35334type MobileAppsGetCall struct {
35335	s            *Service
35336	profileId    int64
35337	id           string
35338	urlParams_   gensupport.URLParams
35339	ifNoneMatch_ string
35340	ctx_         context.Context
35341	header_      http.Header
35342}
35343
35344// Get: Gets one mobile app by ID.
35345func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
35346	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35347	c.profileId = profileId
35348	c.id = id
35349	return c
35350}
35351
35352// Fields allows partial responses to be retrieved. See
35353// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35354// for more information.
35355func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
35356	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35357	return c
35358}
35359
35360// IfNoneMatch sets the optional parameter which makes the operation
35361// fail if the object's ETag matches the given value. This is useful for
35362// getting updates only after the object has changed since the last
35363// request. Use googleapi.IsNotModified to check whether the response
35364// error from Do is the result of In-None-Match.
35365func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
35366	c.ifNoneMatch_ = entityTag
35367	return c
35368}
35369
35370// Context sets the context to be used in this call's Do method. Any
35371// pending HTTP request will be aborted if the provided context is
35372// canceled.
35373func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
35374	c.ctx_ = ctx
35375	return c
35376}
35377
35378// Header returns an http.Header that can be modified by the caller to
35379// add HTTP headers to the request.
35380func (c *MobileAppsGetCall) Header() http.Header {
35381	if c.header_ == nil {
35382		c.header_ = make(http.Header)
35383	}
35384	return c.header_
35385}
35386
35387func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
35388	reqHeaders := make(http.Header)
35389	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35390	for k, v := range c.header_ {
35391		reqHeaders[k] = v
35392	}
35393	reqHeaders.Set("User-Agent", c.s.userAgent())
35394	if c.ifNoneMatch_ != "" {
35395		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35396	}
35397	var body io.Reader = nil
35398	c.urlParams_.Set("alt", alt)
35399	c.urlParams_.Set("prettyPrint", "false")
35400	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
35401	urls += "?" + c.urlParams_.Encode()
35402	req, err := http.NewRequest("GET", urls, body)
35403	if err != nil {
35404		return nil, err
35405	}
35406	req.Header = reqHeaders
35407	googleapi.Expand(req.URL, map[string]string{
35408		"profileId": strconv.FormatInt(c.profileId, 10),
35409		"id":        c.id,
35410	})
35411	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35412}
35413
35414// Do executes the "dfareporting.mobileApps.get" call.
35415// Exactly one of *MobileApp or error will be non-nil. Any non-2xx
35416// status code is an error. Response headers are in either
35417// *MobileApp.ServerResponse.Header or (if a response was returned at
35418// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
35419// to check whether the returned error was because
35420// http.StatusNotModified was returned.
35421func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
35422	gensupport.SetOptions(c.urlParams_, opts...)
35423	res, err := c.doRequest("json")
35424	if res != nil && res.StatusCode == http.StatusNotModified {
35425		if res.Body != nil {
35426			res.Body.Close()
35427		}
35428		return nil, &googleapi.Error{
35429			Code:   res.StatusCode,
35430			Header: res.Header,
35431		}
35432	}
35433	if err != nil {
35434		return nil, err
35435	}
35436	defer googleapi.CloseBody(res)
35437	if err := googleapi.CheckResponse(res); err != nil {
35438		return nil, err
35439	}
35440	ret := &MobileApp{
35441		ServerResponse: googleapi.ServerResponse{
35442			Header:         res.Header,
35443			HTTPStatusCode: res.StatusCode,
35444		},
35445	}
35446	target := &ret
35447	if err := gensupport.DecodeResponse(target, res); err != nil {
35448		return nil, err
35449	}
35450	return ret, nil
35451	// {
35452	//   "description": "Gets one mobile app by ID.",
35453	//   "flatPath": "userprofiles/{profileId}/mobileApps/{id}",
35454	//   "httpMethod": "GET",
35455	//   "id": "dfareporting.mobileApps.get",
35456	//   "parameterOrder": [
35457	//     "profileId",
35458	//     "id"
35459	//   ],
35460	//   "parameters": {
35461	//     "id": {
35462	//       "description": "Mobile app ID.",
35463	//       "location": "path",
35464	//       "required": true,
35465	//       "type": "string"
35466	//     },
35467	//     "profileId": {
35468	//       "description": "User profile ID associated with this request.",
35469	//       "format": "int64",
35470	//       "location": "path",
35471	//       "required": true,
35472	//       "type": "string"
35473	//     }
35474	//   },
35475	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
35476	//   "response": {
35477	//     "$ref": "MobileApp"
35478	//   },
35479	//   "scopes": [
35480	//     "https://www.googleapis.com/auth/dfatrafficking"
35481	//   ]
35482	// }
35483
35484}
35485
35486// method id "dfareporting.mobileApps.list":
35487
35488type MobileAppsListCall struct {
35489	s            *Service
35490	profileId    int64
35491	urlParams_   gensupport.URLParams
35492	ifNoneMatch_ string
35493	ctx_         context.Context
35494	header_      http.Header
35495}
35496
35497// List: Retrieves list of available mobile apps.
35498func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
35499	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35500	c.profileId = profileId
35501	return c
35502}
35503
35504// Directories sets the optional parameter "directories": Select only
35505// apps from these directories.
35506//
35507// Possible values:
35508//   "UNKNOWN"
35509//   "APPLE_APP_STORE"
35510//   "GOOGLE_PLAY_STORE"
35511func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
35512	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
35513	return c
35514}
35515
35516// Ids sets the optional parameter "ids": Select only apps with these
35517// IDs.
35518func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
35519	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
35520	return c
35521}
35522
35523// MaxResults sets the optional parameter "maxResults": Maximum number
35524// of results to return.
35525func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
35526	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35527	return c
35528}
35529
35530// PageToken sets the optional parameter "pageToken": Value of the
35531// nextPageToken from the previous result page.
35532func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
35533	c.urlParams_.Set("pageToken", pageToken)
35534	return c
35535}
35536
35537// SearchString sets the optional parameter "searchString": Allows
35538// searching for objects by name or ID. Wildcards (*) are allowed. For
35539// example, "app*2015" will return objects with names like "app Jan
35540// 2018", "app Jan 2018", or simply "app 2018". Most of the searches
35541// also add wildcards implicitly at the start and the end of the search
35542// string. For example, a search string of "app" will match objects with
35543// name "my app", "app 2018", or simply "app".
35544func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
35545	c.urlParams_.Set("searchString", searchString)
35546	return c
35547}
35548
35549// Fields allows partial responses to be retrieved. See
35550// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35551// for more information.
35552func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
35553	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35554	return c
35555}
35556
35557// IfNoneMatch sets the optional parameter which makes the operation
35558// fail if the object's ETag matches the given value. This is useful for
35559// getting updates only after the object has changed since the last
35560// request. Use googleapi.IsNotModified to check whether the response
35561// error from Do is the result of In-None-Match.
35562func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
35563	c.ifNoneMatch_ = entityTag
35564	return c
35565}
35566
35567// Context sets the context to be used in this call's Do method. Any
35568// pending HTTP request will be aborted if the provided context is
35569// canceled.
35570func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
35571	c.ctx_ = ctx
35572	return c
35573}
35574
35575// Header returns an http.Header that can be modified by the caller to
35576// add HTTP headers to the request.
35577func (c *MobileAppsListCall) Header() http.Header {
35578	if c.header_ == nil {
35579		c.header_ = make(http.Header)
35580	}
35581	return c.header_
35582}
35583
35584func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
35585	reqHeaders := make(http.Header)
35586	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35587	for k, v := range c.header_ {
35588		reqHeaders[k] = v
35589	}
35590	reqHeaders.Set("User-Agent", c.s.userAgent())
35591	if c.ifNoneMatch_ != "" {
35592		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35593	}
35594	var body io.Reader = nil
35595	c.urlParams_.Set("alt", alt)
35596	c.urlParams_.Set("prettyPrint", "false")
35597	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
35598	urls += "?" + c.urlParams_.Encode()
35599	req, err := http.NewRequest("GET", urls, body)
35600	if err != nil {
35601		return nil, err
35602	}
35603	req.Header = reqHeaders
35604	googleapi.Expand(req.URL, map[string]string{
35605		"profileId": strconv.FormatInt(c.profileId, 10),
35606	})
35607	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35608}
35609
35610// Do executes the "dfareporting.mobileApps.list" call.
35611// Exactly one of *MobileAppsListResponse or error will be non-nil. Any
35612// non-2xx status code is an error. Response headers are in either
35613// *MobileAppsListResponse.ServerResponse.Header or (if a response was
35614// returned at all) in error.(*googleapi.Error).Header. Use
35615// googleapi.IsNotModified to check whether the returned error was
35616// because http.StatusNotModified was returned.
35617func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
35618	gensupport.SetOptions(c.urlParams_, opts...)
35619	res, err := c.doRequest("json")
35620	if res != nil && res.StatusCode == http.StatusNotModified {
35621		if res.Body != nil {
35622			res.Body.Close()
35623		}
35624		return nil, &googleapi.Error{
35625			Code:   res.StatusCode,
35626			Header: res.Header,
35627		}
35628	}
35629	if err != nil {
35630		return nil, err
35631	}
35632	defer googleapi.CloseBody(res)
35633	if err := googleapi.CheckResponse(res); err != nil {
35634		return nil, err
35635	}
35636	ret := &MobileAppsListResponse{
35637		ServerResponse: googleapi.ServerResponse{
35638			Header:         res.Header,
35639			HTTPStatusCode: res.StatusCode,
35640		},
35641	}
35642	target := &ret
35643	if err := gensupport.DecodeResponse(target, res); err != nil {
35644		return nil, err
35645	}
35646	return ret, nil
35647	// {
35648	//   "description": "Retrieves list of available mobile apps.",
35649	//   "flatPath": "userprofiles/{profileId}/mobileApps",
35650	//   "httpMethod": "GET",
35651	//   "id": "dfareporting.mobileApps.list",
35652	//   "parameterOrder": [
35653	//     "profileId"
35654	//   ],
35655	//   "parameters": {
35656	//     "directories": {
35657	//       "description": "Select only apps from these directories.",
35658	//       "enum": [
35659	//         "UNKNOWN",
35660	//         "APPLE_APP_STORE",
35661	//         "GOOGLE_PLAY_STORE"
35662	//       ],
35663	//       "enumDescriptions": [
35664	//         "",
35665	//         "",
35666	//         ""
35667	//       ],
35668	//       "location": "query",
35669	//       "repeated": true,
35670	//       "type": "string"
35671	//     },
35672	//     "ids": {
35673	//       "description": "Select only apps with these IDs.",
35674	//       "location": "query",
35675	//       "repeated": true,
35676	//       "type": "string"
35677	//     },
35678	//     "maxResults": {
35679	//       "default": "1000",
35680	//       "description": "Maximum number of results to return.",
35681	//       "format": "int32",
35682	//       "location": "query",
35683	//       "maximum": "1000",
35684	//       "minimum": "0",
35685	//       "type": "integer"
35686	//     },
35687	//     "pageToken": {
35688	//       "description": "Value of the nextPageToken from the previous result page.",
35689	//       "location": "query",
35690	//       "type": "string"
35691	//     },
35692	//     "profileId": {
35693	//       "description": "User profile ID associated with this request.",
35694	//       "format": "int64",
35695	//       "location": "path",
35696	//       "required": true,
35697	//       "type": "string"
35698	//     },
35699	//     "searchString": {
35700	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"app*2015\" will return objects with names like \"app Jan 2018\", \"app Jan 2018\", or simply \"app 2018\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"app\" will match objects with name \"my app\", \"app 2018\", or simply \"app\".",
35701	//       "location": "query",
35702	//       "type": "string"
35703	//     }
35704	//   },
35705	//   "path": "userprofiles/{profileId}/mobileApps",
35706	//   "response": {
35707	//     "$ref": "MobileAppsListResponse"
35708	//   },
35709	//   "scopes": [
35710	//     "https://www.googleapis.com/auth/dfatrafficking"
35711	//   ]
35712	// }
35713
35714}
35715
35716// Pages invokes f for each page of results.
35717// A non-nil error returned from f will halt the iteration.
35718// The provided context supersedes any context provided to the Context method.
35719func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
35720	c.ctx_ = ctx
35721	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35722	for {
35723		x, err := c.Do()
35724		if err != nil {
35725			return err
35726		}
35727		if err := f(x); err != nil {
35728			return err
35729		}
35730		if x.NextPageToken == "" {
35731			return nil
35732		}
35733		c.PageToken(x.NextPageToken)
35734	}
35735}
35736
35737// method id "dfareporting.mobileCarriers.get":
35738
35739type MobileCarriersGetCall struct {
35740	s            *Service
35741	profileId    int64
35742	id           int64
35743	urlParams_   gensupport.URLParams
35744	ifNoneMatch_ string
35745	ctx_         context.Context
35746	header_      http.Header
35747}
35748
35749// Get: Gets one mobile carrier by ID.
35750func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
35751	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35752	c.profileId = profileId
35753	c.id = id
35754	return c
35755}
35756
35757// Fields allows partial responses to be retrieved. See
35758// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35759// for more information.
35760func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
35761	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35762	return c
35763}
35764
35765// IfNoneMatch sets the optional parameter which makes the operation
35766// fail if the object's ETag matches the given value. This is useful for
35767// getting updates only after the object has changed since the last
35768// request. Use googleapi.IsNotModified to check whether the response
35769// error from Do is the result of In-None-Match.
35770func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
35771	c.ifNoneMatch_ = entityTag
35772	return c
35773}
35774
35775// Context sets the context to be used in this call's Do method. Any
35776// pending HTTP request will be aborted if the provided context is
35777// canceled.
35778func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
35779	c.ctx_ = ctx
35780	return c
35781}
35782
35783// Header returns an http.Header that can be modified by the caller to
35784// add HTTP headers to the request.
35785func (c *MobileCarriersGetCall) Header() http.Header {
35786	if c.header_ == nil {
35787		c.header_ = make(http.Header)
35788	}
35789	return c.header_
35790}
35791
35792func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
35793	reqHeaders := make(http.Header)
35794	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35795	for k, v := range c.header_ {
35796		reqHeaders[k] = v
35797	}
35798	reqHeaders.Set("User-Agent", c.s.userAgent())
35799	if c.ifNoneMatch_ != "" {
35800		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35801	}
35802	var body io.Reader = nil
35803	c.urlParams_.Set("alt", alt)
35804	c.urlParams_.Set("prettyPrint", "false")
35805	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
35806	urls += "?" + c.urlParams_.Encode()
35807	req, err := http.NewRequest("GET", urls, body)
35808	if err != nil {
35809		return nil, err
35810	}
35811	req.Header = reqHeaders
35812	googleapi.Expand(req.URL, map[string]string{
35813		"profileId": strconv.FormatInt(c.profileId, 10),
35814		"id":        strconv.FormatInt(c.id, 10),
35815	})
35816	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35817}
35818
35819// Do executes the "dfareporting.mobileCarriers.get" call.
35820// Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
35821// status code is an error. Response headers are in either
35822// *MobileCarrier.ServerResponse.Header or (if a response was returned
35823// at all) in error.(*googleapi.Error).Header. Use
35824// googleapi.IsNotModified to check whether the returned error was
35825// because http.StatusNotModified was returned.
35826func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
35827	gensupport.SetOptions(c.urlParams_, opts...)
35828	res, err := c.doRequest("json")
35829	if res != nil && res.StatusCode == http.StatusNotModified {
35830		if res.Body != nil {
35831			res.Body.Close()
35832		}
35833		return nil, &googleapi.Error{
35834			Code:   res.StatusCode,
35835			Header: res.Header,
35836		}
35837	}
35838	if err != nil {
35839		return nil, err
35840	}
35841	defer googleapi.CloseBody(res)
35842	if err := googleapi.CheckResponse(res); err != nil {
35843		return nil, err
35844	}
35845	ret := &MobileCarrier{
35846		ServerResponse: googleapi.ServerResponse{
35847			Header:         res.Header,
35848			HTTPStatusCode: res.StatusCode,
35849		},
35850	}
35851	target := &ret
35852	if err := gensupport.DecodeResponse(target, res); err != nil {
35853		return nil, err
35854	}
35855	return ret, nil
35856	// {
35857	//   "description": "Gets one mobile carrier by ID.",
35858	//   "flatPath": "userprofiles/{profileId}/mobileCarriers/{id}",
35859	//   "httpMethod": "GET",
35860	//   "id": "dfareporting.mobileCarriers.get",
35861	//   "parameterOrder": [
35862	//     "profileId",
35863	//     "id"
35864	//   ],
35865	//   "parameters": {
35866	//     "id": {
35867	//       "description": "Mobile carrier ID.",
35868	//       "format": "int64",
35869	//       "location": "path",
35870	//       "required": true,
35871	//       "type": "string"
35872	//     },
35873	//     "profileId": {
35874	//       "description": "User profile ID associated with this request.",
35875	//       "format": "int64",
35876	//       "location": "path",
35877	//       "required": true,
35878	//       "type": "string"
35879	//     }
35880	//   },
35881	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
35882	//   "response": {
35883	//     "$ref": "MobileCarrier"
35884	//   },
35885	//   "scopes": [
35886	//     "https://www.googleapis.com/auth/dfatrafficking"
35887	//   ]
35888	// }
35889
35890}
35891
35892// method id "dfareporting.mobileCarriers.list":
35893
35894type MobileCarriersListCall struct {
35895	s            *Service
35896	profileId    int64
35897	urlParams_   gensupport.URLParams
35898	ifNoneMatch_ string
35899	ctx_         context.Context
35900	header_      http.Header
35901}
35902
35903// List: Retrieves a list of mobile carriers.
35904func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
35905	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35906	c.profileId = profileId
35907	return c
35908}
35909
35910// Fields allows partial responses to be retrieved. See
35911// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35912// for more information.
35913func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
35914	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35915	return c
35916}
35917
35918// IfNoneMatch sets the optional parameter which makes the operation
35919// fail if the object's ETag matches the given value. This is useful for
35920// getting updates only after the object has changed since the last
35921// request. Use googleapi.IsNotModified to check whether the response
35922// error from Do is the result of In-None-Match.
35923func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
35924	c.ifNoneMatch_ = entityTag
35925	return c
35926}
35927
35928// Context sets the context to be used in this call's Do method. Any
35929// pending HTTP request will be aborted if the provided context is
35930// canceled.
35931func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
35932	c.ctx_ = ctx
35933	return c
35934}
35935
35936// Header returns an http.Header that can be modified by the caller to
35937// add HTTP headers to the request.
35938func (c *MobileCarriersListCall) Header() http.Header {
35939	if c.header_ == nil {
35940		c.header_ = make(http.Header)
35941	}
35942	return c.header_
35943}
35944
35945func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
35946	reqHeaders := make(http.Header)
35947	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
35948	for k, v := range c.header_ {
35949		reqHeaders[k] = v
35950	}
35951	reqHeaders.Set("User-Agent", c.s.userAgent())
35952	if c.ifNoneMatch_ != "" {
35953		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35954	}
35955	var body io.Reader = nil
35956	c.urlParams_.Set("alt", alt)
35957	c.urlParams_.Set("prettyPrint", "false")
35958	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
35959	urls += "?" + c.urlParams_.Encode()
35960	req, err := http.NewRequest("GET", urls, body)
35961	if err != nil {
35962		return nil, err
35963	}
35964	req.Header = reqHeaders
35965	googleapi.Expand(req.URL, map[string]string{
35966		"profileId": strconv.FormatInt(c.profileId, 10),
35967	})
35968	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35969}
35970
35971// Do executes the "dfareporting.mobileCarriers.list" call.
35972// Exactly one of *MobileCarriersListResponse or error will be non-nil.
35973// Any non-2xx status code is an error. Response headers are in either
35974// *MobileCarriersListResponse.ServerResponse.Header or (if a response
35975// was returned at all) in error.(*googleapi.Error).Header. Use
35976// googleapi.IsNotModified to check whether the returned error was
35977// because http.StatusNotModified was returned.
35978func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
35979	gensupport.SetOptions(c.urlParams_, opts...)
35980	res, err := c.doRequest("json")
35981	if res != nil && res.StatusCode == http.StatusNotModified {
35982		if res.Body != nil {
35983			res.Body.Close()
35984		}
35985		return nil, &googleapi.Error{
35986			Code:   res.StatusCode,
35987			Header: res.Header,
35988		}
35989	}
35990	if err != nil {
35991		return nil, err
35992	}
35993	defer googleapi.CloseBody(res)
35994	if err := googleapi.CheckResponse(res); err != nil {
35995		return nil, err
35996	}
35997	ret := &MobileCarriersListResponse{
35998		ServerResponse: googleapi.ServerResponse{
35999			Header:         res.Header,
36000			HTTPStatusCode: res.StatusCode,
36001		},
36002	}
36003	target := &ret
36004	if err := gensupport.DecodeResponse(target, res); err != nil {
36005		return nil, err
36006	}
36007	return ret, nil
36008	// {
36009	//   "description": "Retrieves a list of mobile carriers.",
36010	//   "flatPath": "userprofiles/{profileId}/mobileCarriers",
36011	//   "httpMethod": "GET",
36012	//   "id": "dfareporting.mobileCarriers.list",
36013	//   "parameterOrder": [
36014	//     "profileId"
36015	//   ],
36016	//   "parameters": {
36017	//     "profileId": {
36018	//       "description": "User profile ID associated with this request.",
36019	//       "format": "int64",
36020	//       "location": "path",
36021	//       "required": true,
36022	//       "type": "string"
36023	//     }
36024	//   },
36025	//   "path": "userprofiles/{profileId}/mobileCarriers",
36026	//   "response": {
36027	//     "$ref": "MobileCarriersListResponse"
36028	//   },
36029	//   "scopes": [
36030	//     "https://www.googleapis.com/auth/dfatrafficking"
36031	//   ]
36032	// }
36033
36034}
36035
36036// method id "dfareporting.operatingSystemVersions.get":
36037
36038type OperatingSystemVersionsGetCall struct {
36039	s            *Service
36040	profileId    int64
36041	id           int64
36042	urlParams_   gensupport.URLParams
36043	ifNoneMatch_ string
36044	ctx_         context.Context
36045	header_      http.Header
36046}
36047
36048// Get: Gets one operating system version by ID.
36049func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
36050	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36051	c.profileId = profileId
36052	c.id = id
36053	return c
36054}
36055
36056// Fields allows partial responses to be retrieved. See
36057// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36058// for more information.
36059func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
36060	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36061	return c
36062}
36063
36064// IfNoneMatch sets the optional parameter which makes the operation
36065// fail if the object's ETag matches the given value. This is useful for
36066// getting updates only after the object has changed since the last
36067// request. Use googleapi.IsNotModified to check whether the response
36068// error from Do is the result of In-None-Match.
36069func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
36070	c.ifNoneMatch_ = entityTag
36071	return c
36072}
36073
36074// Context sets the context to be used in this call's Do method. Any
36075// pending HTTP request will be aborted if the provided context is
36076// canceled.
36077func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
36078	c.ctx_ = ctx
36079	return c
36080}
36081
36082// Header returns an http.Header that can be modified by the caller to
36083// add HTTP headers to the request.
36084func (c *OperatingSystemVersionsGetCall) Header() http.Header {
36085	if c.header_ == nil {
36086		c.header_ = make(http.Header)
36087	}
36088	return c.header_
36089}
36090
36091func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
36092	reqHeaders := make(http.Header)
36093	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
36094	for k, v := range c.header_ {
36095		reqHeaders[k] = v
36096	}
36097	reqHeaders.Set("User-Agent", c.s.userAgent())
36098	if c.ifNoneMatch_ != "" {
36099		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36100	}
36101	var body io.Reader = nil
36102	c.urlParams_.Set("alt", alt)
36103	c.urlParams_.Set("prettyPrint", "false")
36104	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
36105	urls += "?" + c.urlParams_.Encode()
36106	req, err := http.NewRequest("GET", urls, body)
36107	if err != nil {
36108		return nil, err
36109	}
36110	req.Header = reqHeaders
36111	googleapi.Expand(req.URL, map[string]string{
36112		"profileId": strconv.FormatInt(c.profileId, 10),
36113		"id":        strconv.FormatInt(c.id, 10),
36114	})
36115	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36116}
36117
36118// Do executes the "dfareporting.operatingSystemVersions.get" call.
36119// Exactly one of *OperatingSystemVersion or error will be non-nil. Any
36120// non-2xx status code is an error. Response headers are in either
36121// *OperatingSystemVersion.ServerResponse.Header or (if a response was
36122// returned at all) in error.(*googleapi.Error).Header. Use
36123// googleapi.IsNotModified to check whether the returned error was
36124// because http.StatusNotModified was returned.
36125func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
36126	gensupport.SetOptions(c.urlParams_, opts...)
36127	res, err := c.doRequest("json")
36128	if res != nil && res.StatusCode == http.StatusNotModified {
36129		if res.Body != nil {
36130			res.Body.Close()
36131		}
36132		return nil, &googleapi.Error{
36133			Code:   res.StatusCode,
36134			Header: res.Header,
36135		}
36136	}
36137	if err != nil {
36138		return nil, err
36139	}
36140	defer googleapi.CloseBody(res)
36141	if err := googleapi.CheckResponse(res); err != nil {
36142		return nil, err
36143	}
36144	ret := &OperatingSystemVersion{
36145		ServerResponse: googleapi.ServerResponse{
36146			Header:         res.Header,
36147			HTTPStatusCode: res.StatusCode,
36148		},
36149	}
36150	target := &ret
36151	if err := gensupport.DecodeResponse(target, res); err != nil {
36152		return nil, err
36153	}
36154	return ret, nil
36155	// {
36156	//   "description": "Gets one operating system version by ID.",
36157	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36158	//   "httpMethod": "GET",
36159	//   "id": "dfareporting.operatingSystemVersions.get",
36160	//   "parameterOrder": [
36161	//     "profileId",
36162	//     "id"
36163	//   ],
36164	//   "parameters": {
36165	//     "id": {
36166	//       "description": "Operating system version ID.",
36167	//       "format": "int64",
36168	//       "location": "path",
36169	//       "required": true,
36170	//       "type": "string"
36171	//     },
36172	//     "profileId": {
36173	//       "description": "User profile ID associated with this request.",
36174	//       "format": "int64",
36175	//       "location": "path",
36176	//       "required": true,
36177	//       "type": "string"
36178	//     }
36179	//   },
36180	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36181	//   "response": {
36182	//     "$ref": "OperatingSystemVersion"
36183	//   },
36184	//   "scopes": [
36185	//     "https://www.googleapis.com/auth/dfatrafficking"
36186	//   ]
36187	// }
36188
36189}
36190
36191// method id "dfareporting.operatingSystemVersions.list":
36192
36193type OperatingSystemVersionsListCall struct {
36194	s            *Service
36195	profileId    int64
36196	urlParams_   gensupport.URLParams
36197	ifNoneMatch_ string
36198	ctx_         context.Context
36199	header_      http.Header
36200}
36201
36202// List: Retrieves a list of operating system versions.
36203func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
36204	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36205	c.profileId = profileId
36206	return c
36207}
36208
36209// Fields allows partial responses to be retrieved. See
36210// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36211// for more information.
36212func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
36213	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36214	return c
36215}
36216
36217// IfNoneMatch sets the optional parameter which makes the operation
36218// fail if the object's ETag matches the given value. This is useful for
36219// getting updates only after the object has changed since the last
36220// request. Use googleapi.IsNotModified to check whether the response
36221// error from Do is the result of In-None-Match.
36222func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
36223	c.ifNoneMatch_ = entityTag
36224	return c
36225}
36226
36227// Context sets the context to be used in this call's Do method. Any
36228// pending HTTP request will be aborted if the provided context is
36229// canceled.
36230func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
36231	c.ctx_ = ctx
36232	return c
36233}
36234
36235// Header returns an http.Header that can be modified by the caller to
36236// add HTTP headers to the request.
36237func (c *OperatingSystemVersionsListCall) Header() http.Header {
36238	if c.header_ == nil {
36239		c.header_ = make(http.Header)
36240	}
36241	return c.header_
36242}
36243
36244func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
36245	reqHeaders := make(http.Header)
36246	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
36247	for k, v := range c.header_ {
36248		reqHeaders[k] = v
36249	}
36250	reqHeaders.Set("User-Agent", c.s.userAgent())
36251	if c.ifNoneMatch_ != "" {
36252		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36253	}
36254	var body io.Reader = nil
36255	c.urlParams_.Set("alt", alt)
36256	c.urlParams_.Set("prettyPrint", "false")
36257	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
36258	urls += "?" + c.urlParams_.Encode()
36259	req, err := http.NewRequest("GET", urls, body)
36260	if err != nil {
36261		return nil, err
36262	}
36263	req.Header = reqHeaders
36264	googleapi.Expand(req.URL, map[string]string{
36265		"profileId": strconv.FormatInt(c.profileId, 10),
36266	})
36267	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36268}
36269
36270// Do executes the "dfareporting.operatingSystemVersions.list" call.
36271// Exactly one of *OperatingSystemVersionsListResponse or error will be
36272// non-nil. Any non-2xx status code is an error. Response headers are in
36273// either *OperatingSystemVersionsListResponse.ServerResponse.Header or
36274// (if a response was returned at all) in
36275// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36276// whether the returned error was because http.StatusNotModified was
36277// returned.
36278func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
36279	gensupport.SetOptions(c.urlParams_, opts...)
36280	res, err := c.doRequest("json")
36281	if res != nil && res.StatusCode == http.StatusNotModified {
36282		if res.Body != nil {
36283			res.Body.Close()
36284		}
36285		return nil, &googleapi.Error{
36286			Code:   res.StatusCode,
36287			Header: res.Header,
36288		}
36289	}
36290	if err != nil {
36291		return nil, err
36292	}
36293	defer googleapi.CloseBody(res)
36294	if err := googleapi.CheckResponse(res); err != nil {
36295		return nil, err
36296	}
36297	ret := &OperatingSystemVersionsListResponse{
36298		ServerResponse: googleapi.ServerResponse{
36299			Header:         res.Header,
36300			HTTPStatusCode: res.StatusCode,
36301		},
36302	}
36303	target := &ret
36304	if err := gensupport.DecodeResponse(target, res); err != nil {
36305		return nil, err
36306	}
36307	return ret, nil
36308	// {
36309	//   "description": "Retrieves a list of operating system versions.",
36310	//   "flatPath": "userprofiles/{profileId}/operatingSystemVersions",
36311	//   "httpMethod": "GET",
36312	//   "id": "dfareporting.operatingSystemVersions.list",
36313	//   "parameterOrder": [
36314	//     "profileId"
36315	//   ],
36316	//   "parameters": {
36317	//     "profileId": {
36318	//       "description": "User profile ID associated with this request.",
36319	//       "format": "int64",
36320	//       "location": "path",
36321	//       "required": true,
36322	//       "type": "string"
36323	//     }
36324	//   },
36325	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
36326	//   "response": {
36327	//     "$ref": "OperatingSystemVersionsListResponse"
36328	//   },
36329	//   "scopes": [
36330	//     "https://www.googleapis.com/auth/dfatrafficking"
36331	//   ]
36332	// }
36333
36334}
36335
36336// method id "dfareporting.operatingSystems.get":
36337
36338type OperatingSystemsGetCall struct {
36339	s            *Service
36340	profileId    int64
36341	dartId       int64
36342	urlParams_   gensupport.URLParams
36343	ifNoneMatch_ string
36344	ctx_         context.Context
36345	header_      http.Header
36346}
36347
36348// Get: Gets one operating system by DART ID.
36349func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
36350	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36351	c.profileId = profileId
36352	c.dartId = dartId
36353	return c
36354}
36355
36356// Fields allows partial responses to be retrieved. See
36357// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36358// for more information.
36359func (c *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
36360	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36361	return c
36362}
36363
36364// IfNoneMatch sets the optional parameter which makes the operation
36365// fail if the object's ETag matches the given value. This is useful for
36366// getting updates only after the object has changed since the last
36367// request. Use googleapi.IsNotModified to check whether the response
36368// error from Do is the result of In-None-Match.
36369func (c *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
36370	c.ifNoneMatch_ = entityTag
36371	return c
36372}
36373
36374// Context sets the context to be used in this call's Do method. Any
36375// pending HTTP request will be aborted if the provided context is
36376// canceled.
36377func (c *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
36378	c.ctx_ = ctx
36379	return c
36380}
36381
36382// Header returns an http.Header that can be modified by the caller to
36383// add HTTP headers to the request.
36384func (c *OperatingSystemsGetCall) Header() http.Header {
36385	if c.header_ == nil {
36386		c.header_ = make(http.Header)
36387	}
36388	return c.header_
36389}
36390
36391func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
36392	reqHeaders := make(http.Header)
36393	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
36394	for k, v := range c.header_ {
36395		reqHeaders[k] = v
36396	}
36397	reqHeaders.Set("User-Agent", c.s.userAgent())
36398	if c.ifNoneMatch_ != "" {
36399		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36400	}
36401	var body io.Reader = nil
36402	c.urlParams_.Set("alt", alt)
36403	c.urlParams_.Set("prettyPrint", "false")
36404	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems/{dartId}")
36405	urls += "?" + c.urlParams_.Encode()
36406	req, err := http.NewRequest("GET", urls, body)
36407	if err != nil {
36408		return nil, err
36409	}
36410	req.Header = reqHeaders
36411	googleapi.Expand(req.URL, map[string]string{
36412		"profileId": strconv.FormatInt(c.profileId, 10),
36413		"dartId":    strconv.FormatInt(c.dartId, 10),
36414	})
36415	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36416}
36417
36418// Do executes the "dfareporting.operatingSystems.get" call.
36419// Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
36420// status code is an error. Response headers are in either
36421// *OperatingSystem.ServerResponse.Header or (if a response was returned
36422// at all) in error.(*googleapi.Error).Header. Use
36423// googleapi.IsNotModified to check whether the returned error was
36424// because http.StatusNotModified was returned.
36425func (c *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, error) {
36426	gensupport.SetOptions(c.urlParams_, opts...)
36427	res, err := c.doRequest("json")
36428	if res != nil && res.StatusCode == http.StatusNotModified {
36429		if res.Body != nil {
36430			res.Body.Close()
36431		}
36432		return nil, &googleapi.Error{
36433			Code:   res.StatusCode,
36434			Header: res.Header,
36435		}
36436	}
36437	if err != nil {
36438		return nil, err
36439	}
36440	defer googleapi.CloseBody(res)
36441	if err := googleapi.CheckResponse(res); err != nil {
36442		return nil, err
36443	}
36444	ret := &OperatingSystem{
36445		ServerResponse: googleapi.ServerResponse{
36446			Header:         res.Header,
36447			HTTPStatusCode: res.StatusCode,
36448		},
36449	}
36450	target := &ret
36451	if err := gensupport.DecodeResponse(target, res); err != nil {
36452		return nil, err
36453	}
36454	return ret, nil
36455	// {
36456	//   "description": "Gets one operating system by DART ID.",
36457	//   "flatPath": "userprofiles/{profileId}/operatingSystems/{dartId}",
36458	//   "httpMethod": "GET",
36459	//   "id": "dfareporting.operatingSystems.get",
36460	//   "parameterOrder": [
36461	//     "profileId",
36462	//     "dartId"
36463	//   ],
36464	//   "parameters": {
36465	//     "dartId": {
36466	//       "description": "Operating system DART ID.",
36467	//       "format": "int64",
36468	//       "location": "path",
36469	//       "required": true,
36470	//       "type": "string"
36471	//     },
36472	//     "profileId": {
36473	//       "description": "User profile ID associated with this request.",
36474	//       "format": "int64",
36475	//       "location": "path",
36476	//       "required": true,
36477	//       "type": "string"
36478	//     }
36479	//   },
36480	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
36481	//   "response": {
36482	//     "$ref": "OperatingSystem"
36483	//   },
36484	//   "scopes": [
36485	//     "https://www.googleapis.com/auth/dfatrafficking"
36486	//   ]
36487	// }
36488
36489}
36490
36491// method id "dfareporting.operatingSystems.list":
36492
36493type OperatingSystemsListCall struct {
36494	s            *Service
36495	profileId    int64
36496	urlParams_   gensupport.URLParams
36497	ifNoneMatch_ string
36498	ctx_         context.Context
36499	header_      http.Header
36500}
36501
36502// List: Retrieves a list of operating systems.
36503func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
36504	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36505	c.profileId = profileId
36506	return c
36507}
36508
36509// Fields allows partial responses to be retrieved. See
36510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36511// for more information.
36512func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
36513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36514	return c
36515}
36516
36517// IfNoneMatch sets the optional parameter which makes the operation
36518// fail if the object's ETag matches the given value. This is useful for
36519// getting updates only after the object has changed since the last
36520// request. Use googleapi.IsNotModified to check whether the response
36521// error from Do is the result of In-None-Match.
36522func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
36523	c.ifNoneMatch_ = entityTag
36524	return c
36525}
36526
36527// Context sets the context to be used in this call's Do method. Any
36528// pending HTTP request will be aborted if the provided context is
36529// canceled.
36530func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
36531	c.ctx_ = ctx
36532	return c
36533}
36534
36535// Header returns an http.Header that can be modified by the caller to
36536// add HTTP headers to the request.
36537func (c *OperatingSystemsListCall) Header() http.Header {
36538	if c.header_ == nil {
36539		c.header_ = make(http.Header)
36540	}
36541	return c.header_
36542}
36543
36544func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
36545	reqHeaders := make(http.Header)
36546	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
36547	for k, v := range c.header_ {
36548		reqHeaders[k] = v
36549	}
36550	reqHeaders.Set("User-Agent", c.s.userAgent())
36551	if c.ifNoneMatch_ != "" {
36552		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36553	}
36554	var body io.Reader = nil
36555	c.urlParams_.Set("alt", alt)
36556	c.urlParams_.Set("prettyPrint", "false")
36557	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
36558	urls += "?" + c.urlParams_.Encode()
36559	req, err := http.NewRequest("GET", urls, body)
36560	if err != nil {
36561		return nil, err
36562	}
36563	req.Header = reqHeaders
36564	googleapi.Expand(req.URL, map[string]string{
36565		"profileId": strconv.FormatInt(c.profileId, 10),
36566	})
36567	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36568}
36569
36570// Do executes the "dfareporting.operatingSystems.list" call.
36571// Exactly one of *OperatingSystemsListResponse or error will be
36572// non-nil. Any non-2xx status code is an error. Response headers are in
36573// either *OperatingSystemsListResponse.ServerResponse.Header or (if a
36574// response was returned at all) in error.(*googleapi.Error).Header. Use
36575// googleapi.IsNotModified to check whether the returned error was
36576// because http.StatusNotModified was returned.
36577func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
36578	gensupport.SetOptions(c.urlParams_, opts...)
36579	res, err := c.doRequest("json")
36580	if res != nil && res.StatusCode == http.StatusNotModified {
36581		if res.Body != nil {
36582			res.Body.Close()
36583		}
36584		return nil, &googleapi.Error{
36585			Code:   res.StatusCode,
36586			Header: res.Header,
36587		}
36588	}
36589	if err != nil {
36590		return nil, err
36591	}
36592	defer googleapi.CloseBody(res)
36593	if err := googleapi.CheckResponse(res); err != nil {
36594		return nil, err
36595	}
36596	ret := &OperatingSystemsListResponse{
36597		ServerResponse: googleapi.ServerResponse{
36598			Header:         res.Header,
36599			HTTPStatusCode: res.StatusCode,
36600		},
36601	}
36602	target := &ret
36603	if err := gensupport.DecodeResponse(target, res); err != nil {
36604		return nil, err
36605	}
36606	return ret, nil
36607	// {
36608	//   "description": "Retrieves a list of operating systems.",
36609	//   "flatPath": "userprofiles/{profileId}/operatingSystems",
36610	//   "httpMethod": "GET",
36611	//   "id": "dfareporting.operatingSystems.list",
36612	//   "parameterOrder": [
36613	//     "profileId"
36614	//   ],
36615	//   "parameters": {
36616	//     "profileId": {
36617	//       "description": "User profile ID associated with this request.",
36618	//       "format": "int64",
36619	//       "location": "path",
36620	//       "required": true,
36621	//       "type": "string"
36622	//     }
36623	//   },
36624	//   "path": "userprofiles/{profileId}/operatingSystems",
36625	//   "response": {
36626	//     "$ref": "OperatingSystemsListResponse"
36627	//   },
36628	//   "scopes": [
36629	//     "https://www.googleapis.com/auth/dfatrafficking"
36630	//   ]
36631	// }
36632
36633}
36634
36635// method id "dfareporting.orderDocuments.get":
36636
36637type OrderDocumentsGetCall struct {
36638	s            *Service
36639	profileId    int64
36640	projectId    int64
36641	id           int64
36642	urlParams_   gensupport.URLParams
36643	ifNoneMatch_ string
36644	ctx_         context.Context
36645	header_      http.Header
36646}
36647
36648// Get: Gets one order document by ID.
36649func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
36650	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36651	c.profileId = profileId
36652	c.projectId = projectId
36653	c.id = id
36654	return c
36655}
36656
36657// Fields allows partial responses to be retrieved. See
36658// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36659// for more information.
36660func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
36661	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36662	return c
36663}
36664
36665// IfNoneMatch sets the optional parameter which makes the operation
36666// fail if the object's ETag matches the given value. This is useful for
36667// getting updates only after the object has changed since the last
36668// request. Use googleapi.IsNotModified to check whether the response
36669// error from Do is the result of In-None-Match.
36670func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
36671	c.ifNoneMatch_ = entityTag
36672	return c
36673}
36674
36675// Context sets the context to be used in this call's Do method. Any
36676// pending HTTP request will be aborted if the provided context is
36677// canceled.
36678func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
36679	c.ctx_ = ctx
36680	return c
36681}
36682
36683// Header returns an http.Header that can be modified by the caller to
36684// add HTTP headers to the request.
36685func (c *OrderDocumentsGetCall) Header() http.Header {
36686	if c.header_ == nil {
36687		c.header_ = make(http.Header)
36688	}
36689	return c.header_
36690}
36691
36692func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
36693	reqHeaders := make(http.Header)
36694	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
36695	for k, v := range c.header_ {
36696		reqHeaders[k] = v
36697	}
36698	reqHeaders.Set("User-Agent", c.s.userAgent())
36699	if c.ifNoneMatch_ != "" {
36700		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36701	}
36702	var body io.Reader = nil
36703	c.urlParams_.Set("alt", alt)
36704	c.urlParams_.Set("prettyPrint", "false")
36705	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
36706	urls += "?" + c.urlParams_.Encode()
36707	req, err := http.NewRequest("GET", urls, body)
36708	if err != nil {
36709		return nil, err
36710	}
36711	req.Header = reqHeaders
36712	googleapi.Expand(req.URL, map[string]string{
36713		"profileId": strconv.FormatInt(c.profileId, 10),
36714		"projectId": strconv.FormatInt(c.projectId, 10),
36715		"id":        strconv.FormatInt(c.id, 10),
36716	})
36717	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36718}
36719
36720// Do executes the "dfareporting.orderDocuments.get" call.
36721// Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
36722// status code is an error. Response headers are in either
36723// *OrderDocument.ServerResponse.Header or (if a response was returned
36724// at all) in error.(*googleapi.Error).Header. Use
36725// googleapi.IsNotModified to check whether the returned error was
36726// because http.StatusNotModified was returned.
36727func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
36728	gensupport.SetOptions(c.urlParams_, opts...)
36729	res, err := c.doRequest("json")
36730	if res != nil && res.StatusCode == http.StatusNotModified {
36731		if res.Body != nil {
36732			res.Body.Close()
36733		}
36734		return nil, &googleapi.Error{
36735			Code:   res.StatusCode,
36736			Header: res.Header,
36737		}
36738	}
36739	if err != nil {
36740		return nil, err
36741	}
36742	defer googleapi.CloseBody(res)
36743	if err := googleapi.CheckResponse(res); err != nil {
36744		return nil, err
36745	}
36746	ret := &OrderDocument{
36747		ServerResponse: googleapi.ServerResponse{
36748			Header:         res.Header,
36749			HTTPStatusCode: res.StatusCode,
36750		},
36751	}
36752	target := &ret
36753	if err := gensupport.DecodeResponse(target, res); err != nil {
36754		return nil, err
36755	}
36756	return ret, nil
36757	// {
36758	//   "description": "Gets one order document by ID.",
36759	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
36760	//   "httpMethod": "GET",
36761	//   "id": "dfareporting.orderDocuments.get",
36762	//   "parameterOrder": [
36763	//     "profileId",
36764	//     "projectId",
36765	//     "id"
36766	//   ],
36767	//   "parameters": {
36768	//     "id": {
36769	//       "description": "Order document ID.",
36770	//       "format": "int64",
36771	//       "location": "path",
36772	//       "required": true,
36773	//       "type": "string"
36774	//     },
36775	//     "profileId": {
36776	//       "description": "User profile ID associated with this request.",
36777	//       "format": "int64",
36778	//       "location": "path",
36779	//       "required": true,
36780	//       "type": "string"
36781	//     },
36782	//     "projectId": {
36783	//       "description": "Project ID for order documents.",
36784	//       "format": "int64",
36785	//       "location": "path",
36786	//       "required": true,
36787	//       "type": "string"
36788	//     }
36789	//   },
36790	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
36791	//   "response": {
36792	//     "$ref": "OrderDocument"
36793	//   },
36794	//   "scopes": [
36795	//     "https://www.googleapis.com/auth/dfatrafficking"
36796	//   ]
36797	// }
36798
36799}
36800
36801// method id "dfareporting.orderDocuments.list":
36802
36803type OrderDocumentsListCall struct {
36804	s            *Service
36805	profileId    int64
36806	projectId    int64
36807	urlParams_   gensupport.URLParams
36808	ifNoneMatch_ string
36809	ctx_         context.Context
36810	header_      http.Header
36811}
36812
36813// List: Retrieves a list of order documents, possibly filtered. This
36814// method supports paging.
36815func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
36816	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36817	c.profileId = profileId
36818	c.projectId = projectId
36819	return c
36820}
36821
36822// Approved sets the optional parameter "approved": Select only order
36823// documents that have been approved by at least one user.
36824func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
36825	c.urlParams_.Set("approved", fmt.Sprint(approved))
36826	return c
36827}
36828
36829// Ids sets the optional parameter "ids": Select only order documents
36830// with these IDs.
36831func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
36832	var ids_ []string
36833	for _, v := range ids {
36834		ids_ = append(ids_, fmt.Sprint(v))
36835	}
36836	c.urlParams_.SetMulti("ids", ids_)
36837	return c
36838}
36839
36840// MaxResults sets the optional parameter "maxResults": Maximum number
36841// of results to return.
36842func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
36843	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
36844	return c
36845}
36846
36847// OrderId sets the optional parameter "orderId": Select only order
36848// documents for specified orders.
36849func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
36850	var orderId_ []string
36851	for _, v := range orderId {
36852		orderId_ = append(orderId_, fmt.Sprint(v))
36853	}
36854	c.urlParams_.SetMulti("orderId", orderId_)
36855	return c
36856}
36857
36858// PageToken sets the optional parameter "pageToken": Value of the
36859// nextPageToken from the previous result page.
36860func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
36861	c.urlParams_.Set("pageToken", pageToken)
36862	return c
36863}
36864
36865// SearchString sets the optional parameter "searchString": Allows
36866// searching for order documents by name or ID. Wildcards (*) are
36867// allowed. For example, "orderdocument*2015" will return order
36868// documents with names like "orderdocument June 2015", "orderdocument
36869// April 2015", or simply "orderdocument 2015". Most of the searches
36870// also add wildcards implicitly at the start and the end of the search
36871// string. For example, a search string of "orderdocument" will match
36872// order documents with name "my orderdocument", "orderdocument 2015",
36873// or simply "orderdocument".
36874func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
36875	c.urlParams_.Set("searchString", searchString)
36876	return c
36877}
36878
36879// SiteId sets the optional parameter "siteId": Select only order
36880// documents that are associated with these sites.
36881func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
36882	var siteId_ []string
36883	for _, v := range siteId {
36884		siteId_ = append(siteId_, fmt.Sprint(v))
36885	}
36886	c.urlParams_.SetMulti("siteId", siteId_)
36887	return c
36888}
36889
36890// SortField sets the optional parameter "sortField": Field by which to
36891// sort the list.
36892//
36893// Possible values:
36894//   "ID" (default)
36895//   "NAME"
36896func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
36897	c.urlParams_.Set("sortField", sortField)
36898	return c
36899}
36900
36901// SortOrder sets the optional parameter "sortOrder": Order of sorted
36902// results.
36903//
36904// Possible values:
36905//   "ASCENDING" (default)
36906//   "DESCENDING"
36907func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
36908	c.urlParams_.Set("sortOrder", sortOrder)
36909	return c
36910}
36911
36912// Fields allows partial responses to be retrieved. See
36913// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36914// for more information.
36915func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
36916	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36917	return c
36918}
36919
36920// IfNoneMatch sets the optional parameter which makes the operation
36921// fail if the object's ETag matches the given value. This is useful for
36922// getting updates only after the object has changed since the last
36923// request. Use googleapi.IsNotModified to check whether the response
36924// error from Do is the result of In-None-Match.
36925func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
36926	c.ifNoneMatch_ = entityTag
36927	return c
36928}
36929
36930// Context sets the context to be used in this call's Do method. Any
36931// pending HTTP request will be aborted if the provided context is
36932// canceled.
36933func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
36934	c.ctx_ = ctx
36935	return c
36936}
36937
36938// Header returns an http.Header that can be modified by the caller to
36939// add HTTP headers to the request.
36940func (c *OrderDocumentsListCall) Header() http.Header {
36941	if c.header_ == nil {
36942		c.header_ = make(http.Header)
36943	}
36944	return c.header_
36945}
36946
36947func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
36948	reqHeaders := make(http.Header)
36949	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
36950	for k, v := range c.header_ {
36951		reqHeaders[k] = v
36952	}
36953	reqHeaders.Set("User-Agent", c.s.userAgent())
36954	if c.ifNoneMatch_ != "" {
36955		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36956	}
36957	var body io.Reader = nil
36958	c.urlParams_.Set("alt", alt)
36959	c.urlParams_.Set("prettyPrint", "false")
36960	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
36961	urls += "?" + c.urlParams_.Encode()
36962	req, err := http.NewRequest("GET", urls, body)
36963	if err != nil {
36964		return nil, err
36965	}
36966	req.Header = reqHeaders
36967	googleapi.Expand(req.URL, map[string]string{
36968		"profileId": strconv.FormatInt(c.profileId, 10),
36969		"projectId": strconv.FormatInt(c.projectId, 10),
36970	})
36971	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36972}
36973
36974// Do executes the "dfareporting.orderDocuments.list" call.
36975// Exactly one of *OrderDocumentsListResponse or error will be non-nil.
36976// Any non-2xx status code is an error. Response headers are in either
36977// *OrderDocumentsListResponse.ServerResponse.Header or (if a response
36978// was returned at all) in error.(*googleapi.Error).Header. Use
36979// googleapi.IsNotModified to check whether the returned error was
36980// because http.StatusNotModified was returned.
36981func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
36982	gensupport.SetOptions(c.urlParams_, opts...)
36983	res, err := c.doRequest("json")
36984	if res != nil && res.StatusCode == http.StatusNotModified {
36985		if res.Body != nil {
36986			res.Body.Close()
36987		}
36988		return nil, &googleapi.Error{
36989			Code:   res.StatusCode,
36990			Header: res.Header,
36991		}
36992	}
36993	if err != nil {
36994		return nil, err
36995	}
36996	defer googleapi.CloseBody(res)
36997	if err := googleapi.CheckResponse(res); err != nil {
36998		return nil, err
36999	}
37000	ret := &OrderDocumentsListResponse{
37001		ServerResponse: googleapi.ServerResponse{
37002			Header:         res.Header,
37003			HTTPStatusCode: res.StatusCode,
37004		},
37005	}
37006	target := &ret
37007	if err := gensupport.DecodeResponse(target, res); err != nil {
37008		return nil, err
37009	}
37010	return ret, nil
37011	// {
37012	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
37013	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37014	//   "httpMethod": "GET",
37015	//   "id": "dfareporting.orderDocuments.list",
37016	//   "parameterOrder": [
37017	//     "profileId",
37018	//     "projectId"
37019	//   ],
37020	//   "parameters": {
37021	//     "approved": {
37022	//       "description": "Select only order documents that have been approved by at least one user.",
37023	//       "location": "query",
37024	//       "type": "boolean"
37025	//     },
37026	//     "ids": {
37027	//       "description": "Select only order documents with these IDs.",
37028	//       "format": "int64",
37029	//       "location": "query",
37030	//       "repeated": true,
37031	//       "type": "string"
37032	//     },
37033	//     "maxResults": {
37034	//       "default": "1000",
37035	//       "description": "Maximum number of results to return.",
37036	//       "format": "int32",
37037	//       "location": "query",
37038	//       "maximum": "1000",
37039	//       "minimum": "0",
37040	//       "type": "integer"
37041	//     },
37042	//     "orderId": {
37043	//       "description": "Select only order documents for specified orders.",
37044	//       "format": "int64",
37045	//       "location": "query",
37046	//       "repeated": true,
37047	//       "type": "string"
37048	//     },
37049	//     "pageToken": {
37050	//       "description": "Value of the nextPageToken from the previous result page.",
37051	//       "location": "query",
37052	//       "type": "string"
37053	//     },
37054	//     "profileId": {
37055	//       "description": "User profile ID associated with this request.",
37056	//       "format": "int64",
37057	//       "location": "path",
37058	//       "required": true,
37059	//       "type": "string"
37060	//     },
37061	//     "projectId": {
37062	//       "description": "Project ID for order documents.",
37063	//       "format": "int64",
37064	//       "location": "path",
37065	//       "required": true,
37066	//       "type": "string"
37067	//     },
37068	//     "searchString": {
37069	//       "description": "Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, \"orderdocument*2015\" will return order documents with names like \"orderdocument June 2015\", \"orderdocument April 2015\", or simply \"orderdocument 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"orderdocument\" will match order documents with name \"my orderdocument\", \"orderdocument 2015\", or simply \"orderdocument\".",
37070	//       "location": "query",
37071	//       "type": "string"
37072	//     },
37073	//     "siteId": {
37074	//       "description": "Select only order documents that are associated with these sites.",
37075	//       "format": "int64",
37076	//       "location": "query",
37077	//       "repeated": true,
37078	//       "type": "string"
37079	//     },
37080	//     "sortField": {
37081	//       "default": "ID",
37082	//       "description": "Field by which to sort the list.",
37083	//       "enum": [
37084	//         "ID",
37085	//         "NAME"
37086	//       ],
37087	//       "enumDescriptions": [
37088	//         "",
37089	//         ""
37090	//       ],
37091	//       "location": "query",
37092	//       "type": "string"
37093	//     },
37094	//     "sortOrder": {
37095	//       "default": "ASCENDING",
37096	//       "description": "Order of sorted results.",
37097	//       "enum": [
37098	//         "ASCENDING",
37099	//         "DESCENDING"
37100	//       ],
37101	//       "enumDescriptions": [
37102	//         "",
37103	//         ""
37104	//       ],
37105	//       "location": "query",
37106	//       "type": "string"
37107	//     }
37108	//   },
37109	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37110	//   "response": {
37111	//     "$ref": "OrderDocumentsListResponse"
37112	//   },
37113	//   "scopes": [
37114	//     "https://www.googleapis.com/auth/dfatrafficking"
37115	//   ]
37116	// }
37117
37118}
37119
37120// Pages invokes f for each page of results.
37121// A non-nil error returned from f will halt the iteration.
37122// The provided context supersedes any context provided to the Context method.
37123func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
37124	c.ctx_ = ctx
37125	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37126	for {
37127		x, err := c.Do()
37128		if err != nil {
37129			return err
37130		}
37131		if err := f(x); err != nil {
37132			return err
37133		}
37134		if x.NextPageToken == "" {
37135			return nil
37136		}
37137		c.PageToken(x.NextPageToken)
37138	}
37139}
37140
37141// method id "dfareporting.orders.get":
37142
37143type OrdersGetCall struct {
37144	s            *Service
37145	profileId    int64
37146	projectId    int64
37147	id           int64
37148	urlParams_   gensupport.URLParams
37149	ifNoneMatch_ string
37150	ctx_         context.Context
37151	header_      http.Header
37152}
37153
37154// Get: Gets one order by ID.
37155func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
37156	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37157	c.profileId = profileId
37158	c.projectId = projectId
37159	c.id = id
37160	return c
37161}
37162
37163// Fields allows partial responses to be retrieved. See
37164// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37165// for more information.
37166func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
37167	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37168	return c
37169}
37170
37171// IfNoneMatch sets the optional parameter which makes the operation
37172// fail if the object's ETag matches the given value. This is useful for
37173// getting updates only after the object has changed since the last
37174// request. Use googleapi.IsNotModified to check whether the response
37175// error from Do is the result of In-None-Match.
37176func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
37177	c.ifNoneMatch_ = entityTag
37178	return c
37179}
37180
37181// Context sets the context to be used in this call's Do method. Any
37182// pending HTTP request will be aborted if the provided context is
37183// canceled.
37184func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
37185	c.ctx_ = ctx
37186	return c
37187}
37188
37189// Header returns an http.Header that can be modified by the caller to
37190// add HTTP headers to the request.
37191func (c *OrdersGetCall) Header() http.Header {
37192	if c.header_ == nil {
37193		c.header_ = make(http.Header)
37194	}
37195	return c.header_
37196}
37197
37198func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
37199	reqHeaders := make(http.Header)
37200	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
37201	for k, v := range c.header_ {
37202		reqHeaders[k] = v
37203	}
37204	reqHeaders.Set("User-Agent", c.s.userAgent())
37205	if c.ifNoneMatch_ != "" {
37206		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37207	}
37208	var body io.Reader = nil
37209	c.urlParams_.Set("alt", alt)
37210	c.urlParams_.Set("prettyPrint", "false")
37211	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
37212	urls += "?" + c.urlParams_.Encode()
37213	req, err := http.NewRequest("GET", urls, body)
37214	if err != nil {
37215		return nil, err
37216	}
37217	req.Header = reqHeaders
37218	googleapi.Expand(req.URL, map[string]string{
37219		"profileId": strconv.FormatInt(c.profileId, 10),
37220		"projectId": strconv.FormatInt(c.projectId, 10),
37221		"id":        strconv.FormatInt(c.id, 10),
37222	})
37223	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37224}
37225
37226// Do executes the "dfareporting.orders.get" call.
37227// Exactly one of *Order or error will be non-nil. Any non-2xx status
37228// code is an error. Response headers are in either
37229// *Order.ServerResponse.Header or (if a response was returned at all)
37230// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37231// check whether the returned error was because http.StatusNotModified
37232// was returned.
37233func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
37234	gensupport.SetOptions(c.urlParams_, opts...)
37235	res, err := c.doRequest("json")
37236	if res != nil && res.StatusCode == http.StatusNotModified {
37237		if res.Body != nil {
37238			res.Body.Close()
37239		}
37240		return nil, &googleapi.Error{
37241			Code:   res.StatusCode,
37242			Header: res.Header,
37243		}
37244	}
37245	if err != nil {
37246		return nil, err
37247	}
37248	defer googleapi.CloseBody(res)
37249	if err := googleapi.CheckResponse(res); err != nil {
37250		return nil, err
37251	}
37252	ret := &Order{
37253		ServerResponse: googleapi.ServerResponse{
37254			Header:         res.Header,
37255			HTTPStatusCode: res.StatusCode,
37256		},
37257	}
37258	target := &ret
37259	if err := gensupport.DecodeResponse(target, res); err != nil {
37260		return nil, err
37261	}
37262	return ret, nil
37263	// {
37264	//   "description": "Gets one order by ID.",
37265	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37266	//   "httpMethod": "GET",
37267	//   "id": "dfareporting.orders.get",
37268	//   "parameterOrder": [
37269	//     "profileId",
37270	//     "projectId",
37271	//     "id"
37272	//   ],
37273	//   "parameters": {
37274	//     "id": {
37275	//       "description": "Order ID.",
37276	//       "format": "int64",
37277	//       "location": "path",
37278	//       "required": true,
37279	//       "type": "string"
37280	//     },
37281	//     "profileId": {
37282	//       "description": "User profile ID associated with this request.",
37283	//       "format": "int64",
37284	//       "location": "path",
37285	//       "required": true,
37286	//       "type": "string"
37287	//     },
37288	//     "projectId": {
37289	//       "description": "Project ID for orders.",
37290	//       "format": "int64",
37291	//       "location": "path",
37292	//       "required": true,
37293	//       "type": "string"
37294	//     }
37295	//   },
37296	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37297	//   "response": {
37298	//     "$ref": "Order"
37299	//   },
37300	//   "scopes": [
37301	//     "https://www.googleapis.com/auth/dfatrafficking"
37302	//   ]
37303	// }
37304
37305}
37306
37307// method id "dfareporting.orders.list":
37308
37309type OrdersListCall struct {
37310	s            *Service
37311	profileId    int64
37312	projectId    int64
37313	urlParams_   gensupport.URLParams
37314	ifNoneMatch_ string
37315	ctx_         context.Context
37316	header_      http.Header
37317}
37318
37319// List: Retrieves a list of orders, possibly filtered. This method
37320// supports paging.
37321func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
37322	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37323	c.profileId = profileId
37324	c.projectId = projectId
37325	return c
37326}
37327
37328// Ids sets the optional parameter "ids": Select only orders with these
37329// IDs.
37330func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
37331	var ids_ []string
37332	for _, v := range ids {
37333		ids_ = append(ids_, fmt.Sprint(v))
37334	}
37335	c.urlParams_.SetMulti("ids", ids_)
37336	return c
37337}
37338
37339// MaxResults sets the optional parameter "maxResults": Maximum number
37340// of results to return.
37341func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
37342	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37343	return c
37344}
37345
37346// PageToken sets the optional parameter "pageToken": Value of the
37347// nextPageToken from the previous result page.
37348func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
37349	c.urlParams_.Set("pageToken", pageToken)
37350	return c
37351}
37352
37353// SearchString sets the optional parameter "searchString": Allows
37354// searching for orders by name or ID. Wildcards (*) are allowed. For
37355// example, "order*2015" will return orders with names like "order June
37356// 2015", "order April 2015", or simply "order 2015". Most of the
37357// searches also add wildcards implicitly at the start and the end of
37358// the search string. For example, a search string of "order" will match
37359// orders with name "my order", "order 2015", or simply "order".
37360func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
37361	c.urlParams_.Set("searchString", searchString)
37362	return c
37363}
37364
37365// SiteId sets the optional parameter "siteId": Select only orders that
37366// are associated with these site IDs.
37367func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
37368	var siteId_ []string
37369	for _, v := range siteId {
37370		siteId_ = append(siteId_, fmt.Sprint(v))
37371	}
37372	c.urlParams_.SetMulti("siteId", siteId_)
37373	return c
37374}
37375
37376// SortField sets the optional parameter "sortField": Field by which to
37377// sort the list.
37378//
37379// Possible values:
37380//   "ID" (default)
37381//   "NAME"
37382func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
37383	c.urlParams_.Set("sortField", sortField)
37384	return c
37385}
37386
37387// SortOrder sets the optional parameter "sortOrder": Order of sorted
37388// results.
37389//
37390// Possible values:
37391//   "ASCENDING" (default)
37392//   "DESCENDING"
37393func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
37394	c.urlParams_.Set("sortOrder", sortOrder)
37395	return c
37396}
37397
37398// Fields allows partial responses to be retrieved. See
37399// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37400// for more information.
37401func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
37402	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37403	return c
37404}
37405
37406// IfNoneMatch sets the optional parameter which makes the operation
37407// fail if the object's ETag matches the given value. This is useful for
37408// getting updates only after the object has changed since the last
37409// request. Use googleapi.IsNotModified to check whether the response
37410// error from Do is the result of In-None-Match.
37411func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
37412	c.ifNoneMatch_ = entityTag
37413	return c
37414}
37415
37416// Context sets the context to be used in this call's Do method. Any
37417// pending HTTP request will be aborted if the provided context is
37418// canceled.
37419func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
37420	c.ctx_ = ctx
37421	return c
37422}
37423
37424// Header returns an http.Header that can be modified by the caller to
37425// add HTTP headers to the request.
37426func (c *OrdersListCall) Header() http.Header {
37427	if c.header_ == nil {
37428		c.header_ = make(http.Header)
37429	}
37430	return c.header_
37431}
37432
37433func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
37434	reqHeaders := make(http.Header)
37435	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
37436	for k, v := range c.header_ {
37437		reqHeaders[k] = v
37438	}
37439	reqHeaders.Set("User-Agent", c.s.userAgent())
37440	if c.ifNoneMatch_ != "" {
37441		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37442	}
37443	var body io.Reader = nil
37444	c.urlParams_.Set("alt", alt)
37445	c.urlParams_.Set("prettyPrint", "false")
37446	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
37447	urls += "?" + c.urlParams_.Encode()
37448	req, err := http.NewRequest("GET", urls, body)
37449	if err != nil {
37450		return nil, err
37451	}
37452	req.Header = reqHeaders
37453	googleapi.Expand(req.URL, map[string]string{
37454		"profileId": strconv.FormatInt(c.profileId, 10),
37455		"projectId": strconv.FormatInt(c.projectId, 10),
37456	})
37457	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37458}
37459
37460// Do executes the "dfareporting.orders.list" call.
37461// Exactly one of *OrdersListResponse or error will be non-nil. Any
37462// non-2xx status code is an error. Response headers are in either
37463// *OrdersListResponse.ServerResponse.Header or (if a response was
37464// returned at all) in error.(*googleapi.Error).Header. Use
37465// googleapi.IsNotModified to check whether the returned error was
37466// because http.StatusNotModified was returned.
37467func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
37468	gensupport.SetOptions(c.urlParams_, opts...)
37469	res, err := c.doRequest("json")
37470	if res != nil && res.StatusCode == http.StatusNotModified {
37471		if res.Body != nil {
37472			res.Body.Close()
37473		}
37474		return nil, &googleapi.Error{
37475			Code:   res.StatusCode,
37476			Header: res.Header,
37477		}
37478	}
37479	if err != nil {
37480		return nil, err
37481	}
37482	defer googleapi.CloseBody(res)
37483	if err := googleapi.CheckResponse(res); err != nil {
37484		return nil, err
37485	}
37486	ret := &OrdersListResponse{
37487		ServerResponse: googleapi.ServerResponse{
37488			Header:         res.Header,
37489			HTTPStatusCode: res.StatusCode,
37490		},
37491	}
37492	target := &ret
37493	if err := gensupport.DecodeResponse(target, res); err != nil {
37494		return nil, err
37495	}
37496	return ret, nil
37497	// {
37498	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
37499	//   "flatPath": "userprofiles/{profileId}/projects/{projectId}/orders",
37500	//   "httpMethod": "GET",
37501	//   "id": "dfareporting.orders.list",
37502	//   "parameterOrder": [
37503	//     "profileId",
37504	//     "projectId"
37505	//   ],
37506	//   "parameters": {
37507	//     "ids": {
37508	//       "description": "Select only orders with these IDs.",
37509	//       "format": "int64",
37510	//       "location": "query",
37511	//       "repeated": true,
37512	//       "type": "string"
37513	//     },
37514	//     "maxResults": {
37515	//       "default": "1000",
37516	//       "description": "Maximum number of results to return.",
37517	//       "format": "int32",
37518	//       "location": "query",
37519	//       "maximum": "1000",
37520	//       "minimum": "0",
37521	//       "type": "integer"
37522	//     },
37523	//     "pageToken": {
37524	//       "description": "Value of the nextPageToken from the previous result page.",
37525	//       "location": "query",
37526	//       "type": "string"
37527	//     },
37528	//     "profileId": {
37529	//       "description": "User profile ID associated with this request.",
37530	//       "format": "int64",
37531	//       "location": "path",
37532	//       "required": true,
37533	//       "type": "string"
37534	//     },
37535	//     "projectId": {
37536	//       "description": "Project ID for orders.",
37537	//       "format": "int64",
37538	//       "location": "path",
37539	//       "required": true,
37540	//       "type": "string"
37541	//     },
37542	//     "searchString": {
37543	//       "description": "Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, \"order*2015\" will return orders with names like \"order June 2015\", \"order April 2015\", or simply \"order 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"order\" will match orders with name \"my order\", \"order 2015\", or simply \"order\".",
37544	//       "location": "query",
37545	//       "type": "string"
37546	//     },
37547	//     "siteId": {
37548	//       "description": "Select only orders that are associated with these site IDs.",
37549	//       "format": "int64",
37550	//       "location": "query",
37551	//       "repeated": true,
37552	//       "type": "string"
37553	//     },
37554	//     "sortField": {
37555	//       "default": "ID",
37556	//       "description": "Field by which to sort the list.",
37557	//       "enum": [
37558	//         "ID",
37559	//         "NAME"
37560	//       ],
37561	//       "enumDescriptions": [
37562	//         "",
37563	//         ""
37564	//       ],
37565	//       "location": "query",
37566	//       "type": "string"
37567	//     },
37568	//     "sortOrder": {
37569	//       "default": "ASCENDING",
37570	//       "description": "Order of sorted results.",
37571	//       "enum": [
37572	//         "ASCENDING",
37573	//         "DESCENDING"
37574	//       ],
37575	//       "enumDescriptions": [
37576	//         "",
37577	//         ""
37578	//       ],
37579	//       "location": "query",
37580	//       "type": "string"
37581	//     }
37582	//   },
37583	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
37584	//   "response": {
37585	//     "$ref": "OrdersListResponse"
37586	//   },
37587	//   "scopes": [
37588	//     "https://www.googleapis.com/auth/dfatrafficking"
37589	//   ]
37590	// }
37591
37592}
37593
37594// Pages invokes f for each page of results.
37595// A non-nil error returned from f will halt the iteration.
37596// The provided context supersedes any context provided to the Context method.
37597func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
37598	c.ctx_ = ctx
37599	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37600	for {
37601		x, err := c.Do()
37602		if err != nil {
37603			return err
37604		}
37605		if err := f(x); err != nil {
37606			return err
37607		}
37608		if x.NextPageToken == "" {
37609			return nil
37610		}
37611		c.PageToken(x.NextPageToken)
37612	}
37613}
37614
37615// method id "dfareporting.placementGroups.get":
37616
37617type PlacementGroupsGetCall struct {
37618	s            *Service
37619	profileId    int64
37620	id           int64
37621	urlParams_   gensupport.URLParams
37622	ifNoneMatch_ string
37623	ctx_         context.Context
37624	header_      http.Header
37625}
37626
37627// Get: Gets one placement group by ID.
37628func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
37629	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37630	c.profileId = profileId
37631	c.id = id
37632	return c
37633}
37634
37635// Fields allows partial responses to be retrieved. See
37636// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37637// for more information.
37638func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
37639	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37640	return c
37641}
37642
37643// IfNoneMatch sets the optional parameter which makes the operation
37644// fail if the object's ETag matches the given value. This is useful for
37645// getting updates only after the object has changed since the last
37646// request. Use googleapi.IsNotModified to check whether the response
37647// error from Do is the result of In-None-Match.
37648func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
37649	c.ifNoneMatch_ = entityTag
37650	return c
37651}
37652
37653// Context sets the context to be used in this call's Do method. Any
37654// pending HTTP request will be aborted if the provided context is
37655// canceled.
37656func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
37657	c.ctx_ = ctx
37658	return c
37659}
37660
37661// Header returns an http.Header that can be modified by the caller to
37662// add HTTP headers to the request.
37663func (c *PlacementGroupsGetCall) Header() http.Header {
37664	if c.header_ == nil {
37665		c.header_ = make(http.Header)
37666	}
37667	return c.header_
37668}
37669
37670func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
37671	reqHeaders := make(http.Header)
37672	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
37673	for k, v := range c.header_ {
37674		reqHeaders[k] = v
37675	}
37676	reqHeaders.Set("User-Agent", c.s.userAgent())
37677	if c.ifNoneMatch_ != "" {
37678		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37679	}
37680	var body io.Reader = nil
37681	c.urlParams_.Set("alt", alt)
37682	c.urlParams_.Set("prettyPrint", "false")
37683	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
37684	urls += "?" + c.urlParams_.Encode()
37685	req, err := http.NewRequest("GET", urls, body)
37686	if err != nil {
37687		return nil, err
37688	}
37689	req.Header = reqHeaders
37690	googleapi.Expand(req.URL, map[string]string{
37691		"profileId": strconv.FormatInt(c.profileId, 10),
37692		"id":        strconv.FormatInt(c.id, 10),
37693	})
37694	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37695}
37696
37697// Do executes the "dfareporting.placementGroups.get" call.
37698// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
37699// status code is an error. Response headers are in either
37700// *PlacementGroup.ServerResponse.Header or (if a response was returned
37701// at all) in error.(*googleapi.Error).Header. Use
37702// googleapi.IsNotModified to check whether the returned error was
37703// because http.StatusNotModified was returned.
37704func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
37705	gensupport.SetOptions(c.urlParams_, opts...)
37706	res, err := c.doRequest("json")
37707	if res != nil && res.StatusCode == http.StatusNotModified {
37708		if res.Body != nil {
37709			res.Body.Close()
37710		}
37711		return nil, &googleapi.Error{
37712			Code:   res.StatusCode,
37713			Header: res.Header,
37714		}
37715	}
37716	if err != nil {
37717		return nil, err
37718	}
37719	defer googleapi.CloseBody(res)
37720	if err := googleapi.CheckResponse(res); err != nil {
37721		return nil, err
37722	}
37723	ret := &PlacementGroup{
37724		ServerResponse: googleapi.ServerResponse{
37725			Header:         res.Header,
37726			HTTPStatusCode: res.StatusCode,
37727		},
37728	}
37729	target := &ret
37730	if err := gensupport.DecodeResponse(target, res); err != nil {
37731		return nil, err
37732	}
37733	return ret, nil
37734	// {
37735	//   "description": "Gets one placement group by ID.",
37736	//   "flatPath": "userprofiles/{profileId}/placementGroups/{id}",
37737	//   "httpMethod": "GET",
37738	//   "id": "dfareporting.placementGroups.get",
37739	//   "parameterOrder": [
37740	//     "profileId",
37741	//     "id"
37742	//   ],
37743	//   "parameters": {
37744	//     "id": {
37745	//       "description": "Placement group ID.",
37746	//       "format": "int64",
37747	//       "location": "path",
37748	//       "required": true,
37749	//       "type": "string"
37750	//     },
37751	//     "profileId": {
37752	//       "description": "User profile ID associated with this request.",
37753	//       "format": "int64",
37754	//       "location": "path",
37755	//       "required": true,
37756	//       "type": "string"
37757	//     }
37758	//   },
37759	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
37760	//   "response": {
37761	//     "$ref": "PlacementGroup"
37762	//   },
37763	//   "scopes": [
37764	//     "https://www.googleapis.com/auth/dfatrafficking"
37765	//   ]
37766	// }
37767
37768}
37769
37770// method id "dfareporting.placementGroups.insert":
37771
37772type PlacementGroupsInsertCall struct {
37773	s              *Service
37774	profileId      int64
37775	placementgroup *PlacementGroup
37776	urlParams_     gensupport.URLParams
37777	ctx_           context.Context
37778	header_        http.Header
37779}
37780
37781// Insert: Inserts a new placement group.
37782func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
37783	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37784	c.profileId = profileId
37785	c.placementgroup = placementgroup
37786	return c
37787}
37788
37789// Fields allows partial responses to be retrieved. See
37790// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37791// for more information.
37792func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
37793	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37794	return c
37795}
37796
37797// Context sets the context to be used in this call's Do method. Any
37798// pending HTTP request will be aborted if the provided context is
37799// canceled.
37800func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
37801	c.ctx_ = ctx
37802	return c
37803}
37804
37805// Header returns an http.Header that can be modified by the caller to
37806// add HTTP headers to the request.
37807func (c *PlacementGroupsInsertCall) Header() http.Header {
37808	if c.header_ == nil {
37809		c.header_ = make(http.Header)
37810	}
37811	return c.header_
37812}
37813
37814func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
37815	reqHeaders := make(http.Header)
37816	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
37817	for k, v := range c.header_ {
37818		reqHeaders[k] = v
37819	}
37820	reqHeaders.Set("User-Agent", c.s.userAgent())
37821	var body io.Reader = nil
37822	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
37823	if err != nil {
37824		return nil, err
37825	}
37826	reqHeaders.Set("Content-Type", "application/json")
37827	c.urlParams_.Set("alt", alt)
37828	c.urlParams_.Set("prettyPrint", "false")
37829	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
37830	urls += "?" + c.urlParams_.Encode()
37831	req, err := http.NewRequest("POST", urls, body)
37832	if err != nil {
37833		return nil, err
37834	}
37835	req.Header = reqHeaders
37836	googleapi.Expand(req.URL, map[string]string{
37837		"profileId": strconv.FormatInt(c.profileId, 10),
37838	})
37839	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37840}
37841
37842// Do executes the "dfareporting.placementGroups.insert" call.
37843// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
37844// status code is an error. Response headers are in either
37845// *PlacementGroup.ServerResponse.Header or (if a response was returned
37846// at all) in error.(*googleapi.Error).Header. Use
37847// googleapi.IsNotModified to check whether the returned error was
37848// because http.StatusNotModified was returned.
37849func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
37850	gensupport.SetOptions(c.urlParams_, opts...)
37851	res, err := c.doRequest("json")
37852	if res != nil && res.StatusCode == http.StatusNotModified {
37853		if res.Body != nil {
37854			res.Body.Close()
37855		}
37856		return nil, &googleapi.Error{
37857			Code:   res.StatusCode,
37858			Header: res.Header,
37859		}
37860	}
37861	if err != nil {
37862		return nil, err
37863	}
37864	defer googleapi.CloseBody(res)
37865	if err := googleapi.CheckResponse(res); err != nil {
37866		return nil, err
37867	}
37868	ret := &PlacementGroup{
37869		ServerResponse: googleapi.ServerResponse{
37870			Header:         res.Header,
37871			HTTPStatusCode: res.StatusCode,
37872		},
37873	}
37874	target := &ret
37875	if err := gensupport.DecodeResponse(target, res); err != nil {
37876		return nil, err
37877	}
37878	return ret, nil
37879	// {
37880	//   "description": "Inserts a new placement group.",
37881	//   "flatPath": "userprofiles/{profileId}/placementGroups",
37882	//   "httpMethod": "POST",
37883	//   "id": "dfareporting.placementGroups.insert",
37884	//   "parameterOrder": [
37885	//     "profileId"
37886	//   ],
37887	//   "parameters": {
37888	//     "profileId": {
37889	//       "description": "User profile ID associated with this request.",
37890	//       "format": "int64",
37891	//       "location": "path",
37892	//       "required": true,
37893	//       "type": "string"
37894	//     }
37895	//   },
37896	//   "path": "userprofiles/{profileId}/placementGroups",
37897	//   "request": {
37898	//     "$ref": "PlacementGroup"
37899	//   },
37900	//   "response": {
37901	//     "$ref": "PlacementGroup"
37902	//   },
37903	//   "scopes": [
37904	//     "https://www.googleapis.com/auth/dfatrafficking"
37905	//   ]
37906	// }
37907
37908}
37909
37910// method id "dfareporting.placementGroups.list":
37911
37912type PlacementGroupsListCall struct {
37913	s            *Service
37914	profileId    int64
37915	urlParams_   gensupport.URLParams
37916	ifNoneMatch_ string
37917	ctx_         context.Context
37918	header_      http.Header
37919}
37920
37921// List: Retrieves a list of placement groups, possibly filtered. This
37922// method supports paging.
37923func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
37924	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37925	c.profileId = profileId
37926	return c
37927}
37928
37929// AdvertiserIds sets the optional parameter "advertiserIds": Select
37930// only placement groups that belong to these advertisers.
37931func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
37932	var advertiserIds_ []string
37933	for _, v := range advertiserIds {
37934		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
37935	}
37936	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
37937	return c
37938}
37939
37940// Archived sets the optional parameter "archived": Select only archived
37941// placements. Don't set this field to select both archived and
37942// non-archived placements.
37943func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
37944	c.urlParams_.Set("archived", fmt.Sprint(archived))
37945	return c
37946}
37947
37948// CampaignIds sets the optional parameter "campaignIds": Select only
37949// placement groups that belong to these campaigns.
37950func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
37951	var campaignIds_ []string
37952	for _, v := range campaignIds {
37953		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
37954	}
37955	c.urlParams_.SetMulti("campaignIds", campaignIds_)
37956	return c
37957}
37958
37959// ContentCategoryIds sets the optional parameter "contentCategoryIds":
37960// Select only placement groups that are associated with these content
37961// categories.
37962func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
37963	var contentCategoryIds_ []string
37964	for _, v := range contentCategoryIds {
37965		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
37966	}
37967	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
37968	return c
37969}
37970
37971// DirectorySiteIds sets the optional parameter "directorySiteIds":
37972// Select only placement groups that are associated with these directory
37973// sites.
37974func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
37975	var directorySiteIds_ []string
37976	for _, v := range directorySiteIds {
37977		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
37978	}
37979	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
37980	return c
37981}
37982
37983// Ids sets the optional parameter "ids": Select only placement groups
37984// with these IDs.
37985func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
37986	var ids_ []string
37987	for _, v := range ids {
37988		ids_ = append(ids_, fmt.Sprint(v))
37989	}
37990	c.urlParams_.SetMulti("ids", ids_)
37991	return c
37992}
37993
37994// MaxEndDate sets the optional parameter "maxEndDate": Select only
37995// placements or placement groups whose end date is on or before the
37996// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
37997func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
37998	c.urlParams_.Set("maxEndDate", maxEndDate)
37999	return c
38000}
38001
38002// MaxResults sets the optional parameter "maxResults": Maximum number
38003// of results to return.
38004func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
38005	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38006	return c
38007}
38008
38009// MaxStartDate sets the optional parameter "maxStartDate": Select only
38010// placements or placement groups whose start date is on or before the
38011// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
38012func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
38013	c.urlParams_.Set("maxStartDate", maxStartDate)
38014	return c
38015}
38016
38017// MinEndDate sets the optional parameter "minEndDate": Select only
38018// placements or placement groups whose end date is on or after the
38019// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
38020func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
38021	c.urlParams_.Set("minEndDate", minEndDate)
38022	return c
38023}
38024
38025// MinStartDate sets the optional parameter "minStartDate": Select only
38026// placements or placement groups whose start date is on or after the
38027// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
38028func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
38029	c.urlParams_.Set("minStartDate", minStartDate)
38030	return c
38031}
38032
38033// PageToken sets the optional parameter "pageToken": Value of the
38034// nextPageToken from the previous result page.
38035func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
38036	c.urlParams_.Set("pageToken", pageToken)
38037	return c
38038}
38039
38040// PlacementGroupType sets the optional parameter "placementGroupType":
38041// Select only placement groups belonging with this group type. A
38042// package is a simple group of placements that acts as a single pricing
38043// point for a group of tags. A roadblock is a group of placements that
38044// not only acts as a single pricing point but also assumes that all the
38045// tags in it will be served at the same time. A roadblock requires one
38046// of its assigned placements to be marked as primary for reporting.
38047//
38048// Possible values:
38049//   "PLACEMENT_PACKAGE"
38050//   "PLACEMENT_ROADBLOCK"
38051func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
38052	c.urlParams_.Set("placementGroupType", placementGroupType)
38053	return c
38054}
38055
38056// PlacementStrategyIds sets the optional parameter
38057// "placementStrategyIds": Select only placement groups that are
38058// associated with these placement strategies.
38059func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
38060	var placementStrategyIds_ []string
38061	for _, v := range placementStrategyIds {
38062		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
38063	}
38064	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
38065	return c
38066}
38067
38068// PricingTypes sets the optional parameter "pricingTypes": Select only
38069// placement groups with these pricing types.
38070//
38071// Possible values:
38072//   "PRICING_TYPE_CPM"
38073//   "PRICING_TYPE_CPC"
38074//   "PRICING_TYPE_CPA"
38075//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
38076//   "PRICING_TYPE_FLAT_RATE_CLICKS"
38077//   "PRICING_TYPE_CPM_ACTIVEVIEW"
38078func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
38079	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
38080	return c
38081}
38082
38083// SearchString sets the optional parameter "searchString": Allows
38084// searching for placement groups by name or ID. Wildcards (*) are
38085// allowed. For example, "placement*2015" will return placement groups
38086// with names like "placement group June 2015", "placement group May
38087// 2015", or simply "placements 2015". Most of the searches also add
38088// wildcards implicitly at the start and the end of the search string.
38089// For example, a search string of "placementgroup" will match placement
38090// groups with name "my placementgroup", "placementgroup 2015", or
38091// simply "placementgroup".
38092func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
38093	c.urlParams_.Set("searchString", searchString)
38094	return c
38095}
38096
38097// SiteIds sets the optional parameter "siteIds": Select only placement
38098// groups that are associated with these sites.
38099func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
38100	var siteIds_ []string
38101	for _, v := range siteIds {
38102		siteIds_ = append(siteIds_, fmt.Sprint(v))
38103	}
38104	c.urlParams_.SetMulti("siteIds", siteIds_)
38105	return c
38106}
38107
38108// SortField sets the optional parameter "sortField": Field by which to
38109// sort the list.
38110//
38111// Possible values:
38112//   "ID" (default)
38113//   "NAME"
38114func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
38115	c.urlParams_.Set("sortField", sortField)
38116	return c
38117}
38118
38119// SortOrder sets the optional parameter "sortOrder": Order of sorted
38120// results.
38121//
38122// Possible values:
38123//   "ASCENDING" (default)
38124//   "DESCENDING"
38125func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
38126	c.urlParams_.Set("sortOrder", sortOrder)
38127	return c
38128}
38129
38130// Fields allows partial responses to be retrieved. See
38131// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38132// for more information.
38133func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
38134	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38135	return c
38136}
38137
38138// IfNoneMatch sets the optional parameter which makes the operation
38139// fail if the object's ETag matches the given value. This is useful for
38140// getting updates only after the object has changed since the last
38141// request. Use googleapi.IsNotModified to check whether the response
38142// error from Do is the result of In-None-Match.
38143func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
38144	c.ifNoneMatch_ = entityTag
38145	return c
38146}
38147
38148// Context sets the context to be used in this call's Do method. Any
38149// pending HTTP request will be aborted if the provided context is
38150// canceled.
38151func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
38152	c.ctx_ = ctx
38153	return c
38154}
38155
38156// Header returns an http.Header that can be modified by the caller to
38157// add HTTP headers to the request.
38158func (c *PlacementGroupsListCall) Header() http.Header {
38159	if c.header_ == nil {
38160		c.header_ = make(http.Header)
38161	}
38162	return c.header_
38163}
38164
38165func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
38166	reqHeaders := make(http.Header)
38167	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
38168	for k, v := range c.header_ {
38169		reqHeaders[k] = v
38170	}
38171	reqHeaders.Set("User-Agent", c.s.userAgent())
38172	if c.ifNoneMatch_ != "" {
38173		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38174	}
38175	var body io.Reader = nil
38176	c.urlParams_.Set("alt", alt)
38177	c.urlParams_.Set("prettyPrint", "false")
38178	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38179	urls += "?" + c.urlParams_.Encode()
38180	req, err := http.NewRequest("GET", urls, body)
38181	if err != nil {
38182		return nil, err
38183	}
38184	req.Header = reqHeaders
38185	googleapi.Expand(req.URL, map[string]string{
38186		"profileId": strconv.FormatInt(c.profileId, 10),
38187	})
38188	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38189}
38190
38191// Do executes the "dfareporting.placementGroups.list" call.
38192// Exactly one of *PlacementGroupsListResponse or error will be non-nil.
38193// Any non-2xx status code is an error. Response headers are in either
38194// *PlacementGroupsListResponse.ServerResponse.Header or (if a response
38195// was returned at all) in error.(*googleapi.Error).Header. Use
38196// googleapi.IsNotModified to check whether the returned error was
38197// because http.StatusNotModified was returned.
38198func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
38199	gensupport.SetOptions(c.urlParams_, opts...)
38200	res, err := c.doRequest("json")
38201	if res != nil && res.StatusCode == http.StatusNotModified {
38202		if res.Body != nil {
38203			res.Body.Close()
38204		}
38205		return nil, &googleapi.Error{
38206			Code:   res.StatusCode,
38207			Header: res.Header,
38208		}
38209	}
38210	if err != nil {
38211		return nil, err
38212	}
38213	defer googleapi.CloseBody(res)
38214	if err := googleapi.CheckResponse(res); err != nil {
38215		return nil, err
38216	}
38217	ret := &PlacementGroupsListResponse{
38218		ServerResponse: googleapi.ServerResponse{
38219			Header:         res.Header,
38220			HTTPStatusCode: res.StatusCode,
38221		},
38222	}
38223	target := &ret
38224	if err := gensupport.DecodeResponse(target, res); err != nil {
38225		return nil, err
38226	}
38227	return ret, nil
38228	// {
38229	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
38230	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38231	//   "httpMethod": "GET",
38232	//   "id": "dfareporting.placementGroups.list",
38233	//   "parameterOrder": [
38234	//     "profileId"
38235	//   ],
38236	//   "parameters": {
38237	//     "advertiserIds": {
38238	//       "description": "Select only placement groups that belong to these advertisers.",
38239	//       "format": "int64",
38240	//       "location": "query",
38241	//       "repeated": true,
38242	//       "type": "string"
38243	//     },
38244	//     "archived": {
38245	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
38246	//       "location": "query",
38247	//       "type": "boolean"
38248	//     },
38249	//     "campaignIds": {
38250	//       "description": "Select only placement groups that belong to these campaigns.",
38251	//       "format": "int64",
38252	//       "location": "query",
38253	//       "repeated": true,
38254	//       "type": "string"
38255	//     },
38256	//     "contentCategoryIds": {
38257	//       "description": "Select only placement groups that are associated with these content categories.",
38258	//       "format": "int64",
38259	//       "location": "query",
38260	//       "repeated": true,
38261	//       "type": "string"
38262	//     },
38263	//     "directorySiteIds": {
38264	//       "description": "Select only placement groups that are associated with these directory sites.",
38265	//       "format": "int64",
38266	//       "location": "query",
38267	//       "repeated": true,
38268	//       "type": "string"
38269	//     },
38270	//     "ids": {
38271	//       "description": "Select only placement groups with these IDs.",
38272	//       "format": "int64",
38273	//       "location": "query",
38274	//       "repeated": true,
38275	//       "type": "string"
38276	//     },
38277	//     "maxEndDate": {
38278	//       "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".",
38279	//       "location": "query",
38280	//       "type": "string"
38281	//     },
38282	//     "maxResults": {
38283	//       "default": "800",
38284	//       "description": "Maximum number of results to return.",
38285	//       "format": "int32",
38286	//       "location": "query",
38287	//       "maximum": "800",
38288	//       "minimum": "0",
38289	//       "type": "integer"
38290	//     },
38291	//     "maxStartDate": {
38292	//       "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".",
38293	//       "location": "query",
38294	//       "type": "string"
38295	//     },
38296	//     "minEndDate": {
38297	//       "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".",
38298	//       "location": "query",
38299	//       "type": "string"
38300	//     },
38301	//     "minStartDate": {
38302	//       "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".",
38303	//       "location": "query",
38304	//       "type": "string"
38305	//     },
38306	//     "pageToken": {
38307	//       "description": "Value of the nextPageToken from the previous result page.",
38308	//       "location": "query",
38309	//       "type": "string"
38310	//     },
38311	//     "placementGroupType": {
38312	//       "description": "Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting.",
38313	//       "enum": [
38314	//         "PLACEMENT_PACKAGE",
38315	//         "PLACEMENT_ROADBLOCK"
38316	//       ],
38317	//       "enumDescriptions": [
38318	//         "",
38319	//         ""
38320	//       ],
38321	//       "location": "query",
38322	//       "type": "string"
38323	//     },
38324	//     "placementStrategyIds": {
38325	//       "description": "Select only placement groups that are associated with these placement strategies.",
38326	//       "format": "int64",
38327	//       "location": "query",
38328	//       "repeated": true,
38329	//       "type": "string"
38330	//     },
38331	//     "pricingTypes": {
38332	//       "description": "Select only placement groups with these pricing types.",
38333	//       "enum": [
38334	//         "PRICING_TYPE_CPM",
38335	//         "PRICING_TYPE_CPC",
38336	//         "PRICING_TYPE_CPA",
38337	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
38338	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
38339	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
38340	//       ],
38341	//       "enumDescriptions": [
38342	//         "",
38343	//         "",
38344	//         "",
38345	//         "",
38346	//         "",
38347	//         ""
38348	//       ],
38349	//       "location": "query",
38350	//       "repeated": true,
38351	//       "type": "string"
38352	//     },
38353	//     "profileId": {
38354	//       "description": "User profile ID associated with this request.",
38355	//       "format": "int64",
38356	//       "location": "path",
38357	//       "required": true,
38358	//       "type": "string"
38359	//     },
38360	//     "searchString": {
38361	//       "description": "Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placement groups with names like \"placement group June 2015\", \"placement group May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementgroup\" will match placement groups with name \"my placementgroup\", \"placementgroup 2015\", or simply \"placementgroup\".",
38362	//       "location": "query",
38363	//       "type": "string"
38364	//     },
38365	//     "siteIds": {
38366	//       "description": "Select only placement groups that are associated with these sites.",
38367	//       "format": "int64",
38368	//       "location": "query",
38369	//       "repeated": true,
38370	//       "type": "string"
38371	//     },
38372	//     "sortField": {
38373	//       "default": "ID",
38374	//       "description": "Field by which to sort the list.",
38375	//       "enum": [
38376	//         "ID",
38377	//         "NAME"
38378	//       ],
38379	//       "enumDescriptions": [
38380	//         "",
38381	//         ""
38382	//       ],
38383	//       "location": "query",
38384	//       "type": "string"
38385	//     },
38386	//     "sortOrder": {
38387	//       "default": "ASCENDING",
38388	//       "description": "Order of sorted results.",
38389	//       "enum": [
38390	//         "ASCENDING",
38391	//         "DESCENDING"
38392	//       ],
38393	//       "enumDescriptions": [
38394	//         "",
38395	//         ""
38396	//       ],
38397	//       "location": "query",
38398	//       "type": "string"
38399	//     }
38400	//   },
38401	//   "path": "userprofiles/{profileId}/placementGroups",
38402	//   "response": {
38403	//     "$ref": "PlacementGroupsListResponse"
38404	//   },
38405	//   "scopes": [
38406	//     "https://www.googleapis.com/auth/dfatrafficking"
38407	//   ]
38408	// }
38409
38410}
38411
38412// Pages invokes f for each page of results.
38413// A non-nil error returned from f will halt the iteration.
38414// The provided context supersedes any context provided to the Context method.
38415func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
38416	c.ctx_ = ctx
38417	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38418	for {
38419		x, err := c.Do()
38420		if err != nil {
38421			return err
38422		}
38423		if err := f(x); err != nil {
38424			return err
38425		}
38426		if x.NextPageToken == "" {
38427			return nil
38428		}
38429		c.PageToken(x.NextPageToken)
38430	}
38431}
38432
38433// method id "dfareporting.placementGroups.patch":
38434
38435type PlacementGroupsPatchCall struct {
38436	s              *Service
38437	profileId      int64
38438	placementgroup *PlacementGroup
38439	urlParams_     gensupport.URLParams
38440	ctx_           context.Context
38441	header_        http.Header
38442}
38443
38444// Patch: Updates an existing placement group. This method supports
38445// patch semantics.
38446func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
38447	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38448	c.profileId = profileId
38449	c.urlParams_.Set("id", fmt.Sprint(id))
38450	c.placementgroup = placementgroup
38451	return c
38452}
38453
38454// Fields allows partial responses to be retrieved. See
38455// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38456// for more information.
38457func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
38458	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38459	return c
38460}
38461
38462// Context sets the context to be used in this call's Do method. Any
38463// pending HTTP request will be aborted if the provided context is
38464// canceled.
38465func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
38466	c.ctx_ = ctx
38467	return c
38468}
38469
38470// Header returns an http.Header that can be modified by the caller to
38471// add HTTP headers to the request.
38472func (c *PlacementGroupsPatchCall) Header() http.Header {
38473	if c.header_ == nil {
38474		c.header_ = make(http.Header)
38475	}
38476	return c.header_
38477}
38478
38479func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
38480	reqHeaders := make(http.Header)
38481	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
38482	for k, v := range c.header_ {
38483		reqHeaders[k] = v
38484	}
38485	reqHeaders.Set("User-Agent", c.s.userAgent())
38486	var body io.Reader = nil
38487	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38488	if err != nil {
38489		return nil, err
38490	}
38491	reqHeaders.Set("Content-Type", "application/json")
38492	c.urlParams_.Set("alt", alt)
38493	c.urlParams_.Set("prettyPrint", "false")
38494	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38495	urls += "?" + c.urlParams_.Encode()
38496	req, err := http.NewRequest("PATCH", urls, body)
38497	if err != nil {
38498		return nil, err
38499	}
38500	req.Header = reqHeaders
38501	googleapi.Expand(req.URL, map[string]string{
38502		"profileId": strconv.FormatInt(c.profileId, 10),
38503	})
38504	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38505}
38506
38507// Do executes the "dfareporting.placementGroups.patch" call.
38508// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38509// status code is an error. Response headers are in either
38510// *PlacementGroup.ServerResponse.Header or (if a response was returned
38511// at all) in error.(*googleapi.Error).Header. Use
38512// googleapi.IsNotModified to check whether the returned error was
38513// because http.StatusNotModified was returned.
38514func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38515	gensupport.SetOptions(c.urlParams_, opts...)
38516	res, err := c.doRequest("json")
38517	if res != nil && res.StatusCode == http.StatusNotModified {
38518		if res.Body != nil {
38519			res.Body.Close()
38520		}
38521		return nil, &googleapi.Error{
38522			Code:   res.StatusCode,
38523			Header: res.Header,
38524		}
38525	}
38526	if err != nil {
38527		return nil, err
38528	}
38529	defer googleapi.CloseBody(res)
38530	if err := googleapi.CheckResponse(res); err != nil {
38531		return nil, err
38532	}
38533	ret := &PlacementGroup{
38534		ServerResponse: googleapi.ServerResponse{
38535			Header:         res.Header,
38536			HTTPStatusCode: res.StatusCode,
38537		},
38538	}
38539	target := &ret
38540	if err := gensupport.DecodeResponse(target, res); err != nil {
38541		return nil, err
38542	}
38543	return ret, nil
38544	// {
38545	//   "description": "Updates an existing placement group. This method supports patch semantics.",
38546	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38547	//   "httpMethod": "PATCH",
38548	//   "id": "dfareporting.placementGroups.patch",
38549	//   "parameterOrder": [
38550	//     "profileId",
38551	//     "id"
38552	//   ],
38553	//   "parameters": {
38554	//     "id": {
38555	//       "description": "PlacementGroup ID.",
38556	//       "format": "int64",
38557	//       "location": "query",
38558	//       "required": true,
38559	//       "type": "string"
38560	//     },
38561	//     "profileId": {
38562	//       "description": "User profile ID associated with this request.",
38563	//       "format": "int64",
38564	//       "location": "path",
38565	//       "required": true,
38566	//       "type": "string"
38567	//     }
38568	//   },
38569	//   "path": "userprofiles/{profileId}/placementGroups",
38570	//   "request": {
38571	//     "$ref": "PlacementGroup"
38572	//   },
38573	//   "response": {
38574	//     "$ref": "PlacementGroup"
38575	//   },
38576	//   "scopes": [
38577	//     "https://www.googleapis.com/auth/dfatrafficking"
38578	//   ]
38579	// }
38580
38581}
38582
38583// method id "dfareporting.placementGroups.update":
38584
38585type PlacementGroupsUpdateCall struct {
38586	s              *Service
38587	profileId      int64
38588	placementgroup *PlacementGroup
38589	urlParams_     gensupport.URLParams
38590	ctx_           context.Context
38591	header_        http.Header
38592}
38593
38594// Update: Updates an existing placement group.
38595func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
38596	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38597	c.profileId = profileId
38598	c.placementgroup = placementgroup
38599	return c
38600}
38601
38602// Fields allows partial responses to be retrieved. See
38603// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38604// for more information.
38605func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
38606	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38607	return c
38608}
38609
38610// Context sets the context to be used in this call's Do method. Any
38611// pending HTTP request will be aborted if the provided context is
38612// canceled.
38613func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
38614	c.ctx_ = ctx
38615	return c
38616}
38617
38618// Header returns an http.Header that can be modified by the caller to
38619// add HTTP headers to the request.
38620func (c *PlacementGroupsUpdateCall) Header() http.Header {
38621	if c.header_ == nil {
38622		c.header_ = make(http.Header)
38623	}
38624	return c.header_
38625}
38626
38627func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
38628	reqHeaders := make(http.Header)
38629	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
38630	for k, v := range c.header_ {
38631		reqHeaders[k] = v
38632	}
38633	reqHeaders.Set("User-Agent", c.s.userAgent())
38634	var body io.Reader = nil
38635	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38636	if err != nil {
38637		return nil, err
38638	}
38639	reqHeaders.Set("Content-Type", "application/json")
38640	c.urlParams_.Set("alt", alt)
38641	c.urlParams_.Set("prettyPrint", "false")
38642	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38643	urls += "?" + c.urlParams_.Encode()
38644	req, err := http.NewRequest("PUT", urls, body)
38645	if err != nil {
38646		return nil, err
38647	}
38648	req.Header = reqHeaders
38649	googleapi.Expand(req.URL, map[string]string{
38650		"profileId": strconv.FormatInt(c.profileId, 10),
38651	})
38652	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38653}
38654
38655// Do executes the "dfareporting.placementGroups.update" call.
38656// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38657// status code is an error. Response headers are in either
38658// *PlacementGroup.ServerResponse.Header or (if a response was returned
38659// at all) in error.(*googleapi.Error).Header. Use
38660// googleapi.IsNotModified to check whether the returned error was
38661// because http.StatusNotModified was returned.
38662func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38663	gensupport.SetOptions(c.urlParams_, opts...)
38664	res, err := c.doRequest("json")
38665	if res != nil && res.StatusCode == http.StatusNotModified {
38666		if res.Body != nil {
38667			res.Body.Close()
38668		}
38669		return nil, &googleapi.Error{
38670			Code:   res.StatusCode,
38671			Header: res.Header,
38672		}
38673	}
38674	if err != nil {
38675		return nil, err
38676	}
38677	defer googleapi.CloseBody(res)
38678	if err := googleapi.CheckResponse(res); err != nil {
38679		return nil, err
38680	}
38681	ret := &PlacementGroup{
38682		ServerResponse: googleapi.ServerResponse{
38683			Header:         res.Header,
38684			HTTPStatusCode: res.StatusCode,
38685		},
38686	}
38687	target := &ret
38688	if err := gensupport.DecodeResponse(target, res); err != nil {
38689		return nil, err
38690	}
38691	return ret, nil
38692	// {
38693	//   "description": "Updates an existing placement group.",
38694	//   "flatPath": "userprofiles/{profileId}/placementGroups",
38695	//   "httpMethod": "PUT",
38696	//   "id": "dfareporting.placementGroups.update",
38697	//   "parameterOrder": [
38698	//     "profileId"
38699	//   ],
38700	//   "parameters": {
38701	//     "profileId": {
38702	//       "description": "User profile ID associated with this request.",
38703	//       "format": "int64",
38704	//       "location": "path",
38705	//       "required": true,
38706	//       "type": "string"
38707	//     }
38708	//   },
38709	//   "path": "userprofiles/{profileId}/placementGroups",
38710	//   "request": {
38711	//     "$ref": "PlacementGroup"
38712	//   },
38713	//   "response": {
38714	//     "$ref": "PlacementGroup"
38715	//   },
38716	//   "scopes": [
38717	//     "https://www.googleapis.com/auth/dfatrafficking"
38718	//   ]
38719	// }
38720
38721}
38722
38723// method id "dfareporting.placementStrategies.delete":
38724
38725type PlacementStrategiesDeleteCall struct {
38726	s          *Service
38727	profileId  int64
38728	id         int64
38729	urlParams_ gensupport.URLParams
38730	ctx_       context.Context
38731	header_    http.Header
38732}
38733
38734// Delete: Deletes an existing placement strategy.
38735func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
38736	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38737	c.profileId = profileId
38738	c.id = id
38739	return c
38740}
38741
38742// Fields allows partial responses to be retrieved. See
38743// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38744// for more information.
38745func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
38746	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38747	return c
38748}
38749
38750// Context sets the context to be used in this call's Do method. Any
38751// pending HTTP request will be aborted if the provided context is
38752// canceled.
38753func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
38754	c.ctx_ = ctx
38755	return c
38756}
38757
38758// Header returns an http.Header that can be modified by the caller to
38759// add HTTP headers to the request.
38760func (c *PlacementStrategiesDeleteCall) Header() http.Header {
38761	if c.header_ == nil {
38762		c.header_ = make(http.Header)
38763	}
38764	return c.header_
38765}
38766
38767func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
38768	reqHeaders := make(http.Header)
38769	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
38770	for k, v := range c.header_ {
38771		reqHeaders[k] = v
38772	}
38773	reqHeaders.Set("User-Agent", c.s.userAgent())
38774	var body io.Reader = nil
38775	c.urlParams_.Set("alt", alt)
38776	c.urlParams_.Set("prettyPrint", "false")
38777	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
38778	urls += "?" + c.urlParams_.Encode()
38779	req, err := http.NewRequest("DELETE", urls, body)
38780	if err != nil {
38781		return nil, err
38782	}
38783	req.Header = reqHeaders
38784	googleapi.Expand(req.URL, map[string]string{
38785		"profileId": strconv.FormatInt(c.profileId, 10),
38786		"id":        strconv.FormatInt(c.id, 10),
38787	})
38788	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38789}
38790
38791// Do executes the "dfareporting.placementStrategies.delete" call.
38792func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
38793	gensupport.SetOptions(c.urlParams_, opts...)
38794	res, err := c.doRequest("json")
38795	if err != nil {
38796		return err
38797	}
38798	defer googleapi.CloseBody(res)
38799	if err := googleapi.CheckResponse(res); err != nil {
38800		return err
38801	}
38802	return nil
38803	// {
38804	//   "description": "Deletes an existing placement strategy.",
38805	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
38806	//   "httpMethod": "DELETE",
38807	//   "id": "dfareporting.placementStrategies.delete",
38808	//   "parameterOrder": [
38809	//     "profileId",
38810	//     "id"
38811	//   ],
38812	//   "parameters": {
38813	//     "id": {
38814	//       "description": "Placement strategy ID.",
38815	//       "format": "int64",
38816	//       "location": "path",
38817	//       "required": true,
38818	//       "type": "string"
38819	//     },
38820	//     "profileId": {
38821	//       "description": "User profile ID associated with this request.",
38822	//       "format": "int64",
38823	//       "location": "path",
38824	//       "required": true,
38825	//       "type": "string"
38826	//     }
38827	//   },
38828	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
38829	//   "scopes": [
38830	//     "https://www.googleapis.com/auth/dfatrafficking"
38831	//   ]
38832	// }
38833
38834}
38835
38836// method id "dfareporting.placementStrategies.get":
38837
38838type PlacementStrategiesGetCall struct {
38839	s            *Service
38840	profileId    int64
38841	id           int64
38842	urlParams_   gensupport.URLParams
38843	ifNoneMatch_ string
38844	ctx_         context.Context
38845	header_      http.Header
38846}
38847
38848// Get: Gets one placement strategy by ID.
38849func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
38850	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38851	c.profileId = profileId
38852	c.id = id
38853	return c
38854}
38855
38856// Fields allows partial responses to be retrieved. See
38857// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38858// for more information.
38859func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
38860	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38861	return c
38862}
38863
38864// IfNoneMatch sets the optional parameter which makes the operation
38865// fail if the object's ETag matches the given value. This is useful for
38866// getting updates only after the object has changed since the last
38867// request. Use googleapi.IsNotModified to check whether the response
38868// error from Do is the result of In-None-Match.
38869func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
38870	c.ifNoneMatch_ = entityTag
38871	return c
38872}
38873
38874// Context sets the context to be used in this call's Do method. Any
38875// pending HTTP request will be aborted if the provided context is
38876// canceled.
38877func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
38878	c.ctx_ = ctx
38879	return c
38880}
38881
38882// Header returns an http.Header that can be modified by the caller to
38883// add HTTP headers to the request.
38884func (c *PlacementStrategiesGetCall) Header() http.Header {
38885	if c.header_ == nil {
38886		c.header_ = make(http.Header)
38887	}
38888	return c.header_
38889}
38890
38891func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
38892	reqHeaders := make(http.Header)
38893	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
38894	for k, v := range c.header_ {
38895		reqHeaders[k] = v
38896	}
38897	reqHeaders.Set("User-Agent", c.s.userAgent())
38898	if c.ifNoneMatch_ != "" {
38899		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38900	}
38901	var body io.Reader = nil
38902	c.urlParams_.Set("alt", alt)
38903	c.urlParams_.Set("prettyPrint", "false")
38904	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
38905	urls += "?" + c.urlParams_.Encode()
38906	req, err := http.NewRequest("GET", urls, body)
38907	if err != nil {
38908		return nil, err
38909	}
38910	req.Header = reqHeaders
38911	googleapi.Expand(req.URL, map[string]string{
38912		"profileId": strconv.FormatInt(c.profileId, 10),
38913		"id":        strconv.FormatInt(c.id, 10),
38914	})
38915	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38916}
38917
38918// Do executes the "dfareporting.placementStrategies.get" call.
38919// Exactly one of *PlacementStrategy or error will be non-nil. Any
38920// non-2xx status code is an error. Response headers are in either
38921// *PlacementStrategy.ServerResponse.Header or (if a response was
38922// returned at all) in error.(*googleapi.Error).Header. Use
38923// googleapi.IsNotModified to check whether the returned error was
38924// because http.StatusNotModified was returned.
38925func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
38926	gensupport.SetOptions(c.urlParams_, opts...)
38927	res, err := c.doRequest("json")
38928	if res != nil && res.StatusCode == http.StatusNotModified {
38929		if res.Body != nil {
38930			res.Body.Close()
38931		}
38932		return nil, &googleapi.Error{
38933			Code:   res.StatusCode,
38934			Header: res.Header,
38935		}
38936	}
38937	if err != nil {
38938		return nil, err
38939	}
38940	defer googleapi.CloseBody(res)
38941	if err := googleapi.CheckResponse(res); err != nil {
38942		return nil, err
38943	}
38944	ret := &PlacementStrategy{
38945		ServerResponse: googleapi.ServerResponse{
38946			Header:         res.Header,
38947			HTTPStatusCode: res.StatusCode,
38948		},
38949	}
38950	target := &ret
38951	if err := gensupport.DecodeResponse(target, res); err != nil {
38952		return nil, err
38953	}
38954	return ret, nil
38955	// {
38956	//   "description": "Gets one placement strategy by ID.",
38957	//   "flatPath": "userprofiles/{profileId}/placementStrategies/{id}",
38958	//   "httpMethod": "GET",
38959	//   "id": "dfareporting.placementStrategies.get",
38960	//   "parameterOrder": [
38961	//     "profileId",
38962	//     "id"
38963	//   ],
38964	//   "parameters": {
38965	//     "id": {
38966	//       "description": "Placement strategy ID.",
38967	//       "format": "int64",
38968	//       "location": "path",
38969	//       "required": true,
38970	//       "type": "string"
38971	//     },
38972	//     "profileId": {
38973	//       "description": "User profile ID associated with this request.",
38974	//       "format": "int64",
38975	//       "location": "path",
38976	//       "required": true,
38977	//       "type": "string"
38978	//     }
38979	//   },
38980	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
38981	//   "response": {
38982	//     "$ref": "PlacementStrategy"
38983	//   },
38984	//   "scopes": [
38985	//     "https://www.googleapis.com/auth/dfatrafficking"
38986	//   ]
38987	// }
38988
38989}
38990
38991// method id "dfareporting.placementStrategies.insert":
38992
38993type PlacementStrategiesInsertCall struct {
38994	s                 *Service
38995	profileId         int64
38996	placementstrategy *PlacementStrategy
38997	urlParams_        gensupport.URLParams
38998	ctx_              context.Context
38999	header_           http.Header
39000}
39001
39002// Insert: Inserts a new placement strategy.
39003func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
39004	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39005	c.profileId = profileId
39006	c.placementstrategy = placementstrategy
39007	return c
39008}
39009
39010// Fields allows partial responses to be retrieved. See
39011// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39012// for more information.
39013func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
39014	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39015	return c
39016}
39017
39018// Context sets the context to be used in this call's Do method. Any
39019// pending HTTP request will be aborted if the provided context is
39020// canceled.
39021func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
39022	c.ctx_ = ctx
39023	return c
39024}
39025
39026// Header returns an http.Header that can be modified by the caller to
39027// add HTTP headers to the request.
39028func (c *PlacementStrategiesInsertCall) Header() http.Header {
39029	if c.header_ == nil {
39030		c.header_ = make(http.Header)
39031	}
39032	return c.header_
39033}
39034
39035func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
39036	reqHeaders := make(http.Header)
39037	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
39038	for k, v := range c.header_ {
39039		reqHeaders[k] = v
39040	}
39041	reqHeaders.Set("User-Agent", c.s.userAgent())
39042	var body io.Reader = nil
39043	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39044	if err != nil {
39045		return nil, err
39046	}
39047	reqHeaders.Set("Content-Type", "application/json")
39048	c.urlParams_.Set("alt", alt)
39049	c.urlParams_.Set("prettyPrint", "false")
39050	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39051	urls += "?" + c.urlParams_.Encode()
39052	req, err := http.NewRequest("POST", urls, body)
39053	if err != nil {
39054		return nil, err
39055	}
39056	req.Header = reqHeaders
39057	googleapi.Expand(req.URL, map[string]string{
39058		"profileId": strconv.FormatInt(c.profileId, 10),
39059	})
39060	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39061}
39062
39063// Do executes the "dfareporting.placementStrategies.insert" call.
39064// Exactly one of *PlacementStrategy or error will be non-nil. Any
39065// non-2xx status code is an error. Response headers are in either
39066// *PlacementStrategy.ServerResponse.Header or (if a response was
39067// returned at all) in error.(*googleapi.Error).Header. Use
39068// googleapi.IsNotModified to check whether the returned error was
39069// because http.StatusNotModified was returned.
39070func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39071	gensupport.SetOptions(c.urlParams_, opts...)
39072	res, err := c.doRequest("json")
39073	if res != nil && res.StatusCode == http.StatusNotModified {
39074		if res.Body != nil {
39075			res.Body.Close()
39076		}
39077		return nil, &googleapi.Error{
39078			Code:   res.StatusCode,
39079			Header: res.Header,
39080		}
39081	}
39082	if err != nil {
39083		return nil, err
39084	}
39085	defer googleapi.CloseBody(res)
39086	if err := googleapi.CheckResponse(res); err != nil {
39087		return nil, err
39088	}
39089	ret := &PlacementStrategy{
39090		ServerResponse: googleapi.ServerResponse{
39091			Header:         res.Header,
39092			HTTPStatusCode: res.StatusCode,
39093		},
39094	}
39095	target := &ret
39096	if err := gensupport.DecodeResponse(target, res); err != nil {
39097		return nil, err
39098	}
39099	return ret, nil
39100	// {
39101	//   "description": "Inserts a new placement strategy.",
39102	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39103	//   "httpMethod": "POST",
39104	//   "id": "dfareporting.placementStrategies.insert",
39105	//   "parameterOrder": [
39106	//     "profileId"
39107	//   ],
39108	//   "parameters": {
39109	//     "profileId": {
39110	//       "description": "User profile ID associated with this request.",
39111	//       "format": "int64",
39112	//       "location": "path",
39113	//       "required": true,
39114	//       "type": "string"
39115	//     }
39116	//   },
39117	//   "path": "userprofiles/{profileId}/placementStrategies",
39118	//   "request": {
39119	//     "$ref": "PlacementStrategy"
39120	//   },
39121	//   "response": {
39122	//     "$ref": "PlacementStrategy"
39123	//   },
39124	//   "scopes": [
39125	//     "https://www.googleapis.com/auth/dfatrafficking"
39126	//   ]
39127	// }
39128
39129}
39130
39131// method id "dfareporting.placementStrategies.list":
39132
39133type PlacementStrategiesListCall struct {
39134	s            *Service
39135	profileId    int64
39136	urlParams_   gensupport.URLParams
39137	ifNoneMatch_ string
39138	ctx_         context.Context
39139	header_      http.Header
39140}
39141
39142// List: Retrieves a list of placement strategies, possibly filtered.
39143// This method supports paging.
39144func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
39145	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39146	c.profileId = profileId
39147	return c
39148}
39149
39150// Ids sets the optional parameter "ids": Select only placement
39151// strategies with these IDs.
39152func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
39153	var ids_ []string
39154	for _, v := range ids {
39155		ids_ = append(ids_, fmt.Sprint(v))
39156	}
39157	c.urlParams_.SetMulti("ids", ids_)
39158	return c
39159}
39160
39161// MaxResults sets the optional parameter "maxResults": Maximum number
39162// of results to return.
39163func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
39164	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
39165	return c
39166}
39167
39168// PageToken sets the optional parameter "pageToken": Value of the
39169// nextPageToken from the previous result page.
39170func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
39171	c.urlParams_.Set("pageToken", pageToken)
39172	return c
39173}
39174
39175// SearchString sets the optional parameter "searchString": Allows
39176// searching for objects by name or ID. Wildcards (*) are allowed. For
39177// example, "placementstrategy*2015" will return objects with names like
39178// "placementstrategy June 2015", "placementstrategy April 2015", or
39179// simply "placementstrategy 2015". Most of the searches also add
39180// wildcards implicitly at the start and the end of the search string.
39181// For example, a search string of "placementstrategy" will match
39182// objects with name "my placementstrategy", "placementstrategy 2015",
39183// or simply "placementstrategy".
39184func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
39185	c.urlParams_.Set("searchString", searchString)
39186	return c
39187}
39188
39189// SortField sets the optional parameter "sortField": Field by which to
39190// sort the list.
39191//
39192// Possible values:
39193//   "ID" (default)
39194//   "NAME"
39195func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
39196	c.urlParams_.Set("sortField", sortField)
39197	return c
39198}
39199
39200// SortOrder sets the optional parameter "sortOrder": Order of sorted
39201// results.
39202//
39203// Possible values:
39204//   "ASCENDING" (default)
39205//   "DESCENDING"
39206func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
39207	c.urlParams_.Set("sortOrder", sortOrder)
39208	return c
39209}
39210
39211// Fields allows partial responses to be retrieved. See
39212// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39213// for more information.
39214func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
39215	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39216	return c
39217}
39218
39219// IfNoneMatch sets the optional parameter which makes the operation
39220// fail if the object's ETag matches the given value. This is useful for
39221// getting updates only after the object has changed since the last
39222// request. Use googleapi.IsNotModified to check whether the response
39223// error from Do is the result of In-None-Match.
39224func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
39225	c.ifNoneMatch_ = entityTag
39226	return c
39227}
39228
39229// Context sets the context to be used in this call's Do method. Any
39230// pending HTTP request will be aborted if the provided context is
39231// canceled.
39232func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
39233	c.ctx_ = ctx
39234	return c
39235}
39236
39237// Header returns an http.Header that can be modified by the caller to
39238// add HTTP headers to the request.
39239func (c *PlacementStrategiesListCall) Header() http.Header {
39240	if c.header_ == nil {
39241		c.header_ = make(http.Header)
39242	}
39243	return c.header_
39244}
39245
39246func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
39247	reqHeaders := make(http.Header)
39248	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
39249	for k, v := range c.header_ {
39250		reqHeaders[k] = v
39251	}
39252	reqHeaders.Set("User-Agent", c.s.userAgent())
39253	if c.ifNoneMatch_ != "" {
39254		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39255	}
39256	var body io.Reader = nil
39257	c.urlParams_.Set("alt", alt)
39258	c.urlParams_.Set("prettyPrint", "false")
39259	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39260	urls += "?" + c.urlParams_.Encode()
39261	req, err := http.NewRequest("GET", urls, body)
39262	if err != nil {
39263		return nil, err
39264	}
39265	req.Header = reqHeaders
39266	googleapi.Expand(req.URL, map[string]string{
39267		"profileId": strconv.FormatInt(c.profileId, 10),
39268	})
39269	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39270}
39271
39272// Do executes the "dfareporting.placementStrategies.list" call.
39273// Exactly one of *PlacementStrategiesListResponse or error will be
39274// non-nil. Any non-2xx status code is an error. Response headers are in
39275// either *PlacementStrategiesListResponse.ServerResponse.Header or (if
39276// a response was returned at all) in error.(*googleapi.Error).Header.
39277// Use googleapi.IsNotModified to check whether the returned error was
39278// because http.StatusNotModified was returned.
39279func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, error) {
39280	gensupport.SetOptions(c.urlParams_, opts...)
39281	res, err := c.doRequest("json")
39282	if res != nil && res.StatusCode == http.StatusNotModified {
39283		if res.Body != nil {
39284			res.Body.Close()
39285		}
39286		return nil, &googleapi.Error{
39287			Code:   res.StatusCode,
39288			Header: res.Header,
39289		}
39290	}
39291	if err != nil {
39292		return nil, err
39293	}
39294	defer googleapi.CloseBody(res)
39295	if err := googleapi.CheckResponse(res); err != nil {
39296		return nil, err
39297	}
39298	ret := &PlacementStrategiesListResponse{
39299		ServerResponse: googleapi.ServerResponse{
39300			Header:         res.Header,
39301			HTTPStatusCode: res.StatusCode,
39302		},
39303	}
39304	target := &ret
39305	if err := gensupport.DecodeResponse(target, res); err != nil {
39306		return nil, err
39307	}
39308	return ret, nil
39309	// {
39310	//   "description": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
39311	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39312	//   "httpMethod": "GET",
39313	//   "id": "dfareporting.placementStrategies.list",
39314	//   "parameterOrder": [
39315	//     "profileId"
39316	//   ],
39317	//   "parameters": {
39318	//     "ids": {
39319	//       "description": "Select only placement strategies with these IDs.",
39320	//       "format": "int64",
39321	//       "location": "query",
39322	//       "repeated": true,
39323	//       "type": "string"
39324	//     },
39325	//     "maxResults": {
39326	//       "default": "1000",
39327	//       "description": "Maximum number of results to return.",
39328	//       "format": "int32",
39329	//       "location": "query",
39330	//       "maximum": "1000",
39331	//       "minimum": "0",
39332	//       "type": "integer"
39333	//     },
39334	//     "pageToken": {
39335	//       "description": "Value of the nextPageToken from the previous result page.",
39336	//       "location": "query",
39337	//       "type": "string"
39338	//     },
39339	//     "profileId": {
39340	//       "description": "User profile ID associated with this request.",
39341	//       "format": "int64",
39342	//       "location": "path",
39343	//       "required": true,
39344	//       "type": "string"
39345	//     },
39346	//     "searchString": {
39347	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"placementstrategy*2015\" will return objects with names like \"placementstrategy June 2015\", \"placementstrategy April 2015\", or simply \"placementstrategy 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementstrategy\" will match objects with name \"my placementstrategy\", \"placementstrategy 2015\", or simply \"placementstrategy\".",
39348	//       "location": "query",
39349	//       "type": "string"
39350	//     },
39351	//     "sortField": {
39352	//       "default": "ID",
39353	//       "description": "Field by which to sort the list.",
39354	//       "enum": [
39355	//         "ID",
39356	//         "NAME"
39357	//       ],
39358	//       "enumDescriptions": [
39359	//         "",
39360	//         ""
39361	//       ],
39362	//       "location": "query",
39363	//       "type": "string"
39364	//     },
39365	//     "sortOrder": {
39366	//       "default": "ASCENDING",
39367	//       "description": "Order of sorted results.",
39368	//       "enum": [
39369	//         "ASCENDING",
39370	//         "DESCENDING"
39371	//       ],
39372	//       "enumDescriptions": [
39373	//         "",
39374	//         ""
39375	//       ],
39376	//       "location": "query",
39377	//       "type": "string"
39378	//     }
39379	//   },
39380	//   "path": "userprofiles/{profileId}/placementStrategies",
39381	//   "response": {
39382	//     "$ref": "PlacementStrategiesListResponse"
39383	//   },
39384	//   "scopes": [
39385	//     "https://www.googleapis.com/auth/dfatrafficking"
39386	//   ]
39387	// }
39388
39389}
39390
39391// Pages invokes f for each page of results.
39392// A non-nil error returned from f will halt the iteration.
39393// The provided context supersedes any context provided to the Context method.
39394func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
39395	c.ctx_ = ctx
39396	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39397	for {
39398		x, err := c.Do()
39399		if err != nil {
39400			return err
39401		}
39402		if err := f(x); err != nil {
39403			return err
39404		}
39405		if x.NextPageToken == "" {
39406			return nil
39407		}
39408		c.PageToken(x.NextPageToken)
39409	}
39410}
39411
39412// method id "dfareporting.placementStrategies.patch":
39413
39414type PlacementStrategiesPatchCall struct {
39415	s                 *Service
39416	profileId         int64
39417	placementstrategy *PlacementStrategy
39418	urlParams_        gensupport.URLParams
39419	ctx_              context.Context
39420	header_           http.Header
39421}
39422
39423// Patch: Updates an existing placement strategy. This method supports
39424// patch semantics.
39425func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
39426	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39427	c.profileId = profileId
39428	c.urlParams_.Set("id", fmt.Sprint(id))
39429	c.placementstrategy = placementstrategy
39430	return c
39431}
39432
39433// Fields allows partial responses to be retrieved. See
39434// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39435// for more information.
39436func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
39437	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39438	return c
39439}
39440
39441// Context sets the context to be used in this call's Do method. Any
39442// pending HTTP request will be aborted if the provided context is
39443// canceled.
39444func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
39445	c.ctx_ = ctx
39446	return c
39447}
39448
39449// Header returns an http.Header that can be modified by the caller to
39450// add HTTP headers to the request.
39451func (c *PlacementStrategiesPatchCall) Header() http.Header {
39452	if c.header_ == nil {
39453		c.header_ = make(http.Header)
39454	}
39455	return c.header_
39456}
39457
39458func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
39459	reqHeaders := make(http.Header)
39460	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
39461	for k, v := range c.header_ {
39462		reqHeaders[k] = v
39463	}
39464	reqHeaders.Set("User-Agent", c.s.userAgent())
39465	var body io.Reader = nil
39466	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39467	if err != nil {
39468		return nil, err
39469	}
39470	reqHeaders.Set("Content-Type", "application/json")
39471	c.urlParams_.Set("alt", alt)
39472	c.urlParams_.Set("prettyPrint", "false")
39473	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39474	urls += "?" + c.urlParams_.Encode()
39475	req, err := http.NewRequest("PATCH", urls, body)
39476	if err != nil {
39477		return nil, err
39478	}
39479	req.Header = reqHeaders
39480	googleapi.Expand(req.URL, map[string]string{
39481		"profileId": strconv.FormatInt(c.profileId, 10),
39482	})
39483	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39484}
39485
39486// Do executes the "dfareporting.placementStrategies.patch" call.
39487// Exactly one of *PlacementStrategy or error will be non-nil. Any
39488// non-2xx status code is an error. Response headers are in either
39489// *PlacementStrategy.ServerResponse.Header or (if a response was
39490// returned at all) in error.(*googleapi.Error).Header. Use
39491// googleapi.IsNotModified to check whether the returned error was
39492// because http.StatusNotModified was returned.
39493func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39494	gensupport.SetOptions(c.urlParams_, opts...)
39495	res, err := c.doRequest("json")
39496	if res != nil && res.StatusCode == http.StatusNotModified {
39497		if res.Body != nil {
39498			res.Body.Close()
39499		}
39500		return nil, &googleapi.Error{
39501			Code:   res.StatusCode,
39502			Header: res.Header,
39503		}
39504	}
39505	if err != nil {
39506		return nil, err
39507	}
39508	defer googleapi.CloseBody(res)
39509	if err := googleapi.CheckResponse(res); err != nil {
39510		return nil, err
39511	}
39512	ret := &PlacementStrategy{
39513		ServerResponse: googleapi.ServerResponse{
39514			Header:         res.Header,
39515			HTTPStatusCode: res.StatusCode,
39516		},
39517	}
39518	target := &ret
39519	if err := gensupport.DecodeResponse(target, res); err != nil {
39520		return nil, err
39521	}
39522	return ret, nil
39523	// {
39524	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
39525	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39526	//   "httpMethod": "PATCH",
39527	//   "id": "dfareporting.placementStrategies.patch",
39528	//   "parameterOrder": [
39529	//     "profileId",
39530	//     "id"
39531	//   ],
39532	//   "parameters": {
39533	//     "id": {
39534	//       "description": "PlacementStrategy ID.",
39535	//       "format": "int64",
39536	//       "location": "query",
39537	//       "required": true,
39538	//       "type": "string"
39539	//     },
39540	//     "profileId": {
39541	//       "description": "User profile ID associated with this request.",
39542	//       "format": "int64",
39543	//       "location": "path",
39544	//       "required": true,
39545	//       "type": "string"
39546	//     }
39547	//   },
39548	//   "path": "userprofiles/{profileId}/placementStrategies",
39549	//   "request": {
39550	//     "$ref": "PlacementStrategy"
39551	//   },
39552	//   "response": {
39553	//     "$ref": "PlacementStrategy"
39554	//   },
39555	//   "scopes": [
39556	//     "https://www.googleapis.com/auth/dfatrafficking"
39557	//   ]
39558	// }
39559
39560}
39561
39562// method id "dfareporting.placementStrategies.update":
39563
39564type PlacementStrategiesUpdateCall struct {
39565	s                 *Service
39566	profileId         int64
39567	placementstrategy *PlacementStrategy
39568	urlParams_        gensupport.URLParams
39569	ctx_              context.Context
39570	header_           http.Header
39571}
39572
39573// Update: Updates an existing placement strategy.
39574func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
39575	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39576	c.profileId = profileId
39577	c.placementstrategy = placementstrategy
39578	return c
39579}
39580
39581// Fields allows partial responses to be retrieved. See
39582// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39583// for more information.
39584func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
39585	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39586	return c
39587}
39588
39589// Context sets the context to be used in this call's Do method. Any
39590// pending HTTP request will be aborted if the provided context is
39591// canceled.
39592func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
39593	c.ctx_ = ctx
39594	return c
39595}
39596
39597// Header returns an http.Header that can be modified by the caller to
39598// add HTTP headers to the request.
39599func (c *PlacementStrategiesUpdateCall) Header() http.Header {
39600	if c.header_ == nil {
39601		c.header_ = make(http.Header)
39602	}
39603	return c.header_
39604}
39605
39606func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
39607	reqHeaders := make(http.Header)
39608	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
39609	for k, v := range c.header_ {
39610		reqHeaders[k] = v
39611	}
39612	reqHeaders.Set("User-Agent", c.s.userAgent())
39613	var body io.Reader = nil
39614	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39615	if err != nil {
39616		return nil, err
39617	}
39618	reqHeaders.Set("Content-Type", "application/json")
39619	c.urlParams_.Set("alt", alt)
39620	c.urlParams_.Set("prettyPrint", "false")
39621	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39622	urls += "?" + c.urlParams_.Encode()
39623	req, err := http.NewRequest("PUT", urls, body)
39624	if err != nil {
39625		return nil, err
39626	}
39627	req.Header = reqHeaders
39628	googleapi.Expand(req.URL, map[string]string{
39629		"profileId": strconv.FormatInt(c.profileId, 10),
39630	})
39631	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39632}
39633
39634// Do executes the "dfareporting.placementStrategies.update" call.
39635// Exactly one of *PlacementStrategy or error will be non-nil. Any
39636// non-2xx status code is an error. Response headers are in either
39637// *PlacementStrategy.ServerResponse.Header or (if a response was
39638// returned at all) in error.(*googleapi.Error).Header. Use
39639// googleapi.IsNotModified to check whether the returned error was
39640// because http.StatusNotModified was returned.
39641func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39642	gensupport.SetOptions(c.urlParams_, opts...)
39643	res, err := c.doRequest("json")
39644	if res != nil && res.StatusCode == http.StatusNotModified {
39645		if res.Body != nil {
39646			res.Body.Close()
39647		}
39648		return nil, &googleapi.Error{
39649			Code:   res.StatusCode,
39650			Header: res.Header,
39651		}
39652	}
39653	if err != nil {
39654		return nil, err
39655	}
39656	defer googleapi.CloseBody(res)
39657	if err := googleapi.CheckResponse(res); err != nil {
39658		return nil, err
39659	}
39660	ret := &PlacementStrategy{
39661		ServerResponse: googleapi.ServerResponse{
39662			Header:         res.Header,
39663			HTTPStatusCode: res.StatusCode,
39664		},
39665	}
39666	target := &ret
39667	if err := gensupport.DecodeResponse(target, res); err != nil {
39668		return nil, err
39669	}
39670	return ret, nil
39671	// {
39672	//   "description": "Updates an existing placement strategy.",
39673	//   "flatPath": "userprofiles/{profileId}/placementStrategies",
39674	//   "httpMethod": "PUT",
39675	//   "id": "dfareporting.placementStrategies.update",
39676	//   "parameterOrder": [
39677	//     "profileId"
39678	//   ],
39679	//   "parameters": {
39680	//     "profileId": {
39681	//       "description": "User profile ID associated with this request.",
39682	//       "format": "int64",
39683	//       "location": "path",
39684	//       "required": true,
39685	//       "type": "string"
39686	//     }
39687	//   },
39688	//   "path": "userprofiles/{profileId}/placementStrategies",
39689	//   "request": {
39690	//     "$ref": "PlacementStrategy"
39691	//   },
39692	//   "response": {
39693	//     "$ref": "PlacementStrategy"
39694	//   },
39695	//   "scopes": [
39696	//     "https://www.googleapis.com/auth/dfatrafficking"
39697	//   ]
39698	// }
39699
39700}
39701
39702// method id "dfareporting.placements.generatetags":
39703
39704type PlacementsGeneratetagsCall struct {
39705	s          *Service
39706	profileId  int64
39707	urlParams_ gensupport.URLParams
39708	ctx_       context.Context
39709	header_    http.Header
39710}
39711
39712// Generatetags: Generates tags for a placement.
39713func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
39714	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39715	c.profileId = profileId
39716	return c
39717}
39718
39719// CampaignId sets the optional parameter "campaignId": Generate
39720// placements belonging to this campaign. This is a required field.
39721func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
39722	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
39723	return c
39724}
39725
39726// PlacementIds sets the optional parameter "placementIds": Generate
39727// tags for these placements.
39728func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
39729	var placementIds_ []string
39730	for _, v := range placementIds {
39731		placementIds_ = append(placementIds_, fmt.Sprint(v))
39732	}
39733	c.urlParams_.SetMulti("placementIds", placementIds_)
39734	return c
39735}
39736
39737// TagFormats sets the optional parameter "tagFormats": Tag formats to
39738// generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can
39739// only be generated for 1x1 placements.
39740//
39741// Possible values:
39742//   "PLACEMENT_TAG_STANDARD"
39743//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
39744//   "PLACEMENT_TAG_IFRAME_ILAYER"
39745//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
39746//   "PLACEMENT_TAG_JAVASCRIPT"
39747//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
39748//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
39749//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
39750//   "PLACEMENT_TAG_CLICK_COMMANDS"
39751//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
39752//   "PLACEMENT_TAG_TRACKING"
39753//   "PLACEMENT_TAG_TRACKING_IFRAME"
39754//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
39755//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
39756//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
39757//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
39758//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
39759//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
39760//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
39761func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
39762	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
39763	return c
39764}
39765
39766// Fields allows partial responses to be retrieved. See
39767// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39768// for more information.
39769func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
39770	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39771	return c
39772}
39773
39774// Context sets the context to be used in this call's Do method. Any
39775// pending HTTP request will be aborted if the provided context is
39776// canceled.
39777func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
39778	c.ctx_ = ctx
39779	return c
39780}
39781
39782// Header returns an http.Header that can be modified by the caller to
39783// add HTTP headers to the request.
39784func (c *PlacementsGeneratetagsCall) Header() http.Header {
39785	if c.header_ == nil {
39786		c.header_ = make(http.Header)
39787	}
39788	return c.header_
39789}
39790
39791func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
39792	reqHeaders := make(http.Header)
39793	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
39794	for k, v := range c.header_ {
39795		reqHeaders[k] = v
39796	}
39797	reqHeaders.Set("User-Agent", c.s.userAgent())
39798	var body io.Reader = nil
39799	c.urlParams_.Set("alt", alt)
39800	c.urlParams_.Set("prettyPrint", "false")
39801	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
39802	urls += "?" + c.urlParams_.Encode()
39803	req, err := http.NewRequest("POST", urls, body)
39804	if err != nil {
39805		return nil, err
39806	}
39807	req.Header = reqHeaders
39808	googleapi.Expand(req.URL, map[string]string{
39809		"profileId": strconv.FormatInt(c.profileId, 10),
39810	})
39811	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39812}
39813
39814// Do executes the "dfareporting.placements.generatetags" call.
39815// Exactly one of *PlacementsGenerateTagsResponse or error will be
39816// non-nil. Any non-2xx status code is an error. Response headers are in
39817// either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
39818// response was returned at all) in error.(*googleapi.Error).Header. Use
39819// googleapi.IsNotModified to check whether the returned error was
39820// because http.StatusNotModified was returned.
39821func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
39822	gensupport.SetOptions(c.urlParams_, opts...)
39823	res, err := c.doRequest("json")
39824	if res != nil && res.StatusCode == http.StatusNotModified {
39825		if res.Body != nil {
39826			res.Body.Close()
39827		}
39828		return nil, &googleapi.Error{
39829			Code:   res.StatusCode,
39830			Header: res.Header,
39831		}
39832	}
39833	if err != nil {
39834		return nil, err
39835	}
39836	defer googleapi.CloseBody(res)
39837	if err := googleapi.CheckResponse(res); err != nil {
39838		return nil, err
39839	}
39840	ret := &PlacementsGenerateTagsResponse{
39841		ServerResponse: googleapi.ServerResponse{
39842			Header:         res.Header,
39843			HTTPStatusCode: res.StatusCode,
39844		},
39845	}
39846	target := &ret
39847	if err := gensupport.DecodeResponse(target, res); err != nil {
39848		return nil, err
39849	}
39850	return ret, nil
39851	// {
39852	//   "description": "Generates tags for a placement.",
39853	//   "flatPath": "userprofiles/{profileId}/placements/generatetags",
39854	//   "httpMethod": "POST",
39855	//   "id": "dfareporting.placements.generatetags",
39856	//   "parameterOrder": [
39857	//     "profileId"
39858	//   ],
39859	//   "parameters": {
39860	//     "campaignId": {
39861	//       "description": "Generate placements belonging to this campaign. This is a required field.",
39862	//       "format": "int64",
39863	//       "location": "query",
39864	//       "type": "string"
39865	//     },
39866	//     "placementIds": {
39867	//       "description": "Generate tags for these placements.",
39868	//       "format": "int64",
39869	//       "location": "query",
39870	//       "repeated": true,
39871	//       "type": "string"
39872	//     },
39873	//     "profileId": {
39874	//       "description": "User profile ID associated with this request.",
39875	//       "format": "int64",
39876	//       "location": "path",
39877	//       "required": true,
39878	//       "type": "string"
39879	//     },
39880	//     "tagFormats": {
39881	//       "description": "Tag formats to generate for these placements. *Note:* PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
39882	//       "enum": [
39883	//         "PLACEMENT_TAG_STANDARD",
39884	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
39885	//         "PLACEMENT_TAG_IFRAME_ILAYER",
39886	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
39887	//         "PLACEMENT_TAG_JAVASCRIPT",
39888	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
39889	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
39890	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
39891	//         "PLACEMENT_TAG_CLICK_COMMANDS",
39892	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
39893	//         "PLACEMENT_TAG_TRACKING",
39894	//         "PLACEMENT_TAG_TRACKING_IFRAME",
39895	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT",
39896	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
39897	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
39898	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
39899	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
39900	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
39901	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
39902	//       ],
39903	//       "enumDescriptions": [
39904	//         "",
39905	//         "",
39906	//         "",
39907	//         "",
39908	//         "",
39909	//         "",
39910	//         "",
39911	//         "",
39912	//         "",
39913	//         "",
39914	//         "",
39915	//         "",
39916	//         "",
39917	//         "",
39918	//         "",
39919	//         "",
39920	//         "",
39921	//         "",
39922	//         ""
39923	//       ],
39924	//       "location": "query",
39925	//       "repeated": true,
39926	//       "type": "string"
39927	//     }
39928	//   },
39929	//   "path": "userprofiles/{profileId}/placements/generatetags",
39930	//   "response": {
39931	//     "$ref": "PlacementsGenerateTagsResponse"
39932	//   },
39933	//   "scopes": [
39934	//     "https://www.googleapis.com/auth/dfatrafficking"
39935	//   ]
39936	// }
39937
39938}
39939
39940// method id "dfareporting.placements.get":
39941
39942type PlacementsGetCall struct {
39943	s            *Service
39944	profileId    int64
39945	id           int64
39946	urlParams_   gensupport.URLParams
39947	ifNoneMatch_ string
39948	ctx_         context.Context
39949	header_      http.Header
39950}
39951
39952// Get: Gets one placement by ID.
39953func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
39954	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39955	c.profileId = profileId
39956	c.id = id
39957	return c
39958}
39959
39960// Fields allows partial responses to be retrieved. See
39961// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39962// for more information.
39963func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
39964	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39965	return c
39966}
39967
39968// IfNoneMatch sets the optional parameter which makes the operation
39969// fail if the object's ETag matches the given value. This is useful for
39970// getting updates only after the object has changed since the last
39971// request. Use googleapi.IsNotModified to check whether the response
39972// error from Do is the result of In-None-Match.
39973func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
39974	c.ifNoneMatch_ = entityTag
39975	return c
39976}
39977
39978// Context sets the context to be used in this call's Do method. Any
39979// pending HTTP request will be aborted if the provided context is
39980// canceled.
39981func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
39982	c.ctx_ = ctx
39983	return c
39984}
39985
39986// Header returns an http.Header that can be modified by the caller to
39987// add HTTP headers to the request.
39988func (c *PlacementsGetCall) Header() http.Header {
39989	if c.header_ == nil {
39990		c.header_ = make(http.Header)
39991	}
39992	return c.header_
39993}
39994
39995func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
39996	reqHeaders := make(http.Header)
39997	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
39998	for k, v := range c.header_ {
39999		reqHeaders[k] = v
40000	}
40001	reqHeaders.Set("User-Agent", c.s.userAgent())
40002	if c.ifNoneMatch_ != "" {
40003		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40004	}
40005	var body io.Reader = nil
40006	c.urlParams_.Set("alt", alt)
40007	c.urlParams_.Set("prettyPrint", "false")
40008	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
40009	urls += "?" + c.urlParams_.Encode()
40010	req, err := http.NewRequest("GET", urls, body)
40011	if err != nil {
40012		return nil, err
40013	}
40014	req.Header = reqHeaders
40015	googleapi.Expand(req.URL, map[string]string{
40016		"profileId": strconv.FormatInt(c.profileId, 10),
40017		"id":        strconv.FormatInt(c.id, 10),
40018	})
40019	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40020}
40021
40022// Do executes the "dfareporting.placements.get" call.
40023// Exactly one of *Placement or error will be non-nil. Any non-2xx
40024// status code is an error. Response headers are in either
40025// *Placement.ServerResponse.Header or (if a response was returned at
40026// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40027// to check whether the returned error was because
40028// http.StatusNotModified was returned.
40029func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40030	gensupport.SetOptions(c.urlParams_, opts...)
40031	res, err := c.doRequest("json")
40032	if res != nil && res.StatusCode == http.StatusNotModified {
40033		if res.Body != nil {
40034			res.Body.Close()
40035		}
40036		return nil, &googleapi.Error{
40037			Code:   res.StatusCode,
40038			Header: res.Header,
40039		}
40040	}
40041	if err != nil {
40042		return nil, err
40043	}
40044	defer googleapi.CloseBody(res)
40045	if err := googleapi.CheckResponse(res); err != nil {
40046		return nil, err
40047	}
40048	ret := &Placement{
40049		ServerResponse: googleapi.ServerResponse{
40050			Header:         res.Header,
40051			HTTPStatusCode: res.StatusCode,
40052		},
40053	}
40054	target := &ret
40055	if err := gensupport.DecodeResponse(target, res); err != nil {
40056		return nil, err
40057	}
40058	return ret, nil
40059	// {
40060	//   "description": "Gets one placement by ID.",
40061	//   "flatPath": "userprofiles/{profileId}/placements/{id}",
40062	//   "httpMethod": "GET",
40063	//   "id": "dfareporting.placements.get",
40064	//   "parameterOrder": [
40065	//     "profileId",
40066	//     "id"
40067	//   ],
40068	//   "parameters": {
40069	//     "id": {
40070	//       "description": "Placement ID.",
40071	//       "format": "int64",
40072	//       "location": "path",
40073	//       "required": true,
40074	//       "type": "string"
40075	//     },
40076	//     "profileId": {
40077	//       "description": "User profile ID associated with this request.",
40078	//       "format": "int64",
40079	//       "location": "path",
40080	//       "required": true,
40081	//       "type": "string"
40082	//     }
40083	//   },
40084	//   "path": "userprofiles/{profileId}/placements/{id}",
40085	//   "response": {
40086	//     "$ref": "Placement"
40087	//   },
40088	//   "scopes": [
40089	//     "https://www.googleapis.com/auth/dfatrafficking"
40090	//   ]
40091	// }
40092
40093}
40094
40095// method id "dfareporting.placements.insert":
40096
40097type PlacementsInsertCall struct {
40098	s          *Service
40099	profileId  int64
40100	placement  *Placement
40101	urlParams_ gensupport.URLParams
40102	ctx_       context.Context
40103	header_    http.Header
40104}
40105
40106// Insert: Inserts a new placement.
40107func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
40108	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40109	c.profileId = profileId
40110	c.placement = placement
40111	return c
40112}
40113
40114// Fields allows partial responses to be retrieved. See
40115// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40116// for more information.
40117func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
40118	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40119	return c
40120}
40121
40122// Context sets the context to be used in this call's Do method. Any
40123// pending HTTP request will be aborted if the provided context is
40124// canceled.
40125func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
40126	c.ctx_ = ctx
40127	return c
40128}
40129
40130// Header returns an http.Header that can be modified by the caller to
40131// add HTTP headers to the request.
40132func (c *PlacementsInsertCall) Header() http.Header {
40133	if c.header_ == nil {
40134		c.header_ = make(http.Header)
40135	}
40136	return c.header_
40137}
40138
40139func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
40140	reqHeaders := make(http.Header)
40141	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
40142	for k, v := range c.header_ {
40143		reqHeaders[k] = v
40144	}
40145	reqHeaders.Set("User-Agent", c.s.userAgent())
40146	var body io.Reader = nil
40147	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40148	if err != nil {
40149		return nil, err
40150	}
40151	reqHeaders.Set("Content-Type", "application/json")
40152	c.urlParams_.Set("alt", alt)
40153	c.urlParams_.Set("prettyPrint", "false")
40154	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40155	urls += "?" + c.urlParams_.Encode()
40156	req, err := http.NewRequest("POST", urls, body)
40157	if err != nil {
40158		return nil, err
40159	}
40160	req.Header = reqHeaders
40161	googleapi.Expand(req.URL, map[string]string{
40162		"profileId": strconv.FormatInt(c.profileId, 10),
40163	})
40164	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40165}
40166
40167// Do executes the "dfareporting.placements.insert" call.
40168// Exactly one of *Placement or error will be non-nil. Any non-2xx
40169// status code is an error. Response headers are in either
40170// *Placement.ServerResponse.Header or (if a response was returned at
40171// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40172// to check whether the returned error was because
40173// http.StatusNotModified was returned.
40174func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40175	gensupport.SetOptions(c.urlParams_, opts...)
40176	res, err := c.doRequest("json")
40177	if res != nil && res.StatusCode == http.StatusNotModified {
40178		if res.Body != nil {
40179			res.Body.Close()
40180		}
40181		return nil, &googleapi.Error{
40182			Code:   res.StatusCode,
40183			Header: res.Header,
40184		}
40185	}
40186	if err != nil {
40187		return nil, err
40188	}
40189	defer googleapi.CloseBody(res)
40190	if err := googleapi.CheckResponse(res); err != nil {
40191		return nil, err
40192	}
40193	ret := &Placement{
40194		ServerResponse: googleapi.ServerResponse{
40195			Header:         res.Header,
40196			HTTPStatusCode: res.StatusCode,
40197		},
40198	}
40199	target := &ret
40200	if err := gensupport.DecodeResponse(target, res); err != nil {
40201		return nil, err
40202	}
40203	return ret, nil
40204	// {
40205	//   "description": "Inserts a new placement.",
40206	//   "flatPath": "userprofiles/{profileId}/placements",
40207	//   "httpMethod": "POST",
40208	//   "id": "dfareporting.placements.insert",
40209	//   "parameterOrder": [
40210	//     "profileId"
40211	//   ],
40212	//   "parameters": {
40213	//     "profileId": {
40214	//       "description": "User profile ID associated with this request.",
40215	//       "format": "int64",
40216	//       "location": "path",
40217	//       "required": true,
40218	//       "type": "string"
40219	//     }
40220	//   },
40221	//   "path": "userprofiles/{profileId}/placements",
40222	//   "request": {
40223	//     "$ref": "Placement"
40224	//   },
40225	//   "response": {
40226	//     "$ref": "Placement"
40227	//   },
40228	//   "scopes": [
40229	//     "https://www.googleapis.com/auth/dfatrafficking"
40230	//   ]
40231	// }
40232
40233}
40234
40235// method id "dfareporting.placements.list":
40236
40237type PlacementsListCall struct {
40238	s            *Service
40239	profileId    int64
40240	urlParams_   gensupport.URLParams
40241	ifNoneMatch_ string
40242	ctx_         context.Context
40243	header_      http.Header
40244}
40245
40246// List: Retrieves a list of placements, possibly filtered. This method
40247// supports paging.
40248func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
40249	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40250	c.profileId = profileId
40251	return c
40252}
40253
40254// AdvertiserIds sets the optional parameter "advertiserIds": Select
40255// only placements that belong to these advertisers.
40256func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
40257	var advertiserIds_ []string
40258	for _, v := range advertiserIds {
40259		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
40260	}
40261	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
40262	return c
40263}
40264
40265// Archived sets the optional parameter "archived": Select only archived
40266// placements. Don't set this field to select both archived and
40267// non-archived placements.
40268func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
40269	c.urlParams_.Set("archived", fmt.Sprint(archived))
40270	return c
40271}
40272
40273// CampaignIds sets the optional parameter "campaignIds": Select only
40274// placements that belong to these campaigns.
40275func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
40276	var campaignIds_ []string
40277	for _, v := range campaignIds {
40278		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
40279	}
40280	c.urlParams_.SetMulti("campaignIds", campaignIds_)
40281	return c
40282}
40283
40284// Compatibilities sets the optional parameter "compatibilities": Select
40285// only placements that are associated with these compatibilities.
40286// DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
40287// or on mobile devices for regular or interstitial ads respectively.
40288// APP and APP_INTERSTITIAL are for rendering in mobile apps.
40289// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
40290// with the VAST standard.
40291//
40292// Possible values:
40293//   "DISPLAY"
40294//   "DISPLAY_INTERSTITIAL"
40295//   "APP"
40296//   "APP_INTERSTITIAL"
40297//   "IN_STREAM_VIDEO"
40298//   "IN_STREAM_AUDIO"
40299func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
40300	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
40301	return c
40302}
40303
40304// ContentCategoryIds sets the optional parameter "contentCategoryIds":
40305// Select only placements that are associated with these content
40306// categories.
40307func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
40308	var contentCategoryIds_ []string
40309	for _, v := range contentCategoryIds {
40310		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
40311	}
40312	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
40313	return c
40314}
40315
40316// DirectorySiteIds sets the optional parameter "directorySiteIds":
40317// Select only placements that are associated with these directory
40318// sites.
40319func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
40320	var directorySiteIds_ []string
40321	for _, v := range directorySiteIds {
40322		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
40323	}
40324	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
40325	return c
40326}
40327
40328// GroupIds sets the optional parameter "groupIds": Select only
40329// placements that belong to these placement groups.
40330func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
40331	var groupIds_ []string
40332	for _, v := range groupIds {
40333		groupIds_ = append(groupIds_, fmt.Sprint(v))
40334	}
40335	c.urlParams_.SetMulti("groupIds", groupIds_)
40336	return c
40337}
40338
40339// Ids sets the optional parameter "ids": Select only placements with
40340// these IDs.
40341func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
40342	var ids_ []string
40343	for _, v := range ids {
40344		ids_ = append(ids_, fmt.Sprint(v))
40345	}
40346	c.urlParams_.SetMulti("ids", ids_)
40347	return c
40348}
40349
40350// MaxEndDate sets the optional parameter "maxEndDate": Select only
40351// placements or placement groups whose end date is on or before the
40352// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
40353func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
40354	c.urlParams_.Set("maxEndDate", maxEndDate)
40355	return c
40356}
40357
40358// MaxResults sets the optional parameter "maxResults": Maximum number
40359// of results to return.
40360func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
40361	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
40362	return c
40363}
40364
40365// MaxStartDate sets the optional parameter "maxStartDate": Select only
40366// placements or placement groups whose start date is on or before the
40367// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
40368func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
40369	c.urlParams_.Set("maxStartDate", maxStartDate)
40370	return c
40371}
40372
40373// MinEndDate sets the optional parameter "minEndDate": Select only
40374// placements or placement groups whose end date is on or after the
40375// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
40376func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
40377	c.urlParams_.Set("minEndDate", minEndDate)
40378	return c
40379}
40380
40381// MinStartDate sets the optional parameter "minStartDate": Select only
40382// placements or placement groups whose start date is on or after the
40383// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
40384func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
40385	c.urlParams_.Set("minStartDate", minStartDate)
40386	return c
40387}
40388
40389// PageToken sets the optional parameter "pageToken": Value of the
40390// nextPageToken from the previous result page.
40391func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
40392	c.urlParams_.Set("pageToken", pageToken)
40393	return c
40394}
40395
40396// PaymentSource sets the optional parameter "paymentSource": Select
40397// only placements with this payment source.
40398//
40399// Possible values:
40400//   "PLACEMENT_AGENCY_PAID"
40401//   "PLACEMENT_PUBLISHER_PAID"
40402func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
40403	c.urlParams_.Set("paymentSource", paymentSource)
40404	return c
40405}
40406
40407// PlacementStrategyIds sets the optional parameter
40408// "placementStrategyIds": Select only placements that are associated
40409// with these placement strategies.
40410func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
40411	var placementStrategyIds_ []string
40412	for _, v := range placementStrategyIds {
40413		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
40414	}
40415	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
40416	return c
40417}
40418
40419// PricingTypes sets the optional parameter "pricingTypes": Select only
40420// placements with these pricing types.
40421//
40422// Possible values:
40423//   "PRICING_TYPE_CPM"
40424//   "PRICING_TYPE_CPC"
40425//   "PRICING_TYPE_CPA"
40426//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
40427//   "PRICING_TYPE_FLAT_RATE_CLICKS"
40428//   "PRICING_TYPE_CPM_ACTIVEVIEW"
40429func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
40430	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
40431	return c
40432}
40433
40434// SearchString sets the optional parameter "searchString": Allows
40435// searching for placements by name or ID. Wildcards (*) are allowed.
40436// For example, "placement*2015" will return placements with names like
40437// "placement June 2015", "placement May 2015", or simply "placements
40438// 2015". Most of the searches also add wildcards implicitly at the
40439// start and the end of the search string. For example, a search string
40440// of "placement" will match placements with name "my placement",
40441// "placement 2015", or simply "placement" .
40442func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
40443	c.urlParams_.Set("searchString", searchString)
40444	return c
40445}
40446
40447// SiteIds sets the optional parameter "siteIds": Select only placements
40448// that are associated with these sites.
40449func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
40450	var siteIds_ []string
40451	for _, v := range siteIds {
40452		siteIds_ = append(siteIds_, fmt.Sprint(v))
40453	}
40454	c.urlParams_.SetMulti("siteIds", siteIds_)
40455	return c
40456}
40457
40458// SizeIds sets the optional parameter "sizeIds": Select only placements
40459// that are associated with these sizes.
40460func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
40461	var sizeIds_ []string
40462	for _, v := range sizeIds {
40463		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
40464	}
40465	c.urlParams_.SetMulti("sizeIds", sizeIds_)
40466	return c
40467}
40468
40469// SortField sets the optional parameter "sortField": Field by which to
40470// sort the list.
40471//
40472// Possible values:
40473//   "ID" (default)
40474//   "NAME"
40475func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
40476	c.urlParams_.Set("sortField", sortField)
40477	return c
40478}
40479
40480// SortOrder sets the optional parameter "sortOrder": Order of sorted
40481// results.
40482//
40483// Possible values:
40484//   "ASCENDING" (default)
40485//   "DESCENDING"
40486func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
40487	c.urlParams_.Set("sortOrder", sortOrder)
40488	return c
40489}
40490
40491// Fields allows partial responses to be retrieved. See
40492// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40493// for more information.
40494func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
40495	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40496	return c
40497}
40498
40499// IfNoneMatch sets the optional parameter which makes the operation
40500// fail if the object's ETag matches the given value. This is useful for
40501// getting updates only after the object has changed since the last
40502// request. Use googleapi.IsNotModified to check whether the response
40503// error from Do is the result of In-None-Match.
40504func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
40505	c.ifNoneMatch_ = entityTag
40506	return c
40507}
40508
40509// Context sets the context to be used in this call's Do method. Any
40510// pending HTTP request will be aborted if the provided context is
40511// canceled.
40512func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
40513	c.ctx_ = ctx
40514	return c
40515}
40516
40517// Header returns an http.Header that can be modified by the caller to
40518// add HTTP headers to the request.
40519func (c *PlacementsListCall) Header() http.Header {
40520	if c.header_ == nil {
40521		c.header_ = make(http.Header)
40522	}
40523	return c.header_
40524}
40525
40526func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
40527	reqHeaders := make(http.Header)
40528	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
40529	for k, v := range c.header_ {
40530		reqHeaders[k] = v
40531	}
40532	reqHeaders.Set("User-Agent", c.s.userAgent())
40533	if c.ifNoneMatch_ != "" {
40534		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40535	}
40536	var body io.Reader = nil
40537	c.urlParams_.Set("alt", alt)
40538	c.urlParams_.Set("prettyPrint", "false")
40539	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40540	urls += "?" + c.urlParams_.Encode()
40541	req, err := http.NewRequest("GET", urls, body)
40542	if err != nil {
40543		return nil, err
40544	}
40545	req.Header = reqHeaders
40546	googleapi.Expand(req.URL, map[string]string{
40547		"profileId": strconv.FormatInt(c.profileId, 10),
40548	})
40549	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40550}
40551
40552// Do executes the "dfareporting.placements.list" call.
40553// Exactly one of *PlacementsListResponse or error will be non-nil. Any
40554// non-2xx status code is an error. Response headers are in either
40555// *PlacementsListResponse.ServerResponse.Header or (if a response was
40556// returned at all) in error.(*googleapi.Error).Header. Use
40557// googleapi.IsNotModified to check whether the returned error was
40558// because http.StatusNotModified was returned.
40559func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
40560	gensupport.SetOptions(c.urlParams_, opts...)
40561	res, err := c.doRequest("json")
40562	if res != nil && res.StatusCode == http.StatusNotModified {
40563		if res.Body != nil {
40564			res.Body.Close()
40565		}
40566		return nil, &googleapi.Error{
40567			Code:   res.StatusCode,
40568			Header: res.Header,
40569		}
40570	}
40571	if err != nil {
40572		return nil, err
40573	}
40574	defer googleapi.CloseBody(res)
40575	if err := googleapi.CheckResponse(res); err != nil {
40576		return nil, err
40577	}
40578	ret := &PlacementsListResponse{
40579		ServerResponse: googleapi.ServerResponse{
40580			Header:         res.Header,
40581			HTTPStatusCode: res.StatusCode,
40582		},
40583	}
40584	target := &ret
40585	if err := gensupport.DecodeResponse(target, res); err != nil {
40586		return nil, err
40587	}
40588	return ret, nil
40589	// {
40590	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
40591	//   "flatPath": "userprofiles/{profileId}/placements",
40592	//   "httpMethod": "GET",
40593	//   "id": "dfareporting.placements.list",
40594	//   "parameterOrder": [
40595	//     "profileId"
40596	//   ],
40597	//   "parameters": {
40598	//     "advertiserIds": {
40599	//       "description": "Select only placements that belong to these advertisers.",
40600	//       "format": "int64",
40601	//       "location": "query",
40602	//       "repeated": true,
40603	//       "type": "string"
40604	//     },
40605	//     "archived": {
40606	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
40607	//       "location": "query",
40608	//       "type": "boolean"
40609	//     },
40610	//     "campaignIds": {
40611	//       "description": "Select only placements that belong to these campaigns.",
40612	//       "format": "int64",
40613	//       "location": "query",
40614	//       "repeated": true,
40615	//       "type": "string"
40616	//     },
40617	//     "compatibilities": {
40618	//       "description": "Select only placements that are associated with these compatibilities. DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.",
40619	//       "enum": [
40620	//         "DISPLAY",
40621	//         "DISPLAY_INTERSTITIAL",
40622	//         "APP",
40623	//         "APP_INTERSTITIAL",
40624	//         "IN_STREAM_VIDEO",
40625	//         "IN_STREAM_AUDIO"
40626	//       ],
40627	//       "enumDescriptions": [
40628	//         "",
40629	//         "",
40630	//         "",
40631	//         "",
40632	//         "",
40633	//         ""
40634	//       ],
40635	//       "location": "query",
40636	//       "repeated": true,
40637	//       "type": "string"
40638	//     },
40639	//     "contentCategoryIds": {
40640	//       "description": "Select only placements that are associated with these content categories.",
40641	//       "format": "int64",
40642	//       "location": "query",
40643	//       "repeated": true,
40644	//       "type": "string"
40645	//     },
40646	//     "directorySiteIds": {
40647	//       "description": "Select only placements that are associated with these directory sites.",
40648	//       "format": "int64",
40649	//       "location": "query",
40650	//       "repeated": true,
40651	//       "type": "string"
40652	//     },
40653	//     "groupIds": {
40654	//       "description": "Select only placements that belong to these placement groups.",
40655	//       "format": "int64",
40656	//       "location": "query",
40657	//       "repeated": true,
40658	//       "type": "string"
40659	//     },
40660	//     "ids": {
40661	//       "description": "Select only placements with these IDs.",
40662	//       "format": "int64",
40663	//       "location": "query",
40664	//       "repeated": true,
40665	//       "type": "string"
40666	//     },
40667	//     "maxEndDate": {
40668	//       "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".",
40669	//       "location": "query",
40670	//       "type": "string"
40671	//     },
40672	//     "maxResults": {
40673	//       "default": "1000",
40674	//       "description": "Maximum number of results to return.",
40675	//       "format": "int32",
40676	//       "location": "query",
40677	//       "maximum": "1000",
40678	//       "minimum": "0",
40679	//       "type": "integer"
40680	//     },
40681	//     "maxStartDate": {
40682	//       "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".",
40683	//       "location": "query",
40684	//       "type": "string"
40685	//     },
40686	//     "minEndDate": {
40687	//       "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".",
40688	//       "location": "query",
40689	//       "type": "string"
40690	//     },
40691	//     "minStartDate": {
40692	//       "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".",
40693	//       "location": "query",
40694	//       "type": "string"
40695	//     },
40696	//     "pageToken": {
40697	//       "description": "Value of the nextPageToken from the previous result page.",
40698	//       "location": "query",
40699	//       "type": "string"
40700	//     },
40701	//     "paymentSource": {
40702	//       "description": "Select only placements with this payment source.",
40703	//       "enum": [
40704	//         "PLACEMENT_AGENCY_PAID",
40705	//         "PLACEMENT_PUBLISHER_PAID"
40706	//       ],
40707	//       "enumDescriptions": [
40708	//         "",
40709	//         ""
40710	//       ],
40711	//       "location": "query",
40712	//       "type": "string"
40713	//     },
40714	//     "placementStrategyIds": {
40715	//       "description": "Select only placements that are associated with these placement strategies.",
40716	//       "format": "int64",
40717	//       "location": "query",
40718	//       "repeated": true,
40719	//       "type": "string"
40720	//     },
40721	//     "pricingTypes": {
40722	//       "description": "Select only placements with these pricing types.",
40723	//       "enum": [
40724	//         "PRICING_TYPE_CPM",
40725	//         "PRICING_TYPE_CPC",
40726	//         "PRICING_TYPE_CPA",
40727	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS",
40728	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
40729	//         "PRICING_TYPE_CPM_ACTIVEVIEW"
40730	//       ],
40731	//       "enumDescriptions": [
40732	//         "",
40733	//         "",
40734	//         "",
40735	//         "",
40736	//         "",
40737	//         ""
40738	//       ],
40739	//       "location": "query",
40740	//       "repeated": true,
40741	//       "type": "string"
40742	//     },
40743	//     "profileId": {
40744	//       "description": "User profile ID associated with this request.",
40745	//       "format": "int64",
40746	//       "location": "path",
40747	//       "required": true,
40748	//       "type": "string"
40749	//     },
40750	//     "searchString": {
40751	//       "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\" .",
40752	//       "location": "query",
40753	//       "type": "string"
40754	//     },
40755	//     "siteIds": {
40756	//       "description": "Select only placements that are associated with these sites.",
40757	//       "format": "int64",
40758	//       "location": "query",
40759	//       "repeated": true,
40760	//       "type": "string"
40761	//     },
40762	//     "sizeIds": {
40763	//       "description": "Select only placements that are associated with these sizes.",
40764	//       "format": "int64",
40765	//       "location": "query",
40766	//       "repeated": true,
40767	//       "type": "string"
40768	//     },
40769	//     "sortField": {
40770	//       "default": "ID",
40771	//       "description": "Field by which to sort the list.",
40772	//       "enum": [
40773	//         "ID",
40774	//         "NAME"
40775	//       ],
40776	//       "enumDescriptions": [
40777	//         "",
40778	//         ""
40779	//       ],
40780	//       "location": "query",
40781	//       "type": "string"
40782	//     },
40783	//     "sortOrder": {
40784	//       "default": "ASCENDING",
40785	//       "description": "Order of sorted results.",
40786	//       "enum": [
40787	//         "ASCENDING",
40788	//         "DESCENDING"
40789	//       ],
40790	//       "enumDescriptions": [
40791	//         "",
40792	//         ""
40793	//       ],
40794	//       "location": "query",
40795	//       "type": "string"
40796	//     }
40797	//   },
40798	//   "path": "userprofiles/{profileId}/placements",
40799	//   "response": {
40800	//     "$ref": "PlacementsListResponse"
40801	//   },
40802	//   "scopes": [
40803	//     "https://www.googleapis.com/auth/dfatrafficking"
40804	//   ]
40805	// }
40806
40807}
40808
40809// Pages invokes f for each page of results.
40810// A non-nil error returned from f will halt the iteration.
40811// The provided context supersedes any context provided to the Context method.
40812func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
40813	c.ctx_ = ctx
40814	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
40815	for {
40816		x, err := c.Do()
40817		if err != nil {
40818			return err
40819		}
40820		if err := f(x); err != nil {
40821			return err
40822		}
40823		if x.NextPageToken == "" {
40824			return nil
40825		}
40826		c.PageToken(x.NextPageToken)
40827	}
40828}
40829
40830// method id "dfareporting.placements.patch":
40831
40832type PlacementsPatchCall struct {
40833	s          *Service
40834	profileId  int64
40835	placement  *Placement
40836	urlParams_ gensupport.URLParams
40837	ctx_       context.Context
40838	header_    http.Header
40839}
40840
40841// Patch: Updates an existing placement. This method supports patch
40842// semantics.
40843func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
40844	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40845	c.profileId = profileId
40846	c.urlParams_.Set("id", fmt.Sprint(id))
40847	c.placement = placement
40848	return c
40849}
40850
40851// Fields allows partial responses to be retrieved. See
40852// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40853// for more information.
40854func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
40855	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40856	return c
40857}
40858
40859// Context sets the context to be used in this call's Do method. Any
40860// pending HTTP request will be aborted if the provided context is
40861// canceled.
40862func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
40863	c.ctx_ = ctx
40864	return c
40865}
40866
40867// Header returns an http.Header that can be modified by the caller to
40868// add HTTP headers to the request.
40869func (c *PlacementsPatchCall) Header() http.Header {
40870	if c.header_ == nil {
40871		c.header_ = make(http.Header)
40872	}
40873	return c.header_
40874}
40875
40876func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
40877	reqHeaders := make(http.Header)
40878	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
40879	for k, v := range c.header_ {
40880		reqHeaders[k] = v
40881	}
40882	reqHeaders.Set("User-Agent", c.s.userAgent())
40883	var body io.Reader = nil
40884	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40885	if err != nil {
40886		return nil, err
40887	}
40888	reqHeaders.Set("Content-Type", "application/json")
40889	c.urlParams_.Set("alt", alt)
40890	c.urlParams_.Set("prettyPrint", "false")
40891	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40892	urls += "?" + c.urlParams_.Encode()
40893	req, err := http.NewRequest("PATCH", urls, body)
40894	if err != nil {
40895		return nil, err
40896	}
40897	req.Header = reqHeaders
40898	googleapi.Expand(req.URL, map[string]string{
40899		"profileId": strconv.FormatInt(c.profileId, 10),
40900	})
40901	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40902}
40903
40904// Do executes the "dfareporting.placements.patch" call.
40905// Exactly one of *Placement or error will be non-nil. Any non-2xx
40906// status code is an error. Response headers are in either
40907// *Placement.ServerResponse.Header or (if a response was returned at
40908// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40909// to check whether the returned error was because
40910// http.StatusNotModified was returned.
40911func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40912	gensupport.SetOptions(c.urlParams_, opts...)
40913	res, err := c.doRequest("json")
40914	if res != nil && res.StatusCode == http.StatusNotModified {
40915		if res.Body != nil {
40916			res.Body.Close()
40917		}
40918		return nil, &googleapi.Error{
40919			Code:   res.StatusCode,
40920			Header: res.Header,
40921		}
40922	}
40923	if err != nil {
40924		return nil, err
40925	}
40926	defer googleapi.CloseBody(res)
40927	if err := googleapi.CheckResponse(res); err != nil {
40928		return nil, err
40929	}
40930	ret := &Placement{
40931		ServerResponse: googleapi.ServerResponse{
40932			Header:         res.Header,
40933			HTTPStatusCode: res.StatusCode,
40934		},
40935	}
40936	target := &ret
40937	if err := gensupport.DecodeResponse(target, res); err != nil {
40938		return nil, err
40939	}
40940	return ret, nil
40941	// {
40942	//   "description": "Updates an existing placement. This method supports patch semantics.",
40943	//   "flatPath": "userprofiles/{profileId}/placements",
40944	//   "httpMethod": "PATCH",
40945	//   "id": "dfareporting.placements.patch",
40946	//   "parameterOrder": [
40947	//     "profileId",
40948	//     "id"
40949	//   ],
40950	//   "parameters": {
40951	//     "id": {
40952	//       "description": "Placement ID.",
40953	//       "format": "int64",
40954	//       "location": "query",
40955	//       "required": true,
40956	//       "type": "string"
40957	//     },
40958	//     "profileId": {
40959	//       "description": "User profile ID associated with this request.",
40960	//       "format": "int64",
40961	//       "location": "path",
40962	//       "required": true,
40963	//       "type": "string"
40964	//     }
40965	//   },
40966	//   "path": "userprofiles/{profileId}/placements",
40967	//   "request": {
40968	//     "$ref": "Placement"
40969	//   },
40970	//   "response": {
40971	//     "$ref": "Placement"
40972	//   },
40973	//   "scopes": [
40974	//     "https://www.googleapis.com/auth/dfatrafficking"
40975	//   ]
40976	// }
40977
40978}
40979
40980// method id "dfareporting.placements.update":
40981
40982type PlacementsUpdateCall struct {
40983	s          *Service
40984	profileId  int64
40985	placement  *Placement
40986	urlParams_ gensupport.URLParams
40987	ctx_       context.Context
40988	header_    http.Header
40989}
40990
40991// Update: Updates an existing placement.
40992func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
40993	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40994	c.profileId = profileId
40995	c.placement = placement
40996	return c
40997}
40998
40999// Fields allows partial responses to be retrieved. See
41000// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41001// for more information.
41002func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
41003	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41004	return c
41005}
41006
41007// Context sets the context to be used in this call's Do method. Any
41008// pending HTTP request will be aborted if the provided context is
41009// canceled.
41010func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
41011	c.ctx_ = ctx
41012	return c
41013}
41014
41015// Header returns an http.Header that can be modified by the caller to
41016// add HTTP headers to the request.
41017func (c *PlacementsUpdateCall) Header() http.Header {
41018	if c.header_ == nil {
41019		c.header_ = make(http.Header)
41020	}
41021	return c.header_
41022}
41023
41024func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
41025	reqHeaders := make(http.Header)
41026	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
41027	for k, v := range c.header_ {
41028		reqHeaders[k] = v
41029	}
41030	reqHeaders.Set("User-Agent", c.s.userAgent())
41031	var body io.Reader = nil
41032	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41033	if err != nil {
41034		return nil, err
41035	}
41036	reqHeaders.Set("Content-Type", "application/json")
41037	c.urlParams_.Set("alt", alt)
41038	c.urlParams_.Set("prettyPrint", "false")
41039	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41040	urls += "?" + c.urlParams_.Encode()
41041	req, err := http.NewRequest("PUT", urls, body)
41042	if err != nil {
41043		return nil, err
41044	}
41045	req.Header = reqHeaders
41046	googleapi.Expand(req.URL, map[string]string{
41047		"profileId": strconv.FormatInt(c.profileId, 10),
41048	})
41049	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41050}
41051
41052// Do executes the "dfareporting.placements.update" call.
41053// Exactly one of *Placement or error will be non-nil. Any non-2xx
41054// status code is an error. Response headers are in either
41055// *Placement.ServerResponse.Header or (if a response was returned at
41056// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41057// to check whether the returned error was because
41058// http.StatusNotModified was returned.
41059func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41060	gensupport.SetOptions(c.urlParams_, opts...)
41061	res, err := c.doRequest("json")
41062	if res != nil && res.StatusCode == http.StatusNotModified {
41063		if res.Body != nil {
41064			res.Body.Close()
41065		}
41066		return nil, &googleapi.Error{
41067			Code:   res.StatusCode,
41068			Header: res.Header,
41069		}
41070	}
41071	if err != nil {
41072		return nil, err
41073	}
41074	defer googleapi.CloseBody(res)
41075	if err := googleapi.CheckResponse(res); err != nil {
41076		return nil, err
41077	}
41078	ret := &Placement{
41079		ServerResponse: googleapi.ServerResponse{
41080			Header:         res.Header,
41081			HTTPStatusCode: res.StatusCode,
41082		},
41083	}
41084	target := &ret
41085	if err := gensupport.DecodeResponse(target, res); err != nil {
41086		return nil, err
41087	}
41088	return ret, nil
41089	// {
41090	//   "description": "Updates an existing placement.",
41091	//   "flatPath": "userprofiles/{profileId}/placements",
41092	//   "httpMethod": "PUT",
41093	//   "id": "dfareporting.placements.update",
41094	//   "parameterOrder": [
41095	//     "profileId"
41096	//   ],
41097	//   "parameters": {
41098	//     "profileId": {
41099	//       "description": "User profile ID associated with this request.",
41100	//       "format": "int64",
41101	//       "location": "path",
41102	//       "required": true,
41103	//       "type": "string"
41104	//     }
41105	//   },
41106	//   "path": "userprofiles/{profileId}/placements",
41107	//   "request": {
41108	//     "$ref": "Placement"
41109	//   },
41110	//   "response": {
41111	//     "$ref": "Placement"
41112	//   },
41113	//   "scopes": [
41114	//     "https://www.googleapis.com/auth/dfatrafficking"
41115	//   ]
41116	// }
41117
41118}
41119
41120// method id "dfareporting.platformTypes.get":
41121
41122type PlatformTypesGetCall struct {
41123	s            *Service
41124	profileId    int64
41125	id           int64
41126	urlParams_   gensupport.URLParams
41127	ifNoneMatch_ string
41128	ctx_         context.Context
41129	header_      http.Header
41130}
41131
41132// Get: Gets one platform type by ID.
41133func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
41134	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41135	c.profileId = profileId
41136	c.id = id
41137	return c
41138}
41139
41140// Fields allows partial responses to be retrieved. See
41141// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41142// for more information.
41143func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
41144	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41145	return c
41146}
41147
41148// IfNoneMatch sets the optional parameter which makes the operation
41149// fail if the object's ETag matches the given value. This is useful for
41150// getting updates only after the object has changed since the last
41151// request. Use googleapi.IsNotModified to check whether the response
41152// error from Do is the result of In-None-Match.
41153func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
41154	c.ifNoneMatch_ = entityTag
41155	return c
41156}
41157
41158// Context sets the context to be used in this call's Do method. Any
41159// pending HTTP request will be aborted if the provided context is
41160// canceled.
41161func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
41162	c.ctx_ = ctx
41163	return c
41164}
41165
41166// Header returns an http.Header that can be modified by the caller to
41167// add HTTP headers to the request.
41168func (c *PlatformTypesGetCall) Header() http.Header {
41169	if c.header_ == nil {
41170		c.header_ = make(http.Header)
41171	}
41172	return c.header_
41173}
41174
41175func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
41176	reqHeaders := make(http.Header)
41177	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
41178	for k, v := range c.header_ {
41179		reqHeaders[k] = v
41180	}
41181	reqHeaders.Set("User-Agent", c.s.userAgent())
41182	if c.ifNoneMatch_ != "" {
41183		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41184	}
41185	var body io.Reader = nil
41186	c.urlParams_.Set("alt", alt)
41187	c.urlParams_.Set("prettyPrint", "false")
41188	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
41189	urls += "?" + c.urlParams_.Encode()
41190	req, err := http.NewRequest("GET", urls, body)
41191	if err != nil {
41192		return nil, err
41193	}
41194	req.Header = reqHeaders
41195	googleapi.Expand(req.URL, map[string]string{
41196		"profileId": strconv.FormatInt(c.profileId, 10),
41197		"id":        strconv.FormatInt(c.id, 10),
41198	})
41199	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41200}
41201
41202// Do executes the "dfareporting.platformTypes.get" call.
41203// Exactly one of *PlatformType or error will be non-nil. Any non-2xx
41204// status code is an error. Response headers are in either
41205// *PlatformType.ServerResponse.Header or (if a response was returned at
41206// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41207// to check whether the returned error was because
41208// http.StatusNotModified was returned.
41209func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
41210	gensupport.SetOptions(c.urlParams_, opts...)
41211	res, err := c.doRequest("json")
41212	if res != nil && res.StatusCode == http.StatusNotModified {
41213		if res.Body != nil {
41214			res.Body.Close()
41215		}
41216		return nil, &googleapi.Error{
41217			Code:   res.StatusCode,
41218			Header: res.Header,
41219		}
41220	}
41221	if err != nil {
41222		return nil, err
41223	}
41224	defer googleapi.CloseBody(res)
41225	if err := googleapi.CheckResponse(res); err != nil {
41226		return nil, err
41227	}
41228	ret := &PlatformType{
41229		ServerResponse: googleapi.ServerResponse{
41230			Header:         res.Header,
41231			HTTPStatusCode: res.StatusCode,
41232		},
41233	}
41234	target := &ret
41235	if err := gensupport.DecodeResponse(target, res); err != nil {
41236		return nil, err
41237	}
41238	return ret, nil
41239	// {
41240	//   "description": "Gets one platform type by ID.",
41241	//   "flatPath": "userprofiles/{profileId}/platformTypes/{id}",
41242	//   "httpMethod": "GET",
41243	//   "id": "dfareporting.platformTypes.get",
41244	//   "parameterOrder": [
41245	//     "profileId",
41246	//     "id"
41247	//   ],
41248	//   "parameters": {
41249	//     "id": {
41250	//       "description": "Platform type ID.",
41251	//       "format": "int64",
41252	//       "location": "path",
41253	//       "required": true,
41254	//       "type": "string"
41255	//     },
41256	//     "profileId": {
41257	//       "description": "User profile ID associated with this request.",
41258	//       "format": "int64",
41259	//       "location": "path",
41260	//       "required": true,
41261	//       "type": "string"
41262	//     }
41263	//   },
41264	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
41265	//   "response": {
41266	//     "$ref": "PlatformType"
41267	//   },
41268	//   "scopes": [
41269	//     "https://www.googleapis.com/auth/dfatrafficking"
41270	//   ]
41271	// }
41272
41273}
41274
41275// method id "dfareporting.platformTypes.list":
41276
41277type PlatformTypesListCall struct {
41278	s            *Service
41279	profileId    int64
41280	urlParams_   gensupport.URLParams
41281	ifNoneMatch_ string
41282	ctx_         context.Context
41283	header_      http.Header
41284}
41285
41286// List: Retrieves a list of platform types.
41287func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
41288	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41289	c.profileId = profileId
41290	return c
41291}
41292
41293// Fields allows partial responses to be retrieved. See
41294// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41295// for more information.
41296func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
41297	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41298	return c
41299}
41300
41301// IfNoneMatch sets the optional parameter which makes the operation
41302// fail if the object's ETag matches the given value. This is useful for
41303// getting updates only after the object has changed since the last
41304// request. Use googleapi.IsNotModified to check whether the response
41305// error from Do is the result of In-None-Match.
41306func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
41307	c.ifNoneMatch_ = entityTag
41308	return c
41309}
41310
41311// Context sets the context to be used in this call's Do method. Any
41312// pending HTTP request will be aborted if the provided context is
41313// canceled.
41314func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
41315	c.ctx_ = ctx
41316	return c
41317}
41318
41319// Header returns an http.Header that can be modified by the caller to
41320// add HTTP headers to the request.
41321func (c *PlatformTypesListCall) Header() http.Header {
41322	if c.header_ == nil {
41323		c.header_ = make(http.Header)
41324	}
41325	return c.header_
41326}
41327
41328func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
41329	reqHeaders := make(http.Header)
41330	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
41331	for k, v := range c.header_ {
41332		reqHeaders[k] = v
41333	}
41334	reqHeaders.Set("User-Agent", c.s.userAgent())
41335	if c.ifNoneMatch_ != "" {
41336		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41337	}
41338	var body io.Reader = nil
41339	c.urlParams_.Set("alt", alt)
41340	c.urlParams_.Set("prettyPrint", "false")
41341	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
41342	urls += "?" + c.urlParams_.Encode()
41343	req, err := http.NewRequest("GET", urls, body)
41344	if err != nil {
41345		return nil, err
41346	}
41347	req.Header = reqHeaders
41348	googleapi.Expand(req.URL, map[string]string{
41349		"profileId": strconv.FormatInt(c.profileId, 10),
41350	})
41351	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41352}
41353
41354// Do executes the "dfareporting.platformTypes.list" call.
41355// Exactly one of *PlatformTypesListResponse or error will be non-nil.
41356// Any non-2xx status code is an error. Response headers are in either
41357// *PlatformTypesListResponse.ServerResponse.Header or (if a response
41358// was returned at all) in error.(*googleapi.Error).Header. Use
41359// googleapi.IsNotModified to check whether the returned error was
41360// because http.StatusNotModified was returned.
41361func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
41362	gensupport.SetOptions(c.urlParams_, opts...)
41363	res, err := c.doRequest("json")
41364	if res != nil && res.StatusCode == http.StatusNotModified {
41365		if res.Body != nil {
41366			res.Body.Close()
41367		}
41368		return nil, &googleapi.Error{
41369			Code:   res.StatusCode,
41370			Header: res.Header,
41371		}
41372	}
41373	if err != nil {
41374		return nil, err
41375	}
41376	defer googleapi.CloseBody(res)
41377	if err := googleapi.CheckResponse(res); err != nil {
41378		return nil, err
41379	}
41380	ret := &PlatformTypesListResponse{
41381		ServerResponse: googleapi.ServerResponse{
41382			Header:         res.Header,
41383			HTTPStatusCode: res.StatusCode,
41384		},
41385	}
41386	target := &ret
41387	if err := gensupport.DecodeResponse(target, res); err != nil {
41388		return nil, err
41389	}
41390	return ret, nil
41391	// {
41392	//   "description": "Retrieves a list of platform types.",
41393	//   "flatPath": "userprofiles/{profileId}/platformTypes",
41394	//   "httpMethod": "GET",
41395	//   "id": "dfareporting.platformTypes.list",
41396	//   "parameterOrder": [
41397	//     "profileId"
41398	//   ],
41399	//   "parameters": {
41400	//     "profileId": {
41401	//       "description": "User profile ID associated with this request.",
41402	//       "format": "int64",
41403	//       "location": "path",
41404	//       "required": true,
41405	//       "type": "string"
41406	//     }
41407	//   },
41408	//   "path": "userprofiles/{profileId}/platformTypes",
41409	//   "response": {
41410	//     "$ref": "PlatformTypesListResponse"
41411	//   },
41412	//   "scopes": [
41413	//     "https://www.googleapis.com/auth/dfatrafficking"
41414	//   ]
41415	// }
41416
41417}
41418
41419// method id "dfareporting.postalCodes.get":
41420
41421type PostalCodesGetCall struct {
41422	s            *Service
41423	profileId    int64
41424	code         string
41425	urlParams_   gensupport.URLParams
41426	ifNoneMatch_ string
41427	ctx_         context.Context
41428	header_      http.Header
41429}
41430
41431// Get: Gets one postal code by ID.
41432func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
41433	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41434	c.profileId = profileId
41435	c.code = code
41436	return c
41437}
41438
41439// Fields allows partial responses to be retrieved. See
41440// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41441// for more information.
41442func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
41443	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41444	return c
41445}
41446
41447// IfNoneMatch sets the optional parameter which makes the operation
41448// fail if the object's ETag matches the given value. This is useful for
41449// getting updates only after the object has changed since the last
41450// request. Use googleapi.IsNotModified to check whether the response
41451// error from Do is the result of In-None-Match.
41452func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
41453	c.ifNoneMatch_ = entityTag
41454	return c
41455}
41456
41457// Context sets the context to be used in this call's Do method. Any
41458// pending HTTP request will be aborted if the provided context is
41459// canceled.
41460func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
41461	c.ctx_ = ctx
41462	return c
41463}
41464
41465// Header returns an http.Header that can be modified by the caller to
41466// add HTTP headers to the request.
41467func (c *PostalCodesGetCall) Header() http.Header {
41468	if c.header_ == nil {
41469		c.header_ = make(http.Header)
41470	}
41471	return c.header_
41472}
41473
41474func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
41475	reqHeaders := make(http.Header)
41476	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
41477	for k, v := range c.header_ {
41478		reqHeaders[k] = v
41479	}
41480	reqHeaders.Set("User-Agent", c.s.userAgent())
41481	if c.ifNoneMatch_ != "" {
41482		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41483	}
41484	var body io.Reader = nil
41485	c.urlParams_.Set("alt", alt)
41486	c.urlParams_.Set("prettyPrint", "false")
41487	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
41488	urls += "?" + c.urlParams_.Encode()
41489	req, err := http.NewRequest("GET", urls, body)
41490	if err != nil {
41491		return nil, err
41492	}
41493	req.Header = reqHeaders
41494	googleapi.Expand(req.URL, map[string]string{
41495		"profileId": strconv.FormatInt(c.profileId, 10),
41496		"code":      c.code,
41497	})
41498	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41499}
41500
41501// Do executes the "dfareporting.postalCodes.get" call.
41502// Exactly one of *PostalCode or error will be non-nil. Any non-2xx
41503// status code is an error. Response headers are in either
41504// *PostalCode.ServerResponse.Header or (if a response was returned at
41505// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41506// to check whether the returned error was because
41507// http.StatusNotModified was returned.
41508func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
41509	gensupport.SetOptions(c.urlParams_, opts...)
41510	res, err := c.doRequest("json")
41511	if res != nil && res.StatusCode == http.StatusNotModified {
41512		if res.Body != nil {
41513			res.Body.Close()
41514		}
41515		return nil, &googleapi.Error{
41516			Code:   res.StatusCode,
41517			Header: res.Header,
41518		}
41519	}
41520	if err != nil {
41521		return nil, err
41522	}
41523	defer googleapi.CloseBody(res)
41524	if err := googleapi.CheckResponse(res); err != nil {
41525		return nil, err
41526	}
41527	ret := &PostalCode{
41528		ServerResponse: googleapi.ServerResponse{
41529			Header:         res.Header,
41530			HTTPStatusCode: res.StatusCode,
41531		},
41532	}
41533	target := &ret
41534	if err := gensupport.DecodeResponse(target, res); err != nil {
41535		return nil, err
41536	}
41537	return ret, nil
41538	// {
41539	//   "description": "Gets one postal code by ID.",
41540	//   "flatPath": "userprofiles/{profileId}/postalCodes/{code}",
41541	//   "httpMethod": "GET",
41542	//   "id": "dfareporting.postalCodes.get",
41543	//   "parameterOrder": [
41544	//     "profileId",
41545	//     "code"
41546	//   ],
41547	//   "parameters": {
41548	//     "code": {
41549	//       "description": "Postal code ID.",
41550	//       "location": "path",
41551	//       "required": true,
41552	//       "type": "string"
41553	//     },
41554	//     "profileId": {
41555	//       "description": "User profile ID associated with this request.",
41556	//       "format": "int64",
41557	//       "location": "path",
41558	//       "required": true,
41559	//       "type": "string"
41560	//     }
41561	//   },
41562	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
41563	//   "response": {
41564	//     "$ref": "PostalCode"
41565	//   },
41566	//   "scopes": [
41567	//     "https://www.googleapis.com/auth/dfatrafficking"
41568	//   ]
41569	// }
41570
41571}
41572
41573// method id "dfareporting.postalCodes.list":
41574
41575type PostalCodesListCall struct {
41576	s            *Service
41577	profileId    int64
41578	urlParams_   gensupport.URLParams
41579	ifNoneMatch_ string
41580	ctx_         context.Context
41581	header_      http.Header
41582}
41583
41584// List: Retrieves a list of postal codes.
41585func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
41586	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41587	c.profileId = profileId
41588	return c
41589}
41590
41591// Fields allows partial responses to be retrieved. See
41592// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41593// for more information.
41594func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
41595	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41596	return c
41597}
41598
41599// IfNoneMatch sets the optional parameter which makes the operation
41600// fail if the object's ETag matches the given value. This is useful for
41601// getting updates only after the object has changed since the last
41602// request. Use googleapi.IsNotModified to check whether the response
41603// error from Do is the result of In-None-Match.
41604func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
41605	c.ifNoneMatch_ = entityTag
41606	return c
41607}
41608
41609// Context sets the context to be used in this call's Do method. Any
41610// pending HTTP request will be aborted if the provided context is
41611// canceled.
41612func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
41613	c.ctx_ = ctx
41614	return c
41615}
41616
41617// Header returns an http.Header that can be modified by the caller to
41618// add HTTP headers to the request.
41619func (c *PostalCodesListCall) Header() http.Header {
41620	if c.header_ == nil {
41621		c.header_ = make(http.Header)
41622	}
41623	return c.header_
41624}
41625
41626func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
41627	reqHeaders := make(http.Header)
41628	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
41629	for k, v := range c.header_ {
41630		reqHeaders[k] = v
41631	}
41632	reqHeaders.Set("User-Agent", c.s.userAgent())
41633	if c.ifNoneMatch_ != "" {
41634		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41635	}
41636	var body io.Reader = nil
41637	c.urlParams_.Set("alt", alt)
41638	c.urlParams_.Set("prettyPrint", "false")
41639	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
41640	urls += "?" + c.urlParams_.Encode()
41641	req, err := http.NewRequest("GET", urls, body)
41642	if err != nil {
41643		return nil, err
41644	}
41645	req.Header = reqHeaders
41646	googleapi.Expand(req.URL, map[string]string{
41647		"profileId": strconv.FormatInt(c.profileId, 10),
41648	})
41649	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41650}
41651
41652// Do executes the "dfareporting.postalCodes.list" call.
41653// Exactly one of *PostalCodesListResponse or error will be non-nil. Any
41654// non-2xx status code is an error. Response headers are in either
41655// *PostalCodesListResponse.ServerResponse.Header or (if a response was
41656// returned at all) in error.(*googleapi.Error).Header. Use
41657// googleapi.IsNotModified to check whether the returned error was
41658// because http.StatusNotModified was returned.
41659func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
41660	gensupport.SetOptions(c.urlParams_, opts...)
41661	res, err := c.doRequest("json")
41662	if res != nil && res.StatusCode == http.StatusNotModified {
41663		if res.Body != nil {
41664			res.Body.Close()
41665		}
41666		return nil, &googleapi.Error{
41667			Code:   res.StatusCode,
41668			Header: res.Header,
41669		}
41670	}
41671	if err != nil {
41672		return nil, err
41673	}
41674	defer googleapi.CloseBody(res)
41675	if err := googleapi.CheckResponse(res); err != nil {
41676		return nil, err
41677	}
41678	ret := &PostalCodesListResponse{
41679		ServerResponse: googleapi.ServerResponse{
41680			Header:         res.Header,
41681			HTTPStatusCode: res.StatusCode,
41682		},
41683	}
41684	target := &ret
41685	if err := gensupport.DecodeResponse(target, res); err != nil {
41686		return nil, err
41687	}
41688	return ret, nil
41689	// {
41690	//   "description": "Retrieves a list of postal codes.",
41691	//   "flatPath": "userprofiles/{profileId}/postalCodes",
41692	//   "httpMethod": "GET",
41693	//   "id": "dfareporting.postalCodes.list",
41694	//   "parameterOrder": [
41695	//     "profileId"
41696	//   ],
41697	//   "parameters": {
41698	//     "profileId": {
41699	//       "description": "User profile ID associated with this request.",
41700	//       "format": "int64",
41701	//       "location": "path",
41702	//       "required": true,
41703	//       "type": "string"
41704	//     }
41705	//   },
41706	//   "path": "userprofiles/{profileId}/postalCodes",
41707	//   "response": {
41708	//     "$ref": "PostalCodesListResponse"
41709	//   },
41710	//   "scopes": [
41711	//     "https://www.googleapis.com/auth/dfatrafficking"
41712	//   ]
41713	// }
41714
41715}
41716
41717// method id "dfareporting.projects.get":
41718
41719type ProjectsGetCall struct {
41720	s            *Service
41721	profileId    int64
41722	id           int64
41723	urlParams_   gensupport.URLParams
41724	ifNoneMatch_ string
41725	ctx_         context.Context
41726	header_      http.Header
41727}
41728
41729// Get: Gets one project by ID.
41730func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
41731	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41732	c.profileId = profileId
41733	c.id = id
41734	return c
41735}
41736
41737// Fields allows partial responses to be retrieved. See
41738// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41739// for more information.
41740func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
41741	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41742	return c
41743}
41744
41745// IfNoneMatch sets the optional parameter which makes the operation
41746// fail if the object's ETag matches the given value. This is useful for
41747// getting updates only after the object has changed since the last
41748// request. Use googleapi.IsNotModified to check whether the response
41749// error from Do is the result of In-None-Match.
41750func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
41751	c.ifNoneMatch_ = entityTag
41752	return c
41753}
41754
41755// Context sets the context to be used in this call's Do method. Any
41756// pending HTTP request will be aborted if the provided context is
41757// canceled.
41758func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
41759	c.ctx_ = ctx
41760	return c
41761}
41762
41763// Header returns an http.Header that can be modified by the caller to
41764// add HTTP headers to the request.
41765func (c *ProjectsGetCall) Header() http.Header {
41766	if c.header_ == nil {
41767		c.header_ = make(http.Header)
41768	}
41769	return c.header_
41770}
41771
41772func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
41773	reqHeaders := make(http.Header)
41774	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
41775	for k, v := range c.header_ {
41776		reqHeaders[k] = v
41777	}
41778	reqHeaders.Set("User-Agent", c.s.userAgent())
41779	if c.ifNoneMatch_ != "" {
41780		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41781	}
41782	var body io.Reader = nil
41783	c.urlParams_.Set("alt", alt)
41784	c.urlParams_.Set("prettyPrint", "false")
41785	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
41786	urls += "?" + c.urlParams_.Encode()
41787	req, err := http.NewRequest("GET", urls, body)
41788	if err != nil {
41789		return nil, err
41790	}
41791	req.Header = reqHeaders
41792	googleapi.Expand(req.URL, map[string]string{
41793		"profileId": strconv.FormatInt(c.profileId, 10),
41794		"id":        strconv.FormatInt(c.id, 10),
41795	})
41796	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41797}
41798
41799// Do executes the "dfareporting.projects.get" call.
41800// Exactly one of *Project or error will be non-nil. Any non-2xx status
41801// code is an error. Response headers are in either
41802// *Project.ServerResponse.Header or (if a response was returned at all)
41803// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
41804// check whether the returned error was because http.StatusNotModified
41805// was returned.
41806func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
41807	gensupport.SetOptions(c.urlParams_, opts...)
41808	res, err := c.doRequest("json")
41809	if res != nil && res.StatusCode == http.StatusNotModified {
41810		if res.Body != nil {
41811			res.Body.Close()
41812		}
41813		return nil, &googleapi.Error{
41814			Code:   res.StatusCode,
41815			Header: res.Header,
41816		}
41817	}
41818	if err != nil {
41819		return nil, err
41820	}
41821	defer googleapi.CloseBody(res)
41822	if err := googleapi.CheckResponse(res); err != nil {
41823		return nil, err
41824	}
41825	ret := &Project{
41826		ServerResponse: googleapi.ServerResponse{
41827			Header:         res.Header,
41828			HTTPStatusCode: res.StatusCode,
41829		},
41830	}
41831	target := &ret
41832	if err := gensupport.DecodeResponse(target, res); err != nil {
41833		return nil, err
41834	}
41835	return ret, nil
41836	// {
41837	//   "description": "Gets one project by ID.",
41838	//   "flatPath": "userprofiles/{profileId}/projects/{id}",
41839	//   "httpMethod": "GET",
41840	//   "id": "dfareporting.projects.get",
41841	//   "parameterOrder": [
41842	//     "profileId",
41843	//     "id"
41844	//   ],
41845	//   "parameters": {
41846	//     "id": {
41847	//       "description": "Project ID.",
41848	//       "format": "int64",
41849	//       "location": "path",
41850	//       "required": true,
41851	//       "type": "string"
41852	//     },
41853	//     "profileId": {
41854	//       "description": "User profile ID associated with this request.",
41855	//       "format": "int64",
41856	//       "location": "path",
41857	//       "required": true,
41858	//       "type": "string"
41859	//     }
41860	//   },
41861	//   "path": "userprofiles/{profileId}/projects/{id}",
41862	//   "response": {
41863	//     "$ref": "Project"
41864	//   },
41865	//   "scopes": [
41866	//     "https://www.googleapis.com/auth/dfatrafficking"
41867	//   ]
41868	// }
41869
41870}
41871
41872// method id "dfareporting.projects.list":
41873
41874type ProjectsListCall struct {
41875	s            *Service
41876	profileId    int64
41877	urlParams_   gensupport.URLParams
41878	ifNoneMatch_ string
41879	ctx_         context.Context
41880	header_      http.Header
41881}
41882
41883// List: Retrieves a list of projects, possibly filtered. This method
41884// supports paging .
41885func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
41886	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41887	c.profileId = profileId
41888	return c
41889}
41890
41891// AdvertiserIds sets the optional parameter "advertiserIds": Select
41892// only projects with these advertiser IDs.
41893func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
41894	var advertiserIds_ []string
41895	for _, v := range advertiserIds {
41896		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
41897	}
41898	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
41899	return c
41900}
41901
41902// Ids sets the optional parameter "ids": Select only projects with
41903// these IDs.
41904func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
41905	var ids_ []string
41906	for _, v := range ids {
41907		ids_ = append(ids_, fmt.Sprint(v))
41908	}
41909	c.urlParams_.SetMulti("ids", ids_)
41910	return c
41911}
41912
41913// MaxResults sets the optional parameter "maxResults": Maximum number
41914// of results to return.
41915func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
41916	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
41917	return c
41918}
41919
41920// PageToken sets the optional parameter "pageToken": Value of the
41921// nextPageToken from the previous result page.
41922func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
41923	c.urlParams_.Set("pageToken", pageToken)
41924	return c
41925}
41926
41927// SearchString sets the optional parameter "searchString": Allows
41928// searching for projects by name or ID. Wildcards (*) are allowed. For
41929// example, "project*2015" will return projects with names like "project
41930// June 2015", "project April 2015", or simply "project 2015". Most of
41931// the searches also add wildcards implicitly at the start and the end
41932// of the search string. For example, a search string of "project" will
41933// match projects with name "my project", "project 2015", or simply
41934// "project".
41935func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
41936	c.urlParams_.Set("searchString", searchString)
41937	return c
41938}
41939
41940// SortField sets the optional parameter "sortField": Field by which to
41941// sort the list.
41942//
41943// Possible values:
41944//   "ID" (default)
41945//   "NAME"
41946func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
41947	c.urlParams_.Set("sortField", sortField)
41948	return c
41949}
41950
41951// SortOrder sets the optional parameter "sortOrder": Order of sorted
41952// results.
41953//
41954// Possible values:
41955//   "ASCENDING" (default)
41956//   "DESCENDING"
41957func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
41958	c.urlParams_.Set("sortOrder", sortOrder)
41959	return c
41960}
41961
41962// Fields allows partial responses to be retrieved. See
41963// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41964// for more information.
41965func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
41966	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41967	return c
41968}
41969
41970// IfNoneMatch sets the optional parameter which makes the operation
41971// fail if the object's ETag matches the given value. This is useful for
41972// getting updates only after the object has changed since the last
41973// request. Use googleapi.IsNotModified to check whether the response
41974// error from Do is the result of In-None-Match.
41975func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
41976	c.ifNoneMatch_ = entityTag
41977	return c
41978}
41979
41980// Context sets the context to be used in this call's Do method. Any
41981// pending HTTP request will be aborted if the provided context is
41982// canceled.
41983func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
41984	c.ctx_ = ctx
41985	return c
41986}
41987
41988// Header returns an http.Header that can be modified by the caller to
41989// add HTTP headers to the request.
41990func (c *ProjectsListCall) Header() http.Header {
41991	if c.header_ == nil {
41992		c.header_ = make(http.Header)
41993	}
41994	return c.header_
41995}
41996
41997func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
41998	reqHeaders := make(http.Header)
41999	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
42000	for k, v := range c.header_ {
42001		reqHeaders[k] = v
42002	}
42003	reqHeaders.Set("User-Agent", c.s.userAgent())
42004	if c.ifNoneMatch_ != "" {
42005		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42006	}
42007	var body io.Reader = nil
42008	c.urlParams_.Set("alt", alt)
42009	c.urlParams_.Set("prettyPrint", "false")
42010	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
42011	urls += "?" + c.urlParams_.Encode()
42012	req, err := http.NewRequest("GET", urls, body)
42013	if err != nil {
42014		return nil, err
42015	}
42016	req.Header = reqHeaders
42017	googleapi.Expand(req.URL, map[string]string{
42018		"profileId": strconv.FormatInt(c.profileId, 10),
42019	})
42020	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42021}
42022
42023// Do executes the "dfareporting.projects.list" call.
42024// Exactly one of *ProjectsListResponse or error will be non-nil. Any
42025// non-2xx status code is an error. Response headers are in either
42026// *ProjectsListResponse.ServerResponse.Header or (if a response was
42027// returned at all) in error.(*googleapi.Error).Header. Use
42028// googleapi.IsNotModified to check whether the returned error was
42029// because http.StatusNotModified was returned.
42030func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
42031	gensupport.SetOptions(c.urlParams_, opts...)
42032	res, err := c.doRequest("json")
42033	if res != nil && res.StatusCode == http.StatusNotModified {
42034		if res.Body != nil {
42035			res.Body.Close()
42036		}
42037		return nil, &googleapi.Error{
42038			Code:   res.StatusCode,
42039			Header: res.Header,
42040		}
42041	}
42042	if err != nil {
42043		return nil, err
42044	}
42045	defer googleapi.CloseBody(res)
42046	if err := googleapi.CheckResponse(res); err != nil {
42047		return nil, err
42048	}
42049	ret := &ProjectsListResponse{
42050		ServerResponse: googleapi.ServerResponse{
42051			Header:         res.Header,
42052			HTTPStatusCode: res.StatusCode,
42053		},
42054	}
42055	target := &ret
42056	if err := gensupport.DecodeResponse(target, res); err != nil {
42057		return nil, err
42058	}
42059	return ret, nil
42060	// {
42061	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging .",
42062	//   "flatPath": "userprofiles/{profileId}/projects",
42063	//   "httpMethod": "GET",
42064	//   "id": "dfareporting.projects.list",
42065	//   "parameterOrder": [
42066	//     "profileId"
42067	//   ],
42068	//   "parameters": {
42069	//     "advertiserIds": {
42070	//       "description": "Select only projects with these advertiser IDs.",
42071	//       "format": "int64",
42072	//       "location": "query",
42073	//       "repeated": true,
42074	//       "type": "string"
42075	//     },
42076	//     "ids": {
42077	//       "description": "Select only projects with these IDs.",
42078	//       "format": "int64",
42079	//       "location": "query",
42080	//       "repeated": true,
42081	//       "type": "string"
42082	//     },
42083	//     "maxResults": {
42084	//       "default": "1000",
42085	//       "description": "Maximum number of results to return.",
42086	//       "format": "int32",
42087	//       "location": "query",
42088	//       "maximum": "1000",
42089	//       "minimum": "0",
42090	//       "type": "integer"
42091	//     },
42092	//     "pageToken": {
42093	//       "description": "Value of the nextPageToken from the previous result page.",
42094	//       "location": "query",
42095	//       "type": "string"
42096	//     },
42097	//     "profileId": {
42098	//       "description": "User profile ID associated with this request.",
42099	//       "format": "int64",
42100	//       "location": "path",
42101	//       "required": true,
42102	//       "type": "string"
42103	//     },
42104	//     "searchString": {
42105	//       "description": "Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, \"project*2015\" will return projects with names like \"project June 2015\", \"project April 2015\", or simply \"project 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"project\" will match projects with name \"my project\", \"project 2015\", or simply \"project\".",
42106	//       "location": "query",
42107	//       "type": "string"
42108	//     },
42109	//     "sortField": {
42110	//       "default": "ID",
42111	//       "description": "Field by which to sort the list.",
42112	//       "enum": [
42113	//         "ID",
42114	//         "NAME"
42115	//       ],
42116	//       "enumDescriptions": [
42117	//         "",
42118	//         ""
42119	//       ],
42120	//       "location": "query",
42121	//       "type": "string"
42122	//     },
42123	//     "sortOrder": {
42124	//       "default": "ASCENDING",
42125	//       "description": "Order of sorted results.",
42126	//       "enum": [
42127	//         "ASCENDING",
42128	//         "DESCENDING"
42129	//       ],
42130	//       "enumDescriptions": [
42131	//         "",
42132	//         ""
42133	//       ],
42134	//       "location": "query",
42135	//       "type": "string"
42136	//     }
42137	//   },
42138	//   "path": "userprofiles/{profileId}/projects",
42139	//   "response": {
42140	//     "$ref": "ProjectsListResponse"
42141	//   },
42142	//   "scopes": [
42143	//     "https://www.googleapis.com/auth/dfatrafficking"
42144	//   ]
42145	// }
42146
42147}
42148
42149// Pages invokes f for each page of results.
42150// A non-nil error returned from f will halt the iteration.
42151// The provided context supersedes any context provided to the Context method.
42152func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
42153	c.ctx_ = ctx
42154	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
42155	for {
42156		x, err := c.Do()
42157		if err != nil {
42158			return err
42159		}
42160		if err := f(x); err != nil {
42161			return err
42162		}
42163		if x.NextPageToken == "" {
42164			return nil
42165		}
42166		c.PageToken(x.NextPageToken)
42167	}
42168}
42169
42170// method id "dfareporting.regions.list":
42171
42172type RegionsListCall struct {
42173	s            *Service
42174	profileId    int64
42175	urlParams_   gensupport.URLParams
42176	ifNoneMatch_ string
42177	ctx_         context.Context
42178	header_      http.Header
42179}
42180
42181// List: Retrieves a list of regions.
42182func (r *RegionsService) List(profileId int64) *RegionsListCall {
42183	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42184	c.profileId = profileId
42185	return c
42186}
42187
42188// Fields allows partial responses to be retrieved. See
42189// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42190// for more information.
42191func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
42192	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42193	return c
42194}
42195
42196// IfNoneMatch sets the optional parameter which makes the operation
42197// fail if the object's ETag matches the given value. This is useful for
42198// getting updates only after the object has changed since the last
42199// request. Use googleapi.IsNotModified to check whether the response
42200// error from Do is the result of In-None-Match.
42201func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
42202	c.ifNoneMatch_ = entityTag
42203	return c
42204}
42205
42206// Context sets the context to be used in this call's Do method. Any
42207// pending HTTP request will be aborted if the provided context is
42208// canceled.
42209func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
42210	c.ctx_ = ctx
42211	return c
42212}
42213
42214// Header returns an http.Header that can be modified by the caller to
42215// add HTTP headers to the request.
42216func (c *RegionsListCall) Header() http.Header {
42217	if c.header_ == nil {
42218		c.header_ = make(http.Header)
42219	}
42220	return c.header_
42221}
42222
42223func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
42224	reqHeaders := make(http.Header)
42225	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
42226	for k, v := range c.header_ {
42227		reqHeaders[k] = v
42228	}
42229	reqHeaders.Set("User-Agent", c.s.userAgent())
42230	if c.ifNoneMatch_ != "" {
42231		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42232	}
42233	var body io.Reader = nil
42234	c.urlParams_.Set("alt", alt)
42235	c.urlParams_.Set("prettyPrint", "false")
42236	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
42237	urls += "?" + c.urlParams_.Encode()
42238	req, err := http.NewRequest("GET", urls, body)
42239	if err != nil {
42240		return nil, err
42241	}
42242	req.Header = reqHeaders
42243	googleapi.Expand(req.URL, map[string]string{
42244		"profileId": strconv.FormatInt(c.profileId, 10),
42245	})
42246	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42247}
42248
42249// Do executes the "dfareporting.regions.list" call.
42250// Exactly one of *RegionsListResponse or error will be non-nil. Any
42251// non-2xx status code is an error. Response headers are in either
42252// *RegionsListResponse.ServerResponse.Header or (if a response was
42253// returned at all) in error.(*googleapi.Error).Header. Use
42254// googleapi.IsNotModified to check whether the returned error was
42255// because http.StatusNotModified was returned.
42256func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
42257	gensupport.SetOptions(c.urlParams_, opts...)
42258	res, err := c.doRequest("json")
42259	if res != nil && res.StatusCode == http.StatusNotModified {
42260		if res.Body != nil {
42261			res.Body.Close()
42262		}
42263		return nil, &googleapi.Error{
42264			Code:   res.StatusCode,
42265			Header: res.Header,
42266		}
42267	}
42268	if err != nil {
42269		return nil, err
42270	}
42271	defer googleapi.CloseBody(res)
42272	if err := googleapi.CheckResponse(res); err != nil {
42273		return nil, err
42274	}
42275	ret := &RegionsListResponse{
42276		ServerResponse: googleapi.ServerResponse{
42277			Header:         res.Header,
42278			HTTPStatusCode: res.StatusCode,
42279		},
42280	}
42281	target := &ret
42282	if err := gensupport.DecodeResponse(target, res); err != nil {
42283		return nil, err
42284	}
42285	return ret, nil
42286	// {
42287	//   "description": "Retrieves a list of regions.",
42288	//   "flatPath": "userprofiles/{profileId}/regions",
42289	//   "httpMethod": "GET",
42290	//   "id": "dfareporting.regions.list",
42291	//   "parameterOrder": [
42292	//     "profileId"
42293	//   ],
42294	//   "parameters": {
42295	//     "profileId": {
42296	//       "description": "User profile ID associated with this request.",
42297	//       "format": "int64",
42298	//       "location": "path",
42299	//       "required": true,
42300	//       "type": "string"
42301	//     }
42302	//   },
42303	//   "path": "userprofiles/{profileId}/regions",
42304	//   "response": {
42305	//     "$ref": "RegionsListResponse"
42306	//   },
42307	//   "scopes": [
42308	//     "https://www.googleapis.com/auth/dfatrafficking"
42309	//   ]
42310	// }
42311
42312}
42313
42314// method id "dfareporting.remarketingListShares.get":
42315
42316type RemarketingListSharesGetCall struct {
42317	s                 *Service
42318	profileId         int64
42319	remarketingListId int64
42320	urlParams_        gensupport.URLParams
42321	ifNoneMatch_      string
42322	ctx_              context.Context
42323	header_           http.Header
42324}
42325
42326// Get: Gets one remarketing list share by remarketing list ID.
42327func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
42328	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42329	c.profileId = profileId
42330	c.remarketingListId = remarketingListId
42331	return c
42332}
42333
42334// Fields allows partial responses to be retrieved. See
42335// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42336// for more information.
42337func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
42338	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42339	return c
42340}
42341
42342// IfNoneMatch sets the optional parameter which makes the operation
42343// fail if the object's ETag matches the given value. This is useful for
42344// getting updates only after the object has changed since the last
42345// request. Use googleapi.IsNotModified to check whether the response
42346// error from Do is the result of In-None-Match.
42347func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
42348	c.ifNoneMatch_ = entityTag
42349	return c
42350}
42351
42352// Context sets the context to be used in this call's Do method. Any
42353// pending HTTP request will be aborted if the provided context is
42354// canceled.
42355func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
42356	c.ctx_ = ctx
42357	return c
42358}
42359
42360// Header returns an http.Header that can be modified by the caller to
42361// add HTTP headers to the request.
42362func (c *RemarketingListSharesGetCall) Header() http.Header {
42363	if c.header_ == nil {
42364		c.header_ = make(http.Header)
42365	}
42366	return c.header_
42367}
42368
42369func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
42370	reqHeaders := make(http.Header)
42371	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
42372	for k, v := range c.header_ {
42373		reqHeaders[k] = v
42374	}
42375	reqHeaders.Set("User-Agent", c.s.userAgent())
42376	if c.ifNoneMatch_ != "" {
42377		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42378	}
42379	var body io.Reader = nil
42380	c.urlParams_.Set("alt", alt)
42381	c.urlParams_.Set("prettyPrint", "false")
42382	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
42383	urls += "?" + c.urlParams_.Encode()
42384	req, err := http.NewRequest("GET", urls, body)
42385	if err != nil {
42386		return nil, err
42387	}
42388	req.Header = reqHeaders
42389	googleapi.Expand(req.URL, map[string]string{
42390		"profileId":         strconv.FormatInt(c.profileId, 10),
42391		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
42392	})
42393	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42394}
42395
42396// Do executes the "dfareporting.remarketingListShares.get" call.
42397// Exactly one of *RemarketingListShare or error will be non-nil. Any
42398// non-2xx status code is an error. Response headers are in either
42399// *RemarketingListShare.ServerResponse.Header or (if a response was
42400// returned at all) in error.(*googleapi.Error).Header. Use
42401// googleapi.IsNotModified to check whether the returned error was
42402// because http.StatusNotModified was returned.
42403func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42404	gensupport.SetOptions(c.urlParams_, opts...)
42405	res, err := c.doRequest("json")
42406	if res != nil && res.StatusCode == http.StatusNotModified {
42407		if res.Body != nil {
42408			res.Body.Close()
42409		}
42410		return nil, &googleapi.Error{
42411			Code:   res.StatusCode,
42412			Header: res.Header,
42413		}
42414	}
42415	if err != nil {
42416		return nil, err
42417	}
42418	defer googleapi.CloseBody(res)
42419	if err := googleapi.CheckResponse(res); err != nil {
42420		return nil, err
42421	}
42422	ret := &RemarketingListShare{
42423		ServerResponse: googleapi.ServerResponse{
42424			Header:         res.Header,
42425			HTTPStatusCode: res.StatusCode,
42426		},
42427	}
42428	target := &ret
42429	if err := gensupport.DecodeResponse(target, res); err != nil {
42430		return nil, err
42431	}
42432	return ret, nil
42433	// {
42434	//   "description": "Gets one remarketing list share by remarketing list ID.",
42435	//   "flatPath": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42436	//   "httpMethod": "GET",
42437	//   "id": "dfareporting.remarketingListShares.get",
42438	//   "parameterOrder": [
42439	//     "profileId",
42440	//     "remarketingListId"
42441	//   ],
42442	//   "parameters": {
42443	//     "profileId": {
42444	//       "description": "User profile ID associated with this request.",
42445	//       "format": "int64",
42446	//       "location": "path",
42447	//       "required": true,
42448	//       "type": "string"
42449	//     },
42450	//     "remarketingListId": {
42451	//       "description": "Remarketing list ID.",
42452	//       "format": "int64",
42453	//       "location": "path",
42454	//       "required": true,
42455	//       "type": "string"
42456	//     }
42457	//   },
42458	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42459	//   "response": {
42460	//     "$ref": "RemarketingListShare"
42461	//   },
42462	//   "scopes": [
42463	//     "https://www.googleapis.com/auth/dfatrafficking"
42464	//   ]
42465	// }
42466
42467}
42468
42469// method id "dfareporting.remarketingListShares.patch":
42470
42471type RemarketingListSharesPatchCall struct {
42472	s                    *Service
42473	profileId            int64
42474	remarketinglistshare *RemarketingListShare
42475	urlParams_           gensupport.URLParams
42476	ctx_                 context.Context
42477	header_              http.Header
42478}
42479
42480// Patch: Updates an existing remarketing list share. This method
42481// supports patch semantics.
42482func (r *RemarketingListSharesService) Patch(profileId int64, id int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
42483	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42484	c.profileId = profileId
42485	c.urlParams_.Set("id", fmt.Sprint(id))
42486	c.remarketinglistshare = remarketinglistshare
42487	return c
42488}
42489
42490// Fields allows partial responses to be retrieved. See
42491// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42492// for more information.
42493func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
42494	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42495	return c
42496}
42497
42498// Context sets the context to be used in this call's Do method. Any
42499// pending HTTP request will be aborted if the provided context is
42500// canceled.
42501func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
42502	c.ctx_ = ctx
42503	return c
42504}
42505
42506// Header returns an http.Header that can be modified by the caller to
42507// add HTTP headers to the request.
42508func (c *RemarketingListSharesPatchCall) Header() http.Header {
42509	if c.header_ == nil {
42510		c.header_ = make(http.Header)
42511	}
42512	return c.header_
42513}
42514
42515func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
42516	reqHeaders := make(http.Header)
42517	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
42518	for k, v := range c.header_ {
42519		reqHeaders[k] = v
42520	}
42521	reqHeaders.Set("User-Agent", c.s.userAgent())
42522	var body io.Reader = nil
42523	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42524	if err != nil {
42525		return nil, err
42526	}
42527	reqHeaders.Set("Content-Type", "application/json")
42528	c.urlParams_.Set("alt", alt)
42529	c.urlParams_.Set("prettyPrint", "false")
42530	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42531	urls += "?" + c.urlParams_.Encode()
42532	req, err := http.NewRequest("PATCH", urls, body)
42533	if err != nil {
42534		return nil, err
42535	}
42536	req.Header = reqHeaders
42537	googleapi.Expand(req.URL, map[string]string{
42538		"profileId": strconv.FormatInt(c.profileId, 10),
42539	})
42540	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42541}
42542
42543// Do executes the "dfareporting.remarketingListShares.patch" call.
42544// Exactly one of *RemarketingListShare or error will be non-nil. Any
42545// non-2xx status code is an error. Response headers are in either
42546// *RemarketingListShare.ServerResponse.Header or (if a response was
42547// returned at all) in error.(*googleapi.Error).Header. Use
42548// googleapi.IsNotModified to check whether the returned error was
42549// because http.StatusNotModified was returned.
42550func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42551	gensupport.SetOptions(c.urlParams_, opts...)
42552	res, err := c.doRequest("json")
42553	if res != nil && res.StatusCode == http.StatusNotModified {
42554		if res.Body != nil {
42555			res.Body.Close()
42556		}
42557		return nil, &googleapi.Error{
42558			Code:   res.StatusCode,
42559			Header: res.Header,
42560		}
42561	}
42562	if err != nil {
42563		return nil, err
42564	}
42565	defer googleapi.CloseBody(res)
42566	if err := googleapi.CheckResponse(res); err != nil {
42567		return nil, err
42568	}
42569	ret := &RemarketingListShare{
42570		ServerResponse: googleapi.ServerResponse{
42571			Header:         res.Header,
42572			HTTPStatusCode: res.StatusCode,
42573		},
42574	}
42575	target := &ret
42576	if err := gensupport.DecodeResponse(target, res); err != nil {
42577		return nil, err
42578	}
42579	return ret, nil
42580	// {
42581	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
42582	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
42583	//   "httpMethod": "PATCH",
42584	//   "id": "dfareporting.remarketingListShares.patch",
42585	//   "parameterOrder": [
42586	//     "profileId",
42587	//     "id"
42588	//   ],
42589	//   "parameters": {
42590	//     "id": {
42591	//       "description": "RemarketingList ID.",
42592	//       "format": "int64",
42593	//       "location": "query",
42594	//       "required": true,
42595	//       "type": "string"
42596	//     },
42597	//     "profileId": {
42598	//       "description": "User profile ID associated with this request.",
42599	//       "format": "int64",
42600	//       "location": "path",
42601	//       "required": true,
42602	//       "type": "string"
42603	//     }
42604	//   },
42605	//   "path": "userprofiles/{profileId}/remarketingListShares",
42606	//   "request": {
42607	//     "$ref": "RemarketingListShare"
42608	//   },
42609	//   "response": {
42610	//     "$ref": "RemarketingListShare"
42611	//   },
42612	//   "scopes": [
42613	//     "https://www.googleapis.com/auth/dfatrafficking"
42614	//   ]
42615	// }
42616
42617}
42618
42619// method id "dfareporting.remarketingListShares.update":
42620
42621type RemarketingListSharesUpdateCall struct {
42622	s                    *Service
42623	profileId            int64
42624	remarketinglistshare *RemarketingListShare
42625	urlParams_           gensupport.URLParams
42626	ctx_                 context.Context
42627	header_              http.Header
42628}
42629
42630// Update: Updates an existing remarketing list share.
42631func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
42632	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42633	c.profileId = profileId
42634	c.remarketinglistshare = remarketinglistshare
42635	return c
42636}
42637
42638// Fields allows partial responses to be retrieved. See
42639// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42640// for more information.
42641func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
42642	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42643	return c
42644}
42645
42646// Context sets the context to be used in this call's Do method. Any
42647// pending HTTP request will be aborted if the provided context is
42648// canceled.
42649func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
42650	c.ctx_ = ctx
42651	return c
42652}
42653
42654// Header returns an http.Header that can be modified by the caller to
42655// add HTTP headers to the request.
42656func (c *RemarketingListSharesUpdateCall) Header() http.Header {
42657	if c.header_ == nil {
42658		c.header_ = make(http.Header)
42659	}
42660	return c.header_
42661}
42662
42663func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
42664	reqHeaders := make(http.Header)
42665	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
42666	for k, v := range c.header_ {
42667		reqHeaders[k] = v
42668	}
42669	reqHeaders.Set("User-Agent", c.s.userAgent())
42670	var body io.Reader = nil
42671	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
42672	if err != nil {
42673		return nil, err
42674	}
42675	reqHeaders.Set("Content-Type", "application/json")
42676	c.urlParams_.Set("alt", alt)
42677	c.urlParams_.Set("prettyPrint", "false")
42678	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
42679	urls += "?" + c.urlParams_.Encode()
42680	req, err := http.NewRequest("PUT", urls, body)
42681	if err != nil {
42682		return nil, err
42683	}
42684	req.Header = reqHeaders
42685	googleapi.Expand(req.URL, map[string]string{
42686		"profileId": strconv.FormatInt(c.profileId, 10),
42687	})
42688	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42689}
42690
42691// Do executes the "dfareporting.remarketingListShares.update" call.
42692// Exactly one of *RemarketingListShare or error will be non-nil. Any
42693// non-2xx status code is an error. Response headers are in either
42694// *RemarketingListShare.ServerResponse.Header or (if a response was
42695// returned at all) in error.(*googleapi.Error).Header. Use
42696// googleapi.IsNotModified to check whether the returned error was
42697// because http.StatusNotModified was returned.
42698func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42699	gensupport.SetOptions(c.urlParams_, opts...)
42700	res, err := c.doRequest("json")
42701	if res != nil && res.StatusCode == http.StatusNotModified {
42702		if res.Body != nil {
42703			res.Body.Close()
42704		}
42705		return nil, &googleapi.Error{
42706			Code:   res.StatusCode,
42707			Header: res.Header,
42708		}
42709	}
42710	if err != nil {
42711		return nil, err
42712	}
42713	defer googleapi.CloseBody(res)
42714	if err := googleapi.CheckResponse(res); err != nil {
42715		return nil, err
42716	}
42717	ret := &RemarketingListShare{
42718		ServerResponse: googleapi.ServerResponse{
42719			Header:         res.Header,
42720			HTTPStatusCode: res.StatusCode,
42721		},
42722	}
42723	target := &ret
42724	if err := gensupport.DecodeResponse(target, res); err != nil {
42725		return nil, err
42726	}
42727	return ret, nil
42728	// {
42729	//   "description": "Updates an existing remarketing list share.",
42730	//   "flatPath": "userprofiles/{profileId}/remarketingListShares",
42731	//   "httpMethod": "PUT",
42732	//   "id": "dfareporting.remarketingListShares.update",
42733	//   "parameterOrder": [
42734	//     "profileId"
42735	//   ],
42736	//   "parameters": {
42737	//     "profileId": {
42738	//       "description": "User profile ID associated with this request.",
42739	//       "format": "int64",
42740	//       "location": "path",
42741	//       "required": true,
42742	//       "type": "string"
42743	//     }
42744	//   },
42745	//   "path": "userprofiles/{profileId}/remarketingListShares",
42746	//   "request": {
42747	//     "$ref": "RemarketingListShare"
42748	//   },
42749	//   "response": {
42750	//     "$ref": "RemarketingListShare"
42751	//   },
42752	//   "scopes": [
42753	//     "https://www.googleapis.com/auth/dfatrafficking"
42754	//   ]
42755	// }
42756
42757}
42758
42759// method id "dfareporting.remarketingLists.get":
42760
42761type RemarketingListsGetCall struct {
42762	s            *Service
42763	profileId    int64
42764	id           int64
42765	urlParams_   gensupport.URLParams
42766	ifNoneMatch_ string
42767	ctx_         context.Context
42768	header_      http.Header
42769}
42770
42771// Get: Gets one remarketing list by ID.
42772func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
42773	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42774	c.profileId = profileId
42775	c.id = id
42776	return c
42777}
42778
42779// Fields allows partial responses to be retrieved. See
42780// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42781// for more information.
42782func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
42783	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42784	return c
42785}
42786
42787// IfNoneMatch sets the optional parameter which makes the operation
42788// fail if the object's ETag matches the given value. This is useful for
42789// getting updates only after the object has changed since the last
42790// request. Use googleapi.IsNotModified to check whether the response
42791// error from Do is the result of In-None-Match.
42792func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
42793	c.ifNoneMatch_ = entityTag
42794	return c
42795}
42796
42797// Context sets the context to be used in this call's Do method. Any
42798// pending HTTP request will be aborted if the provided context is
42799// canceled.
42800func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
42801	c.ctx_ = ctx
42802	return c
42803}
42804
42805// Header returns an http.Header that can be modified by the caller to
42806// add HTTP headers to the request.
42807func (c *RemarketingListsGetCall) Header() http.Header {
42808	if c.header_ == nil {
42809		c.header_ = make(http.Header)
42810	}
42811	return c.header_
42812}
42813
42814func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
42815	reqHeaders := make(http.Header)
42816	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
42817	for k, v := range c.header_ {
42818		reqHeaders[k] = v
42819	}
42820	reqHeaders.Set("User-Agent", c.s.userAgent())
42821	if c.ifNoneMatch_ != "" {
42822		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42823	}
42824	var body io.Reader = nil
42825	c.urlParams_.Set("alt", alt)
42826	c.urlParams_.Set("prettyPrint", "false")
42827	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
42828	urls += "?" + c.urlParams_.Encode()
42829	req, err := http.NewRequest("GET", urls, body)
42830	if err != nil {
42831		return nil, err
42832	}
42833	req.Header = reqHeaders
42834	googleapi.Expand(req.URL, map[string]string{
42835		"profileId": strconv.FormatInt(c.profileId, 10),
42836		"id":        strconv.FormatInt(c.id, 10),
42837	})
42838	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42839}
42840
42841// Do executes the "dfareporting.remarketingLists.get" call.
42842// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
42843// status code is an error. Response headers are in either
42844// *RemarketingList.ServerResponse.Header or (if a response was returned
42845// at all) in error.(*googleapi.Error).Header. Use
42846// googleapi.IsNotModified to check whether the returned error was
42847// because http.StatusNotModified was returned.
42848func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
42849	gensupport.SetOptions(c.urlParams_, opts...)
42850	res, err := c.doRequest("json")
42851	if res != nil && res.StatusCode == http.StatusNotModified {
42852		if res.Body != nil {
42853			res.Body.Close()
42854		}
42855		return nil, &googleapi.Error{
42856			Code:   res.StatusCode,
42857			Header: res.Header,
42858		}
42859	}
42860	if err != nil {
42861		return nil, err
42862	}
42863	defer googleapi.CloseBody(res)
42864	if err := googleapi.CheckResponse(res); err != nil {
42865		return nil, err
42866	}
42867	ret := &RemarketingList{
42868		ServerResponse: googleapi.ServerResponse{
42869			Header:         res.Header,
42870			HTTPStatusCode: res.StatusCode,
42871		},
42872	}
42873	target := &ret
42874	if err := gensupport.DecodeResponse(target, res); err != nil {
42875		return nil, err
42876	}
42877	return ret, nil
42878	// {
42879	//   "description": "Gets one remarketing list by ID.",
42880	//   "flatPath": "userprofiles/{profileId}/remarketingLists/{id}",
42881	//   "httpMethod": "GET",
42882	//   "id": "dfareporting.remarketingLists.get",
42883	//   "parameterOrder": [
42884	//     "profileId",
42885	//     "id"
42886	//   ],
42887	//   "parameters": {
42888	//     "id": {
42889	//       "description": "Remarketing list ID.",
42890	//       "format": "int64",
42891	//       "location": "path",
42892	//       "required": true,
42893	//       "type": "string"
42894	//     },
42895	//     "profileId": {
42896	//       "description": "User profile ID associated with this request.",
42897	//       "format": "int64",
42898	//       "location": "path",
42899	//       "required": true,
42900	//       "type": "string"
42901	//     }
42902	//   },
42903	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
42904	//   "response": {
42905	//     "$ref": "RemarketingList"
42906	//   },
42907	//   "scopes": [
42908	//     "https://www.googleapis.com/auth/dfatrafficking"
42909	//   ]
42910	// }
42911
42912}
42913
42914// method id "dfareporting.remarketingLists.insert":
42915
42916type RemarketingListsInsertCall struct {
42917	s               *Service
42918	profileId       int64
42919	remarketinglist *RemarketingList
42920	urlParams_      gensupport.URLParams
42921	ctx_            context.Context
42922	header_         http.Header
42923}
42924
42925// Insert: Inserts a new remarketing list.
42926func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
42927	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42928	c.profileId = profileId
42929	c.remarketinglist = remarketinglist
42930	return c
42931}
42932
42933// Fields allows partial responses to be retrieved. See
42934// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42935// for more information.
42936func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
42937	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42938	return c
42939}
42940
42941// Context sets the context to be used in this call's Do method. Any
42942// pending HTTP request will be aborted if the provided context is
42943// canceled.
42944func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
42945	c.ctx_ = ctx
42946	return c
42947}
42948
42949// Header returns an http.Header that can be modified by the caller to
42950// add HTTP headers to the request.
42951func (c *RemarketingListsInsertCall) Header() http.Header {
42952	if c.header_ == nil {
42953		c.header_ = make(http.Header)
42954	}
42955	return c.header_
42956}
42957
42958func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
42959	reqHeaders := make(http.Header)
42960	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
42961	for k, v := range c.header_ {
42962		reqHeaders[k] = v
42963	}
42964	reqHeaders.Set("User-Agent", c.s.userAgent())
42965	var body io.Reader = nil
42966	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
42967	if err != nil {
42968		return nil, err
42969	}
42970	reqHeaders.Set("Content-Type", "application/json")
42971	c.urlParams_.Set("alt", alt)
42972	c.urlParams_.Set("prettyPrint", "false")
42973	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
42974	urls += "?" + c.urlParams_.Encode()
42975	req, err := http.NewRequest("POST", urls, body)
42976	if err != nil {
42977		return nil, err
42978	}
42979	req.Header = reqHeaders
42980	googleapi.Expand(req.URL, map[string]string{
42981		"profileId": strconv.FormatInt(c.profileId, 10),
42982	})
42983	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42984}
42985
42986// Do executes the "dfareporting.remarketingLists.insert" call.
42987// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
42988// status code is an error. Response headers are in either
42989// *RemarketingList.ServerResponse.Header or (if a response was returned
42990// at all) in error.(*googleapi.Error).Header. Use
42991// googleapi.IsNotModified to check whether the returned error was
42992// because http.StatusNotModified was returned.
42993func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
42994	gensupport.SetOptions(c.urlParams_, opts...)
42995	res, err := c.doRequest("json")
42996	if res != nil && res.StatusCode == http.StatusNotModified {
42997		if res.Body != nil {
42998			res.Body.Close()
42999		}
43000		return nil, &googleapi.Error{
43001			Code:   res.StatusCode,
43002			Header: res.Header,
43003		}
43004	}
43005	if err != nil {
43006		return nil, err
43007	}
43008	defer googleapi.CloseBody(res)
43009	if err := googleapi.CheckResponse(res); err != nil {
43010		return nil, err
43011	}
43012	ret := &RemarketingList{
43013		ServerResponse: googleapi.ServerResponse{
43014			Header:         res.Header,
43015			HTTPStatusCode: res.StatusCode,
43016		},
43017	}
43018	target := &ret
43019	if err := gensupport.DecodeResponse(target, res); err != nil {
43020		return nil, err
43021	}
43022	return ret, nil
43023	// {
43024	//   "description": "Inserts a new remarketing list.",
43025	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43026	//   "httpMethod": "POST",
43027	//   "id": "dfareporting.remarketingLists.insert",
43028	//   "parameterOrder": [
43029	//     "profileId"
43030	//   ],
43031	//   "parameters": {
43032	//     "profileId": {
43033	//       "description": "User profile ID associated with this request.",
43034	//       "format": "int64",
43035	//       "location": "path",
43036	//       "required": true,
43037	//       "type": "string"
43038	//     }
43039	//   },
43040	//   "path": "userprofiles/{profileId}/remarketingLists",
43041	//   "request": {
43042	//     "$ref": "RemarketingList"
43043	//   },
43044	//   "response": {
43045	//     "$ref": "RemarketingList"
43046	//   },
43047	//   "scopes": [
43048	//     "https://www.googleapis.com/auth/dfatrafficking"
43049	//   ]
43050	// }
43051
43052}
43053
43054// method id "dfareporting.remarketingLists.list":
43055
43056type RemarketingListsListCall struct {
43057	s            *Service
43058	profileId    int64
43059	urlParams_   gensupport.URLParams
43060	ifNoneMatch_ string
43061	ctx_         context.Context
43062	header_      http.Header
43063}
43064
43065// List: Retrieves a list of remarketing lists, possibly filtered. This
43066// method supports paging.
43067func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
43068	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43069	c.profileId = profileId
43070	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
43071	return c
43072}
43073
43074// Active sets the optional parameter "active": Select only active or
43075// only inactive remarketing lists.
43076func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
43077	c.urlParams_.Set("active", fmt.Sprint(active))
43078	return c
43079}
43080
43081// FloodlightActivityId sets the optional parameter
43082// "floodlightActivityId": Select only remarketing lists that have this
43083// floodlight activity ID.
43084func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
43085	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
43086	return c
43087}
43088
43089// MaxResults sets the optional parameter "maxResults": Maximum number
43090// of results to return.
43091func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
43092	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
43093	return c
43094}
43095
43096// Name sets the optional parameter "name": Allows searching for objects
43097// by name or ID. Wildcards (*) are allowed. For example, "remarketing
43098// list*2015" will return objects with names like "remarketing list June
43099// 2015", "remarketing list April 2015", or simply "remarketing list
43100// 2015". Most of the searches also add wildcards implicitly at the
43101// start and the end of the search string. For example, a search string
43102// of "remarketing list" will match objects with name "my remarketing
43103// list", "remarketing list 2015", or simply "remarketing list".
43104func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
43105	c.urlParams_.Set("name", name)
43106	return c
43107}
43108
43109// PageToken sets the optional parameter "pageToken": Value of the
43110// nextPageToken from the previous result page.
43111func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
43112	c.urlParams_.Set("pageToken", pageToken)
43113	return c
43114}
43115
43116// SortField sets the optional parameter "sortField": Field by which to
43117// sort the list.
43118//
43119// Possible values:
43120//   "ID" (default)
43121//   "NAME"
43122func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
43123	c.urlParams_.Set("sortField", sortField)
43124	return c
43125}
43126
43127// SortOrder sets the optional parameter "sortOrder": Order of sorted
43128// results.
43129//
43130// Possible values:
43131//   "ASCENDING" (default)
43132//   "DESCENDING"
43133func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
43134	c.urlParams_.Set("sortOrder", sortOrder)
43135	return c
43136}
43137
43138// Fields allows partial responses to be retrieved. See
43139// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43140// for more information.
43141func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
43142	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43143	return c
43144}
43145
43146// IfNoneMatch sets the optional parameter which makes the operation
43147// fail if the object's ETag matches the given value. This is useful for
43148// getting updates only after the object has changed since the last
43149// request. Use googleapi.IsNotModified to check whether the response
43150// error from Do is the result of In-None-Match.
43151func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
43152	c.ifNoneMatch_ = entityTag
43153	return c
43154}
43155
43156// Context sets the context to be used in this call's Do method. Any
43157// pending HTTP request will be aborted if the provided context is
43158// canceled.
43159func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
43160	c.ctx_ = ctx
43161	return c
43162}
43163
43164// Header returns an http.Header that can be modified by the caller to
43165// add HTTP headers to the request.
43166func (c *RemarketingListsListCall) Header() http.Header {
43167	if c.header_ == nil {
43168		c.header_ = make(http.Header)
43169	}
43170	return c.header_
43171}
43172
43173func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
43174	reqHeaders := make(http.Header)
43175	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
43176	for k, v := range c.header_ {
43177		reqHeaders[k] = v
43178	}
43179	reqHeaders.Set("User-Agent", c.s.userAgent())
43180	if c.ifNoneMatch_ != "" {
43181		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43182	}
43183	var body io.Reader = nil
43184	c.urlParams_.Set("alt", alt)
43185	c.urlParams_.Set("prettyPrint", "false")
43186	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43187	urls += "?" + c.urlParams_.Encode()
43188	req, err := http.NewRequest("GET", urls, body)
43189	if err != nil {
43190		return nil, err
43191	}
43192	req.Header = reqHeaders
43193	googleapi.Expand(req.URL, map[string]string{
43194		"profileId": strconv.FormatInt(c.profileId, 10),
43195	})
43196	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43197}
43198
43199// Do executes the "dfareporting.remarketingLists.list" call.
43200// Exactly one of *RemarketingListsListResponse or error will be
43201// non-nil. Any non-2xx status code is an error. Response headers are in
43202// either *RemarketingListsListResponse.ServerResponse.Header or (if a
43203// response was returned at all) in error.(*googleapi.Error).Header. Use
43204// googleapi.IsNotModified to check whether the returned error was
43205// because http.StatusNotModified was returned.
43206func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
43207	gensupport.SetOptions(c.urlParams_, opts...)
43208	res, err := c.doRequest("json")
43209	if res != nil && res.StatusCode == http.StatusNotModified {
43210		if res.Body != nil {
43211			res.Body.Close()
43212		}
43213		return nil, &googleapi.Error{
43214			Code:   res.StatusCode,
43215			Header: res.Header,
43216		}
43217	}
43218	if err != nil {
43219		return nil, err
43220	}
43221	defer googleapi.CloseBody(res)
43222	if err := googleapi.CheckResponse(res); err != nil {
43223		return nil, err
43224	}
43225	ret := &RemarketingListsListResponse{
43226		ServerResponse: googleapi.ServerResponse{
43227			Header:         res.Header,
43228			HTTPStatusCode: res.StatusCode,
43229		},
43230	}
43231	target := &ret
43232	if err := gensupport.DecodeResponse(target, res); err != nil {
43233		return nil, err
43234	}
43235	return ret, nil
43236	// {
43237	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
43238	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43239	//   "httpMethod": "GET",
43240	//   "id": "dfareporting.remarketingLists.list",
43241	//   "parameterOrder": [
43242	//     "profileId",
43243	//     "advertiserId"
43244	//   ],
43245	//   "parameters": {
43246	//     "active": {
43247	//       "description": "Select only active or only inactive remarketing lists.",
43248	//       "location": "query",
43249	//       "type": "boolean"
43250	//     },
43251	//     "advertiserId": {
43252	//       "description": "Select only remarketing lists owned by this advertiser.",
43253	//       "format": "int64",
43254	//       "location": "query",
43255	//       "required": true,
43256	//       "type": "string"
43257	//     },
43258	//     "floodlightActivityId": {
43259	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
43260	//       "format": "int64",
43261	//       "location": "query",
43262	//       "type": "string"
43263	//     },
43264	//     "maxResults": {
43265	//       "default": "1000",
43266	//       "description": "Maximum number of results to return.",
43267	//       "format": "int32",
43268	//       "location": "query",
43269	//       "maximum": "1000",
43270	//       "minimum": "0",
43271	//       "type": "integer"
43272	//     },
43273	//     "name": {
43274	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".",
43275	//       "location": "query",
43276	//       "type": "string"
43277	//     },
43278	//     "pageToken": {
43279	//       "description": "Value of the nextPageToken from the previous result page.",
43280	//       "location": "query",
43281	//       "type": "string"
43282	//     },
43283	//     "profileId": {
43284	//       "description": "User profile ID associated with this request.",
43285	//       "format": "int64",
43286	//       "location": "path",
43287	//       "required": true,
43288	//       "type": "string"
43289	//     },
43290	//     "sortField": {
43291	//       "default": "ID",
43292	//       "description": "Field by which to sort the list.",
43293	//       "enum": [
43294	//         "ID",
43295	//         "NAME"
43296	//       ],
43297	//       "enumDescriptions": [
43298	//         "",
43299	//         ""
43300	//       ],
43301	//       "location": "query",
43302	//       "type": "string"
43303	//     },
43304	//     "sortOrder": {
43305	//       "default": "ASCENDING",
43306	//       "description": "Order of sorted results.",
43307	//       "enum": [
43308	//         "ASCENDING",
43309	//         "DESCENDING"
43310	//       ],
43311	//       "enumDescriptions": [
43312	//         "",
43313	//         ""
43314	//       ],
43315	//       "location": "query",
43316	//       "type": "string"
43317	//     }
43318	//   },
43319	//   "path": "userprofiles/{profileId}/remarketingLists",
43320	//   "response": {
43321	//     "$ref": "RemarketingListsListResponse"
43322	//   },
43323	//   "scopes": [
43324	//     "https://www.googleapis.com/auth/dfatrafficking"
43325	//   ]
43326	// }
43327
43328}
43329
43330// Pages invokes f for each page of results.
43331// A non-nil error returned from f will halt the iteration.
43332// The provided context supersedes any context provided to the Context method.
43333func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
43334	c.ctx_ = ctx
43335	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
43336	for {
43337		x, err := c.Do()
43338		if err != nil {
43339			return err
43340		}
43341		if err := f(x); err != nil {
43342			return err
43343		}
43344		if x.NextPageToken == "" {
43345			return nil
43346		}
43347		c.PageToken(x.NextPageToken)
43348	}
43349}
43350
43351// method id "dfareporting.remarketingLists.patch":
43352
43353type RemarketingListsPatchCall struct {
43354	s               *Service
43355	profileId       int64
43356	remarketinglist *RemarketingList
43357	urlParams_      gensupport.URLParams
43358	ctx_            context.Context
43359	header_         http.Header
43360}
43361
43362// Patch: Updates an existing remarketing list. This method supports
43363// patch semantics.
43364func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
43365	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43366	c.profileId = profileId
43367	c.urlParams_.Set("id", fmt.Sprint(id))
43368	c.remarketinglist = remarketinglist
43369	return c
43370}
43371
43372// Fields allows partial responses to be retrieved. See
43373// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43374// for more information.
43375func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
43376	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43377	return c
43378}
43379
43380// Context sets the context to be used in this call's Do method. Any
43381// pending HTTP request will be aborted if the provided context is
43382// canceled.
43383func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
43384	c.ctx_ = ctx
43385	return c
43386}
43387
43388// Header returns an http.Header that can be modified by the caller to
43389// add HTTP headers to the request.
43390func (c *RemarketingListsPatchCall) Header() http.Header {
43391	if c.header_ == nil {
43392		c.header_ = make(http.Header)
43393	}
43394	return c.header_
43395}
43396
43397func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
43398	reqHeaders := make(http.Header)
43399	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
43400	for k, v := range c.header_ {
43401		reqHeaders[k] = v
43402	}
43403	reqHeaders.Set("User-Agent", c.s.userAgent())
43404	var body io.Reader = nil
43405	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43406	if err != nil {
43407		return nil, err
43408	}
43409	reqHeaders.Set("Content-Type", "application/json")
43410	c.urlParams_.Set("alt", alt)
43411	c.urlParams_.Set("prettyPrint", "false")
43412	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43413	urls += "?" + c.urlParams_.Encode()
43414	req, err := http.NewRequest("PATCH", urls, body)
43415	if err != nil {
43416		return nil, err
43417	}
43418	req.Header = reqHeaders
43419	googleapi.Expand(req.URL, map[string]string{
43420		"profileId": strconv.FormatInt(c.profileId, 10),
43421	})
43422	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43423}
43424
43425// Do executes the "dfareporting.remarketingLists.patch" call.
43426// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43427// status code is an error. Response headers are in either
43428// *RemarketingList.ServerResponse.Header or (if a response was returned
43429// at all) in error.(*googleapi.Error).Header. Use
43430// googleapi.IsNotModified to check whether the returned error was
43431// because http.StatusNotModified was returned.
43432func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43433	gensupport.SetOptions(c.urlParams_, opts...)
43434	res, err := c.doRequest("json")
43435	if res != nil && res.StatusCode == http.StatusNotModified {
43436		if res.Body != nil {
43437			res.Body.Close()
43438		}
43439		return nil, &googleapi.Error{
43440			Code:   res.StatusCode,
43441			Header: res.Header,
43442		}
43443	}
43444	if err != nil {
43445		return nil, err
43446	}
43447	defer googleapi.CloseBody(res)
43448	if err := googleapi.CheckResponse(res); err != nil {
43449		return nil, err
43450	}
43451	ret := &RemarketingList{
43452		ServerResponse: googleapi.ServerResponse{
43453			Header:         res.Header,
43454			HTTPStatusCode: res.StatusCode,
43455		},
43456	}
43457	target := &ret
43458	if err := gensupport.DecodeResponse(target, res); err != nil {
43459		return nil, err
43460	}
43461	return ret, nil
43462	// {
43463	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
43464	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43465	//   "httpMethod": "PATCH",
43466	//   "id": "dfareporting.remarketingLists.patch",
43467	//   "parameterOrder": [
43468	//     "profileId",
43469	//     "id"
43470	//   ],
43471	//   "parameters": {
43472	//     "id": {
43473	//       "description": "RemarketingList ID.",
43474	//       "format": "int64",
43475	//       "location": "query",
43476	//       "required": true,
43477	//       "type": "string"
43478	//     },
43479	//     "profileId": {
43480	//       "description": "User profile ID associated with this request.",
43481	//       "format": "int64",
43482	//       "location": "path",
43483	//       "required": true,
43484	//       "type": "string"
43485	//     }
43486	//   },
43487	//   "path": "userprofiles/{profileId}/remarketingLists",
43488	//   "request": {
43489	//     "$ref": "RemarketingList"
43490	//   },
43491	//   "response": {
43492	//     "$ref": "RemarketingList"
43493	//   },
43494	//   "scopes": [
43495	//     "https://www.googleapis.com/auth/dfatrafficking"
43496	//   ]
43497	// }
43498
43499}
43500
43501// method id "dfareporting.remarketingLists.update":
43502
43503type RemarketingListsUpdateCall struct {
43504	s               *Service
43505	profileId       int64
43506	remarketinglist *RemarketingList
43507	urlParams_      gensupport.URLParams
43508	ctx_            context.Context
43509	header_         http.Header
43510}
43511
43512// Update: Updates an existing remarketing list.
43513func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
43514	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43515	c.profileId = profileId
43516	c.remarketinglist = remarketinglist
43517	return c
43518}
43519
43520// Fields allows partial responses to be retrieved. See
43521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43522// for more information.
43523func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
43524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43525	return c
43526}
43527
43528// Context sets the context to be used in this call's Do method. Any
43529// pending HTTP request will be aborted if the provided context is
43530// canceled.
43531func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
43532	c.ctx_ = ctx
43533	return c
43534}
43535
43536// Header returns an http.Header that can be modified by the caller to
43537// add HTTP headers to the request.
43538func (c *RemarketingListsUpdateCall) Header() http.Header {
43539	if c.header_ == nil {
43540		c.header_ = make(http.Header)
43541	}
43542	return c.header_
43543}
43544
43545func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
43546	reqHeaders := make(http.Header)
43547	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
43548	for k, v := range c.header_ {
43549		reqHeaders[k] = v
43550	}
43551	reqHeaders.Set("User-Agent", c.s.userAgent())
43552	var body io.Reader = nil
43553	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43554	if err != nil {
43555		return nil, err
43556	}
43557	reqHeaders.Set("Content-Type", "application/json")
43558	c.urlParams_.Set("alt", alt)
43559	c.urlParams_.Set("prettyPrint", "false")
43560	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43561	urls += "?" + c.urlParams_.Encode()
43562	req, err := http.NewRequest("PUT", urls, body)
43563	if err != nil {
43564		return nil, err
43565	}
43566	req.Header = reqHeaders
43567	googleapi.Expand(req.URL, map[string]string{
43568		"profileId": strconv.FormatInt(c.profileId, 10),
43569	})
43570	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43571}
43572
43573// Do executes the "dfareporting.remarketingLists.update" call.
43574// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43575// status code is an error. Response headers are in either
43576// *RemarketingList.ServerResponse.Header or (if a response was returned
43577// at all) in error.(*googleapi.Error).Header. Use
43578// googleapi.IsNotModified to check whether the returned error was
43579// because http.StatusNotModified was returned.
43580func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43581	gensupport.SetOptions(c.urlParams_, opts...)
43582	res, err := c.doRequest("json")
43583	if res != nil && res.StatusCode == http.StatusNotModified {
43584		if res.Body != nil {
43585			res.Body.Close()
43586		}
43587		return nil, &googleapi.Error{
43588			Code:   res.StatusCode,
43589			Header: res.Header,
43590		}
43591	}
43592	if err != nil {
43593		return nil, err
43594	}
43595	defer googleapi.CloseBody(res)
43596	if err := googleapi.CheckResponse(res); err != nil {
43597		return nil, err
43598	}
43599	ret := &RemarketingList{
43600		ServerResponse: googleapi.ServerResponse{
43601			Header:         res.Header,
43602			HTTPStatusCode: res.StatusCode,
43603		},
43604	}
43605	target := &ret
43606	if err := gensupport.DecodeResponse(target, res); err != nil {
43607		return nil, err
43608	}
43609	return ret, nil
43610	// {
43611	//   "description": "Updates an existing remarketing list.",
43612	//   "flatPath": "userprofiles/{profileId}/remarketingLists",
43613	//   "httpMethod": "PUT",
43614	//   "id": "dfareporting.remarketingLists.update",
43615	//   "parameterOrder": [
43616	//     "profileId"
43617	//   ],
43618	//   "parameters": {
43619	//     "profileId": {
43620	//       "description": "User profile ID associated with this request.",
43621	//       "format": "int64",
43622	//       "location": "path",
43623	//       "required": true,
43624	//       "type": "string"
43625	//     }
43626	//   },
43627	//   "path": "userprofiles/{profileId}/remarketingLists",
43628	//   "request": {
43629	//     "$ref": "RemarketingList"
43630	//   },
43631	//   "response": {
43632	//     "$ref": "RemarketingList"
43633	//   },
43634	//   "scopes": [
43635	//     "https://www.googleapis.com/auth/dfatrafficking"
43636	//   ]
43637	// }
43638
43639}
43640
43641// method id "dfareporting.reports.delete":
43642
43643type ReportsDeleteCall struct {
43644	s          *Service
43645	profileId  int64
43646	reportId   int64
43647	urlParams_ gensupport.URLParams
43648	ctx_       context.Context
43649	header_    http.Header
43650}
43651
43652// Delete: Deletes a report by its ID.
43653func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
43654	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43655	c.profileId = profileId
43656	c.reportId = reportId
43657	return c
43658}
43659
43660// Fields allows partial responses to be retrieved. See
43661// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43662// for more information.
43663func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
43664	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43665	return c
43666}
43667
43668// Context sets the context to be used in this call's Do method. Any
43669// pending HTTP request will be aborted if the provided context is
43670// canceled.
43671func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
43672	c.ctx_ = ctx
43673	return c
43674}
43675
43676// Header returns an http.Header that can be modified by the caller to
43677// add HTTP headers to the request.
43678func (c *ReportsDeleteCall) Header() http.Header {
43679	if c.header_ == nil {
43680		c.header_ = make(http.Header)
43681	}
43682	return c.header_
43683}
43684
43685func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
43686	reqHeaders := make(http.Header)
43687	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
43688	for k, v := range c.header_ {
43689		reqHeaders[k] = v
43690	}
43691	reqHeaders.Set("User-Agent", c.s.userAgent())
43692	var body io.Reader = nil
43693	c.urlParams_.Set("alt", alt)
43694	c.urlParams_.Set("prettyPrint", "false")
43695	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
43696	urls += "?" + c.urlParams_.Encode()
43697	req, err := http.NewRequest("DELETE", urls, body)
43698	if err != nil {
43699		return nil, err
43700	}
43701	req.Header = reqHeaders
43702	googleapi.Expand(req.URL, map[string]string{
43703		"profileId": strconv.FormatInt(c.profileId, 10),
43704		"reportId":  strconv.FormatInt(c.reportId, 10),
43705	})
43706	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43707}
43708
43709// Do executes the "dfareporting.reports.delete" call.
43710func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
43711	gensupport.SetOptions(c.urlParams_, opts...)
43712	res, err := c.doRequest("json")
43713	if err != nil {
43714		return err
43715	}
43716	defer googleapi.CloseBody(res)
43717	if err := googleapi.CheckResponse(res); err != nil {
43718		return err
43719	}
43720	return nil
43721	// {
43722	//   "description": "Deletes a report by its ID.",
43723	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
43724	//   "httpMethod": "DELETE",
43725	//   "id": "dfareporting.reports.delete",
43726	//   "parameterOrder": [
43727	//     "profileId",
43728	//     "reportId"
43729	//   ],
43730	//   "parameters": {
43731	//     "profileId": {
43732	//       "description": "The Campaign Manager 360 user profile ID.",
43733	//       "format": "int64",
43734	//       "location": "path",
43735	//       "required": true,
43736	//       "type": "string"
43737	//     },
43738	//     "reportId": {
43739	//       "description": "The ID of the report.",
43740	//       "format": "int64",
43741	//       "location": "path",
43742	//       "required": true,
43743	//       "type": "string"
43744	//     }
43745	//   },
43746	//   "path": "userprofiles/{profileId}/reports/{reportId}",
43747	//   "scopes": [
43748	//     "https://www.googleapis.com/auth/dfareporting"
43749	//   ]
43750	// }
43751
43752}
43753
43754// method id "dfareporting.reports.get":
43755
43756type ReportsGetCall struct {
43757	s            *Service
43758	profileId    int64
43759	reportId     int64
43760	urlParams_   gensupport.URLParams
43761	ifNoneMatch_ string
43762	ctx_         context.Context
43763	header_      http.Header
43764}
43765
43766// Get: Retrieves a report by its ID.
43767func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
43768	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43769	c.profileId = profileId
43770	c.reportId = reportId
43771	return c
43772}
43773
43774// Fields allows partial responses to be retrieved. See
43775// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43776// for more information.
43777func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
43778	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43779	return c
43780}
43781
43782// IfNoneMatch sets the optional parameter which makes the operation
43783// fail if the object's ETag matches the given value. This is useful for
43784// getting updates only after the object has changed since the last
43785// request. Use googleapi.IsNotModified to check whether the response
43786// error from Do is the result of In-None-Match.
43787func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
43788	c.ifNoneMatch_ = entityTag
43789	return c
43790}
43791
43792// Context sets the context to be used in this call's Do method. Any
43793// pending HTTP request will be aborted if the provided context is
43794// canceled.
43795func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
43796	c.ctx_ = ctx
43797	return c
43798}
43799
43800// Header returns an http.Header that can be modified by the caller to
43801// add HTTP headers to the request.
43802func (c *ReportsGetCall) Header() http.Header {
43803	if c.header_ == nil {
43804		c.header_ = make(http.Header)
43805	}
43806	return c.header_
43807}
43808
43809func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
43810	reqHeaders := make(http.Header)
43811	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
43812	for k, v := range c.header_ {
43813		reqHeaders[k] = v
43814	}
43815	reqHeaders.Set("User-Agent", c.s.userAgent())
43816	if c.ifNoneMatch_ != "" {
43817		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43818	}
43819	var body io.Reader = nil
43820	c.urlParams_.Set("alt", alt)
43821	c.urlParams_.Set("prettyPrint", "false")
43822	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
43823	urls += "?" + c.urlParams_.Encode()
43824	req, err := http.NewRequest("GET", urls, body)
43825	if err != nil {
43826		return nil, err
43827	}
43828	req.Header = reqHeaders
43829	googleapi.Expand(req.URL, map[string]string{
43830		"profileId": strconv.FormatInt(c.profileId, 10),
43831		"reportId":  strconv.FormatInt(c.reportId, 10),
43832	})
43833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43834}
43835
43836// Do executes the "dfareporting.reports.get" call.
43837// Exactly one of *Report or error will be non-nil. Any non-2xx status
43838// code is an error. Response headers are in either
43839// *Report.ServerResponse.Header or (if a response was returned at all)
43840// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
43841// check whether the returned error was because http.StatusNotModified
43842// was returned.
43843func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
43844	gensupport.SetOptions(c.urlParams_, opts...)
43845	res, err := c.doRequest("json")
43846	if res != nil && res.StatusCode == http.StatusNotModified {
43847		if res.Body != nil {
43848			res.Body.Close()
43849		}
43850		return nil, &googleapi.Error{
43851			Code:   res.StatusCode,
43852			Header: res.Header,
43853		}
43854	}
43855	if err != nil {
43856		return nil, err
43857	}
43858	defer googleapi.CloseBody(res)
43859	if err := googleapi.CheckResponse(res); err != nil {
43860		return nil, err
43861	}
43862	ret := &Report{
43863		ServerResponse: googleapi.ServerResponse{
43864			Header:         res.Header,
43865			HTTPStatusCode: res.StatusCode,
43866		},
43867	}
43868	target := &ret
43869	if err := gensupport.DecodeResponse(target, res); err != nil {
43870		return nil, err
43871	}
43872	return ret, nil
43873	// {
43874	//   "description": "Retrieves a report by its ID.",
43875	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
43876	//   "httpMethod": "GET",
43877	//   "id": "dfareporting.reports.get",
43878	//   "parameterOrder": [
43879	//     "profileId",
43880	//     "reportId"
43881	//   ],
43882	//   "parameters": {
43883	//     "profileId": {
43884	//       "description": "The Campaign Manager 360 user profile ID.",
43885	//       "format": "int64",
43886	//       "location": "path",
43887	//       "required": true,
43888	//       "type": "string"
43889	//     },
43890	//     "reportId": {
43891	//       "description": "The ID of the report.",
43892	//       "format": "int64",
43893	//       "location": "path",
43894	//       "required": true,
43895	//       "type": "string"
43896	//     }
43897	//   },
43898	//   "path": "userprofiles/{profileId}/reports/{reportId}",
43899	//   "response": {
43900	//     "$ref": "Report"
43901	//   },
43902	//   "scopes": [
43903	//     "https://www.googleapis.com/auth/dfareporting"
43904	//   ]
43905	// }
43906
43907}
43908
43909// method id "dfareporting.reports.insert":
43910
43911type ReportsInsertCall struct {
43912	s          *Service
43913	profileId  int64
43914	report     *Report
43915	urlParams_ gensupport.URLParams
43916	ctx_       context.Context
43917	header_    http.Header
43918}
43919
43920// Insert: Creates a report.
43921func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
43922	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43923	c.profileId = profileId
43924	c.report = report
43925	return c
43926}
43927
43928// Fields allows partial responses to be retrieved. See
43929// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43930// for more information.
43931func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
43932	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43933	return c
43934}
43935
43936// Context sets the context to be used in this call's Do method. Any
43937// pending HTTP request will be aborted if the provided context is
43938// canceled.
43939func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
43940	c.ctx_ = ctx
43941	return c
43942}
43943
43944// Header returns an http.Header that can be modified by the caller to
43945// add HTTP headers to the request.
43946func (c *ReportsInsertCall) Header() http.Header {
43947	if c.header_ == nil {
43948		c.header_ = make(http.Header)
43949	}
43950	return c.header_
43951}
43952
43953func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
43954	reqHeaders := make(http.Header)
43955	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
43956	for k, v := range c.header_ {
43957		reqHeaders[k] = v
43958	}
43959	reqHeaders.Set("User-Agent", c.s.userAgent())
43960	var body io.Reader = nil
43961	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
43962	if err != nil {
43963		return nil, err
43964	}
43965	reqHeaders.Set("Content-Type", "application/json")
43966	c.urlParams_.Set("alt", alt)
43967	c.urlParams_.Set("prettyPrint", "false")
43968	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
43969	urls += "?" + c.urlParams_.Encode()
43970	req, err := http.NewRequest("POST", urls, body)
43971	if err != nil {
43972		return nil, err
43973	}
43974	req.Header = reqHeaders
43975	googleapi.Expand(req.URL, map[string]string{
43976		"profileId": strconv.FormatInt(c.profileId, 10),
43977	})
43978	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43979}
43980
43981// Do executes the "dfareporting.reports.insert" call.
43982// Exactly one of *Report or error will be non-nil. Any non-2xx status
43983// code is an error. Response headers are in either
43984// *Report.ServerResponse.Header or (if a response was returned at all)
43985// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
43986// check whether the returned error was because http.StatusNotModified
43987// was returned.
43988func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
43989	gensupport.SetOptions(c.urlParams_, opts...)
43990	res, err := c.doRequest("json")
43991	if res != nil && res.StatusCode == http.StatusNotModified {
43992		if res.Body != nil {
43993			res.Body.Close()
43994		}
43995		return nil, &googleapi.Error{
43996			Code:   res.StatusCode,
43997			Header: res.Header,
43998		}
43999	}
44000	if err != nil {
44001		return nil, err
44002	}
44003	defer googleapi.CloseBody(res)
44004	if err := googleapi.CheckResponse(res); err != nil {
44005		return nil, err
44006	}
44007	ret := &Report{
44008		ServerResponse: googleapi.ServerResponse{
44009			Header:         res.Header,
44010			HTTPStatusCode: res.StatusCode,
44011		},
44012	}
44013	target := &ret
44014	if err := gensupport.DecodeResponse(target, res); err != nil {
44015		return nil, err
44016	}
44017	return ret, nil
44018	// {
44019	//   "description": "Creates a report.",
44020	//   "flatPath": "userprofiles/{profileId}/reports",
44021	//   "httpMethod": "POST",
44022	//   "id": "dfareporting.reports.insert",
44023	//   "parameterOrder": [
44024	//     "profileId"
44025	//   ],
44026	//   "parameters": {
44027	//     "profileId": {
44028	//       "description": "The Campaign Manager 360 user profile ID.",
44029	//       "format": "int64",
44030	//       "location": "path",
44031	//       "required": true,
44032	//       "type": "string"
44033	//     }
44034	//   },
44035	//   "path": "userprofiles/{profileId}/reports",
44036	//   "request": {
44037	//     "$ref": "Report"
44038	//   },
44039	//   "response": {
44040	//     "$ref": "Report"
44041	//   },
44042	//   "scopes": [
44043	//     "https://www.googleapis.com/auth/dfareporting"
44044	//   ]
44045	// }
44046
44047}
44048
44049// method id "dfareporting.reports.list":
44050
44051type ReportsListCall struct {
44052	s            *Service
44053	profileId    int64
44054	urlParams_   gensupport.URLParams
44055	ifNoneMatch_ string
44056	ctx_         context.Context
44057	header_      http.Header
44058}
44059
44060// List: Retrieves list of reports.
44061func (r *ReportsService) List(profileId int64) *ReportsListCall {
44062	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44063	c.profileId = profileId
44064	return c
44065}
44066
44067// MaxResults sets the optional parameter "maxResults": Maximum number
44068// of results to return.
44069func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
44070	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
44071	return c
44072}
44073
44074// PageToken sets the optional parameter "pageToken": The value of the
44075// nextToken from the previous result page.
44076func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
44077	c.urlParams_.Set("pageToken", pageToken)
44078	return c
44079}
44080
44081// Scope sets the optional parameter "scope": The scope that defines
44082// which results are returned.
44083//
44084// Possible values:
44085//   "ALL" - All reports in account.
44086//   "MINE" (default) - My reports.
44087func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
44088	c.urlParams_.Set("scope", scope)
44089	return c
44090}
44091
44092// SortField sets the optional parameter "sortField": The field by which
44093// to sort the list.
44094//
44095// Possible values:
44096//   "ID" - Sort by report ID.
44097//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
44098//   "NAME" - Sort by name of reports.
44099func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
44100	c.urlParams_.Set("sortField", sortField)
44101	return c
44102}
44103
44104// SortOrder sets the optional parameter "sortOrder": Order of sorted
44105// results.
44106//
44107// Possible values:
44108//   "ASCENDING" - Ascending order.
44109//   "DESCENDING" (default) - Descending order.
44110func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
44111	c.urlParams_.Set("sortOrder", sortOrder)
44112	return c
44113}
44114
44115// Fields allows partial responses to be retrieved. See
44116// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44117// for more information.
44118func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
44119	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44120	return c
44121}
44122
44123// IfNoneMatch sets the optional parameter which makes the operation
44124// fail if the object's ETag matches the given value. This is useful for
44125// getting updates only after the object has changed since the last
44126// request. Use googleapi.IsNotModified to check whether the response
44127// error from Do is the result of In-None-Match.
44128func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
44129	c.ifNoneMatch_ = entityTag
44130	return c
44131}
44132
44133// Context sets the context to be used in this call's Do method. Any
44134// pending HTTP request will be aborted if the provided context is
44135// canceled.
44136func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
44137	c.ctx_ = ctx
44138	return c
44139}
44140
44141// Header returns an http.Header that can be modified by the caller to
44142// add HTTP headers to the request.
44143func (c *ReportsListCall) Header() http.Header {
44144	if c.header_ == nil {
44145		c.header_ = make(http.Header)
44146	}
44147	return c.header_
44148}
44149
44150func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
44151	reqHeaders := make(http.Header)
44152	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
44153	for k, v := range c.header_ {
44154		reqHeaders[k] = v
44155	}
44156	reqHeaders.Set("User-Agent", c.s.userAgent())
44157	if c.ifNoneMatch_ != "" {
44158		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44159	}
44160	var body io.Reader = nil
44161	c.urlParams_.Set("alt", alt)
44162	c.urlParams_.Set("prettyPrint", "false")
44163	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44164	urls += "?" + c.urlParams_.Encode()
44165	req, err := http.NewRequest("GET", urls, body)
44166	if err != nil {
44167		return nil, err
44168	}
44169	req.Header = reqHeaders
44170	googleapi.Expand(req.URL, map[string]string{
44171		"profileId": strconv.FormatInt(c.profileId, 10),
44172	})
44173	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44174}
44175
44176// Do executes the "dfareporting.reports.list" call.
44177// Exactly one of *ReportList or error will be non-nil. Any non-2xx
44178// status code is an error. Response headers are in either
44179// *ReportList.ServerResponse.Header or (if a response was returned at
44180// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
44181// to check whether the returned error was because
44182// http.StatusNotModified was returned.
44183func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
44184	gensupport.SetOptions(c.urlParams_, opts...)
44185	res, err := c.doRequest("json")
44186	if res != nil && res.StatusCode == http.StatusNotModified {
44187		if res.Body != nil {
44188			res.Body.Close()
44189		}
44190		return nil, &googleapi.Error{
44191			Code:   res.StatusCode,
44192			Header: res.Header,
44193		}
44194	}
44195	if err != nil {
44196		return nil, err
44197	}
44198	defer googleapi.CloseBody(res)
44199	if err := googleapi.CheckResponse(res); err != nil {
44200		return nil, err
44201	}
44202	ret := &ReportList{
44203		ServerResponse: googleapi.ServerResponse{
44204			Header:         res.Header,
44205			HTTPStatusCode: res.StatusCode,
44206		},
44207	}
44208	target := &ret
44209	if err := gensupport.DecodeResponse(target, res); err != nil {
44210		return nil, err
44211	}
44212	return ret, nil
44213	// {
44214	//   "description": "Retrieves list of reports.",
44215	//   "flatPath": "userprofiles/{profileId}/reports",
44216	//   "httpMethod": "GET",
44217	//   "id": "dfareporting.reports.list",
44218	//   "parameterOrder": [
44219	//     "profileId"
44220	//   ],
44221	//   "parameters": {
44222	//     "maxResults": {
44223	//       "default": "10",
44224	//       "description": "Maximum number of results to return.",
44225	//       "format": "int32",
44226	//       "location": "query",
44227	//       "maximum": "10",
44228	//       "minimum": "0",
44229	//       "type": "integer"
44230	//     },
44231	//     "pageToken": {
44232	//       "description": "The value of the nextToken from the previous result page.",
44233	//       "location": "query",
44234	//       "type": "string"
44235	//     },
44236	//     "profileId": {
44237	//       "description": "The Campaign Manager 360 user profile ID.",
44238	//       "format": "int64",
44239	//       "location": "path",
44240	//       "required": true,
44241	//       "type": "string"
44242	//     },
44243	//     "scope": {
44244	//       "default": "MINE",
44245	//       "description": "The scope that defines which results are returned.",
44246	//       "enum": [
44247	//         "ALL",
44248	//         "MINE"
44249	//       ],
44250	//       "enumDescriptions": [
44251	//         "All reports in account.",
44252	//         "My reports."
44253	//       ],
44254	//       "location": "query",
44255	//       "type": "string"
44256	//     },
44257	//     "sortField": {
44258	//       "default": "LAST_MODIFIED_TIME",
44259	//       "description": "The field by which to sort the list.",
44260	//       "enum": [
44261	//         "ID",
44262	//         "LAST_MODIFIED_TIME",
44263	//         "NAME"
44264	//       ],
44265	//       "enumDescriptions": [
44266	//         "Sort by report ID.",
44267	//         "Sort by 'lastModifiedTime' field.",
44268	//         "Sort by name of reports."
44269	//       ],
44270	//       "location": "query",
44271	//       "type": "string"
44272	//     },
44273	//     "sortOrder": {
44274	//       "default": "DESCENDING",
44275	//       "description": "Order of sorted results.",
44276	//       "enum": [
44277	//         "ASCENDING",
44278	//         "DESCENDING"
44279	//       ],
44280	//       "enumDescriptions": [
44281	//         "Ascending order.",
44282	//         "Descending order."
44283	//       ],
44284	//       "location": "query",
44285	//       "type": "string"
44286	//     }
44287	//   },
44288	//   "path": "userprofiles/{profileId}/reports",
44289	//   "response": {
44290	//     "$ref": "ReportList"
44291	//   },
44292	//   "scopes": [
44293	//     "https://www.googleapis.com/auth/dfareporting"
44294	//   ]
44295	// }
44296
44297}
44298
44299// Pages invokes f for each page of results.
44300// A non-nil error returned from f will halt the iteration.
44301// The provided context supersedes any context provided to the Context method.
44302func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
44303	c.ctx_ = ctx
44304	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
44305	for {
44306		x, err := c.Do()
44307		if err != nil {
44308			return err
44309		}
44310		if err := f(x); err != nil {
44311			return err
44312		}
44313		if x.NextPageToken == "" {
44314			return nil
44315		}
44316		c.PageToken(x.NextPageToken)
44317	}
44318}
44319
44320// method id "dfareporting.reports.patch":
44321
44322type ReportsPatchCall struct {
44323	s          *Service
44324	profileId  int64
44325	reportId   int64
44326	report     *Report
44327	urlParams_ gensupport.URLParams
44328	ctx_       context.Context
44329	header_    http.Header
44330}
44331
44332// Patch: Updates an existing report. This method supports patch
44333// semantics.
44334func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
44335	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44336	c.profileId = profileId
44337	c.reportId = reportId
44338	c.report = report
44339	return c
44340}
44341
44342// Fields allows partial responses to be retrieved. See
44343// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44344// for more information.
44345func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
44346	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44347	return c
44348}
44349
44350// Context sets the context to be used in this call's Do method. Any
44351// pending HTTP request will be aborted if the provided context is
44352// canceled.
44353func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
44354	c.ctx_ = ctx
44355	return c
44356}
44357
44358// Header returns an http.Header that can be modified by the caller to
44359// add HTTP headers to the request.
44360func (c *ReportsPatchCall) Header() http.Header {
44361	if c.header_ == nil {
44362		c.header_ = make(http.Header)
44363	}
44364	return c.header_
44365}
44366
44367func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
44368	reqHeaders := make(http.Header)
44369	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
44370	for k, v := range c.header_ {
44371		reqHeaders[k] = v
44372	}
44373	reqHeaders.Set("User-Agent", c.s.userAgent())
44374	var body io.Reader = nil
44375	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44376	if err != nil {
44377		return nil, err
44378	}
44379	reqHeaders.Set("Content-Type", "application/json")
44380	c.urlParams_.Set("alt", alt)
44381	c.urlParams_.Set("prettyPrint", "false")
44382	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44383	urls += "?" + c.urlParams_.Encode()
44384	req, err := http.NewRequest("PATCH", urls, body)
44385	if err != nil {
44386		return nil, err
44387	}
44388	req.Header = reqHeaders
44389	googleapi.Expand(req.URL, map[string]string{
44390		"profileId": strconv.FormatInt(c.profileId, 10),
44391		"reportId":  strconv.FormatInt(c.reportId, 10),
44392	})
44393	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44394}
44395
44396// Do executes the "dfareporting.reports.patch" call.
44397// Exactly one of *Report or error will be non-nil. Any non-2xx status
44398// code is an error. Response headers are in either
44399// *Report.ServerResponse.Header or (if a response was returned at all)
44400// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44401// check whether the returned error was because http.StatusNotModified
44402// was returned.
44403func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44404	gensupport.SetOptions(c.urlParams_, opts...)
44405	res, err := c.doRequest("json")
44406	if res != nil && res.StatusCode == http.StatusNotModified {
44407		if res.Body != nil {
44408			res.Body.Close()
44409		}
44410		return nil, &googleapi.Error{
44411			Code:   res.StatusCode,
44412			Header: res.Header,
44413		}
44414	}
44415	if err != nil {
44416		return nil, err
44417	}
44418	defer googleapi.CloseBody(res)
44419	if err := googleapi.CheckResponse(res); err != nil {
44420		return nil, err
44421	}
44422	ret := &Report{
44423		ServerResponse: googleapi.ServerResponse{
44424			Header:         res.Header,
44425			HTTPStatusCode: res.StatusCode,
44426		},
44427	}
44428	target := &ret
44429	if err := gensupport.DecodeResponse(target, res); err != nil {
44430		return nil, err
44431	}
44432	return ret, nil
44433	// {
44434	//   "description": "Updates an existing report. This method supports patch semantics.",
44435	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44436	//   "httpMethod": "PATCH",
44437	//   "id": "dfareporting.reports.patch",
44438	//   "parameterOrder": [
44439	//     "profileId",
44440	//     "reportId"
44441	//   ],
44442	//   "parameters": {
44443	//     "profileId": {
44444	//       "description": "The DFA user profile ID.",
44445	//       "format": "int64",
44446	//       "location": "path",
44447	//       "required": true,
44448	//       "type": "string"
44449	//     },
44450	//     "reportId": {
44451	//       "description": "The ID of the report.",
44452	//       "format": "int64",
44453	//       "location": "path",
44454	//       "required": true,
44455	//       "type": "string"
44456	//     }
44457	//   },
44458	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44459	//   "request": {
44460	//     "$ref": "Report"
44461	//   },
44462	//   "response": {
44463	//     "$ref": "Report"
44464	//   },
44465	//   "scopes": [
44466	//     "https://www.googleapis.com/auth/dfareporting"
44467	//   ]
44468	// }
44469
44470}
44471
44472// method id "dfareporting.reports.run":
44473
44474type ReportsRunCall struct {
44475	s          *Service
44476	profileId  int64
44477	reportId   int64
44478	urlParams_ gensupport.URLParams
44479	ctx_       context.Context
44480	header_    http.Header
44481}
44482
44483// Run: Runs a report.
44484func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
44485	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44486	c.profileId = profileId
44487	c.reportId = reportId
44488	return c
44489}
44490
44491// Synchronous sets the optional parameter "synchronous": If set and
44492// true, tries to run the report synchronously.
44493func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
44494	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
44495	return c
44496}
44497
44498// Fields allows partial responses to be retrieved. See
44499// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44500// for more information.
44501func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
44502	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44503	return c
44504}
44505
44506// Context sets the context to be used in this call's Do method. Any
44507// pending HTTP request will be aborted if the provided context is
44508// canceled.
44509func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
44510	c.ctx_ = ctx
44511	return c
44512}
44513
44514// Header returns an http.Header that can be modified by the caller to
44515// add HTTP headers to the request.
44516func (c *ReportsRunCall) Header() http.Header {
44517	if c.header_ == nil {
44518		c.header_ = make(http.Header)
44519	}
44520	return c.header_
44521}
44522
44523func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
44524	reqHeaders := make(http.Header)
44525	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
44526	for k, v := range c.header_ {
44527		reqHeaders[k] = v
44528	}
44529	reqHeaders.Set("User-Agent", c.s.userAgent())
44530	var body io.Reader = nil
44531	c.urlParams_.Set("alt", alt)
44532	c.urlParams_.Set("prettyPrint", "false")
44533	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
44534	urls += "?" + c.urlParams_.Encode()
44535	req, err := http.NewRequest("POST", urls, body)
44536	if err != nil {
44537		return nil, err
44538	}
44539	req.Header = reqHeaders
44540	googleapi.Expand(req.URL, map[string]string{
44541		"profileId": strconv.FormatInt(c.profileId, 10),
44542		"reportId":  strconv.FormatInt(c.reportId, 10),
44543	})
44544	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44545}
44546
44547// Do executes the "dfareporting.reports.run" call.
44548// Exactly one of *File or error will be non-nil. Any non-2xx status
44549// code is an error. Response headers are in either
44550// *File.ServerResponse.Header or (if a response was returned at all) in
44551// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
44552// whether the returned error was because http.StatusNotModified was
44553// returned.
44554func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
44555	gensupport.SetOptions(c.urlParams_, opts...)
44556	res, err := c.doRequest("json")
44557	if res != nil && res.StatusCode == http.StatusNotModified {
44558		if res.Body != nil {
44559			res.Body.Close()
44560		}
44561		return nil, &googleapi.Error{
44562			Code:   res.StatusCode,
44563			Header: res.Header,
44564		}
44565	}
44566	if err != nil {
44567		return nil, err
44568	}
44569	defer googleapi.CloseBody(res)
44570	if err := googleapi.CheckResponse(res); err != nil {
44571		return nil, err
44572	}
44573	ret := &File{
44574		ServerResponse: googleapi.ServerResponse{
44575			Header:         res.Header,
44576			HTTPStatusCode: res.StatusCode,
44577		},
44578	}
44579	target := &ret
44580	if err := gensupport.DecodeResponse(target, res); err != nil {
44581		return nil, err
44582	}
44583	return ret, nil
44584	// {
44585	//   "description": "Runs a report.",
44586	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/run",
44587	//   "httpMethod": "POST",
44588	//   "id": "dfareporting.reports.run",
44589	//   "parameterOrder": [
44590	//     "profileId",
44591	//     "reportId"
44592	//   ],
44593	//   "parameters": {
44594	//     "profileId": {
44595	//       "description": "The Campaign Manager 360 user profile ID.",
44596	//       "format": "int64",
44597	//       "location": "path",
44598	//       "required": true,
44599	//       "type": "string"
44600	//     },
44601	//     "reportId": {
44602	//       "description": "The ID of the report.",
44603	//       "format": "int64",
44604	//       "location": "path",
44605	//       "required": true,
44606	//       "type": "string"
44607	//     },
44608	//     "synchronous": {
44609	//       "default": "false",
44610	//       "description": "If set and true, tries to run the report synchronously.",
44611	//       "location": "query",
44612	//       "type": "boolean"
44613	//     }
44614	//   },
44615	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
44616	//   "response": {
44617	//     "$ref": "File"
44618	//   },
44619	//   "scopes": [
44620	//     "https://www.googleapis.com/auth/dfareporting"
44621	//   ]
44622	// }
44623
44624}
44625
44626// method id "dfareporting.reports.update":
44627
44628type ReportsUpdateCall struct {
44629	s          *Service
44630	profileId  int64
44631	reportId   int64
44632	report     *Report
44633	urlParams_ gensupport.URLParams
44634	ctx_       context.Context
44635	header_    http.Header
44636}
44637
44638// Update: Updates a report.
44639func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
44640	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44641	c.profileId = profileId
44642	c.reportId = reportId
44643	c.report = report
44644	return c
44645}
44646
44647// Fields allows partial responses to be retrieved. See
44648// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44649// for more information.
44650func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
44651	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44652	return c
44653}
44654
44655// Context sets the context to be used in this call's Do method. Any
44656// pending HTTP request will be aborted if the provided context is
44657// canceled.
44658func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
44659	c.ctx_ = ctx
44660	return c
44661}
44662
44663// Header returns an http.Header that can be modified by the caller to
44664// add HTTP headers to the request.
44665func (c *ReportsUpdateCall) Header() http.Header {
44666	if c.header_ == nil {
44667		c.header_ = make(http.Header)
44668	}
44669	return c.header_
44670}
44671
44672func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
44673	reqHeaders := make(http.Header)
44674	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
44675	for k, v := range c.header_ {
44676		reqHeaders[k] = v
44677	}
44678	reqHeaders.Set("User-Agent", c.s.userAgent())
44679	var body io.Reader = nil
44680	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44681	if err != nil {
44682		return nil, err
44683	}
44684	reqHeaders.Set("Content-Type", "application/json")
44685	c.urlParams_.Set("alt", alt)
44686	c.urlParams_.Set("prettyPrint", "false")
44687	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44688	urls += "?" + c.urlParams_.Encode()
44689	req, err := http.NewRequest("PUT", urls, body)
44690	if err != nil {
44691		return nil, err
44692	}
44693	req.Header = reqHeaders
44694	googleapi.Expand(req.URL, map[string]string{
44695		"profileId": strconv.FormatInt(c.profileId, 10),
44696		"reportId":  strconv.FormatInt(c.reportId, 10),
44697	})
44698	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44699}
44700
44701// Do executes the "dfareporting.reports.update" call.
44702// Exactly one of *Report or error will be non-nil. Any non-2xx status
44703// code is an error. Response headers are in either
44704// *Report.ServerResponse.Header or (if a response was returned at all)
44705// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44706// check whether the returned error was because http.StatusNotModified
44707// was returned.
44708func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44709	gensupport.SetOptions(c.urlParams_, opts...)
44710	res, err := c.doRequest("json")
44711	if res != nil && res.StatusCode == http.StatusNotModified {
44712		if res.Body != nil {
44713			res.Body.Close()
44714		}
44715		return nil, &googleapi.Error{
44716			Code:   res.StatusCode,
44717			Header: res.Header,
44718		}
44719	}
44720	if err != nil {
44721		return nil, err
44722	}
44723	defer googleapi.CloseBody(res)
44724	if err := googleapi.CheckResponse(res); err != nil {
44725		return nil, err
44726	}
44727	ret := &Report{
44728		ServerResponse: googleapi.ServerResponse{
44729			Header:         res.Header,
44730			HTTPStatusCode: res.StatusCode,
44731		},
44732	}
44733	target := &ret
44734	if err := gensupport.DecodeResponse(target, res); err != nil {
44735		return nil, err
44736	}
44737	return ret, nil
44738	// {
44739	//   "description": "Updates a report.",
44740	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}",
44741	//   "httpMethod": "PUT",
44742	//   "id": "dfareporting.reports.update",
44743	//   "parameterOrder": [
44744	//     "profileId",
44745	//     "reportId"
44746	//   ],
44747	//   "parameters": {
44748	//     "profileId": {
44749	//       "description": "The Campaign Manager 360 user profile ID.",
44750	//       "format": "int64",
44751	//       "location": "path",
44752	//       "required": true,
44753	//       "type": "string"
44754	//     },
44755	//     "reportId": {
44756	//       "description": "The ID of the report.",
44757	//       "format": "int64",
44758	//       "location": "path",
44759	//       "required": true,
44760	//       "type": "string"
44761	//     }
44762	//   },
44763	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44764	//   "request": {
44765	//     "$ref": "Report"
44766	//   },
44767	//   "response": {
44768	//     "$ref": "Report"
44769	//   },
44770	//   "scopes": [
44771	//     "https://www.googleapis.com/auth/dfareporting"
44772	//   ]
44773	// }
44774
44775}
44776
44777// method id "dfareporting.reports.compatibleFields.query":
44778
44779type ReportsCompatibleFieldsQueryCall struct {
44780	s          *Service
44781	profileId  int64
44782	report     *Report
44783	urlParams_ gensupport.URLParams
44784	ctx_       context.Context
44785	header_    http.Header
44786}
44787
44788// Query: Returns the fields that are compatible to be selected in the
44789// respective sections of a report criteria, given the fields already
44790// selected in the input report and user permissions.
44791func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
44792	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44793	c.profileId = profileId
44794	c.report = report
44795	return c
44796}
44797
44798// Fields allows partial responses to be retrieved. See
44799// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44800// for more information.
44801func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
44802	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44803	return c
44804}
44805
44806// Context sets the context to be used in this call's Do method. Any
44807// pending HTTP request will be aborted if the provided context is
44808// canceled.
44809func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
44810	c.ctx_ = ctx
44811	return c
44812}
44813
44814// Header returns an http.Header that can be modified by the caller to
44815// add HTTP headers to the request.
44816func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
44817	if c.header_ == nil {
44818		c.header_ = make(http.Header)
44819	}
44820	return c.header_
44821}
44822
44823func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
44824	reqHeaders := make(http.Header)
44825	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
44826	for k, v := range c.header_ {
44827		reqHeaders[k] = v
44828	}
44829	reqHeaders.Set("User-Agent", c.s.userAgent())
44830	var body io.Reader = nil
44831	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44832	if err != nil {
44833		return nil, err
44834	}
44835	reqHeaders.Set("Content-Type", "application/json")
44836	c.urlParams_.Set("alt", alt)
44837	c.urlParams_.Set("prettyPrint", "false")
44838	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
44839	urls += "?" + c.urlParams_.Encode()
44840	req, err := http.NewRequest("POST", urls, body)
44841	if err != nil {
44842		return nil, err
44843	}
44844	req.Header = reqHeaders
44845	googleapi.Expand(req.URL, map[string]string{
44846		"profileId": strconv.FormatInt(c.profileId, 10),
44847	})
44848	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44849}
44850
44851// Do executes the "dfareporting.reports.compatibleFields.query" call.
44852// Exactly one of *CompatibleFields or error will be non-nil. Any
44853// non-2xx status code is an error. Response headers are in either
44854// *CompatibleFields.ServerResponse.Header or (if a response was
44855// returned at all) in error.(*googleapi.Error).Header. Use
44856// googleapi.IsNotModified to check whether the returned error was
44857// because http.StatusNotModified was returned.
44858func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
44859	gensupport.SetOptions(c.urlParams_, opts...)
44860	res, err := c.doRequest("json")
44861	if res != nil && res.StatusCode == http.StatusNotModified {
44862		if res.Body != nil {
44863			res.Body.Close()
44864		}
44865		return nil, &googleapi.Error{
44866			Code:   res.StatusCode,
44867			Header: res.Header,
44868		}
44869	}
44870	if err != nil {
44871		return nil, err
44872	}
44873	defer googleapi.CloseBody(res)
44874	if err := googleapi.CheckResponse(res); err != nil {
44875		return nil, err
44876	}
44877	ret := &CompatibleFields{
44878		ServerResponse: googleapi.ServerResponse{
44879			Header:         res.Header,
44880			HTTPStatusCode: res.StatusCode,
44881		},
44882	}
44883	target := &ret
44884	if err := gensupport.DecodeResponse(target, res); err != nil {
44885		return nil, err
44886	}
44887	return ret, nil
44888	// {
44889	//   "description": "Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.",
44890	//   "flatPath": "userprofiles/{profileId}/reports/compatiblefields/query",
44891	//   "httpMethod": "POST",
44892	//   "id": "dfareporting.reports.compatibleFields.query",
44893	//   "parameterOrder": [
44894	//     "profileId"
44895	//   ],
44896	//   "parameters": {
44897	//     "profileId": {
44898	//       "description": "The Campaign Manager 360 user profile ID.",
44899	//       "format": "int64",
44900	//       "location": "path",
44901	//       "required": true,
44902	//       "type": "string"
44903	//     }
44904	//   },
44905	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
44906	//   "request": {
44907	//     "$ref": "Report"
44908	//   },
44909	//   "response": {
44910	//     "$ref": "CompatibleFields"
44911	//   },
44912	//   "scopes": [
44913	//     "https://www.googleapis.com/auth/dfareporting"
44914	//   ]
44915	// }
44916
44917}
44918
44919// method id "dfareporting.reports.files.get":
44920
44921type ReportsFilesGetCall struct {
44922	s            *Service
44923	profileId    int64
44924	reportId     int64
44925	fileId       int64
44926	urlParams_   gensupport.URLParams
44927	ifNoneMatch_ string
44928	ctx_         context.Context
44929	header_      http.Header
44930}
44931
44932// Get: Retrieves a report file by its report ID and file ID. This
44933// method supports media download.
44934func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
44935	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44936	c.profileId = profileId
44937	c.reportId = reportId
44938	c.fileId = fileId
44939	return c
44940}
44941
44942// Fields allows partial responses to be retrieved. See
44943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44944// for more information.
44945func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
44946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44947	return c
44948}
44949
44950// IfNoneMatch sets the optional parameter which makes the operation
44951// fail if the object's ETag matches the given value. This is useful for
44952// getting updates only after the object has changed since the last
44953// request. Use googleapi.IsNotModified to check whether the response
44954// error from Do is the result of In-None-Match.
44955func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
44956	c.ifNoneMatch_ = entityTag
44957	return c
44958}
44959
44960// Context sets the context to be used in this call's Do and Download
44961// methods. Any pending HTTP request will be aborted if the provided
44962// context is canceled.
44963func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
44964	c.ctx_ = ctx
44965	return c
44966}
44967
44968// Header returns an http.Header that can be modified by the caller to
44969// add HTTP headers to the request.
44970func (c *ReportsFilesGetCall) Header() http.Header {
44971	if c.header_ == nil {
44972		c.header_ = make(http.Header)
44973	}
44974	return c.header_
44975}
44976
44977func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
44978	reqHeaders := make(http.Header)
44979	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
44980	for k, v := range c.header_ {
44981		reqHeaders[k] = v
44982	}
44983	reqHeaders.Set("User-Agent", c.s.userAgent())
44984	if c.ifNoneMatch_ != "" {
44985		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44986	}
44987	var body io.Reader = nil
44988	c.urlParams_.Set("alt", alt)
44989	c.urlParams_.Set("prettyPrint", "false")
44990	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
44991	urls += "?" + c.urlParams_.Encode()
44992	req, err := http.NewRequest("GET", urls, body)
44993	if err != nil {
44994		return nil, err
44995	}
44996	req.Header = reqHeaders
44997	googleapi.Expand(req.URL, map[string]string{
44998		"profileId": strconv.FormatInt(c.profileId, 10),
44999		"reportId":  strconv.FormatInt(c.reportId, 10),
45000		"fileId":    strconv.FormatInt(c.fileId, 10),
45001	})
45002	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45003}
45004
45005// Download fetches the API endpoint's "media" value, instead of the normal
45006// API response value. If the returned error is nil, the Response is guaranteed to
45007// have a 2xx status code. Callers must close the Response.Body as usual.
45008func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
45009	gensupport.SetOptions(c.urlParams_, opts...)
45010	res, err := c.doRequest("media")
45011	if err != nil {
45012		return nil, err
45013	}
45014	if err := googleapi.CheckMediaResponse(res); err != nil {
45015		res.Body.Close()
45016		return nil, err
45017	}
45018	return res, nil
45019}
45020
45021// Do executes the "dfareporting.reports.files.get" call.
45022// Exactly one of *File or error will be non-nil. Any non-2xx status
45023// code is an error. Response headers are in either
45024// *File.ServerResponse.Header or (if a response was returned at all) in
45025// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45026// whether the returned error was because http.StatusNotModified was
45027// returned.
45028func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
45029	gensupport.SetOptions(c.urlParams_, opts...)
45030	res, err := c.doRequest("json")
45031	if res != nil && res.StatusCode == http.StatusNotModified {
45032		if res.Body != nil {
45033			res.Body.Close()
45034		}
45035		return nil, &googleapi.Error{
45036			Code:   res.StatusCode,
45037			Header: res.Header,
45038		}
45039	}
45040	if err != nil {
45041		return nil, err
45042	}
45043	defer googleapi.CloseBody(res)
45044	if err := googleapi.CheckResponse(res); err != nil {
45045		return nil, err
45046	}
45047	ret := &File{
45048		ServerResponse: googleapi.ServerResponse{
45049			Header:         res.Header,
45050			HTTPStatusCode: res.StatusCode,
45051		},
45052	}
45053	target := &ret
45054	if err := gensupport.DecodeResponse(target, res); err != nil {
45055		return nil, err
45056	}
45057	return ret, nil
45058	// {
45059	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
45060	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45061	//   "httpMethod": "GET",
45062	//   "id": "dfareporting.reports.files.get",
45063	//   "parameterOrder": [
45064	//     "profileId",
45065	//     "reportId",
45066	//     "fileId"
45067	//   ],
45068	//   "parameters": {
45069	//     "fileId": {
45070	//       "description": "The ID of the report file.",
45071	//       "format": "int64",
45072	//       "location": "path",
45073	//       "required": true,
45074	//       "type": "string"
45075	//     },
45076	//     "profileId": {
45077	//       "description": "The Campaign Manager 360 user profile ID.",
45078	//       "format": "int64",
45079	//       "location": "path",
45080	//       "required": true,
45081	//       "type": "string"
45082	//     },
45083	//     "reportId": {
45084	//       "description": "The ID of the report.",
45085	//       "format": "int64",
45086	//       "location": "path",
45087	//       "required": true,
45088	//       "type": "string"
45089	//     }
45090	//   },
45091	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45092	//   "response": {
45093	//     "$ref": "File"
45094	//   },
45095	//   "scopes": [
45096	//     "https://www.googleapis.com/auth/dfareporting"
45097	//   ],
45098	//   "supportsMediaDownload": true
45099	// }
45100
45101}
45102
45103// method id "dfareporting.reports.files.list":
45104
45105type ReportsFilesListCall struct {
45106	s            *Service
45107	profileId    int64
45108	reportId     int64
45109	urlParams_   gensupport.URLParams
45110	ifNoneMatch_ string
45111	ctx_         context.Context
45112	header_      http.Header
45113}
45114
45115// List: Lists files for a report.
45116func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
45117	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45118	c.profileId = profileId
45119	c.reportId = reportId
45120	return c
45121}
45122
45123// MaxResults sets the optional parameter "maxResults": Maximum number
45124// of results to return.
45125func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
45126	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45127	return c
45128}
45129
45130// PageToken sets the optional parameter "pageToken": The value of the
45131// nextToken from the previous result page.
45132func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
45133	c.urlParams_.Set("pageToken", pageToken)
45134	return c
45135}
45136
45137// SortField sets the optional parameter "sortField": The field by which
45138// to sort the list.
45139//
45140// Possible values:
45141//   "ID"
45142//   "LAST_MODIFIED_TIME" (default)
45143func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
45144	c.urlParams_.Set("sortField", sortField)
45145	return c
45146}
45147
45148// SortOrder sets the optional parameter "sortOrder": Order of sorted
45149// results.
45150//
45151// Possible values:
45152//   "ASCENDING"
45153//   "DESCENDING" (default)
45154func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
45155	c.urlParams_.Set("sortOrder", sortOrder)
45156	return c
45157}
45158
45159// Fields allows partial responses to be retrieved. See
45160// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45161// for more information.
45162func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
45163	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45164	return c
45165}
45166
45167// IfNoneMatch sets the optional parameter which makes the operation
45168// fail if the object's ETag matches the given value. This is useful for
45169// getting updates only after the object has changed since the last
45170// request. Use googleapi.IsNotModified to check whether the response
45171// error from Do is the result of In-None-Match.
45172func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
45173	c.ifNoneMatch_ = entityTag
45174	return c
45175}
45176
45177// Context sets the context to be used in this call's Do method. Any
45178// pending HTTP request will be aborted if the provided context is
45179// canceled.
45180func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
45181	c.ctx_ = ctx
45182	return c
45183}
45184
45185// Header returns an http.Header that can be modified by the caller to
45186// add HTTP headers to the request.
45187func (c *ReportsFilesListCall) Header() http.Header {
45188	if c.header_ == nil {
45189		c.header_ = make(http.Header)
45190	}
45191	return c.header_
45192}
45193
45194func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
45195	reqHeaders := make(http.Header)
45196	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
45197	for k, v := range c.header_ {
45198		reqHeaders[k] = v
45199	}
45200	reqHeaders.Set("User-Agent", c.s.userAgent())
45201	if c.ifNoneMatch_ != "" {
45202		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45203	}
45204	var body io.Reader = nil
45205	c.urlParams_.Set("alt", alt)
45206	c.urlParams_.Set("prettyPrint", "false")
45207	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
45208	urls += "?" + c.urlParams_.Encode()
45209	req, err := http.NewRequest("GET", urls, body)
45210	if err != nil {
45211		return nil, err
45212	}
45213	req.Header = reqHeaders
45214	googleapi.Expand(req.URL, map[string]string{
45215		"profileId": strconv.FormatInt(c.profileId, 10),
45216		"reportId":  strconv.FormatInt(c.reportId, 10),
45217	})
45218	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45219}
45220
45221// Do executes the "dfareporting.reports.files.list" call.
45222// Exactly one of *FileList or error will be non-nil. Any non-2xx status
45223// code is an error. Response headers are in either
45224// *FileList.ServerResponse.Header or (if a response was returned at
45225// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
45226// to check whether the returned error was because
45227// http.StatusNotModified was returned.
45228func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
45229	gensupport.SetOptions(c.urlParams_, opts...)
45230	res, err := c.doRequest("json")
45231	if res != nil && res.StatusCode == http.StatusNotModified {
45232		if res.Body != nil {
45233			res.Body.Close()
45234		}
45235		return nil, &googleapi.Error{
45236			Code:   res.StatusCode,
45237			Header: res.Header,
45238		}
45239	}
45240	if err != nil {
45241		return nil, err
45242	}
45243	defer googleapi.CloseBody(res)
45244	if err := googleapi.CheckResponse(res); err != nil {
45245		return nil, err
45246	}
45247	ret := &FileList{
45248		ServerResponse: googleapi.ServerResponse{
45249			Header:         res.Header,
45250			HTTPStatusCode: res.StatusCode,
45251		},
45252	}
45253	target := &ret
45254	if err := gensupport.DecodeResponse(target, res); err != nil {
45255		return nil, err
45256	}
45257	return ret, nil
45258	// {
45259	//   "description": "Lists files for a report.",
45260	//   "flatPath": "userprofiles/{profileId}/reports/{reportId}/files",
45261	//   "httpMethod": "GET",
45262	//   "id": "dfareporting.reports.files.list",
45263	//   "parameterOrder": [
45264	//     "profileId",
45265	//     "reportId"
45266	//   ],
45267	//   "parameters": {
45268	//     "maxResults": {
45269	//       "default": "10",
45270	//       "description": "Maximum number of results to return.",
45271	//       "format": "int32",
45272	//       "location": "query",
45273	//       "maximum": "10",
45274	//       "minimum": "0",
45275	//       "type": "integer"
45276	//     },
45277	//     "pageToken": {
45278	//       "description": "The value of the nextToken from the previous result page.",
45279	//       "location": "query",
45280	//       "type": "string"
45281	//     },
45282	//     "profileId": {
45283	//       "description": "The Campaign Manager 360 user profile ID.",
45284	//       "format": "int64",
45285	//       "location": "path",
45286	//       "required": true,
45287	//       "type": "string"
45288	//     },
45289	//     "reportId": {
45290	//       "description": "The ID of the parent report.",
45291	//       "format": "int64",
45292	//       "location": "path",
45293	//       "required": true,
45294	//       "type": "string"
45295	//     },
45296	//     "sortField": {
45297	//       "default": "LAST_MODIFIED_TIME",
45298	//       "description": "The field by which to sort the list.",
45299	//       "enum": [
45300	//         "ID",
45301	//         "LAST_MODIFIED_TIME"
45302	//       ],
45303	//       "enumDescriptions": [
45304	//         "",
45305	//         ""
45306	//       ],
45307	//       "location": "query",
45308	//       "type": "string"
45309	//     },
45310	//     "sortOrder": {
45311	//       "default": "DESCENDING",
45312	//       "description": "Order of sorted results.",
45313	//       "enum": [
45314	//         "ASCENDING",
45315	//         "DESCENDING"
45316	//       ],
45317	//       "enumDescriptions": [
45318	//         "",
45319	//         ""
45320	//       ],
45321	//       "location": "query",
45322	//       "type": "string"
45323	//     }
45324	//   },
45325	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
45326	//   "response": {
45327	//     "$ref": "FileList"
45328	//   },
45329	//   "scopes": [
45330	//     "https://www.googleapis.com/auth/dfareporting"
45331	//   ]
45332	// }
45333
45334}
45335
45336// Pages invokes f for each page of results.
45337// A non-nil error returned from f will halt the iteration.
45338// The provided context supersedes any context provided to the Context method.
45339func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
45340	c.ctx_ = ctx
45341	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
45342	for {
45343		x, err := c.Do()
45344		if err != nil {
45345			return err
45346		}
45347		if err := f(x); err != nil {
45348			return err
45349		}
45350		if x.NextPageToken == "" {
45351			return nil
45352		}
45353		c.PageToken(x.NextPageToken)
45354	}
45355}
45356
45357// method id "dfareporting.sites.get":
45358
45359type SitesGetCall struct {
45360	s            *Service
45361	profileId    int64
45362	id           int64
45363	urlParams_   gensupport.URLParams
45364	ifNoneMatch_ string
45365	ctx_         context.Context
45366	header_      http.Header
45367}
45368
45369// Get: Gets one site by ID.
45370func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
45371	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45372	c.profileId = profileId
45373	c.id = id
45374	return c
45375}
45376
45377// Fields allows partial responses to be retrieved. See
45378// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45379// for more information.
45380func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
45381	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45382	return c
45383}
45384
45385// IfNoneMatch sets the optional parameter which makes the operation
45386// fail if the object's ETag matches the given value. This is useful for
45387// getting updates only after the object has changed since the last
45388// request. Use googleapi.IsNotModified to check whether the response
45389// error from Do is the result of In-None-Match.
45390func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
45391	c.ifNoneMatch_ = entityTag
45392	return c
45393}
45394
45395// Context sets the context to be used in this call's Do method. Any
45396// pending HTTP request will be aborted if the provided context is
45397// canceled.
45398func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
45399	c.ctx_ = ctx
45400	return c
45401}
45402
45403// Header returns an http.Header that can be modified by the caller to
45404// add HTTP headers to the request.
45405func (c *SitesGetCall) Header() http.Header {
45406	if c.header_ == nil {
45407		c.header_ = make(http.Header)
45408	}
45409	return c.header_
45410}
45411
45412func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
45413	reqHeaders := make(http.Header)
45414	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
45415	for k, v := range c.header_ {
45416		reqHeaders[k] = v
45417	}
45418	reqHeaders.Set("User-Agent", c.s.userAgent())
45419	if c.ifNoneMatch_ != "" {
45420		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45421	}
45422	var body io.Reader = nil
45423	c.urlParams_.Set("alt", alt)
45424	c.urlParams_.Set("prettyPrint", "false")
45425	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
45426	urls += "?" + c.urlParams_.Encode()
45427	req, err := http.NewRequest("GET", urls, body)
45428	if err != nil {
45429		return nil, err
45430	}
45431	req.Header = reqHeaders
45432	googleapi.Expand(req.URL, map[string]string{
45433		"profileId": strconv.FormatInt(c.profileId, 10),
45434		"id":        strconv.FormatInt(c.id, 10),
45435	})
45436	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45437}
45438
45439// Do executes the "dfareporting.sites.get" call.
45440// Exactly one of *Site or error will be non-nil. Any non-2xx status
45441// code is an error. Response headers are in either
45442// *Site.ServerResponse.Header or (if a response was returned at all) in
45443// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45444// whether the returned error was because http.StatusNotModified was
45445// returned.
45446func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45447	gensupport.SetOptions(c.urlParams_, opts...)
45448	res, err := c.doRequest("json")
45449	if res != nil && res.StatusCode == http.StatusNotModified {
45450		if res.Body != nil {
45451			res.Body.Close()
45452		}
45453		return nil, &googleapi.Error{
45454			Code:   res.StatusCode,
45455			Header: res.Header,
45456		}
45457	}
45458	if err != nil {
45459		return nil, err
45460	}
45461	defer googleapi.CloseBody(res)
45462	if err := googleapi.CheckResponse(res); err != nil {
45463		return nil, err
45464	}
45465	ret := &Site{
45466		ServerResponse: googleapi.ServerResponse{
45467			Header:         res.Header,
45468			HTTPStatusCode: res.StatusCode,
45469		},
45470	}
45471	target := &ret
45472	if err := gensupport.DecodeResponse(target, res); err != nil {
45473		return nil, err
45474	}
45475	return ret, nil
45476	// {
45477	//   "description": "Gets one site by ID.",
45478	//   "flatPath": "userprofiles/{profileId}/sites/{id}",
45479	//   "httpMethod": "GET",
45480	//   "id": "dfareporting.sites.get",
45481	//   "parameterOrder": [
45482	//     "profileId",
45483	//     "id"
45484	//   ],
45485	//   "parameters": {
45486	//     "id": {
45487	//       "description": "Site ID.",
45488	//       "format": "int64",
45489	//       "location": "path",
45490	//       "required": true,
45491	//       "type": "string"
45492	//     },
45493	//     "profileId": {
45494	//       "description": "User profile ID associated with this request.",
45495	//       "format": "int64",
45496	//       "location": "path",
45497	//       "required": true,
45498	//       "type": "string"
45499	//     }
45500	//   },
45501	//   "path": "userprofiles/{profileId}/sites/{id}",
45502	//   "response": {
45503	//     "$ref": "Site"
45504	//   },
45505	//   "scopes": [
45506	//     "https://www.googleapis.com/auth/dfatrafficking"
45507	//   ]
45508	// }
45509
45510}
45511
45512// method id "dfareporting.sites.insert":
45513
45514type SitesInsertCall struct {
45515	s          *Service
45516	profileId  int64
45517	site       *Site
45518	urlParams_ gensupport.URLParams
45519	ctx_       context.Context
45520	header_    http.Header
45521}
45522
45523// Insert: Inserts a new site.
45524func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
45525	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45526	c.profileId = profileId
45527	c.site = site
45528	return c
45529}
45530
45531// Fields allows partial responses to be retrieved. See
45532// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45533// for more information.
45534func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
45535	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45536	return c
45537}
45538
45539// Context sets the context to be used in this call's Do method. Any
45540// pending HTTP request will be aborted if the provided context is
45541// canceled.
45542func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
45543	c.ctx_ = ctx
45544	return c
45545}
45546
45547// Header returns an http.Header that can be modified by the caller to
45548// add HTTP headers to the request.
45549func (c *SitesInsertCall) Header() http.Header {
45550	if c.header_ == nil {
45551		c.header_ = make(http.Header)
45552	}
45553	return c.header_
45554}
45555
45556func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
45557	reqHeaders := make(http.Header)
45558	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
45559	for k, v := range c.header_ {
45560		reqHeaders[k] = v
45561	}
45562	reqHeaders.Set("User-Agent", c.s.userAgent())
45563	var body io.Reader = nil
45564	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
45565	if err != nil {
45566		return nil, err
45567	}
45568	reqHeaders.Set("Content-Type", "application/json")
45569	c.urlParams_.Set("alt", alt)
45570	c.urlParams_.Set("prettyPrint", "false")
45571	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45572	urls += "?" + c.urlParams_.Encode()
45573	req, err := http.NewRequest("POST", urls, body)
45574	if err != nil {
45575		return nil, err
45576	}
45577	req.Header = reqHeaders
45578	googleapi.Expand(req.URL, map[string]string{
45579		"profileId": strconv.FormatInt(c.profileId, 10),
45580	})
45581	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45582}
45583
45584// Do executes the "dfareporting.sites.insert" call.
45585// Exactly one of *Site or error will be non-nil. Any non-2xx status
45586// code is an error. Response headers are in either
45587// *Site.ServerResponse.Header or (if a response was returned at all) in
45588// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45589// whether the returned error was because http.StatusNotModified was
45590// returned.
45591func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45592	gensupport.SetOptions(c.urlParams_, opts...)
45593	res, err := c.doRequest("json")
45594	if res != nil && res.StatusCode == http.StatusNotModified {
45595		if res.Body != nil {
45596			res.Body.Close()
45597		}
45598		return nil, &googleapi.Error{
45599			Code:   res.StatusCode,
45600			Header: res.Header,
45601		}
45602	}
45603	if err != nil {
45604		return nil, err
45605	}
45606	defer googleapi.CloseBody(res)
45607	if err := googleapi.CheckResponse(res); err != nil {
45608		return nil, err
45609	}
45610	ret := &Site{
45611		ServerResponse: googleapi.ServerResponse{
45612			Header:         res.Header,
45613			HTTPStatusCode: res.StatusCode,
45614		},
45615	}
45616	target := &ret
45617	if err := gensupport.DecodeResponse(target, res); err != nil {
45618		return nil, err
45619	}
45620	return ret, nil
45621	// {
45622	//   "description": "Inserts a new site.",
45623	//   "flatPath": "userprofiles/{profileId}/sites",
45624	//   "httpMethod": "POST",
45625	//   "id": "dfareporting.sites.insert",
45626	//   "parameterOrder": [
45627	//     "profileId"
45628	//   ],
45629	//   "parameters": {
45630	//     "profileId": {
45631	//       "description": "User profile ID associated with this request.",
45632	//       "format": "int64",
45633	//       "location": "path",
45634	//       "required": true,
45635	//       "type": "string"
45636	//     }
45637	//   },
45638	//   "path": "userprofiles/{profileId}/sites",
45639	//   "request": {
45640	//     "$ref": "Site"
45641	//   },
45642	//   "response": {
45643	//     "$ref": "Site"
45644	//   },
45645	//   "scopes": [
45646	//     "https://www.googleapis.com/auth/dfatrafficking"
45647	//   ]
45648	// }
45649
45650}
45651
45652// method id "dfareporting.sites.list":
45653
45654type SitesListCall struct {
45655	s            *Service
45656	profileId    int64
45657	urlParams_   gensupport.URLParams
45658	ifNoneMatch_ string
45659	ctx_         context.Context
45660	header_      http.Header
45661}
45662
45663// List: Retrieves a list of sites, possibly filtered. This method
45664// supports paging.
45665func (r *SitesService) List(profileId int64) *SitesListCall {
45666	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45667	c.profileId = profileId
45668	return c
45669}
45670
45671// AcceptsInStreamVideoPlacements sets the optional parameter
45672// "acceptsInStreamVideoPlacements": This search filter is no longer
45673// supported and will have no effect on the results returned.
45674func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
45675	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
45676	return c
45677}
45678
45679// AcceptsInterstitialPlacements sets the optional parameter
45680// "acceptsInterstitialPlacements": This search filter is no longer
45681// supported and will have no effect on the results returned.
45682func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
45683	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
45684	return c
45685}
45686
45687// AcceptsPublisherPaidPlacements sets the optional parameter
45688// "acceptsPublisherPaidPlacements": Select only sites that accept
45689// publisher paid placements.
45690func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
45691	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
45692	return c
45693}
45694
45695// AdWordsSite sets the optional parameter "adWordsSite": Select only
45696// AdWords sites.
45697func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
45698	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
45699	return c
45700}
45701
45702// Approved sets the optional parameter "approved": Select only approved
45703// sites.
45704func (c *SitesListCall) Approved(approved bool) *SitesListCall {
45705	c.urlParams_.Set("approved", fmt.Sprint(approved))
45706	return c
45707}
45708
45709// CampaignIds sets the optional parameter "campaignIds": Select only
45710// sites with these campaign IDs.
45711func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
45712	var campaignIds_ []string
45713	for _, v := range campaignIds {
45714		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
45715	}
45716	c.urlParams_.SetMulti("campaignIds", campaignIds_)
45717	return c
45718}
45719
45720// DirectorySiteIds sets the optional parameter "directorySiteIds":
45721// Select only sites with these directory site IDs.
45722func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
45723	var directorySiteIds_ []string
45724	for _, v := range directorySiteIds {
45725		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
45726	}
45727	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
45728	return c
45729}
45730
45731// Ids sets the optional parameter "ids": Select only sites with these
45732// IDs.
45733func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
45734	var ids_ []string
45735	for _, v := range ids {
45736		ids_ = append(ids_, fmt.Sprint(v))
45737	}
45738	c.urlParams_.SetMulti("ids", ids_)
45739	return c
45740}
45741
45742// MaxResults sets the optional parameter "maxResults": Maximum number
45743// of results to return.
45744func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
45745	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45746	return c
45747}
45748
45749// PageToken sets the optional parameter "pageToken": Value of the
45750// nextPageToken from the previous result page.
45751func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
45752	c.urlParams_.Set("pageToken", pageToken)
45753	return c
45754}
45755
45756// SearchString sets the optional parameter "searchString": Allows
45757// searching for objects by name, ID or keyName. Wildcards (*) are
45758// allowed. For example, "site*2015" will return objects with names like
45759// "site June 2015", "site April 2015", or simply "site 2015". Most of
45760// the searches also add wildcards implicitly at the start and the end
45761// of the search string. For example, a search string of "site" will
45762// match objects with name "my site", "site 2015", or simply "site".
45763func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
45764	c.urlParams_.Set("searchString", searchString)
45765	return c
45766}
45767
45768// SortField sets the optional parameter "sortField": Field by which to
45769// sort the list.
45770//
45771// Possible values:
45772//   "ID" (default)
45773//   "NAME"
45774func (c *SitesListCall) SortField(sortField string) *SitesListCall {
45775	c.urlParams_.Set("sortField", sortField)
45776	return c
45777}
45778
45779// SortOrder sets the optional parameter "sortOrder": Order of sorted
45780// results.
45781//
45782// Possible values:
45783//   "ASCENDING" (default)
45784//   "DESCENDING"
45785func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
45786	c.urlParams_.Set("sortOrder", sortOrder)
45787	return c
45788}
45789
45790// SubaccountId sets the optional parameter "subaccountId": Select only
45791// sites with this subaccount ID.
45792func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
45793	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
45794	return c
45795}
45796
45797// UnmappedSite sets the optional parameter "unmappedSite": Select only
45798// sites that have not been mapped to a directory site.
45799func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
45800	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
45801	return c
45802}
45803
45804// Fields allows partial responses to be retrieved. See
45805// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45806// for more information.
45807func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
45808	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45809	return c
45810}
45811
45812// IfNoneMatch sets the optional parameter which makes the operation
45813// fail if the object's ETag matches the given value. This is useful for
45814// getting updates only after the object has changed since the last
45815// request. Use googleapi.IsNotModified to check whether the response
45816// error from Do is the result of In-None-Match.
45817func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
45818	c.ifNoneMatch_ = entityTag
45819	return c
45820}
45821
45822// Context sets the context to be used in this call's Do method. Any
45823// pending HTTP request will be aborted if the provided context is
45824// canceled.
45825func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
45826	c.ctx_ = ctx
45827	return c
45828}
45829
45830// Header returns an http.Header that can be modified by the caller to
45831// add HTTP headers to the request.
45832func (c *SitesListCall) Header() http.Header {
45833	if c.header_ == nil {
45834		c.header_ = make(http.Header)
45835	}
45836	return c.header_
45837}
45838
45839func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
45840	reqHeaders := make(http.Header)
45841	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
45842	for k, v := range c.header_ {
45843		reqHeaders[k] = v
45844	}
45845	reqHeaders.Set("User-Agent", c.s.userAgent())
45846	if c.ifNoneMatch_ != "" {
45847		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45848	}
45849	var body io.Reader = nil
45850	c.urlParams_.Set("alt", alt)
45851	c.urlParams_.Set("prettyPrint", "false")
45852	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
45853	urls += "?" + c.urlParams_.Encode()
45854	req, err := http.NewRequest("GET", urls, body)
45855	if err != nil {
45856		return nil, err
45857	}
45858	req.Header = reqHeaders
45859	googleapi.Expand(req.URL, map[string]string{
45860		"profileId": strconv.FormatInt(c.profileId, 10),
45861	})
45862	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45863}
45864
45865// Do executes the "dfareporting.sites.list" call.
45866// Exactly one of *SitesListResponse or error will be non-nil. Any
45867// non-2xx status code is an error. Response headers are in either
45868// *SitesListResponse.ServerResponse.Header or (if a response was
45869// returned at all) in error.(*googleapi.Error).Header. Use
45870// googleapi.IsNotModified to check whether the returned error was
45871// because http.StatusNotModified was returned.
45872func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
45873	gensupport.SetOptions(c.urlParams_, opts...)
45874	res, err := c.doRequest("json")
45875	if res != nil && res.StatusCode == http.StatusNotModified {
45876		if res.Body != nil {
45877			res.Body.Close()
45878		}
45879		return nil, &googleapi.Error{
45880			Code:   res.StatusCode,
45881			Header: res.Header,
45882		}
45883	}
45884	if err != nil {
45885		return nil, err
45886	}
45887	defer googleapi.CloseBody(res)
45888	if err := googleapi.CheckResponse(res); err != nil {
45889		return nil, err
45890	}
45891	ret := &SitesListResponse{
45892		ServerResponse: googleapi.ServerResponse{
45893			Header:         res.Header,
45894			HTTPStatusCode: res.StatusCode,
45895		},
45896	}
45897	target := &ret
45898	if err := gensupport.DecodeResponse(target, res); err != nil {
45899		return nil, err
45900	}
45901	return ret, nil
45902	// {
45903	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
45904	//   "flatPath": "userprofiles/{profileId}/sites",
45905	//   "httpMethod": "GET",
45906	//   "id": "dfareporting.sites.list",
45907	//   "parameterOrder": [
45908	//     "profileId"
45909	//   ],
45910	//   "parameters": {
45911	//     "acceptsInStreamVideoPlacements": {
45912	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
45913	//       "location": "query",
45914	//       "type": "boolean"
45915	//     },
45916	//     "acceptsInterstitialPlacements": {
45917	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
45918	//       "location": "query",
45919	//       "type": "boolean"
45920	//     },
45921	//     "acceptsPublisherPaidPlacements": {
45922	//       "description": "Select only sites that accept publisher paid placements.",
45923	//       "location": "query",
45924	//       "type": "boolean"
45925	//     },
45926	//     "adWordsSite": {
45927	//       "description": "Select only AdWords sites.",
45928	//       "location": "query",
45929	//       "type": "boolean"
45930	//     },
45931	//     "approved": {
45932	//       "description": "Select only approved sites.",
45933	//       "location": "query",
45934	//       "type": "boolean"
45935	//     },
45936	//     "campaignIds": {
45937	//       "description": "Select only sites with these campaign IDs.",
45938	//       "format": "int64",
45939	//       "location": "query",
45940	//       "repeated": true,
45941	//       "type": "string"
45942	//     },
45943	//     "directorySiteIds": {
45944	//       "description": "Select only sites with these directory site IDs.",
45945	//       "format": "int64",
45946	//       "location": "query",
45947	//       "repeated": true,
45948	//       "type": "string"
45949	//     },
45950	//     "ids": {
45951	//       "description": "Select only sites with these IDs.",
45952	//       "format": "int64",
45953	//       "location": "query",
45954	//       "repeated": true,
45955	//       "type": "string"
45956	//     },
45957	//     "maxResults": {
45958	//       "default": "1000",
45959	//       "description": "Maximum number of results to return.",
45960	//       "format": "int32",
45961	//       "location": "query",
45962	//       "maximum": "1000",
45963	//       "minimum": "0",
45964	//       "type": "integer"
45965	//     },
45966	//     "pageToken": {
45967	//       "description": "Value of the nextPageToken from the previous result page.",
45968	//       "location": "query",
45969	//       "type": "string"
45970	//     },
45971	//     "profileId": {
45972	//       "description": "User profile ID associated with this request.",
45973	//       "format": "int64",
45974	//       "location": "path",
45975	//       "required": true,
45976	//       "type": "string"
45977	//     },
45978	//     "searchString": {
45979	//       "description": "Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, \"site*2015\" will return objects with names like \"site June 2015\", \"site April 2015\", or simply \"site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"site\" will match objects with name \"my site\", \"site 2015\", or simply \"site\".",
45980	//       "location": "query",
45981	//       "type": "string"
45982	//     },
45983	//     "sortField": {
45984	//       "default": "ID",
45985	//       "description": "Field by which to sort the list.",
45986	//       "enum": [
45987	//         "ID",
45988	//         "NAME"
45989	//       ],
45990	//       "enumDescriptions": [
45991	//         "",
45992	//         ""
45993	//       ],
45994	//       "location": "query",
45995	//       "type": "string"
45996	//     },
45997	//     "sortOrder": {
45998	//       "default": "ASCENDING",
45999	//       "description": "Order of sorted results.",
46000	//       "enum": [
46001	//         "ASCENDING",
46002	//         "DESCENDING"
46003	//       ],
46004	//       "enumDescriptions": [
46005	//         "",
46006	//         ""
46007	//       ],
46008	//       "location": "query",
46009	//       "type": "string"
46010	//     },
46011	//     "subaccountId": {
46012	//       "description": "Select only sites with this subaccount ID.",
46013	//       "format": "int64",
46014	//       "location": "query",
46015	//       "type": "string"
46016	//     },
46017	//     "unmappedSite": {
46018	//       "description": "Select only sites that have not been mapped to a directory site.",
46019	//       "location": "query",
46020	//       "type": "boolean"
46021	//     }
46022	//   },
46023	//   "path": "userprofiles/{profileId}/sites",
46024	//   "response": {
46025	//     "$ref": "SitesListResponse"
46026	//   },
46027	//   "scopes": [
46028	//     "https://www.googleapis.com/auth/dfatrafficking"
46029	//   ]
46030	// }
46031
46032}
46033
46034// Pages invokes f for each page of results.
46035// A non-nil error returned from f will halt the iteration.
46036// The provided context supersedes any context provided to the Context method.
46037func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
46038	c.ctx_ = ctx
46039	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
46040	for {
46041		x, err := c.Do()
46042		if err != nil {
46043			return err
46044		}
46045		if err := f(x); err != nil {
46046			return err
46047		}
46048		if x.NextPageToken == "" {
46049			return nil
46050		}
46051		c.PageToken(x.NextPageToken)
46052	}
46053}
46054
46055// method id "dfareporting.sites.patch":
46056
46057type SitesPatchCall struct {
46058	s          *Service
46059	profileId  int64
46060	site       *Site
46061	urlParams_ gensupport.URLParams
46062	ctx_       context.Context
46063	header_    http.Header
46064}
46065
46066// Patch: Updates an existing site. This method supports patch
46067// semantics.
46068func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
46069	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46070	c.profileId = profileId
46071	c.urlParams_.Set("id", fmt.Sprint(id))
46072	c.site = site
46073	return c
46074}
46075
46076// Fields allows partial responses to be retrieved. See
46077// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46078// for more information.
46079func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
46080	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46081	return c
46082}
46083
46084// Context sets the context to be used in this call's Do method. Any
46085// pending HTTP request will be aborted if the provided context is
46086// canceled.
46087func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
46088	c.ctx_ = ctx
46089	return c
46090}
46091
46092// Header returns an http.Header that can be modified by the caller to
46093// add HTTP headers to the request.
46094func (c *SitesPatchCall) Header() http.Header {
46095	if c.header_ == nil {
46096		c.header_ = make(http.Header)
46097	}
46098	return c.header_
46099}
46100
46101func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
46102	reqHeaders := make(http.Header)
46103	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
46104	for k, v := range c.header_ {
46105		reqHeaders[k] = v
46106	}
46107	reqHeaders.Set("User-Agent", c.s.userAgent())
46108	var body io.Reader = nil
46109	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46110	if err != nil {
46111		return nil, err
46112	}
46113	reqHeaders.Set("Content-Type", "application/json")
46114	c.urlParams_.Set("alt", alt)
46115	c.urlParams_.Set("prettyPrint", "false")
46116	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46117	urls += "?" + c.urlParams_.Encode()
46118	req, err := http.NewRequest("PATCH", urls, body)
46119	if err != nil {
46120		return nil, err
46121	}
46122	req.Header = reqHeaders
46123	googleapi.Expand(req.URL, map[string]string{
46124		"profileId": strconv.FormatInt(c.profileId, 10),
46125	})
46126	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46127}
46128
46129// Do executes the "dfareporting.sites.patch" call.
46130// Exactly one of *Site or error will be non-nil. Any non-2xx status
46131// code is an error. Response headers are in either
46132// *Site.ServerResponse.Header or (if a response was returned at all) in
46133// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46134// whether the returned error was because http.StatusNotModified was
46135// returned.
46136func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46137	gensupport.SetOptions(c.urlParams_, opts...)
46138	res, err := c.doRequest("json")
46139	if res != nil && res.StatusCode == http.StatusNotModified {
46140		if res.Body != nil {
46141			res.Body.Close()
46142		}
46143		return nil, &googleapi.Error{
46144			Code:   res.StatusCode,
46145			Header: res.Header,
46146		}
46147	}
46148	if err != nil {
46149		return nil, err
46150	}
46151	defer googleapi.CloseBody(res)
46152	if err := googleapi.CheckResponse(res); err != nil {
46153		return nil, err
46154	}
46155	ret := &Site{
46156		ServerResponse: googleapi.ServerResponse{
46157			Header:         res.Header,
46158			HTTPStatusCode: res.StatusCode,
46159		},
46160	}
46161	target := &ret
46162	if err := gensupport.DecodeResponse(target, res); err != nil {
46163		return nil, err
46164	}
46165	return ret, nil
46166	// {
46167	//   "description": "Updates an existing site. This method supports patch semantics.",
46168	//   "flatPath": "userprofiles/{profileId}/sites",
46169	//   "httpMethod": "PATCH",
46170	//   "id": "dfareporting.sites.patch",
46171	//   "parameterOrder": [
46172	//     "profileId",
46173	//     "id"
46174	//   ],
46175	//   "parameters": {
46176	//     "id": {
46177	//       "description": "Site ID.",
46178	//       "format": "int64",
46179	//       "location": "query",
46180	//       "required": true,
46181	//       "type": "string"
46182	//     },
46183	//     "profileId": {
46184	//       "description": "User profile ID associated with this request.",
46185	//       "format": "int64",
46186	//       "location": "path",
46187	//       "required": true,
46188	//       "type": "string"
46189	//     }
46190	//   },
46191	//   "path": "userprofiles/{profileId}/sites",
46192	//   "request": {
46193	//     "$ref": "Site"
46194	//   },
46195	//   "response": {
46196	//     "$ref": "Site"
46197	//   },
46198	//   "scopes": [
46199	//     "https://www.googleapis.com/auth/dfatrafficking"
46200	//   ]
46201	// }
46202
46203}
46204
46205// method id "dfareporting.sites.update":
46206
46207type SitesUpdateCall struct {
46208	s          *Service
46209	profileId  int64
46210	site       *Site
46211	urlParams_ gensupport.URLParams
46212	ctx_       context.Context
46213	header_    http.Header
46214}
46215
46216// Update: Updates an existing site.
46217func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
46218	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46219	c.profileId = profileId
46220	c.site = site
46221	return c
46222}
46223
46224// Fields allows partial responses to be retrieved. See
46225// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46226// for more information.
46227func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
46228	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46229	return c
46230}
46231
46232// Context sets the context to be used in this call's Do method. Any
46233// pending HTTP request will be aborted if the provided context is
46234// canceled.
46235func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
46236	c.ctx_ = ctx
46237	return c
46238}
46239
46240// Header returns an http.Header that can be modified by the caller to
46241// add HTTP headers to the request.
46242func (c *SitesUpdateCall) Header() http.Header {
46243	if c.header_ == nil {
46244		c.header_ = make(http.Header)
46245	}
46246	return c.header_
46247}
46248
46249func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
46250	reqHeaders := make(http.Header)
46251	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
46252	for k, v := range c.header_ {
46253		reqHeaders[k] = v
46254	}
46255	reqHeaders.Set("User-Agent", c.s.userAgent())
46256	var body io.Reader = nil
46257	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46258	if err != nil {
46259		return nil, err
46260	}
46261	reqHeaders.Set("Content-Type", "application/json")
46262	c.urlParams_.Set("alt", alt)
46263	c.urlParams_.Set("prettyPrint", "false")
46264	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46265	urls += "?" + c.urlParams_.Encode()
46266	req, err := http.NewRequest("PUT", urls, body)
46267	if err != nil {
46268		return nil, err
46269	}
46270	req.Header = reqHeaders
46271	googleapi.Expand(req.URL, map[string]string{
46272		"profileId": strconv.FormatInt(c.profileId, 10),
46273	})
46274	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46275}
46276
46277// Do executes the "dfareporting.sites.update" call.
46278// Exactly one of *Site or error will be non-nil. Any non-2xx status
46279// code is an error. Response headers are in either
46280// *Site.ServerResponse.Header or (if a response was returned at all) in
46281// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46282// whether the returned error was because http.StatusNotModified was
46283// returned.
46284func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46285	gensupport.SetOptions(c.urlParams_, opts...)
46286	res, err := c.doRequest("json")
46287	if res != nil && res.StatusCode == http.StatusNotModified {
46288		if res.Body != nil {
46289			res.Body.Close()
46290		}
46291		return nil, &googleapi.Error{
46292			Code:   res.StatusCode,
46293			Header: res.Header,
46294		}
46295	}
46296	if err != nil {
46297		return nil, err
46298	}
46299	defer googleapi.CloseBody(res)
46300	if err := googleapi.CheckResponse(res); err != nil {
46301		return nil, err
46302	}
46303	ret := &Site{
46304		ServerResponse: googleapi.ServerResponse{
46305			Header:         res.Header,
46306			HTTPStatusCode: res.StatusCode,
46307		},
46308	}
46309	target := &ret
46310	if err := gensupport.DecodeResponse(target, res); err != nil {
46311		return nil, err
46312	}
46313	return ret, nil
46314	// {
46315	//   "description": "Updates an existing site.",
46316	//   "flatPath": "userprofiles/{profileId}/sites",
46317	//   "httpMethod": "PUT",
46318	//   "id": "dfareporting.sites.update",
46319	//   "parameterOrder": [
46320	//     "profileId"
46321	//   ],
46322	//   "parameters": {
46323	//     "profileId": {
46324	//       "description": "User profile ID associated with this request.",
46325	//       "format": "int64",
46326	//       "location": "path",
46327	//       "required": true,
46328	//       "type": "string"
46329	//     }
46330	//   },
46331	//   "path": "userprofiles/{profileId}/sites",
46332	//   "request": {
46333	//     "$ref": "Site"
46334	//   },
46335	//   "response": {
46336	//     "$ref": "Site"
46337	//   },
46338	//   "scopes": [
46339	//     "https://www.googleapis.com/auth/dfatrafficking"
46340	//   ]
46341	// }
46342
46343}
46344
46345// method id "dfareporting.sizes.get":
46346
46347type SizesGetCall struct {
46348	s            *Service
46349	profileId    int64
46350	id           int64
46351	urlParams_   gensupport.URLParams
46352	ifNoneMatch_ string
46353	ctx_         context.Context
46354	header_      http.Header
46355}
46356
46357// Get: Gets one size by ID.
46358func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
46359	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46360	c.profileId = profileId
46361	c.id = id
46362	return c
46363}
46364
46365// Fields allows partial responses to be retrieved. See
46366// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46367// for more information.
46368func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
46369	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46370	return c
46371}
46372
46373// IfNoneMatch sets the optional parameter which makes the operation
46374// fail if the object's ETag matches the given value. This is useful for
46375// getting updates only after the object has changed since the last
46376// request. Use googleapi.IsNotModified to check whether the response
46377// error from Do is the result of In-None-Match.
46378func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
46379	c.ifNoneMatch_ = entityTag
46380	return c
46381}
46382
46383// Context sets the context to be used in this call's Do method. Any
46384// pending HTTP request will be aborted if the provided context is
46385// canceled.
46386func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
46387	c.ctx_ = ctx
46388	return c
46389}
46390
46391// Header returns an http.Header that can be modified by the caller to
46392// add HTTP headers to the request.
46393func (c *SizesGetCall) Header() http.Header {
46394	if c.header_ == nil {
46395		c.header_ = make(http.Header)
46396	}
46397	return c.header_
46398}
46399
46400func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
46401	reqHeaders := make(http.Header)
46402	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
46403	for k, v := range c.header_ {
46404		reqHeaders[k] = v
46405	}
46406	reqHeaders.Set("User-Agent", c.s.userAgent())
46407	if c.ifNoneMatch_ != "" {
46408		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46409	}
46410	var body io.Reader = nil
46411	c.urlParams_.Set("alt", alt)
46412	c.urlParams_.Set("prettyPrint", "false")
46413	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
46414	urls += "?" + c.urlParams_.Encode()
46415	req, err := http.NewRequest("GET", urls, body)
46416	if err != nil {
46417		return nil, err
46418	}
46419	req.Header = reqHeaders
46420	googleapi.Expand(req.URL, map[string]string{
46421		"profileId": strconv.FormatInt(c.profileId, 10),
46422		"id":        strconv.FormatInt(c.id, 10),
46423	})
46424	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46425}
46426
46427// Do executes the "dfareporting.sizes.get" call.
46428// Exactly one of *Size or error will be non-nil. Any non-2xx status
46429// code is an error. Response headers are in either
46430// *Size.ServerResponse.Header or (if a response was returned at all) in
46431// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46432// whether the returned error was because http.StatusNotModified was
46433// returned.
46434func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46435	gensupport.SetOptions(c.urlParams_, opts...)
46436	res, err := c.doRequest("json")
46437	if res != nil && res.StatusCode == http.StatusNotModified {
46438		if res.Body != nil {
46439			res.Body.Close()
46440		}
46441		return nil, &googleapi.Error{
46442			Code:   res.StatusCode,
46443			Header: res.Header,
46444		}
46445	}
46446	if err != nil {
46447		return nil, err
46448	}
46449	defer googleapi.CloseBody(res)
46450	if err := googleapi.CheckResponse(res); err != nil {
46451		return nil, err
46452	}
46453	ret := &Size{
46454		ServerResponse: googleapi.ServerResponse{
46455			Header:         res.Header,
46456			HTTPStatusCode: res.StatusCode,
46457		},
46458	}
46459	target := &ret
46460	if err := gensupport.DecodeResponse(target, res); err != nil {
46461		return nil, err
46462	}
46463	return ret, nil
46464	// {
46465	//   "description": "Gets one size by ID.",
46466	//   "flatPath": "userprofiles/{profileId}/sizes/{id}",
46467	//   "httpMethod": "GET",
46468	//   "id": "dfareporting.sizes.get",
46469	//   "parameterOrder": [
46470	//     "profileId",
46471	//     "id"
46472	//   ],
46473	//   "parameters": {
46474	//     "id": {
46475	//       "description": "Size ID.",
46476	//       "format": "int64",
46477	//       "location": "path",
46478	//       "required": true,
46479	//       "type": "string"
46480	//     },
46481	//     "profileId": {
46482	//       "description": "User profile ID associated with this request.",
46483	//       "format": "int64",
46484	//       "location": "path",
46485	//       "required": true,
46486	//       "type": "string"
46487	//     }
46488	//   },
46489	//   "path": "userprofiles/{profileId}/sizes/{id}",
46490	//   "response": {
46491	//     "$ref": "Size"
46492	//   },
46493	//   "scopes": [
46494	//     "https://www.googleapis.com/auth/dfatrafficking"
46495	//   ]
46496	// }
46497
46498}
46499
46500// method id "dfareporting.sizes.insert":
46501
46502type SizesInsertCall struct {
46503	s          *Service
46504	profileId  int64
46505	size       *Size
46506	urlParams_ gensupport.URLParams
46507	ctx_       context.Context
46508	header_    http.Header
46509}
46510
46511// Insert: Inserts a new size.
46512func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
46513	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46514	c.profileId = profileId
46515	c.size = size
46516	return c
46517}
46518
46519// Fields allows partial responses to be retrieved. See
46520// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46521// for more information.
46522func (c *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
46523	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46524	return c
46525}
46526
46527// Context sets the context to be used in this call's Do method. Any
46528// pending HTTP request will be aborted if the provided context is
46529// canceled.
46530func (c *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
46531	c.ctx_ = ctx
46532	return c
46533}
46534
46535// Header returns an http.Header that can be modified by the caller to
46536// add HTTP headers to the request.
46537func (c *SizesInsertCall) Header() http.Header {
46538	if c.header_ == nil {
46539		c.header_ = make(http.Header)
46540	}
46541	return c.header_
46542}
46543
46544func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
46545	reqHeaders := make(http.Header)
46546	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
46547	for k, v := range c.header_ {
46548		reqHeaders[k] = v
46549	}
46550	reqHeaders.Set("User-Agent", c.s.userAgent())
46551	var body io.Reader = nil
46552	body, err := googleapi.WithoutDataWrapper.JSONReader(c.size)
46553	if err != nil {
46554		return nil, err
46555	}
46556	reqHeaders.Set("Content-Type", "application/json")
46557	c.urlParams_.Set("alt", alt)
46558	c.urlParams_.Set("prettyPrint", "false")
46559	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
46560	urls += "?" + c.urlParams_.Encode()
46561	req, err := http.NewRequest("POST", urls, body)
46562	if err != nil {
46563		return nil, err
46564	}
46565	req.Header = reqHeaders
46566	googleapi.Expand(req.URL, map[string]string{
46567		"profileId": strconv.FormatInt(c.profileId, 10),
46568	})
46569	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46570}
46571
46572// Do executes the "dfareporting.sizes.insert" call.
46573// Exactly one of *Size or error will be non-nil. Any non-2xx status
46574// code is an error. Response headers are in either
46575// *Size.ServerResponse.Header or (if a response was returned at all) in
46576// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46577// whether the returned error was because http.StatusNotModified was
46578// returned.
46579func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46580	gensupport.SetOptions(c.urlParams_, opts...)
46581	res, err := c.doRequest("json")
46582	if res != nil && res.StatusCode == http.StatusNotModified {
46583		if res.Body != nil {
46584			res.Body.Close()
46585		}
46586		return nil, &googleapi.Error{
46587			Code:   res.StatusCode,
46588			Header: res.Header,
46589		}
46590	}
46591	if err != nil {
46592		return nil, err
46593	}
46594	defer googleapi.CloseBody(res)
46595	if err := googleapi.CheckResponse(res); err != nil {
46596		return nil, err
46597	}
46598	ret := &Size{
46599		ServerResponse: googleapi.ServerResponse{
46600			Header:         res.Header,
46601			HTTPStatusCode: res.StatusCode,
46602		},
46603	}
46604	target := &ret
46605	if err := gensupport.DecodeResponse(target, res); err != nil {
46606		return nil, err
46607	}
46608	return ret, nil
46609	// {
46610	//   "description": "Inserts a new size.",
46611	//   "flatPath": "userprofiles/{profileId}/sizes",
46612	//   "httpMethod": "POST",
46613	//   "id": "dfareporting.sizes.insert",
46614	//   "parameterOrder": [
46615	//     "profileId"
46616	//   ],
46617	//   "parameters": {
46618	//     "profileId": {
46619	//       "description": "User profile ID associated with this request.",
46620	//       "format": "int64",
46621	//       "location": "path",
46622	//       "required": true,
46623	//       "type": "string"
46624	//     }
46625	//   },
46626	//   "path": "userprofiles/{profileId}/sizes",
46627	//   "request": {
46628	//     "$ref": "Size"
46629	//   },
46630	//   "response": {
46631	//     "$ref": "Size"
46632	//   },
46633	//   "scopes": [
46634	//     "https://www.googleapis.com/auth/dfatrafficking"
46635	//   ]
46636	// }
46637
46638}
46639
46640// method id "dfareporting.sizes.list":
46641
46642type SizesListCall struct {
46643	s            *Service
46644	profileId    int64
46645	urlParams_   gensupport.URLParams
46646	ifNoneMatch_ string
46647	ctx_         context.Context
46648	header_      http.Header
46649}
46650
46651// List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
46652// are globally unique and may include values not currently in use by
46653// your account. Due to this, the list of sizes returned by this method
46654// may differ from the list seen in the Trafficking UI.
46655func (r *SizesService) List(profileId int64) *SizesListCall {
46656	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46657	c.profileId = profileId
46658	return c
46659}
46660
46661// Height sets the optional parameter "height": Select only sizes with
46662// this height.
46663func (c *SizesListCall) Height(height int64) *SizesListCall {
46664	c.urlParams_.Set("height", fmt.Sprint(height))
46665	return c
46666}
46667
46668// IabStandard sets the optional parameter "iabStandard": Select only
46669// IAB standard sizes.
46670func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
46671	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
46672	return c
46673}
46674
46675// Ids sets the optional parameter "ids": Select only sizes with these
46676// IDs.
46677func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
46678	var ids_ []string
46679	for _, v := range ids {
46680		ids_ = append(ids_, fmt.Sprint(v))
46681	}
46682	c.urlParams_.SetMulti("ids", ids_)
46683	return c
46684}
46685
46686// Width sets the optional parameter "width": Select only sizes with
46687// this width.
46688func (c *SizesListCall) Width(width int64) *SizesListCall {
46689	c.urlParams_.Set("width", fmt.Sprint(width))
46690	return c
46691}
46692
46693// Fields allows partial responses to be retrieved. See
46694// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46695// for more information.
46696func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
46697	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46698	return c
46699}
46700
46701// IfNoneMatch sets the optional parameter which makes the operation
46702// fail if the object's ETag matches the given value. This is useful for
46703// getting updates only after the object has changed since the last
46704// request. Use googleapi.IsNotModified to check whether the response
46705// error from Do is the result of In-None-Match.
46706func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
46707	c.ifNoneMatch_ = entityTag
46708	return c
46709}
46710
46711// Context sets the context to be used in this call's Do method. Any
46712// pending HTTP request will be aborted if the provided context is
46713// canceled.
46714func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
46715	c.ctx_ = ctx
46716	return c
46717}
46718
46719// Header returns an http.Header that can be modified by the caller to
46720// add HTTP headers to the request.
46721func (c *SizesListCall) Header() http.Header {
46722	if c.header_ == nil {
46723		c.header_ = make(http.Header)
46724	}
46725	return c.header_
46726}
46727
46728func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
46729	reqHeaders := make(http.Header)
46730	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
46731	for k, v := range c.header_ {
46732		reqHeaders[k] = v
46733	}
46734	reqHeaders.Set("User-Agent", c.s.userAgent())
46735	if c.ifNoneMatch_ != "" {
46736		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46737	}
46738	var body io.Reader = nil
46739	c.urlParams_.Set("alt", alt)
46740	c.urlParams_.Set("prettyPrint", "false")
46741	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
46742	urls += "?" + c.urlParams_.Encode()
46743	req, err := http.NewRequest("GET", urls, body)
46744	if err != nil {
46745		return nil, err
46746	}
46747	req.Header = reqHeaders
46748	googleapi.Expand(req.URL, map[string]string{
46749		"profileId": strconv.FormatInt(c.profileId, 10),
46750	})
46751	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46752}
46753
46754// Do executes the "dfareporting.sizes.list" call.
46755// Exactly one of *SizesListResponse or error will be non-nil. Any
46756// non-2xx status code is an error. Response headers are in either
46757// *SizesListResponse.ServerResponse.Header or (if a response was
46758// returned at all) in error.(*googleapi.Error).Header. Use
46759// googleapi.IsNotModified to check whether the returned error was
46760// because http.StatusNotModified was returned.
46761func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
46762	gensupport.SetOptions(c.urlParams_, opts...)
46763	res, err := c.doRequest("json")
46764	if res != nil && res.StatusCode == http.StatusNotModified {
46765		if res.Body != nil {
46766			res.Body.Close()
46767		}
46768		return nil, &googleapi.Error{
46769			Code:   res.StatusCode,
46770			Header: res.Header,
46771		}
46772	}
46773	if err != nil {
46774		return nil, err
46775	}
46776	defer googleapi.CloseBody(res)
46777	if err := googleapi.CheckResponse(res); err != nil {
46778		return nil, err
46779	}
46780	ret := &SizesListResponse{
46781		ServerResponse: googleapi.ServerResponse{
46782			Header:         res.Header,
46783			HTTPStatusCode: res.StatusCode,
46784		},
46785	}
46786	target := &ret
46787	if err := gensupport.DecodeResponse(target, res); err != nil {
46788		return nil, err
46789	}
46790	return ret, nil
46791	// {
46792	//   "description": "Retrieves a list of sizes, possibly filtered. Retrieved sizes are globally unique and may include values not currently in use by your account. Due to this, the list of sizes returned by this method may differ from the list seen in the Trafficking UI.",
46793	//   "flatPath": "userprofiles/{profileId}/sizes",
46794	//   "httpMethod": "GET",
46795	//   "id": "dfareporting.sizes.list",
46796	//   "parameterOrder": [
46797	//     "profileId"
46798	//   ],
46799	//   "parameters": {
46800	//     "height": {
46801	//       "description": "Select only sizes with this height.",
46802	//       "format": "int32",
46803	//       "location": "query",
46804	//       "maximum": "32767",
46805	//       "minimum": "0",
46806	//       "type": "integer"
46807	//     },
46808	//     "iabStandard": {
46809	//       "description": "Select only IAB standard sizes.",
46810	//       "location": "query",
46811	//       "type": "boolean"
46812	//     },
46813	//     "ids": {
46814	//       "description": "Select only sizes with these IDs.",
46815	//       "format": "int64",
46816	//       "location": "query",
46817	//       "repeated": true,
46818	//       "type": "string"
46819	//     },
46820	//     "profileId": {
46821	//       "description": "User profile ID associated with this request.",
46822	//       "format": "int64",
46823	//       "location": "path",
46824	//       "required": true,
46825	//       "type": "string"
46826	//     },
46827	//     "width": {
46828	//       "description": "Select only sizes with this width.",
46829	//       "format": "int32",
46830	//       "location": "query",
46831	//       "maximum": "32767",
46832	//       "minimum": "0",
46833	//       "type": "integer"
46834	//     }
46835	//   },
46836	//   "path": "userprofiles/{profileId}/sizes",
46837	//   "response": {
46838	//     "$ref": "SizesListResponse"
46839	//   },
46840	//   "scopes": [
46841	//     "https://www.googleapis.com/auth/dfatrafficking"
46842	//   ]
46843	// }
46844
46845}
46846
46847// method id "dfareporting.subaccounts.get":
46848
46849type SubaccountsGetCall struct {
46850	s            *Service
46851	profileId    int64
46852	id           int64
46853	urlParams_   gensupport.URLParams
46854	ifNoneMatch_ string
46855	ctx_         context.Context
46856	header_      http.Header
46857}
46858
46859// Get: Gets one subaccount by ID.
46860func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
46861	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46862	c.profileId = profileId
46863	c.id = id
46864	return c
46865}
46866
46867// Fields allows partial responses to be retrieved. See
46868// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46869// for more information.
46870func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
46871	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46872	return c
46873}
46874
46875// IfNoneMatch sets the optional parameter which makes the operation
46876// fail if the object's ETag matches the given value. This is useful for
46877// getting updates only after the object has changed since the last
46878// request. Use googleapi.IsNotModified to check whether the response
46879// error from Do is the result of In-None-Match.
46880func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
46881	c.ifNoneMatch_ = entityTag
46882	return c
46883}
46884
46885// Context sets the context to be used in this call's Do method. Any
46886// pending HTTP request will be aborted if the provided context is
46887// canceled.
46888func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
46889	c.ctx_ = ctx
46890	return c
46891}
46892
46893// Header returns an http.Header that can be modified by the caller to
46894// add HTTP headers to the request.
46895func (c *SubaccountsGetCall) Header() http.Header {
46896	if c.header_ == nil {
46897		c.header_ = make(http.Header)
46898	}
46899	return c.header_
46900}
46901
46902func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
46903	reqHeaders := make(http.Header)
46904	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
46905	for k, v := range c.header_ {
46906		reqHeaders[k] = v
46907	}
46908	reqHeaders.Set("User-Agent", c.s.userAgent())
46909	if c.ifNoneMatch_ != "" {
46910		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46911	}
46912	var body io.Reader = nil
46913	c.urlParams_.Set("alt", alt)
46914	c.urlParams_.Set("prettyPrint", "false")
46915	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
46916	urls += "?" + c.urlParams_.Encode()
46917	req, err := http.NewRequest("GET", urls, body)
46918	if err != nil {
46919		return nil, err
46920	}
46921	req.Header = reqHeaders
46922	googleapi.Expand(req.URL, map[string]string{
46923		"profileId": strconv.FormatInt(c.profileId, 10),
46924		"id":        strconv.FormatInt(c.id, 10),
46925	})
46926	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46927}
46928
46929// Do executes the "dfareporting.subaccounts.get" call.
46930// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
46931// status code is an error. Response headers are in either
46932// *Subaccount.ServerResponse.Header or (if a response was returned at
46933// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
46934// to check whether the returned error was because
46935// http.StatusNotModified was returned.
46936func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
46937	gensupport.SetOptions(c.urlParams_, opts...)
46938	res, err := c.doRequest("json")
46939	if res != nil && res.StatusCode == http.StatusNotModified {
46940		if res.Body != nil {
46941			res.Body.Close()
46942		}
46943		return nil, &googleapi.Error{
46944			Code:   res.StatusCode,
46945			Header: res.Header,
46946		}
46947	}
46948	if err != nil {
46949		return nil, err
46950	}
46951	defer googleapi.CloseBody(res)
46952	if err := googleapi.CheckResponse(res); err != nil {
46953		return nil, err
46954	}
46955	ret := &Subaccount{
46956		ServerResponse: googleapi.ServerResponse{
46957			Header:         res.Header,
46958			HTTPStatusCode: res.StatusCode,
46959		},
46960	}
46961	target := &ret
46962	if err := gensupport.DecodeResponse(target, res); err != nil {
46963		return nil, err
46964	}
46965	return ret, nil
46966	// {
46967	//   "description": "Gets one subaccount by ID.",
46968	//   "flatPath": "userprofiles/{profileId}/subaccounts/{id}",
46969	//   "httpMethod": "GET",
46970	//   "id": "dfareporting.subaccounts.get",
46971	//   "parameterOrder": [
46972	//     "profileId",
46973	//     "id"
46974	//   ],
46975	//   "parameters": {
46976	//     "id": {
46977	//       "description": "Subaccount ID.",
46978	//       "format": "int64",
46979	//       "location": "path",
46980	//       "required": true,
46981	//       "type": "string"
46982	//     },
46983	//     "profileId": {
46984	//       "description": "User profile ID associated with this request.",
46985	//       "format": "int64",
46986	//       "location": "path",
46987	//       "required": true,
46988	//       "type": "string"
46989	//     }
46990	//   },
46991	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
46992	//   "response": {
46993	//     "$ref": "Subaccount"
46994	//   },
46995	//   "scopes": [
46996	//     "https://www.googleapis.com/auth/dfatrafficking"
46997	//   ]
46998	// }
46999
47000}
47001
47002// method id "dfareporting.subaccounts.insert":
47003
47004type SubaccountsInsertCall struct {
47005	s          *Service
47006	profileId  int64
47007	subaccount *Subaccount
47008	urlParams_ gensupport.URLParams
47009	ctx_       context.Context
47010	header_    http.Header
47011}
47012
47013// Insert: Inserts a new subaccount.
47014func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
47015	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47016	c.profileId = profileId
47017	c.subaccount = subaccount
47018	return c
47019}
47020
47021// Fields allows partial responses to be retrieved. See
47022// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47023// for more information.
47024func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
47025	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47026	return c
47027}
47028
47029// Context sets the context to be used in this call's Do method. Any
47030// pending HTTP request will be aborted if the provided context is
47031// canceled.
47032func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
47033	c.ctx_ = ctx
47034	return c
47035}
47036
47037// Header returns an http.Header that can be modified by the caller to
47038// add HTTP headers to the request.
47039func (c *SubaccountsInsertCall) Header() http.Header {
47040	if c.header_ == nil {
47041		c.header_ = make(http.Header)
47042	}
47043	return c.header_
47044}
47045
47046func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
47047	reqHeaders := make(http.Header)
47048	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
47049	for k, v := range c.header_ {
47050		reqHeaders[k] = v
47051	}
47052	reqHeaders.Set("User-Agent", c.s.userAgent())
47053	var body io.Reader = nil
47054	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47055	if err != nil {
47056		return nil, err
47057	}
47058	reqHeaders.Set("Content-Type", "application/json")
47059	c.urlParams_.Set("alt", alt)
47060	c.urlParams_.Set("prettyPrint", "false")
47061	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47062	urls += "?" + c.urlParams_.Encode()
47063	req, err := http.NewRequest("POST", urls, body)
47064	if err != nil {
47065		return nil, err
47066	}
47067	req.Header = reqHeaders
47068	googleapi.Expand(req.URL, map[string]string{
47069		"profileId": strconv.FormatInt(c.profileId, 10),
47070	})
47071	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47072}
47073
47074// Do executes the "dfareporting.subaccounts.insert" call.
47075// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47076// status code is an error. Response headers are in either
47077// *Subaccount.ServerResponse.Header or (if a response was returned at
47078// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47079// to check whether the returned error was because
47080// http.StatusNotModified was returned.
47081func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47082	gensupport.SetOptions(c.urlParams_, opts...)
47083	res, err := c.doRequest("json")
47084	if res != nil && res.StatusCode == http.StatusNotModified {
47085		if res.Body != nil {
47086			res.Body.Close()
47087		}
47088		return nil, &googleapi.Error{
47089			Code:   res.StatusCode,
47090			Header: res.Header,
47091		}
47092	}
47093	if err != nil {
47094		return nil, err
47095	}
47096	defer googleapi.CloseBody(res)
47097	if err := googleapi.CheckResponse(res); err != nil {
47098		return nil, err
47099	}
47100	ret := &Subaccount{
47101		ServerResponse: googleapi.ServerResponse{
47102			Header:         res.Header,
47103			HTTPStatusCode: res.StatusCode,
47104		},
47105	}
47106	target := &ret
47107	if err := gensupport.DecodeResponse(target, res); err != nil {
47108		return nil, err
47109	}
47110	return ret, nil
47111	// {
47112	//   "description": "Inserts a new subaccount.",
47113	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47114	//   "httpMethod": "POST",
47115	//   "id": "dfareporting.subaccounts.insert",
47116	//   "parameterOrder": [
47117	//     "profileId"
47118	//   ],
47119	//   "parameters": {
47120	//     "profileId": {
47121	//       "description": "User profile ID associated with this request.",
47122	//       "format": "int64",
47123	//       "location": "path",
47124	//       "required": true,
47125	//       "type": "string"
47126	//     }
47127	//   },
47128	//   "path": "userprofiles/{profileId}/subaccounts",
47129	//   "request": {
47130	//     "$ref": "Subaccount"
47131	//   },
47132	//   "response": {
47133	//     "$ref": "Subaccount"
47134	//   },
47135	//   "scopes": [
47136	//     "https://www.googleapis.com/auth/dfatrafficking"
47137	//   ]
47138	// }
47139
47140}
47141
47142// method id "dfareporting.subaccounts.list":
47143
47144type SubaccountsListCall struct {
47145	s            *Service
47146	profileId    int64
47147	urlParams_   gensupport.URLParams
47148	ifNoneMatch_ string
47149	ctx_         context.Context
47150	header_      http.Header
47151}
47152
47153// List: Gets a list of subaccounts, possibly filtered. This method
47154// supports paging.
47155func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
47156	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47157	c.profileId = profileId
47158	return c
47159}
47160
47161// Ids sets the optional parameter "ids": Select only subaccounts with
47162// these IDs.
47163func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
47164	var ids_ []string
47165	for _, v := range ids {
47166		ids_ = append(ids_, fmt.Sprint(v))
47167	}
47168	c.urlParams_.SetMulti("ids", ids_)
47169	return c
47170}
47171
47172// MaxResults sets the optional parameter "maxResults": Maximum number
47173// of results to return.
47174func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
47175	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47176	return c
47177}
47178
47179// PageToken sets the optional parameter "pageToken": Value of the
47180// nextPageToken from the previous result page.
47181func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
47182	c.urlParams_.Set("pageToken", pageToken)
47183	return c
47184}
47185
47186// SearchString sets the optional parameter "searchString": Allows
47187// searching for objects by name or ID. Wildcards (*) are allowed. For
47188// example, "subaccount*2015" will return objects with names like
47189// "subaccount June 2015", "subaccount April 2015", or simply
47190// "subaccount 2015". Most of the searches also add wildcards implicitly
47191// at the start and the end of the search string. For example, a search
47192// string of "subaccount" will match objects with name "my subaccount",
47193// "subaccount 2015", or simply "subaccount" .
47194func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
47195	c.urlParams_.Set("searchString", searchString)
47196	return c
47197}
47198
47199// SortField sets the optional parameter "sortField": Field by which to
47200// sort the list.
47201//
47202// Possible values:
47203//   "ID" (default)
47204//   "NAME"
47205func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
47206	c.urlParams_.Set("sortField", sortField)
47207	return c
47208}
47209
47210// SortOrder sets the optional parameter "sortOrder": Order of sorted
47211// results.
47212//
47213// Possible values:
47214//   "ASCENDING" (default)
47215//   "DESCENDING"
47216func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
47217	c.urlParams_.Set("sortOrder", sortOrder)
47218	return c
47219}
47220
47221// Fields allows partial responses to be retrieved. See
47222// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47223// for more information.
47224func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
47225	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47226	return c
47227}
47228
47229// IfNoneMatch sets the optional parameter which makes the operation
47230// fail if the object's ETag matches the given value. This is useful for
47231// getting updates only after the object has changed since the last
47232// request. Use googleapi.IsNotModified to check whether the response
47233// error from Do is the result of In-None-Match.
47234func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
47235	c.ifNoneMatch_ = entityTag
47236	return c
47237}
47238
47239// Context sets the context to be used in this call's Do method. Any
47240// pending HTTP request will be aborted if the provided context is
47241// canceled.
47242func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
47243	c.ctx_ = ctx
47244	return c
47245}
47246
47247// Header returns an http.Header that can be modified by the caller to
47248// add HTTP headers to the request.
47249func (c *SubaccountsListCall) Header() http.Header {
47250	if c.header_ == nil {
47251		c.header_ = make(http.Header)
47252	}
47253	return c.header_
47254}
47255
47256func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
47257	reqHeaders := make(http.Header)
47258	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
47259	for k, v := range c.header_ {
47260		reqHeaders[k] = v
47261	}
47262	reqHeaders.Set("User-Agent", c.s.userAgent())
47263	if c.ifNoneMatch_ != "" {
47264		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47265	}
47266	var body io.Reader = nil
47267	c.urlParams_.Set("alt", alt)
47268	c.urlParams_.Set("prettyPrint", "false")
47269	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47270	urls += "?" + c.urlParams_.Encode()
47271	req, err := http.NewRequest("GET", urls, body)
47272	if err != nil {
47273		return nil, err
47274	}
47275	req.Header = reqHeaders
47276	googleapi.Expand(req.URL, map[string]string{
47277		"profileId": strconv.FormatInt(c.profileId, 10),
47278	})
47279	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47280}
47281
47282// Do executes the "dfareporting.subaccounts.list" call.
47283// Exactly one of *SubaccountsListResponse or error will be non-nil. Any
47284// non-2xx status code is an error. Response headers are in either
47285// *SubaccountsListResponse.ServerResponse.Header or (if a response was
47286// returned at all) in error.(*googleapi.Error).Header. Use
47287// googleapi.IsNotModified to check whether the returned error was
47288// because http.StatusNotModified was returned.
47289func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
47290	gensupport.SetOptions(c.urlParams_, opts...)
47291	res, err := c.doRequest("json")
47292	if res != nil && res.StatusCode == http.StatusNotModified {
47293		if res.Body != nil {
47294			res.Body.Close()
47295		}
47296		return nil, &googleapi.Error{
47297			Code:   res.StatusCode,
47298			Header: res.Header,
47299		}
47300	}
47301	if err != nil {
47302		return nil, err
47303	}
47304	defer googleapi.CloseBody(res)
47305	if err := googleapi.CheckResponse(res); err != nil {
47306		return nil, err
47307	}
47308	ret := &SubaccountsListResponse{
47309		ServerResponse: googleapi.ServerResponse{
47310			Header:         res.Header,
47311			HTTPStatusCode: res.StatusCode,
47312		},
47313	}
47314	target := &ret
47315	if err := gensupport.DecodeResponse(target, res); err != nil {
47316		return nil, err
47317	}
47318	return ret, nil
47319	// {
47320	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
47321	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47322	//   "httpMethod": "GET",
47323	//   "id": "dfareporting.subaccounts.list",
47324	//   "parameterOrder": [
47325	//     "profileId"
47326	//   ],
47327	//   "parameters": {
47328	//     "ids": {
47329	//       "description": "Select only subaccounts with these IDs.",
47330	//       "format": "int64",
47331	//       "location": "query",
47332	//       "repeated": true,
47333	//       "type": "string"
47334	//     },
47335	//     "maxResults": {
47336	//       "default": "1000",
47337	//       "description": "Maximum number of results to return.",
47338	//       "format": "int32",
47339	//       "location": "query",
47340	//       "maximum": "1000",
47341	//       "minimum": "0",
47342	//       "type": "integer"
47343	//     },
47344	//     "pageToken": {
47345	//       "description": "Value of the nextPageToken from the previous result page.",
47346	//       "location": "query",
47347	//       "type": "string"
47348	//     },
47349	//     "profileId": {
47350	//       "description": "User profile ID associated with this request.",
47351	//       "format": "int64",
47352	//       "location": "path",
47353	//       "required": true,
47354	//       "type": "string"
47355	//     },
47356	//     "searchString": {
47357	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\" .",
47358	//       "location": "query",
47359	//       "type": "string"
47360	//     },
47361	//     "sortField": {
47362	//       "default": "ID",
47363	//       "description": "Field by which to sort the list.",
47364	//       "enum": [
47365	//         "ID",
47366	//         "NAME"
47367	//       ],
47368	//       "enumDescriptions": [
47369	//         "",
47370	//         ""
47371	//       ],
47372	//       "location": "query",
47373	//       "type": "string"
47374	//     },
47375	//     "sortOrder": {
47376	//       "default": "ASCENDING",
47377	//       "description": "Order of sorted results.",
47378	//       "enum": [
47379	//         "ASCENDING",
47380	//         "DESCENDING"
47381	//       ],
47382	//       "enumDescriptions": [
47383	//         "",
47384	//         ""
47385	//       ],
47386	//       "location": "query",
47387	//       "type": "string"
47388	//     }
47389	//   },
47390	//   "path": "userprofiles/{profileId}/subaccounts",
47391	//   "response": {
47392	//     "$ref": "SubaccountsListResponse"
47393	//   },
47394	//   "scopes": [
47395	//     "https://www.googleapis.com/auth/dfatrafficking"
47396	//   ]
47397	// }
47398
47399}
47400
47401// Pages invokes f for each page of results.
47402// A non-nil error returned from f will halt the iteration.
47403// The provided context supersedes any context provided to the Context method.
47404func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
47405	c.ctx_ = ctx
47406	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
47407	for {
47408		x, err := c.Do()
47409		if err != nil {
47410			return err
47411		}
47412		if err := f(x); err != nil {
47413			return err
47414		}
47415		if x.NextPageToken == "" {
47416			return nil
47417		}
47418		c.PageToken(x.NextPageToken)
47419	}
47420}
47421
47422// method id "dfareporting.subaccounts.patch":
47423
47424type SubaccountsPatchCall struct {
47425	s          *Service
47426	profileId  int64
47427	subaccount *Subaccount
47428	urlParams_ gensupport.URLParams
47429	ctx_       context.Context
47430	header_    http.Header
47431}
47432
47433// Patch: Updates an existing subaccount. This method supports patch
47434// semantics.
47435func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
47436	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47437	c.profileId = profileId
47438	c.urlParams_.Set("id", fmt.Sprint(id))
47439	c.subaccount = subaccount
47440	return c
47441}
47442
47443// Fields allows partial responses to be retrieved. See
47444// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47445// for more information.
47446func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
47447	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47448	return c
47449}
47450
47451// Context sets the context to be used in this call's Do method. Any
47452// pending HTTP request will be aborted if the provided context is
47453// canceled.
47454func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
47455	c.ctx_ = ctx
47456	return c
47457}
47458
47459// Header returns an http.Header that can be modified by the caller to
47460// add HTTP headers to the request.
47461func (c *SubaccountsPatchCall) Header() http.Header {
47462	if c.header_ == nil {
47463		c.header_ = make(http.Header)
47464	}
47465	return c.header_
47466}
47467
47468func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
47469	reqHeaders := make(http.Header)
47470	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
47471	for k, v := range c.header_ {
47472		reqHeaders[k] = v
47473	}
47474	reqHeaders.Set("User-Agent", c.s.userAgent())
47475	var body io.Reader = nil
47476	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47477	if err != nil {
47478		return nil, err
47479	}
47480	reqHeaders.Set("Content-Type", "application/json")
47481	c.urlParams_.Set("alt", alt)
47482	c.urlParams_.Set("prettyPrint", "false")
47483	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47484	urls += "?" + c.urlParams_.Encode()
47485	req, err := http.NewRequest("PATCH", urls, body)
47486	if err != nil {
47487		return nil, err
47488	}
47489	req.Header = reqHeaders
47490	googleapi.Expand(req.URL, map[string]string{
47491		"profileId": strconv.FormatInt(c.profileId, 10),
47492	})
47493	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47494}
47495
47496// Do executes the "dfareporting.subaccounts.patch" call.
47497// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47498// status code is an error. Response headers are in either
47499// *Subaccount.ServerResponse.Header or (if a response was returned at
47500// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47501// to check whether the returned error was because
47502// http.StatusNotModified was returned.
47503func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47504	gensupport.SetOptions(c.urlParams_, opts...)
47505	res, err := c.doRequest("json")
47506	if res != nil && res.StatusCode == http.StatusNotModified {
47507		if res.Body != nil {
47508			res.Body.Close()
47509		}
47510		return nil, &googleapi.Error{
47511			Code:   res.StatusCode,
47512			Header: res.Header,
47513		}
47514	}
47515	if err != nil {
47516		return nil, err
47517	}
47518	defer googleapi.CloseBody(res)
47519	if err := googleapi.CheckResponse(res); err != nil {
47520		return nil, err
47521	}
47522	ret := &Subaccount{
47523		ServerResponse: googleapi.ServerResponse{
47524			Header:         res.Header,
47525			HTTPStatusCode: res.StatusCode,
47526		},
47527	}
47528	target := &ret
47529	if err := gensupport.DecodeResponse(target, res); err != nil {
47530		return nil, err
47531	}
47532	return ret, nil
47533	// {
47534	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
47535	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47536	//   "httpMethod": "PATCH",
47537	//   "id": "dfareporting.subaccounts.patch",
47538	//   "parameterOrder": [
47539	//     "profileId",
47540	//     "id"
47541	//   ],
47542	//   "parameters": {
47543	//     "id": {
47544	//       "description": "Subaccount ID.",
47545	//       "format": "int64",
47546	//       "location": "query",
47547	//       "required": true,
47548	//       "type": "string"
47549	//     },
47550	//     "profileId": {
47551	//       "description": "User profile ID associated with this request.",
47552	//       "format": "int64",
47553	//       "location": "path",
47554	//       "required": true,
47555	//       "type": "string"
47556	//     }
47557	//   },
47558	//   "path": "userprofiles/{profileId}/subaccounts",
47559	//   "request": {
47560	//     "$ref": "Subaccount"
47561	//   },
47562	//   "response": {
47563	//     "$ref": "Subaccount"
47564	//   },
47565	//   "scopes": [
47566	//     "https://www.googleapis.com/auth/dfatrafficking"
47567	//   ]
47568	// }
47569
47570}
47571
47572// method id "dfareporting.subaccounts.update":
47573
47574type SubaccountsUpdateCall struct {
47575	s          *Service
47576	profileId  int64
47577	subaccount *Subaccount
47578	urlParams_ gensupport.URLParams
47579	ctx_       context.Context
47580	header_    http.Header
47581}
47582
47583// Update: Updates an existing subaccount.
47584func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
47585	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47586	c.profileId = profileId
47587	c.subaccount = subaccount
47588	return c
47589}
47590
47591// Fields allows partial responses to be retrieved. See
47592// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47593// for more information.
47594func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
47595	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47596	return c
47597}
47598
47599// Context sets the context to be used in this call's Do method. Any
47600// pending HTTP request will be aborted if the provided context is
47601// canceled.
47602func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
47603	c.ctx_ = ctx
47604	return c
47605}
47606
47607// Header returns an http.Header that can be modified by the caller to
47608// add HTTP headers to the request.
47609func (c *SubaccountsUpdateCall) Header() http.Header {
47610	if c.header_ == nil {
47611		c.header_ = make(http.Header)
47612	}
47613	return c.header_
47614}
47615
47616func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
47617	reqHeaders := make(http.Header)
47618	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
47619	for k, v := range c.header_ {
47620		reqHeaders[k] = v
47621	}
47622	reqHeaders.Set("User-Agent", c.s.userAgent())
47623	var body io.Reader = nil
47624	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47625	if err != nil {
47626		return nil, err
47627	}
47628	reqHeaders.Set("Content-Type", "application/json")
47629	c.urlParams_.Set("alt", alt)
47630	c.urlParams_.Set("prettyPrint", "false")
47631	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47632	urls += "?" + c.urlParams_.Encode()
47633	req, err := http.NewRequest("PUT", urls, body)
47634	if err != nil {
47635		return nil, err
47636	}
47637	req.Header = reqHeaders
47638	googleapi.Expand(req.URL, map[string]string{
47639		"profileId": strconv.FormatInt(c.profileId, 10),
47640	})
47641	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47642}
47643
47644// Do executes the "dfareporting.subaccounts.update" call.
47645// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47646// status code is an error. Response headers are in either
47647// *Subaccount.ServerResponse.Header or (if a response was returned at
47648// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47649// to check whether the returned error was because
47650// http.StatusNotModified was returned.
47651func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47652	gensupport.SetOptions(c.urlParams_, opts...)
47653	res, err := c.doRequest("json")
47654	if res != nil && res.StatusCode == http.StatusNotModified {
47655		if res.Body != nil {
47656			res.Body.Close()
47657		}
47658		return nil, &googleapi.Error{
47659			Code:   res.StatusCode,
47660			Header: res.Header,
47661		}
47662	}
47663	if err != nil {
47664		return nil, err
47665	}
47666	defer googleapi.CloseBody(res)
47667	if err := googleapi.CheckResponse(res); err != nil {
47668		return nil, err
47669	}
47670	ret := &Subaccount{
47671		ServerResponse: googleapi.ServerResponse{
47672			Header:         res.Header,
47673			HTTPStatusCode: res.StatusCode,
47674		},
47675	}
47676	target := &ret
47677	if err := gensupport.DecodeResponse(target, res); err != nil {
47678		return nil, err
47679	}
47680	return ret, nil
47681	// {
47682	//   "description": "Updates an existing subaccount.",
47683	//   "flatPath": "userprofiles/{profileId}/subaccounts",
47684	//   "httpMethod": "PUT",
47685	//   "id": "dfareporting.subaccounts.update",
47686	//   "parameterOrder": [
47687	//     "profileId"
47688	//   ],
47689	//   "parameters": {
47690	//     "profileId": {
47691	//       "description": "User profile ID associated with this request.",
47692	//       "format": "int64",
47693	//       "location": "path",
47694	//       "required": true,
47695	//       "type": "string"
47696	//     }
47697	//   },
47698	//   "path": "userprofiles/{profileId}/subaccounts",
47699	//   "request": {
47700	//     "$ref": "Subaccount"
47701	//   },
47702	//   "response": {
47703	//     "$ref": "Subaccount"
47704	//   },
47705	//   "scopes": [
47706	//     "https://www.googleapis.com/auth/dfatrafficking"
47707	//   ]
47708	// }
47709
47710}
47711
47712// method id "dfareporting.targetableRemarketingLists.get":
47713
47714type TargetableRemarketingListsGetCall struct {
47715	s            *Service
47716	profileId    int64
47717	id           int64
47718	urlParams_   gensupport.URLParams
47719	ifNoneMatch_ string
47720	ctx_         context.Context
47721	header_      http.Header
47722}
47723
47724// Get: Gets one remarketing list by ID.
47725func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
47726	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47727	c.profileId = profileId
47728	c.id = id
47729	return c
47730}
47731
47732// Fields allows partial responses to be retrieved. See
47733// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47734// for more information.
47735func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
47736	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47737	return c
47738}
47739
47740// IfNoneMatch sets the optional parameter which makes the operation
47741// fail if the object's ETag matches the given value. This is useful for
47742// getting updates only after the object has changed since the last
47743// request. Use googleapi.IsNotModified to check whether the response
47744// error from Do is the result of In-None-Match.
47745func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
47746	c.ifNoneMatch_ = entityTag
47747	return c
47748}
47749
47750// Context sets the context to be used in this call's Do method. Any
47751// pending HTTP request will be aborted if the provided context is
47752// canceled.
47753func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
47754	c.ctx_ = ctx
47755	return c
47756}
47757
47758// Header returns an http.Header that can be modified by the caller to
47759// add HTTP headers to the request.
47760func (c *TargetableRemarketingListsGetCall) Header() http.Header {
47761	if c.header_ == nil {
47762		c.header_ = make(http.Header)
47763	}
47764	return c.header_
47765}
47766
47767func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
47768	reqHeaders := make(http.Header)
47769	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
47770	for k, v := range c.header_ {
47771		reqHeaders[k] = v
47772	}
47773	reqHeaders.Set("User-Agent", c.s.userAgent())
47774	if c.ifNoneMatch_ != "" {
47775		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47776	}
47777	var body io.Reader = nil
47778	c.urlParams_.Set("alt", alt)
47779	c.urlParams_.Set("prettyPrint", "false")
47780	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
47781	urls += "?" + c.urlParams_.Encode()
47782	req, err := http.NewRequest("GET", urls, body)
47783	if err != nil {
47784		return nil, err
47785	}
47786	req.Header = reqHeaders
47787	googleapi.Expand(req.URL, map[string]string{
47788		"profileId": strconv.FormatInt(c.profileId, 10),
47789		"id":        strconv.FormatInt(c.id, 10),
47790	})
47791	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47792}
47793
47794// Do executes the "dfareporting.targetableRemarketingLists.get" call.
47795// Exactly one of *TargetableRemarketingList or error will be non-nil.
47796// Any non-2xx status code is an error. Response headers are in either
47797// *TargetableRemarketingList.ServerResponse.Header or (if a response
47798// was returned at all) in error.(*googleapi.Error).Header. Use
47799// googleapi.IsNotModified to check whether the returned error was
47800// because http.StatusNotModified was returned.
47801func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
47802	gensupport.SetOptions(c.urlParams_, opts...)
47803	res, err := c.doRequest("json")
47804	if res != nil && res.StatusCode == http.StatusNotModified {
47805		if res.Body != nil {
47806			res.Body.Close()
47807		}
47808		return nil, &googleapi.Error{
47809			Code:   res.StatusCode,
47810			Header: res.Header,
47811		}
47812	}
47813	if err != nil {
47814		return nil, err
47815	}
47816	defer googleapi.CloseBody(res)
47817	if err := googleapi.CheckResponse(res); err != nil {
47818		return nil, err
47819	}
47820	ret := &TargetableRemarketingList{
47821		ServerResponse: googleapi.ServerResponse{
47822			Header:         res.Header,
47823			HTTPStatusCode: res.StatusCode,
47824		},
47825	}
47826	target := &ret
47827	if err := gensupport.DecodeResponse(target, res); err != nil {
47828		return nil, err
47829	}
47830	return ret, nil
47831	// {
47832	//   "description": "Gets one remarketing list by ID.",
47833	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
47834	//   "httpMethod": "GET",
47835	//   "id": "dfareporting.targetableRemarketingLists.get",
47836	//   "parameterOrder": [
47837	//     "profileId",
47838	//     "id"
47839	//   ],
47840	//   "parameters": {
47841	//     "id": {
47842	//       "description": "Remarketing list ID.",
47843	//       "format": "int64",
47844	//       "location": "path",
47845	//       "required": true,
47846	//       "type": "string"
47847	//     },
47848	//     "profileId": {
47849	//       "description": "User profile ID associated with this request.",
47850	//       "format": "int64",
47851	//       "location": "path",
47852	//       "required": true,
47853	//       "type": "string"
47854	//     }
47855	//   },
47856	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
47857	//   "response": {
47858	//     "$ref": "TargetableRemarketingList"
47859	//   },
47860	//   "scopes": [
47861	//     "https://www.googleapis.com/auth/dfatrafficking"
47862	//   ]
47863	// }
47864
47865}
47866
47867// method id "dfareporting.targetableRemarketingLists.list":
47868
47869type TargetableRemarketingListsListCall struct {
47870	s            *Service
47871	profileId    int64
47872	urlParams_   gensupport.URLParams
47873	ifNoneMatch_ string
47874	ctx_         context.Context
47875	header_      http.Header
47876}
47877
47878// List: Retrieves a list of targetable remarketing lists, possibly
47879// filtered. This method supports paging.
47880func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
47881	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47882	c.profileId = profileId
47883	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
47884	return c
47885}
47886
47887// Active sets the optional parameter "active": Select only active or
47888// only inactive targetable remarketing lists.
47889func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
47890	c.urlParams_.Set("active", fmt.Sprint(active))
47891	return c
47892}
47893
47894// MaxResults sets the optional parameter "maxResults": Maximum number
47895// of results to return.
47896func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
47897	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47898	return c
47899}
47900
47901// Name sets the optional parameter "name": Allows searching for objects
47902// by name or ID. Wildcards (*) are allowed. For example, "remarketing
47903// list*2015" will return objects with names like "remarketing list June
47904// 2015", "remarketing list April 2015", or simply "remarketing list
47905// 2015". Most of the searches also add wildcards implicitly at the
47906// start and the end of the search string. For example, a search string
47907// of "remarketing list" will match objects with name "my remarketing
47908// list", "remarketing list 2015", or simply "remarketing list".
47909func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
47910	c.urlParams_.Set("name", name)
47911	return c
47912}
47913
47914// PageToken sets the optional parameter "pageToken": Value of the
47915// nextPageToken from the previous result page.
47916func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
47917	c.urlParams_.Set("pageToken", pageToken)
47918	return c
47919}
47920
47921// SortField sets the optional parameter "sortField": Field by which to
47922// sort the list.
47923//
47924// Possible values:
47925//   "ID" (default)
47926//   "NAME"
47927func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
47928	c.urlParams_.Set("sortField", sortField)
47929	return c
47930}
47931
47932// SortOrder sets the optional parameter "sortOrder": Order of sorted
47933// results.
47934//
47935// Possible values:
47936//   "ASCENDING" (default)
47937//   "DESCENDING"
47938func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
47939	c.urlParams_.Set("sortOrder", sortOrder)
47940	return c
47941}
47942
47943// Fields allows partial responses to be retrieved. See
47944// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47945// for more information.
47946func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
47947	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47948	return c
47949}
47950
47951// IfNoneMatch sets the optional parameter which makes the operation
47952// fail if the object's ETag matches the given value. This is useful for
47953// getting updates only after the object has changed since the last
47954// request. Use googleapi.IsNotModified to check whether the response
47955// error from Do is the result of In-None-Match.
47956func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
47957	c.ifNoneMatch_ = entityTag
47958	return c
47959}
47960
47961// Context sets the context to be used in this call's Do method. Any
47962// pending HTTP request will be aborted if the provided context is
47963// canceled.
47964func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
47965	c.ctx_ = ctx
47966	return c
47967}
47968
47969// Header returns an http.Header that can be modified by the caller to
47970// add HTTP headers to the request.
47971func (c *TargetableRemarketingListsListCall) Header() http.Header {
47972	if c.header_ == nil {
47973		c.header_ = make(http.Header)
47974	}
47975	return c.header_
47976}
47977
47978func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
47979	reqHeaders := make(http.Header)
47980	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
47981	for k, v := range c.header_ {
47982		reqHeaders[k] = v
47983	}
47984	reqHeaders.Set("User-Agent", c.s.userAgent())
47985	if c.ifNoneMatch_ != "" {
47986		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47987	}
47988	var body io.Reader = nil
47989	c.urlParams_.Set("alt", alt)
47990	c.urlParams_.Set("prettyPrint", "false")
47991	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
47992	urls += "?" + c.urlParams_.Encode()
47993	req, err := http.NewRequest("GET", urls, body)
47994	if err != nil {
47995		return nil, err
47996	}
47997	req.Header = reqHeaders
47998	googleapi.Expand(req.URL, map[string]string{
47999		"profileId": strconv.FormatInt(c.profileId, 10),
48000	})
48001	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48002}
48003
48004// Do executes the "dfareporting.targetableRemarketingLists.list" call.
48005// Exactly one of *TargetableRemarketingListsListResponse or error will
48006// be non-nil. Any non-2xx status code is an error. Response headers are
48007// in either
48008// *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
48009// a response was returned at all) in error.(*googleapi.Error).Header.
48010// Use googleapi.IsNotModified to check whether the returned error was
48011// because http.StatusNotModified was returned.
48012func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
48013	gensupport.SetOptions(c.urlParams_, opts...)
48014	res, err := c.doRequest("json")
48015	if res != nil && res.StatusCode == http.StatusNotModified {
48016		if res.Body != nil {
48017			res.Body.Close()
48018		}
48019		return nil, &googleapi.Error{
48020			Code:   res.StatusCode,
48021			Header: res.Header,
48022		}
48023	}
48024	if err != nil {
48025		return nil, err
48026	}
48027	defer googleapi.CloseBody(res)
48028	if err := googleapi.CheckResponse(res); err != nil {
48029		return nil, err
48030	}
48031	ret := &TargetableRemarketingListsListResponse{
48032		ServerResponse: googleapi.ServerResponse{
48033			Header:         res.Header,
48034			HTTPStatusCode: res.StatusCode,
48035		},
48036	}
48037	target := &ret
48038	if err := gensupport.DecodeResponse(target, res); err != nil {
48039		return nil, err
48040	}
48041	return ret, nil
48042	// {
48043	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
48044	//   "flatPath": "userprofiles/{profileId}/targetableRemarketingLists",
48045	//   "httpMethod": "GET",
48046	//   "id": "dfareporting.targetableRemarketingLists.list",
48047	//   "parameterOrder": [
48048	//     "profileId",
48049	//     "advertiserId"
48050	//   ],
48051	//   "parameters": {
48052	//     "active": {
48053	//       "description": "Select only active or only inactive targetable remarketing lists.",
48054	//       "location": "query",
48055	//       "type": "boolean"
48056	//     },
48057	//     "advertiserId": {
48058	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
48059	//       "format": "int64",
48060	//       "location": "query",
48061	//       "required": true,
48062	//       "type": "string"
48063	//     },
48064	//     "maxResults": {
48065	//       "default": "1000",
48066	//       "description": "Maximum number of results to return.",
48067	//       "format": "int32",
48068	//       "location": "query",
48069	//       "maximum": "1000",
48070	//       "minimum": "0",
48071	//       "type": "integer"
48072	//     },
48073	//     "name": {
48074	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".",
48075	//       "location": "query",
48076	//       "type": "string"
48077	//     },
48078	//     "pageToken": {
48079	//       "description": "Value of the nextPageToken from the previous result page.",
48080	//       "location": "query",
48081	//       "type": "string"
48082	//     },
48083	//     "profileId": {
48084	//       "description": "User profile ID associated with this request.",
48085	//       "format": "int64",
48086	//       "location": "path",
48087	//       "required": true,
48088	//       "type": "string"
48089	//     },
48090	//     "sortField": {
48091	//       "default": "ID",
48092	//       "description": "Field by which to sort the list.",
48093	//       "enum": [
48094	//         "ID",
48095	//         "NAME"
48096	//       ],
48097	//       "enumDescriptions": [
48098	//         "",
48099	//         ""
48100	//       ],
48101	//       "location": "query",
48102	//       "type": "string"
48103	//     },
48104	//     "sortOrder": {
48105	//       "default": "ASCENDING",
48106	//       "description": "Order of sorted results.",
48107	//       "enum": [
48108	//         "ASCENDING",
48109	//         "DESCENDING"
48110	//       ],
48111	//       "enumDescriptions": [
48112	//         "",
48113	//         ""
48114	//       ],
48115	//       "location": "query",
48116	//       "type": "string"
48117	//     }
48118	//   },
48119	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
48120	//   "response": {
48121	//     "$ref": "TargetableRemarketingListsListResponse"
48122	//   },
48123	//   "scopes": [
48124	//     "https://www.googleapis.com/auth/dfatrafficking"
48125	//   ]
48126	// }
48127
48128}
48129
48130// Pages invokes f for each page of results.
48131// A non-nil error returned from f will halt the iteration.
48132// The provided context supersedes any context provided to the Context method.
48133func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
48134	c.ctx_ = ctx
48135	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48136	for {
48137		x, err := c.Do()
48138		if err != nil {
48139			return err
48140		}
48141		if err := f(x); err != nil {
48142			return err
48143		}
48144		if x.NextPageToken == "" {
48145			return nil
48146		}
48147		c.PageToken(x.NextPageToken)
48148	}
48149}
48150
48151// method id "dfareporting.targetingTemplates.get":
48152
48153type TargetingTemplatesGetCall struct {
48154	s            *Service
48155	profileId    int64
48156	id           int64
48157	urlParams_   gensupport.URLParams
48158	ifNoneMatch_ string
48159	ctx_         context.Context
48160	header_      http.Header
48161}
48162
48163// Get: Gets one targeting template by ID.
48164func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
48165	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48166	c.profileId = profileId
48167	c.id = id
48168	return c
48169}
48170
48171// Fields allows partial responses to be retrieved. See
48172// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48173// for more information.
48174func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
48175	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48176	return c
48177}
48178
48179// IfNoneMatch sets the optional parameter which makes the operation
48180// fail if the object's ETag matches the given value. This is useful for
48181// getting updates only after the object has changed since the last
48182// request. Use googleapi.IsNotModified to check whether the response
48183// error from Do is the result of In-None-Match.
48184func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
48185	c.ifNoneMatch_ = entityTag
48186	return c
48187}
48188
48189// Context sets the context to be used in this call's Do method. Any
48190// pending HTTP request will be aborted if the provided context is
48191// canceled.
48192func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
48193	c.ctx_ = ctx
48194	return c
48195}
48196
48197// Header returns an http.Header that can be modified by the caller to
48198// add HTTP headers to the request.
48199func (c *TargetingTemplatesGetCall) Header() http.Header {
48200	if c.header_ == nil {
48201		c.header_ = make(http.Header)
48202	}
48203	return c.header_
48204}
48205
48206func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
48207	reqHeaders := make(http.Header)
48208	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
48209	for k, v := range c.header_ {
48210		reqHeaders[k] = v
48211	}
48212	reqHeaders.Set("User-Agent", c.s.userAgent())
48213	if c.ifNoneMatch_ != "" {
48214		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48215	}
48216	var body io.Reader = nil
48217	c.urlParams_.Set("alt", alt)
48218	c.urlParams_.Set("prettyPrint", "false")
48219	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
48220	urls += "?" + c.urlParams_.Encode()
48221	req, err := http.NewRequest("GET", urls, body)
48222	if err != nil {
48223		return nil, err
48224	}
48225	req.Header = reqHeaders
48226	googleapi.Expand(req.URL, map[string]string{
48227		"profileId": strconv.FormatInt(c.profileId, 10),
48228		"id":        strconv.FormatInt(c.id, 10),
48229	})
48230	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48231}
48232
48233// Do executes the "dfareporting.targetingTemplates.get" call.
48234// Exactly one of *TargetingTemplate or error will be non-nil. Any
48235// non-2xx status code is an error. Response headers are in either
48236// *TargetingTemplate.ServerResponse.Header or (if a response was
48237// returned at all) in error.(*googleapi.Error).Header. Use
48238// googleapi.IsNotModified to check whether the returned error was
48239// because http.StatusNotModified was returned.
48240func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48241	gensupport.SetOptions(c.urlParams_, opts...)
48242	res, err := c.doRequest("json")
48243	if res != nil && res.StatusCode == http.StatusNotModified {
48244		if res.Body != nil {
48245			res.Body.Close()
48246		}
48247		return nil, &googleapi.Error{
48248			Code:   res.StatusCode,
48249			Header: res.Header,
48250		}
48251	}
48252	if err != nil {
48253		return nil, err
48254	}
48255	defer googleapi.CloseBody(res)
48256	if err := googleapi.CheckResponse(res); err != nil {
48257		return nil, err
48258	}
48259	ret := &TargetingTemplate{
48260		ServerResponse: googleapi.ServerResponse{
48261			Header:         res.Header,
48262			HTTPStatusCode: res.StatusCode,
48263		},
48264	}
48265	target := &ret
48266	if err := gensupport.DecodeResponse(target, res); err != nil {
48267		return nil, err
48268	}
48269	return ret, nil
48270	// {
48271	//   "description": "Gets one targeting template by ID.",
48272	//   "flatPath": "userprofiles/{profileId}/targetingTemplates/{id}",
48273	//   "httpMethod": "GET",
48274	//   "id": "dfareporting.targetingTemplates.get",
48275	//   "parameterOrder": [
48276	//     "profileId",
48277	//     "id"
48278	//   ],
48279	//   "parameters": {
48280	//     "id": {
48281	//       "description": "Targeting template ID.",
48282	//       "format": "int64",
48283	//       "location": "path",
48284	//       "required": true,
48285	//       "type": "string"
48286	//     },
48287	//     "profileId": {
48288	//       "description": "User profile ID associated with this request.",
48289	//       "format": "int64",
48290	//       "location": "path",
48291	//       "required": true,
48292	//       "type": "string"
48293	//     }
48294	//   },
48295	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
48296	//   "response": {
48297	//     "$ref": "TargetingTemplate"
48298	//   },
48299	//   "scopes": [
48300	//     "https://www.googleapis.com/auth/dfatrafficking"
48301	//   ]
48302	// }
48303
48304}
48305
48306// method id "dfareporting.targetingTemplates.insert":
48307
48308type TargetingTemplatesInsertCall struct {
48309	s                 *Service
48310	profileId         int64
48311	targetingtemplate *TargetingTemplate
48312	urlParams_        gensupport.URLParams
48313	ctx_              context.Context
48314	header_           http.Header
48315}
48316
48317// Insert: Inserts a new targeting template.
48318func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
48319	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48320	c.profileId = profileId
48321	c.targetingtemplate = targetingtemplate
48322	return c
48323}
48324
48325// Fields allows partial responses to be retrieved. See
48326// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48327// for more information.
48328func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
48329	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48330	return c
48331}
48332
48333// Context sets the context to be used in this call's Do method. Any
48334// pending HTTP request will be aborted if the provided context is
48335// canceled.
48336func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
48337	c.ctx_ = ctx
48338	return c
48339}
48340
48341// Header returns an http.Header that can be modified by the caller to
48342// add HTTP headers to the request.
48343func (c *TargetingTemplatesInsertCall) Header() http.Header {
48344	if c.header_ == nil {
48345		c.header_ = make(http.Header)
48346	}
48347	return c.header_
48348}
48349
48350func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
48351	reqHeaders := make(http.Header)
48352	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
48353	for k, v := range c.header_ {
48354		reqHeaders[k] = v
48355	}
48356	reqHeaders.Set("User-Agent", c.s.userAgent())
48357	var body io.Reader = nil
48358	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48359	if err != nil {
48360		return nil, err
48361	}
48362	reqHeaders.Set("Content-Type", "application/json")
48363	c.urlParams_.Set("alt", alt)
48364	c.urlParams_.Set("prettyPrint", "false")
48365	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48366	urls += "?" + c.urlParams_.Encode()
48367	req, err := http.NewRequest("POST", urls, body)
48368	if err != nil {
48369		return nil, err
48370	}
48371	req.Header = reqHeaders
48372	googleapi.Expand(req.URL, map[string]string{
48373		"profileId": strconv.FormatInt(c.profileId, 10),
48374	})
48375	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48376}
48377
48378// Do executes the "dfareporting.targetingTemplates.insert" call.
48379// Exactly one of *TargetingTemplate or error will be non-nil. Any
48380// non-2xx status code is an error. Response headers are in either
48381// *TargetingTemplate.ServerResponse.Header or (if a response was
48382// returned at all) in error.(*googleapi.Error).Header. Use
48383// googleapi.IsNotModified to check whether the returned error was
48384// because http.StatusNotModified was returned.
48385func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48386	gensupport.SetOptions(c.urlParams_, opts...)
48387	res, err := c.doRequest("json")
48388	if res != nil && res.StatusCode == http.StatusNotModified {
48389		if res.Body != nil {
48390			res.Body.Close()
48391		}
48392		return nil, &googleapi.Error{
48393			Code:   res.StatusCode,
48394			Header: res.Header,
48395		}
48396	}
48397	if err != nil {
48398		return nil, err
48399	}
48400	defer googleapi.CloseBody(res)
48401	if err := googleapi.CheckResponse(res); err != nil {
48402		return nil, err
48403	}
48404	ret := &TargetingTemplate{
48405		ServerResponse: googleapi.ServerResponse{
48406			Header:         res.Header,
48407			HTTPStatusCode: res.StatusCode,
48408		},
48409	}
48410	target := &ret
48411	if err := gensupport.DecodeResponse(target, res); err != nil {
48412		return nil, err
48413	}
48414	return ret, nil
48415	// {
48416	//   "description": "Inserts a new targeting template.",
48417	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48418	//   "httpMethod": "POST",
48419	//   "id": "dfareporting.targetingTemplates.insert",
48420	//   "parameterOrder": [
48421	//     "profileId"
48422	//   ],
48423	//   "parameters": {
48424	//     "profileId": {
48425	//       "description": "User profile ID associated with this request.",
48426	//       "format": "int64",
48427	//       "location": "path",
48428	//       "required": true,
48429	//       "type": "string"
48430	//     }
48431	//   },
48432	//   "path": "userprofiles/{profileId}/targetingTemplates",
48433	//   "request": {
48434	//     "$ref": "TargetingTemplate"
48435	//   },
48436	//   "response": {
48437	//     "$ref": "TargetingTemplate"
48438	//   },
48439	//   "scopes": [
48440	//     "https://www.googleapis.com/auth/dfatrafficking"
48441	//   ]
48442	// }
48443
48444}
48445
48446// method id "dfareporting.targetingTemplates.list":
48447
48448type TargetingTemplatesListCall struct {
48449	s            *Service
48450	profileId    int64
48451	urlParams_   gensupport.URLParams
48452	ifNoneMatch_ string
48453	ctx_         context.Context
48454	header_      http.Header
48455}
48456
48457// List: Retrieves a list of targeting templates, optionally filtered.
48458// This method supports paging.
48459func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
48460	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48461	c.profileId = profileId
48462	return c
48463}
48464
48465// AdvertiserId sets the optional parameter "advertiserId": Select only
48466// targeting templates with this advertiser ID.
48467func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
48468	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48469	return c
48470}
48471
48472// Ids sets the optional parameter "ids": Select only targeting
48473// templates with these IDs.
48474func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
48475	var ids_ []string
48476	for _, v := range ids {
48477		ids_ = append(ids_, fmt.Sprint(v))
48478	}
48479	c.urlParams_.SetMulti("ids", ids_)
48480	return c
48481}
48482
48483// MaxResults sets the optional parameter "maxResults": Maximum number
48484// of results to return.
48485func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
48486	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48487	return c
48488}
48489
48490// PageToken sets the optional parameter "pageToken": Value of the
48491// nextPageToken from the previous result page.
48492func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
48493	c.urlParams_.Set("pageToken", pageToken)
48494	return c
48495}
48496
48497// SearchString sets the optional parameter "searchString": Allows
48498// searching for objects by name or ID. Wildcards (*) are allowed. For
48499// example, "template*2015" will return objects with names like
48500// "template June 2015", "template April 2015", or simply "template
48501// 2015". Most of the searches also add wildcards implicitly at the
48502// start and the end of the search string. For example, a search string
48503// of "template" will match objects with name "my template", "template
48504// 2015", or simply "template".
48505func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
48506	c.urlParams_.Set("searchString", searchString)
48507	return c
48508}
48509
48510// SortField sets the optional parameter "sortField": Field by which to
48511// sort the list.
48512//
48513// Possible values:
48514//   "ID" (default)
48515//   "NAME"
48516func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
48517	c.urlParams_.Set("sortField", sortField)
48518	return c
48519}
48520
48521// SortOrder sets the optional parameter "sortOrder": Order of sorted
48522// results.
48523//
48524// Possible values:
48525//   "ASCENDING" (default)
48526//   "DESCENDING"
48527func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
48528	c.urlParams_.Set("sortOrder", sortOrder)
48529	return c
48530}
48531
48532// Fields allows partial responses to be retrieved. See
48533// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48534// for more information.
48535func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
48536	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48537	return c
48538}
48539
48540// IfNoneMatch sets the optional parameter which makes the operation
48541// fail if the object's ETag matches the given value. This is useful for
48542// getting updates only after the object has changed since the last
48543// request. Use googleapi.IsNotModified to check whether the response
48544// error from Do is the result of In-None-Match.
48545func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
48546	c.ifNoneMatch_ = entityTag
48547	return c
48548}
48549
48550// Context sets the context to be used in this call's Do method. Any
48551// pending HTTP request will be aborted if the provided context is
48552// canceled.
48553func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
48554	c.ctx_ = ctx
48555	return c
48556}
48557
48558// Header returns an http.Header that can be modified by the caller to
48559// add HTTP headers to the request.
48560func (c *TargetingTemplatesListCall) Header() http.Header {
48561	if c.header_ == nil {
48562		c.header_ = make(http.Header)
48563	}
48564	return c.header_
48565}
48566
48567func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
48568	reqHeaders := make(http.Header)
48569	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
48570	for k, v := range c.header_ {
48571		reqHeaders[k] = v
48572	}
48573	reqHeaders.Set("User-Agent", c.s.userAgent())
48574	if c.ifNoneMatch_ != "" {
48575		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48576	}
48577	var body io.Reader = nil
48578	c.urlParams_.Set("alt", alt)
48579	c.urlParams_.Set("prettyPrint", "false")
48580	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48581	urls += "?" + c.urlParams_.Encode()
48582	req, err := http.NewRequest("GET", urls, body)
48583	if err != nil {
48584		return nil, err
48585	}
48586	req.Header = reqHeaders
48587	googleapi.Expand(req.URL, map[string]string{
48588		"profileId": strconv.FormatInt(c.profileId, 10),
48589	})
48590	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48591}
48592
48593// Do executes the "dfareporting.targetingTemplates.list" call.
48594// Exactly one of *TargetingTemplatesListResponse or error will be
48595// non-nil. Any non-2xx status code is an error. Response headers are in
48596// either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
48597// response was returned at all) in error.(*googleapi.Error).Header. Use
48598// googleapi.IsNotModified to check whether the returned error was
48599// because http.StatusNotModified was returned.
48600func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
48601	gensupport.SetOptions(c.urlParams_, opts...)
48602	res, err := c.doRequest("json")
48603	if res != nil && res.StatusCode == http.StatusNotModified {
48604		if res.Body != nil {
48605			res.Body.Close()
48606		}
48607		return nil, &googleapi.Error{
48608			Code:   res.StatusCode,
48609			Header: res.Header,
48610		}
48611	}
48612	if err != nil {
48613		return nil, err
48614	}
48615	defer googleapi.CloseBody(res)
48616	if err := googleapi.CheckResponse(res); err != nil {
48617		return nil, err
48618	}
48619	ret := &TargetingTemplatesListResponse{
48620		ServerResponse: googleapi.ServerResponse{
48621			Header:         res.Header,
48622			HTTPStatusCode: res.StatusCode,
48623		},
48624	}
48625	target := &ret
48626	if err := gensupport.DecodeResponse(target, res); err != nil {
48627		return nil, err
48628	}
48629	return ret, nil
48630	// {
48631	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
48632	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48633	//   "httpMethod": "GET",
48634	//   "id": "dfareporting.targetingTemplates.list",
48635	//   "parameterOrder": [
48636	//     "profileId"
48637	//   ],
48638	//   "parameters": {
48639	//     "advertiserId": {
48640	//       "description": "Select only targeting templates with this advertiser ID.",
48641	//       "format": "int64",
48642	//       "location": "query",
48643	//       "type": "string"
48644	//     },
48645	//     "ids": {
48646	//       "description": "Select only targeting templates with these IDs.",
48647	//       "format": "int64",
48648	//       "location": "query",
48649	//       "repeated": true,
48650	//       "type": "string"
48651	//     },
48652	//     "maxResults": {
48653	//       "default": "1000",
48654	//       "description": "Maximum number of results to return.",
48655	//       "format": "int32",
48656	//       "location": "query",
48657	//       "maximum": "1000",
48658	//       "minimum": "0",
48659	//       "type": "integer"
48660	//     },
48661	//     "pageToken": {
48662	//       "description": "Value of the nextPageToken from the previous result page.",
48663	//       "location": "query",
48664	//       "type": "string"
48665	//     },
48666	//     "profileId": {
48667	//       "description": "User profile ID associated with this request.",
48668	//       "format": "int64",
48669	//       "location": "path",
48670	//       "required": true,
48671	//       "type": "string"
48672	//     },
48673	//     "searchString": {
48674	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"template*2015\" will return objects with names like \"template June 2015\", \"template April 2015\", or simply \"template 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"template\" will match objects with name \"my template\", \"template 2015\", or simply \"template\".",
48675	//       "location": "query",
48676	//       "type": "string"
48677	//     },
48678	//     "sortField": {
48679	//       "default": "ID",
48680	//       "description": "Field by which to sort the list.",
48681	//       "enum": [
48682	//         "ID",
48683	//         "NAME"
48684	//       ],
48685	//       "enumDescriptions": [
48686	//         "",
48687	//         ""
48688	//       ],
48689	//       "location": "query",
48690	//       "type": "string"
48691	//     },
48692	//     "sortOrder": {
48693	//       "default": "ASCENDING",
48694	//       "description": "Order of sorted results.",
48695	//       "enum": [
48696	//         "ASCENDING",
48697	//         "DESCENDING"
48698	//       ],
48699	//       "enumDescriptions": [
48700	//         "",
48701	//         ""
48702	//       ],
48703	//       "location": "query",
48704	//       "type": "string"
48705	//     }
48706	//   },
48707	//   "path": "userprofiles/{profileId}/targetingTemplates",
48708	//   "response": {
48709	//     "$ref": "TargetingTemplatesListResponse"
48710	//   },
48711	//   "scopes": [
48712	//     "https://www.googleapis.com/auth/dfatrafficking"
48713	//   ]
48714	// }
48715
48716}
48717
48718// Pages invokes f for each page of results.
48719// A non-nil error returned from f will halt the iteration.
48720// The provided context supersedes any context provided to the Context method.
48721func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
48722	c.ctx_ = ctx
48723	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48724	for {
48725		x, err := c.Do()
48726		if err != nil {
48727			return err
48728		}
48729		if err := f(x); err != nil {
48730			return err
48731		}
48732		if x.NextPageToken == "" {
48733			return nil
48734		}
48735		c.PageToken(x.NextPageToken)
48736	}
48737}
48738
48739// method id "dfareporting.targetingTemplates.patch":
48740
48741type TargetingTemplatesPatchCall struct {
48742	s                 *Service
48743	profileId         int64
48744	targetingtemplate *TargetingTemplate
48745	urlParams_        gensupport.URLParams
48746	ctx_              context.Context
48747	header_           http.Header
48748}
48749
48750// Patch: Updates an existing targeting template. This method supports
48751// patch semantics.
48752func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
48753	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48754	c.profileId = profileId
48755	c.urlParams_.Set("id", fmt.Sprint(id))
48756	c.targetingtemplate = targetingtemplate
48757	return c
48758}
48759
48760// Fields allows partial responses to be retrieved. See
48761// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48762// for more information.
48763func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
48764	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48765	return c
48766}
48767
48768// Context sets the context to be used in this call's Do method. Any
48769// pending HTTP request will be aborted if the provided context is
48770// canceled.
48771func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
48772	c.ctx_ = ctx
48773	return c
48774}
48775
48776// Header returns an http.Header that can be modified by the caller to
48777// add HTTP headers to the request.
48778func (c *TargetingTemplatesPatchCall) Header() http.Header {
48779	if c.header_ == nil {
48780		c.header_ = make(http.Header)
48781	}
48782	return c.header_
48783}
48784
48785func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
48786	reqHeaders := make(http.Header)
48787	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
48788	for k, v := range c.header_ {
48789		reqHeaders[k] = v
48790	}
48791	reqHeaders.Set("User-Agent", c.s.userAgent())
48792	var body io.Reader = nil
48793	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48794	if err != nil {
48795		return nil, err
48796	}
48797	reqHeaders.Set("Content-Type", "application/json")
48798	c.urlParams_.Set("alt", alt)
48799	c.urlParams_.Set("prettyPrint", "false")
48800	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48801	urls += "?" + c.urlParams_.Encode()
48802	req, err := http.NewRequest("PATCH", urls, body)
48803	if err != nil {
48804		return nil, err
48805	}
48806	req.Header = reqHeaders
48807	googleapi.Expand(req.URL, map[string]string{
48808		"profileId": strconv.FormatInt(c.profileId, 10),
48809	})
48810	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48811}
48812
48813// Do executes the "dfareporting.targetingTemplates.patch" call.
48814// Exactly one of *TargetingTemplate or error will be non-nil. Any
48815// non-2xx status code is an error. Response headers are in either
48816// *TargetingTemplate.ServerResponse.Header or (if a response was
48817// returned at all) in error.(*googleapi.Error).Header. Use
48818// googleapi.IsNotModified to check whether the returned error was
48819// because http.StatusNotModified was returned.
48820func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48821	gensupport.SetOptions(c.urlParams_, opts...)
48822	res, err := c.doRequest("json")
48823	if res != nil && res.StatusCode == http.StatusNotModified {
48824		if res.Body != nil {
48825			res.Body.Close()
48826		}
48827		return nil, &googleapi.Error{
48828			Code:   res.StatusCode,
48829			Header: res.Header,
48830		}
48831	}
48832	if err != nil {
48833		return nil, err
48834	}
48835	defer googleapi.CloseBody(res)
48836	if err := googleapi.CheckResponse(res); err != nil {
48837		return nil, err
48838	}
48839	ret := &TargetingTemplate{
48840		ServerResponse: googleapi.ServerResponse{
48841			Header:         res.Header,
48842			HTTPStatusCode: res.StatusCode,
48843		},
48844	}
48845	target := &ret
48846	if err := gensupport.DecodeResponse(target, res); err != nil {
48847		return nil, err
48848	}
48849	return ret, nil
48850	// {
48851	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
48852	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
48853	//   "httpMethod": "PATCH",
48854	//   "id": "dfareporting.targetingTemplates.patch",
48855	//   "parameterOrder": [
48856	//     "profileId",
48857	//     "id"
48858	//   ],
48859	//   "parameters": {
48860	//     "id": {
48861	//       "description": "TargetingTemplate ID.",
48862	//       "format": "int64",
48863	//       "location": "query",
48864	//       "required": true,
48865	//       "type": "string"
48866	//     },
48867	//     "profileId": {
48868	//       "description": "User profile ID associated with this request.",
48869	//       "format": "int64",
48870	//       "location": "path",
48871	//       "required": true,
48872	//       "type": "string"
48873	//     }
48874	//   },
48875	//   "path": "userprofiles/{profileId}/targetingTemplates",
48876	//   "request": {
48877	//     "$ref": "TargetingTemplate"
48878	//   },
48879	//   "response": {
48880	//     "$ref": "TargetingTemplate"
48881	//   },
48882	//   "scopes": [
48883	//     "https://www.googleapis.com/auth/dfatrafficking"
48884	//   ]
48885	// }
48886
48887}
48888
48889// method id "dfareporting.targetingTemplates.update":
48890
48891type TargetingTemplatesUpdateCall struct {
48892	s                 *Service
48893	profileId         int64
48894	targetingtemplate *TargetingTemplate
48895	urlParams_        gensupport.URLParams
48896	ctx_              context.Context
48897	header_           http.Header
48898}
48899
48900// Update: Updates an existing targeting template.
48901func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
48902	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48903	c.profileId = profileId
48904	c.targetingtemplate = targetingtemplate
48905	return c
48906}
48907
48908// Fields allows partial responses to be retrieved. See
48909// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48910// for more information.
48911func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
48912	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48913	return c
48914}
48915
48916// Context sets the context to be used in this call's Do method. Any
48917// pending HTTP request will be aborted if the provided context is
48918// canceled.
48919func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
48920	c.ctx_ = ctx
48921	return c
48922}
48923
48924// Header returns an http.Header that can be modified by the caller to
48925// add HTTP headers to the request.
48926func (c *TargetingTemplatesUpdateCall) Header() http.Header {
48927	if c.header_ == nil {
48928		c.header_ = make(http.Header)
48929	}
48930	return c.header_
48931}
48932
48933func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
48934	reqHeaders := make(http.Header)
48935	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
48936	for k, v := range c.header_ {
48937		reqHeaders[k] = v
48938	}
48939	reqHeaders.Set("User-Agent", c.s.userAgent())
48940	var body io.Reader = nil
48941	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48942	if err != nil {
48943		return nil, err
48944	}
48945	reqHeaders.Set("Content-Type", "application/json")
48946	c.urlParams_.Set("alt", alt)
48947	c.urlParams_.Set("prettyPrint", "false")
48948	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48949	urls += "?" + c.urlParams_.Encode()
48950	req, err := http.NewRequest("PUT", urls, body)
48951	if err != nil {
48952		return nil, err
48953	}
48954	req.Header = reqHeaders
48955	googleapi.Expand(req.URL, map[string]string{
48956		"profileId": strconv.FormatInt(c.profileId, 10),
48957	})
48958	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48959}
48960
48961// Do executes the "dfareporting.targetingTemplates.update" call.
48962// Exactly one of *TargetingTemplate or error will be non-nil. Any
48963// non-2xx status code is an error. Response headers are in either
48964// *TargetingTemplate.ServerResponse.Header or (if a response was
48965// returned at all) in error.(*googleapi.Error).Header. Use
48966// googleapi.IsNotModified to check whether the returned error was
48967// because http.StatusNotModified was returned.
48968func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48969	gensupport.SetOptions(c.urlParams_, opts...)
48970	res, err := c.doRequest("json")
48971	if res != nil && res.StatusCode == http.StatusNotModified {
48972		if res.Body != nil {
48973			res.Body.Close()
48974		}
48975		return nil, &googleapi.Error{
48976			Code:   res.StatusCode,
48977			Header: res.Header,
48978		}
48979	}
48980	if err != nil {
48981		return nil, err
48982	}
48983	defer googleapi.CloseBody(res)
48984	if err := googleapi.CheckResponse(res); err != nil {
48985		return nil, err
48986	}
48987	ret := &TargetingTemplate{
48988		ServerResponse: googleapi.ServerResponse{
48989			Header:         res.Header,
48990			HTTPStatusCode: res.StatusCode,
48991		},
48992	}
48993	target := &ret
48994	if err := gensupport.DecodeResponse(target, res); err != nil {
48995		return nil, err
48996	}
48997	return ret, nil
48998	// {
48999	//   "description": "Updates an existing targeting template.",
49000	//   "flatPath": "userprofiles/{profileId}/targetingTemplates",
49001	//   "httpMethod": "PUT",
49002	//   "id": "dfareporting.targetingTemplates.update",
49003	//   "parameterOrder": [
49004	//     "profileId"
49005	//   ],
49006	//   "parameters": {
49007	//     "profileId": {
49008	//       "description": "User profile ID associated with this request.",
49009	//       "format": "int64",
49010	//       "location": "path",
49011	//       "required": true,
49012	//       "type": "string"
49013	//     }
49014	//   },
49015	//   "path": "userprofiles/{profileId}/targetingTemplates",
49016	//   "request": {
49017	//     "$ref": "TargetingTemplate"
49018	//   },
49019	//   "response": {
49020	//     "$ref": "TargetingTemplate"
49021	//   },
49022	//   "scopes": [
49023	//     "https://www.googleapis.com/auth/dfatrafficking"
49024	//   ]
49025	// }
49026
49027}
49028
49029// method id "dfareporting.userProfiles.get":
49030
49031type UserProfilesGetCall struct {
49032	s            *Service
49033	profileId    int64
49034	urlParams_   gensupport.URLParams
49035	ifNoneMatch_ string
49036	ctx_         context.Context
49037	header_      http.Header
49038}
49039
49040// Get: Gets one user profile by ID.
49041func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
49042	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49043	c.profileId = profileId
49044	return c
49045}
49046
49047// Fields allows partial responses to be retrieved. See
49048// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49049// for more information.
49050func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
49051	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49052	return c
49053}
49054
49055// IfNoneMatch sets the optional parameter which makes the operation
49056// fail if the object's ETag matches the given value. This is useful for
49057// getting updates only after the object has changed since the last
49058// request. Use googleapi.IsNotModified to check whether the response
49059// error from Do is the result of In-None-Match.
49060func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
49061	c.ifNoneMatch_ = entityTag
49062	return c
49063}
49064
49065// Context sets the context to be used in this call's Do method. Any
49066// pending HTTP request will be aborted if the provided context is
49067// canceled.
49068func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
49069	c.ctx_ = ctx
49070	return c
49071}
49072
49073// Header returns an http.Header that can be modified by the caller to
49074// add HTTP headers to the request.
49075func (c *UserProfilesGetCall) Header() http.Header {
49076	if c.header_ == nil {
49077		c.header_ = make(http.Header)
49078	}
49079	return c.header_
49080}
49081
49082func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
49083	reqHeaders := make(http.Header)
49084	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
49085	for k, v := range c.header_ {
49086		reqHeaders[k] = v
49087	}
49088	reqHeaders.Set("User-Agent", c.s.userAgent())
49089	if c.ifNoneMatch_ != "" {
49090		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49091	}
49092	var body io.Reader = nil
49093	c.urlParams_.Set("alt", alt)
49094	c.urlParams_.Set("prettyPrint", "false")
49095	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
49096	urls += "?" + c.urlParams_.Encode()
49097	req, err := http.NewRequest("GET", urls, body)
49098	if err != nil {
49099		return nil, err
49100	}
49101	req.Header = reqHeaders
49102	googleapi.Expand(req.URL, map[string]string{
49103		"profileId": strconv.FormatInt(c.profileId, 10),
49104	})
49105	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49106}
49107
49108// Do executes the "dfareporting.userProfiles.get" call.
49109// Exactly one of *UserProfile or error will be non-nil. Any non-2xx
49110// status code is an error. Response headers are in either
49111// *UserProfile.ServerResponse.Header or (if a response was returned at
49112// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49113// to check whether the returned error was because
49114// http.StatusNotModified was returned.
49115func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
49116	gensupport.SetOptions(c.urlParams_, opts...)
49117	res, err := c.doRequest("json")
49118	if res != nil && res.StatusCode == http.StatusNotModified {
49119		if res.Body != nil {
49120			res.Body.Close()
49121		}
49122		return nil, &googleapi.Error{
49123			Code:   res.StatusCode,
49124			Header: res.Header,
49125		}
49126	}
49127	if err != nil {
49128		return nil, err
49129	}
49130	defer googleapi.CloseBody(res)
49131	if err := googleapi.CheckResponse(res); err != nil {
49132		return nil, err
49133	}
49134	ret := &UserProfile{
49135		ServerResponse: googleapi.ServerResponse{
49136			Header:         res.Header,
49137			HTTPStatusCode: res.StatusCode,
49138		},
49139	}
49140	target := &ret
49141	if err := gensupport.DecodeResponse(target, res); err != nil {
49142		return nil, err
49143	}
49144	return ret, nil
49145	// {
49146	//   "description": "Gets one user profile by ID.",
49147	//   "flatPath": "userprofiles/{profileId}",
49148	//   "httpMethod": "GET",
49149	//   "id": "dfareporting.userProfiles.get",
49150	//   "parameterOrder": [
49151	//     "profileId"
49152	//   ],
49153	//   "parameters": {
49154	//     "profileId": {
49155	//       "description": "The user profile ID.",
49156	//       "format": "int64",
49157	//       "location": "path",
49158	//       "required": true,
49159	//       "type": "string"
49160	//     }
49161	//   },
49162	//   "path": "userprofiles/{profileId}",
49163	//   "response": {
49164	//     "$ref": "UserProfile"
49165	//   },
49166	//   "scopes": [
49167	//     "https://www.googleapis.com/auth/ddmconversions",
49168	//     "https://www.googleapis.com/auth/dfareporting",
49169	//     "https://www.googleapis.com/auth/dfatrafficking"
49170	//   ]
49171	// }
49172
49173}
49174
49175// method id "dfareporting.userProfiles.list":
49176
49177type UserProfilesListCall struct {
49178	s            *Service
49179	urlParams_   gensupport.URLParams
49180	ifNoneMatch_ string
49181	ctx_         context.Context
49182	header_      http.Header
49183}
49184
49185// List: Retrieves list of user profiles for a user.
49186func (r *UserProfilesService) List() *UserProfilesListCall {
49187	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49188	return c
49189}
49190
49191// Fields allows partial responses to be retrieved. See
49192// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49193// for more information.
49194func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
49195	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49196	return c
49197}
49198
49199// IfNoneMatch sets the optional parameter which makes the operation
49200// fail if the object's ETag matches the given value. This is useful for
49201// getting updates only after the object has changed since the last
49202// request. Use googleapi.IsNotModified to check whether the response
49203// error from Do is the result of In-None-Match.
49204func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
49205	c.ifNoneMatch_ = entityTag
49206	return c
49207}
49208
49209// Context sets the context to be used in this call's Do method. Any
49210// pending HTTP request will be aborted if the provided context is
49211// canceled.
49212func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
49213	c.ctx_ = ctx
49214	return c
49215}
49216
49217// Header returns an http.Header that can be modified by the caller to
49218// add HTTP headers to the request.
49219func (c *UserProfilesListCall) Header() http.Header {
49220	if c.header_ == nil {
49221		c.header_ = make(http.Header)
49222	}
49223	return c.header_
49224}
49225
49226func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
49227	reqHeaders := make(http.Header)
49228	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
49229	for k, v := range c.header_ {
49230		reqHeaders[k] = v
49231	}
49232	reqHeaders.Set("User-Agent", c.s.userAgent())
49233	if c.ifNoneMatch_ != "" {
49234		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49235	}
49236	var body io.Reader = nil
49237	c.urlParams_.Set("alt", alt)
49238	c.urlParams_.Set("prettyPrint", "false")
49239	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
49240	urls += "?" + c.urlParams_.Encode()
49241	req, err := http.NewRequest("GET", urls, body)
49242	if err != nil {
49243		return nil, err
49244	}
49245	req.Header = reqHeaders
49246	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49247}
49248
49249// Do executes the "dfareporting.userProfiles.list" call.
49250// Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
49251// status code is an error. Response headers are in either
49252// *UserProfileList.ServerResponse.Header or (if a response was returned
49253// at all) in error.(*googleapi.Error).Header. Use
49254// googleapi.IsNotModified to check whether the returned error was
49255// because http.StatusNotModified was returned.
49256func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
49257	gensupport.SetOptions(c.urlParams_, opts...)
49258	res, err := c.doRequest("json")
49259	if res != nil && res.StatusCode == http.StatusNotModified {
49260		if res.Body != nil {
49261			res.Body.Close()
49262		}
49263		return nil, &googleapi.Error{
49264			Code:   res.StatusCode,
49265			Header: res.Header,
49266		}
49267	}
49268	if err != nil {
49269		return nil, err
49270	}
49271	defer googleapi.CloseBody(res)
49272	if err := googleapi.CheckResponse(res); err != nil {
49273		return nil, err
49274	}
49275	ret := &UserProfileList{
49276		ServerResponse: googleapi.ServerResponse{
49277			Header:         res.Header,
49278			HTTPStatusCode: res.StatusCode,
49279		},
49280	}
49281	target := &ret
49282	if err := gensupport.DecodeResponse(target, res); err != nil {
49283		return nil, err
49284	}
49285	return ret, nil
49286	// {
49287	//   "description": "Retrieves list of user profiles for a user.",
49288	//   "flatPath": "userprofiles",
49289	//   "httpMethod": "GET",
49290	//   "id": "dfareporting.userProfiles.list",
49291	//   "parameterOrder": [],
49292	//   "parameters": {},
49293	//   "path": "userprofiles",
49294	//   "response": {
49295	//     "$ref": "UserProfileList"
49296	//   },
49297	//   "scopes": [
49298	//     "https://www.googleapis.com/auth/ddmconversions",
49299	//     "https://www.googleapis.com/auth/dfareporting",
49300	//     "https://www.googleapis.com/auth/dfatrafficking"
49301	//   ]
49302	// }
49303
49304}
49305
49306// method id "dfareporting.userRolePermissionGroups.get":
49307
49308type UserRolePermissionGroupsGetCall struct {
49309	s            *Service
49310	profileId    int64
49311	id           int64
49312	urlParams_   gensupport.URLParams
49313	ifNoneMatch_ string
49314	ctx_         context.Context
49315	header_      http.Header
49316}
49317
49318// Get: Gets one user role permission group by ID.
49319func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
49320	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49321	c.profileId = profileId
49322	c.id = id
49323	return c
49324}
49325
49326// Fields allows partial responses to be retrieved. See
49327// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49328// for more information.
49329func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
49330	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49331	return c
49332}
49333
49334// IfNoneMatch sets the optional parameter which makes the operation
49335// fail if the object's ETag matches the given value. This is useful for
49336// getting updates only after the object has changed since the last
49337// request. Use googleapi.IsNotModified to check whether the response
49338// error from Do is the result of In-None-Match.
49339func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
49340	c.ifNoneMatch_ = entityTag
49341	return c
49342}
49343
49344// Context sets the context to be used in this call's Do method. Any
49345// pending HTTP request will be aborted if the provided context is
49346// canceled.
49347func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
49348	c.ctx_ = ctx
49349	return c
49350}
49351
49352// Header returns an http.Header that can be modified by the caller to
49353// add HTTP headers to the request.
49354func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
49355	if c.header_ == nil {
49356		c.header_ = make(http.Header)
49357	}
49358	return c.header_
49359}
49360
49361func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
49362	reqHeaders := make(http.Header)
49363	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
49364	for k, v := range c.header_ {
49365		reqHeaders[k] = v
49366	}
49367	reqHeaders.Set("User-Agent", c.s.userAgent())
49368	if c.ifNoneMatch_ != "" {
49369		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49370	}
49371	var body io.Reader = nil
49372	c.urlParams_.Set("alt", alt)
49373	c.urlParams_.Set("prettyPrint", "false")
49374	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
49375	urls += "?" + c.urlParams_.Encode()
49376	req, err := http.NewRequest("GET", urls, body)
49377	if err != nil {
49378		return nil, err
49379	}
49380	req.Header = reqHeaders
49381	googleapi.Expand(req.URL, map[string]string{
49382		"profileId": strconv.FormatInt(c.profileId, 10),
49383		"id":        strconv.FormatInt(c.id, 10),
49384	})
49385	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49386}
49387
49388// Do executes the "dfareporting.userRolePermissionGroups.get" call.
49389// Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
49390// non-2xx status code is an error. Response headers are in either
49391// *UserRolePermissionGroup.ServerResponse.Header or (if a response was
49392// returned at all) in error.(*googleapi.Error).Header. Use
49393// googleapi.IsNotModified to check whether the returned error was
49394// because http.StatusNotModified was returned.
49395func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
49396	gensupport.SetOptions(c.urlParams_, opts...)
49397	res, err := c.doRequest("json")
49398	if res != nil && res.StatusCode == http.StatusNotModified {
49399		if res.Body != nil {
49400			res.Body.Close()
49401		}
49402		return nil, &googleapi.Error{
49403			Code:   res.StatusCode,
49404			Header: res.Header,
49405		}
49406	}
49407	if err != nil {
49408		return nil, err
49409	}
49410	defer googleapi.CloseBody(res)
49411	if err := googleapi.CheckResponse(res); err != nil {
49412		return nil, err
49413	}
49414	ret := &UserRolePermissionGroup{
49415		ServerResponse: googleapi.ServerResponse{
49416			Header:         res.Header,
49417			HTTPStatusCode: res.StatusCode,
49418		},
49419	}
49420	target := &ret
49421	if err := gensupport.DecodeResponse(target, res); err != nil {
49422		return nil, err
49423	}
49424	return ret, nil
49425	// {
49426	//   "description": "Gets one user role permission group by ID.",
49427	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49428	//   "httpMethod": "GET",
49429	//   "id": "dfareporting.userRolePermissionGroups.get",
49430	//   "parameterOrder": [
49431	//     "profileId",
49432	//     "id"
49433	//   ],
49434	//   "parameters": {
49435	//     "id": {
49436	//       "description": "User role permission group ID.",
49437	//       "format": "int64",
49438	//       "location": "path",
49439	//       "required": true,
49440	//       "type": "string"
49441	//     },
49442	//     "profileId": {
49443	//       "description": "User profile ID associated with this request.",
49444	//       "format": "int64",
49445	//       "location": "path",
49446	//       "required": true,
49447	//       "type": "string"
49448	//     }
49449	//   },
49450	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49451	//   "response": {
49452	//     "$ref": "UserRolePermissionGroup"
49453	//   },
49454	//   "scopes": [
49455	//     "https://www.googleapis.com/auth/dfatrafficking"
49456	//   ]
49457	// }
49458
49459}
49460
49461// method id "dfareporting.userRolePermissionGroups.list":
49462
49463type UserRolePermissionGroupsListCall struct {
49464	s            *Service
49465	profileId    int64
49466	urlParams_   gensupport.URLParams
49467	ifNoneMatch_ string
49468	ctx_         context.Context
49469	header_      http.Header
49470}
49471
49472// List: Gets a list of all supported user role permission groups.
49473func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
49474	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49475	c.profileId = profileId
49476	return c
49477}
49478
49479// Fields allows partial responses to be retrieved. See
49480// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49481// for more information.
49482func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
49483	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49484	return c
49485}
49486
49487// IfNoneMatch sets the optional parameter which makes the operation
49488// fail if the object's ETag matches the given value. This is useful for
49489// getting updates only after the object has changed since the last
49490// request. Use googleapi.IsNotModified to check whether the response
49491// error from Do is the result of In-None-Match.
49492func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
49493	c.ifNoneMatch_ = entityTag
49494	return c
49495}
49496
49497// Context sets the context to be used in this call's Do method. Any
49498// pending HTTP request will be aborted if the provided context is
49499// canceled.
49500func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
49501	c.ctx_ = ctx
49502	return c
49503}
49504
49505// Header returns an http.Header that can be modified by the caller to
49506// add HTTP headers to the request.
49507func (c *UserRolePermissionGroupsListCall) Header() http.Header {
49508	if c.header_ == nil {
49509		c.header_ = make(http.Header)
49510	}
49511	return c.header_
49512}
49513
49514func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
49515	reqHeaders := make(http.Header)
49516	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
49517	for k, v := range c.header_ {
49518		reqHeaders[k] = v
49519	}
49520	reqHeaders.Set("User-Agent", c.s.userAgent())
49521	if c.ifNoneMatch_ != "" {
49522		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49523	}
49524	var body io.Reader = nil
49525	c.urlParams_.Set("alt", alt)
49526	c.urlParams_.Set("prettyPrint", "false")
49527	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
49528	urls += "?" + c.urlParams_.Encode()
49529	req, err := http.NewRequest("GET", urls, body)
49530	if err != nil {
49531		return nil, err
49532	}
49533	req.Header = reqHeaders
49534	googleapi.Expand(req.URL, map[string]string{
49535		"profileId": strconv.FormatInt(c.profileId, 10),
49536	})
49537	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49538}
49539
49540// Do executes the "dfareporting.userRolePermissionGroups.list" call.
49541// Exactly one of *UserRolePermissionGroupsListResponse or error will be
49542// non-nil. Any non-2xx status code is an error. Response headers are in
49543// either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
49544// (if a response was returned at all) in
49545// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
49546// whether the returned error was because http.StatusNotModified was
49547// returned.
49548func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
49549	gensupport.SetOptions(c.urlParams_, opts...)
49550	res, err := c.doRequest("json")
49551	if res != nil && res.StatusCode == http.StatusNotModified {
49552		if res.Body != nil {
49553			res.Body.Close()
49554		}
49555		return nil, &googleapi.Error{
49556			Code:   res.StatusCode,
49557			Header: res.Header,
49558		}
49559	}
49560	if err != nil {
49561		return nil, err
49562	}
49563	defer googleapi.CloseBody(res)
49564	if err := googleapi.CheckResponse(res); err != nil {
49565		return nil, err
49566	}
49567	ret := &UserRolePermissionGroupsListResponse{
49568		ServerResponse: googleapi.ServerResponse{
49569			Header:         res.Header,
49570			HTTPStatusCode: res.StatusCode,
49571		},
49572	}
49573	target := &ret
49574	if err := gensupport.DecodeResponse(target, res); err != nil {
49575		return nil, err
49576	}
49577	return ret, nil
49578	// {
49579	//   "description": "Gets a list of all supported user role permission groups.",
49580	//   "flatPath": "userprofiles/{profileId}/userRolePermissionGroups",
49581	//   "httpMethod": "GET",
49582	//   "id": "dfareporting.userRolePermissionGroups.list",
49583	//   "parameterOrder": [
49584	//     "profileId"
49585	//   ],
49586	//   "parameters": {
49587	//     "profileId": {
49588	//       "description": "User profile ID associated with this request.",
49589	//       "format": "int64",
49590	//       "location": "path",
49591	//       "required": true,
49592	//       "type": "string"
49593	//     }
49594	//   },
49595	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
49596	//   "response": {
49597	//     "$ref": "UserRolePermissionGroupsListResponse"
49598	//   },
49599	//   "scopes": [
49600	//     "https://www.googleapis.com/auth/dfatrafficking"
49601	//   ]
49602	// }
49603
49604}
49605
49606// method id "dfareporting.userRolePermissions.get":
49607
49608type UserRolePermissionsGetCall struct {
49609	s            *Service
49610	profileId    int64
49611	id           int64
49612	urlParams_   gensupport.URLParams
49613	ifNoneMatch_ string
49614	ctx_         context.Context
49615	header_      http.Header
49616}
49617
49618// Get: Gets one user role permission by ID.
49619func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
49620	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49621	c.profileId = profileId
49622	c.id = id
49623	return c
49624}
49625
49626// Fields allows partial responses to be retrieved. See
49627// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49628// for more information.
49629func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
49630	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49631	return c
49632}
49633
49634// IfNoneMatch sets the optional parameter which makes the operation
49635// fail if the object's ETag matches the given value. This is useful for
49636// getting updates only after the object has changed since the last
49637// request. Use googleapi.IsNotModified to check whether the response
49638// error from Do is the result of In-None-Match.
49639func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
49640	c.ifNoneMatch_ = entityTag
49641	return c
49642}
49643
49644// Context sets the context to be used in this call's Do method. Any
49645// pending HTTP request will be aborted if the provided context is
49646// canceled.
49647func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
49648	c.ctx_ = ctx
49649	return c
49650}
49651
49652// Header returns an http.Header that can be modified by the caller to
49653// add HTTP headers to the request.
49654func (c *UserRolePermissionsGetCall) Header() http.Header {
49655	if c.header_ == nil {
49656		c.header_ = make(http.Header)
49657	}
49658	return c.header_
49659}
49660
49661func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
49662	reqHeaders := make(http.Header)
49663	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
49664	for k, v := range c.header_ {
49665		reqHeaders[k] = v
49666	}
49667	reqHeaders.Set("User-Agent", c.s.userAgent())
49668	if c.ifNoneMatch_ != "" {
49669		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49670	}
49671	var body io.Reader = nil
49672	c.urlParams_.Set("alt", alt)
49673	c.urlParams_.Set("prettyPrint", "false")
49674	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
49675	urls += "?" + c.urlParams_.Encode()
49676	req, err := http.NewRequest("GET", urls, body)
49677	if err != nil {
49678		return nil, err
49679	}
49680	req.Header = reqHeaders
49681	googleapi.Expand(req.URL, map[string]string{
49682		"profileId": strconv.FormatInt(c.profileId, 10),
49683		"id":        strconv.FormatInt(c.id, 10),
49684	})
49685	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49686}
49687
49688// Do executes the "dfareporting.userRolePermissions.get" call.
49689// Exactly one of *UserRolePermission or error will be non-nil. Any
49690// non-2xx status code is an error. Response headers are in either
49691// *UserRolePermission.ServerResponse.Header or (if a response was
49692// returned at all) in error.(*googleapi.Error).Header. Use
49693// googleapi.IsNotModified to check whether the returned error was
49694// because http.StatusNotModified was returned.
49695func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
49696	gensupport.SetOptions(c.urlParams_, opts...)
49697	res, err := c.doRequest("json")
49698	if res != nil && res.StatusCode == http.StatusNotModified {
49699		if res.Body != nil {
49700			res.Body.Close()
49701		}
49702		return nil, &googleapi.Error{
49703			Code:   res.StatusCode,
49704			Header: res.Header,
49705		}
49706	}
49707	if err != nil {
49708		return nil, err
49709	}
49710	defer googleapi.CloseBody(res)
49711	if err := googleapi.CheckResponse(res); err != nil {
49712		return nil, err
49713	}
49714	ret := &UserRolePermission{
49715		ServerResponse: googleapi.ServerResponse{
49716			Header:         res.Header,
49717			HTTPStatusCode: res.StatusCode,
49718		},
49719	}
49720	target := &ret
49721	if err := gensupport.DecodeResponse(target, res); err != nil {
49722		return nil, err
49723	}
49724	return ret, nil
49725	// {
49726	//   "description": "Gets one user role permission by ID.",
49727	//   "flatPath": "userprofiles/{profileId}/userRolePermissions/{id}",
49728	//   "httpMethod": "GET",
49729	//   "id": "dfareporting.userRolePermissions.get",
49730	//   "parameterOrder": [
49731	//     "profileId",
49732	//     "id"
49733	//   ],
49734	//   "parameters": {
49735	//     "id": {
49736	//       "description": "User role permission ID.",
49737	//       "format": "int64",
49738	//       "location": "path",
49739	//       "required": true,
49740	//       "type": "string"
49741	//     },
49742	//     "profileId": {
49743	//       "description": "User profile ID associated with this request.",
49744	//       "format": "int64",
49745	//       "location": "path",
49746	//       "required": true,
49747	//       "type": "string"
49748	//     }
49749	//   },
49750	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
49751	//   "response": {
49752	//     "$ref": "UserRolePermission"
49753	//   },
49754	//   "scopes": [
49755	//     "https://www.googleapis.com/auth/dfatrafficking"
49756	//   ]
49757	// }
49758
49759}
49760
49761// method id "dfareporting.userRolePermissions.list":
49762
49763type UserRolePermissionsListCall struct {
49764	s            *Service
49765	profileId    int64
49766	urlParams_   gensupport.URLParams
49767	ifNoneMatch_ string
49768	ctx_         context.Context
49769	header_      http.Header
49770}
49771
49772// List: Gets a list of user role permissions, possibly filtered.
49773func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
49774	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49775	c.profileId = profileId
49776	return c
49777}
49778
49779// Ids sets the optional parameter "ids": Select only user role
49780// permissions with these IDs.
49781func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
49782	var ids_ []string
49783	for _, v := range ids {
49784		ids_ = append(ids_, fmt.Sprint(v))
49785	}
49786	c.urlParams_.SetMulti("ids", ids_)
49787	return c
49788}
49789
49790// Fields allows partial responses to be retrieved. See
49791// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49792// for more information.
49793func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
49794	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49795	return c
49796}
49797
49798// IfNoneMatch sets the optional parameter which makes the operation
49799// fail if the object's ETag matches the given value. This is useful for
49800// getting updates only after the object has changed since the last
49801// request. Use googleapi.IsNotModified to check whether the response
49802// error from Do is the result of In-None-Match.
49803func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
49804	c.ifNoneMatch_ = entityTag
49805	return c
49806}
49807
49808// Context sets the context to be used in this call's Do method. Any
49809// pending HTTP request will be aborted if the provided context is
49810// canceled.
49811func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
49812	c.ctx_ = ctx
49813	return c
49814}
49815
49816// Header returns an http.Header that can be modified by the caller to
49817// add HTTP headers to the request.
49818func (c *UserRolePermissionsListCall) Header() http.Header {
49819	if c.header_ == nil {
49820		c.header_ = make(http.Header)
49821	}
49822	return c.header_
49823}
49824
49825func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
49826	reqHeaders := make(http.Header)
49827	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
49828	for k, v := range c.header_ {
49829		reqHeaders[k] = v
49830	}
49831	reqHeaders.Set("User-Agent", c.s.userAgent())
49832	if c.ifNoneMatch_ != "" {
49833		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49834	}
49835	var body io.Reader = nil
49836	c.urlParams_.Set("alt", alt)
49837	c.urlParams_.Set("prettyPrint", "false")
49838	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
49839	urls += "?" + c.urlParams_.Encode()
49840	req, err := http.NewRequest("GET", urls, body)
49841	if err != nil {
49842		return nil, err
49843	}
49844	req.Header = reqHeaders
49845	googleapi.Expand(req.URL, map[string]string{
49846		"profileId": strconv.FormatInt(c.profileId, 10),
49847	})
49848	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49849}
49850
49851// Do executes the "dfareporting.userRolePermissions.list" call.
49852// Exactly one of *UserRolePermissionsListResponse or error will be
49853// non-nil. Any non-2xx status code is an error. Response headers are in
49854// either *UserRolePermissionsListResponse.ServerResponse.Header or (if
49855// a response was returned at all) in error.(*googleapi.Error).Header.
49856// Use googleapi.IsNotModified to check whether the returned error was
49857// because http.StatusNotModified was returned.
49858func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
49859	gensupport.SetOptions(c.urlParams_, opts...)
49860	res, err := c.doRequest("json")
49861	if res != nil && res.StatusCode == http.StatusNotModified {
49862		if res.Body != nil {
49863			res.Body.Close()
49864		}
49865		return nil, &googleapi.Error{
49866			Code:   res.StatusCode,
49867			Header: res.Header,
49868		}
49869	}
49870	if err != nil {
49871		return nil, err
49872	}
49873	defer googleapi.CloseBody(res)
49874	if err := googleapi.CheckResponse(res); err != nil {
49875		return nil, err
49876	}
49877	ret := &UserRolePermissionsListResponse{
49878		ServerResponse: googleapi.ServerResponse{
49879			Header:         res.Header,
49880			HTTPStatusCode: res.StatusCode,
49881		},
49882	}
49883	target := &ret
49884	if err := gensupport.DecodeResponse(target, res); err != nil {
49885		return nil, err
49886	}
49887	return ret, nil
49888	// {
49889	//   "description": "Gets a list of user role permissions, possibly filtered.",
49890	//   "flatPath": "userprofiles/{profileId}/userRolePermissions",
49891	//   "httpMethod": "GET",
49892	//   "id": "dfareporting.userRolePermissions.list",
49893	//   "parameterOrder": [
49894	//     "profileId"
49895	//   ],
49896	//   "parameters": {
49897	//     "ids": {
49898	//       "description": "Select only user role permissions with these IDs.",
49899	//       "format": "int64",
49900	//       "location": "query",
49901	//       "repeated": true,
49902	//       "type": "string"
49903	//     },
49904	//     "profileId": {
49905	//       "description": "User profile ID associated with this request.",
49906	//       "format": "int64",
49907	//       "location": "path",
49908	//       "required": true,
49909	//       "type": "string"
49910	//     }
49911	//   },
49912	//   "path": "userprofiles/{profileId}/userRolePermissions",
49913	//   "response": {
49914	//     "$ref": "UserRolePermissionsListResponse"
49915	//   },
49916	//   "scopes": [
49917	//     "https://www.googleapis.com/auth/dfatrafficking"
49918	//   ]
49919	// }
49920
49921}
49922
49923// method id "dfareporting.userRoles.delete":
49924
49925type UserRolesDeleteCall struct {
49926	s          *Service
49927	profileId  int64
49928	id         int64
49929	urlParams_ gensupport.URLParams
49930	ctx_       context.Context
49931	header_    http.Header
49932}
49933
49934// Delete: Deletes an existing user role.
49935func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
49936	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49937	c.profileId = profileId
49938	c.id = id
49939	return c
49940}
49941
49942// Fields allows partial responses to be retrieved. See
49943// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49944// for more information.
49945func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
49946	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49947	return c
49948}
49949
49950// Context sets the context to be used in this call's Do method. Any
49951// pending HTTP request will be aborted if the provided context is
49952// canceled.
49953func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
49954	c.ctx_ = ctx
49955	return c
49956}
49957
49958// Header returns an http.Header that can be modified by the caller to
49959// add HTTP headers to the request.
49960func (c *UserRolesDeleteCall) Header() http.Header {
49961	if c.header_ == nil {
49962		c.header_ = make(http.Header)
49963	}
49964	return c.header_
49965}
49966
49967func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
49968	reqHeaders := make(http.Header)
49969	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
49970	for k, v := range c.header_ {
49971		reqHeaders[k] = v
49972	}
49973	reqHeaders.Set("User-Agent", c.s.userAgent())
49974	var body io.Reader = nil
49975	c.urlParams_.Set("alt", alt)
49976	c.urlParams_.Set("prettyPrint", "false")
49977	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
49978	urls += "?" + c.urlParams_.Encode()
49979	req, err := http.NewRequest("DELETE", urls, body)
49980	if err != nil {
49981		return nil, err
49982	}
49983	req.Header = reqHeaders
49984	googleapi.Expand(req.URL, map[string]string{
49985		"profileId": strconv.FormatInt(c.profileId, 10),
49986		"id":        strconv.FormatInt(c.id, 10),
49987	})
49988	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49989}
49990
49991// Do executes the "dfareporting.userRoles.delete" call.
49992func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
49993	gensupport.SetOptions(c.urlParams_, opts...)
49994	res, err := c.doRequest("json")
49995	if err != nil {
49996		return err
49997	}
49998	defer googleapi.CloseBody(res)
49999	if err := googleapi.CheckResponse(res); err != nil {
50000		return err
50001	}
50002	return nil
50003	// {
50004	//   "description": "Deletes an existing user role.",
50005	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50006	//   "httpMethod": "DELETE",
50007	//   "id": "dfareporting.userRoles.delete",
50008	//   "parameterOrder": [
50009	//     "profileId",
50010	//     "id"
50011	//   ],
50012	//   "parameters": {
50013	//     "id": {
50014	//       "description": "User role ID.",
50015	//       "format": "int64",
50016	//       "location": "path",
50017	//       "required": true,
50018	//       "type": "string"
50019	//     },
50020	//     "profileId": {
50021	//       "description": "User profile ID associated with this request.",
50022	//       "format": "int64",
50023	//       "location": "path",
50024	//       "required": true,
50025	//       "type": "string"
50026	//     }
50027	//   },
50028	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50029	//   "scopes": [
50030	//     "https://www.googleapis.com/auth/dfatrafficking"
50031	//   ]
50032	// }
50033
50034}
50035
50036// method id "dfareporting.userRoles.get":
50037
50038type UserRolesGetCall struct {
50039	s            *Service
50040	profileId    int64
50041	id           int64
50042	urlParams_   gensupport.URLParams
50043	ifNoneMatch_ string
50044	ctx_         context.Context
50045	header_      http.Header
50046}
50047
50048// Get: Gets one user role by ID.
50049func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
50050	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50051	c.profileId = profileId
50052	c.id = id
50053	return c
50054}
50055
50056// Fields allows partial responses to be retrieved. See
50057// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50058// for more information.
50059func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
50060	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50061	return c
50062}
50063
50064// IfNoneMatch sets the optional parameter which makes the operation
50065// fail if the object's ETag matches the given value. This is useful for
50066// getting updates only after the object has changed since the last
50067// request. Use googleapi.IsNotModified to check whether the response
50068// error from Do is the result of In-None-Match.
50069func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
50070	c.ifNoneMatch_ = entityTag
50071	return c
50072}
50073
50074// Context sets the context to be used in this call's Do method. Any
50075// pending HTTP request will be aborted if the provided context is
50076// canceled.
50077func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
50078	c.ctx_ = ctx
50079	return c
50080}
50081
50082// Header returns an http.Header that can be modified by the caller to
50083// add HTTP headers to the request.
50084func (c *UserRolesGetCall) Header() http.Header {
50085	if c.header_ == nil {
50086		c.header_ = make(http.Header)
50087	}
50088	return c.header_
50089}
50090
50091func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
50092	reqHeaders := make(http.Header)
50093	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
50094	for k, v := range c.header_ {
50095		reqHeaders[k] = v
50096	}
50097	reqHeaders.Set("User-Agent", c.s.userAgent())
50098	if c.ifNoneMatch_ != "" {
50099		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50100	}
50101	var body io.Reader = nil
50102	c.urlParams_.Set("alt", alt)
50103	c.urlParams_.Set("prettyPrint", "false")
50104	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50105	urls += "?" + c.urlParams_.Encode()
50106	req, err := http.NewRequest("GET", urls, body)
50107	if err != nil {
50108		return nil, err
50109	}
50110	req.Header = reqHeaders
50111	googleapi.Expand(req.URL, map[string]string{
50112		"profileId": strconv.FormatInt(c.profileId, 10),
50113		"id":        strconv.FormatInt(c.id, 10),
50114	})
50115	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50116}
50117
50118// Do executes the "dfareporting.userRoles.get" call.
50119// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50120// code is an error. Response headers are in either
50121// *UserRole.ServerResponse.Header or (if a response was returned at
50122// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50123// to check whether the returned error was because
50124// http.StatusNotModified was returned.
50125func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50126	gensupport.SetOptions(c.urlParams_, opts...)
50127	res, err := c.doRequest("json")
50128	if res != nil && res.StatusCode == http.StatusNotModified {
50129		if res.Body != nil {
50130			res.Body.Close()
50131		}
50132		return nil, &googleapi.Error{
50133			Code:   res.StatusCode,
50134			Header: res.Header,
50135		}
50136	}
50137	if err != nil {
50138		return nil, err
50139	}
50140	defer googleapi.CloseBody(res)
50141	if err := googleapi.CheckResponse(res); err != nil {
50142		return nil, err
50143	}
50144	ret := &UserRole{
50145		ServerResponse: googleapi.ServerResponse{
50146			Header:         res.Header,
50147			HTTPStatusCode: res.StatusCode,
50148		},
50149	}
50150	target := &ret
50151	if err := gensupport.DecodeResponse(target, res); err != nil {
50152		return nil, err
50153	}
50154	return ret, nil
50155	// {
50156	//   "description": "Gets one user role by ID.",
50157	//   "flatPath": "userprofiles/{profileId}/userRoles/{id}",
50158	//   "httpMethod": "GET",
50159	//   "id": "dfareporting.userRoles.get",
50160	//   "parameterOrder": [
50161	//     "profileId",
50162	//     "id"
50163	//   ],
50164	//   "parameters": {
50165	//     "id": {
50166	//       "description": "User role ID.",
50167	//       "format": "int64",
50168	//       "location": "path",
50169	//       "required": true,
50170	//       "type": "string"
50171	//     },
50172	//     "profileId": {
50173	//       "description": "User profile ID associated with this request.",
50174	//       "format": "int64",
50175	//       "location": "path",
50176	//       "required": true,
50177	//       "type": "string"
50178	//     }
50179	//   },
50180	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50181	//   "response": {
50182	//     "$ref": "UserRole"
50183	//   },
50184	//   "scopes": [
50185	//     "https://www.googleapis.com/auth/dfatrafficking"
50186	//   ]
50187	// }
50188
50189}
50190
50191// method id "dfareporting.userRoles.insert":
50192
50193type UserRolesInsertCall struct {
50194	s          *Service
50195	profileId  int64
50196	userrole   *UserRole
50197	urlParams_ gensupport.URLParams
50198	ctx_       context.Context
50199	header_    http.Header
50200}
50201
50202// Insert: Inserts a new user role.
50203func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
50204	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50205	c.profileId = profileId
50206	c.userrole = userrole
50207	return c
50208}
50209
50210// Fields allows partial responses to be retrieved. See
50211// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50212// for more information.
50213func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
50214	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50215	return c
50216}
50217
50218// Context sets the context to be used in this call's Do method. Any
50219// pending HTTP request will be aborted if the provided context is
50220// canceled.
50221func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
50222	c.ctx_ = ctx
50223	return c
50224}
50225
50226// Header returns an http.Header that can be modified by the caller to
50227// add HTTP headers to the request.
50228func (c *UserRolesInsertCall) Header() http.Header {
50229	if c.header_ == nil {
50230		c.header_ = make(http.Header)
50231	}
50232	return c.header_
50233}
50234
50235func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
50236	reqHeaders := make(http.Header)
50237	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
50238	for k, v := range c.header_ {
50239		reqHeaders[k] = v
50240	}
50241	reqHeaders.Set("User-Agent", c.s.userAgent())
50242	var body io.Reader = nil
50243	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50244	if err != nil {
50245		return nil, err
50246	}
50247	reqHeaders.Set("Content-Type", "application/json")
50248	c.urlParams_.Set("alt", alt)
50249	c.urlParams_.Set("prettyPrint", "false")
50250	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50251	urls += "?" + c.urlParams_.Encode()
50252	req, err := http.NewRequest("POST", urls, body)
50253	if err != nil {
50254		return nil, err
50255	}
50256	req.Header = reqHeaders
50257	googleapi.Expand(req.URL, map[string]string{
50258		"profileId": strconv.FormatInt(c.profileId, 10),
50259	})
50260	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50261}
50262
50263// Do executes the "dfareporting.userRoles.insert" call.
50264// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50265// code is an error. Response headers are in either
50266// *UserRole.ServerResponse.Header or (if a response was returned at
50267// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50268// to check whether the returned error was because
50269// http.StatusNotModified was returned.
50270func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50271	gensupport.SetOptions(c.urlParams_, opts...)
50272	res, err := c.doRequest("json")
50273	if res != nil && res.StatusCode == http.StatusNotModified {
50274		if res.Body != nil {
50275			res.Body.Close()
50276		}
50277		return nil, &googleapi.Error{
50278			Code:   res.StatusCode,
50279			Header: res.Header,
50280		}
50281	}
50282	if err != nil {
50283		return nil, err
50284	}
50285	defer googleapi.CloseBody(res)
50286	if err := googleapi.CheckResponse(res); err != nil {
50287		return nil, err
50288	}
50289	ret := &UserRole{
50290		ServerResponse: googleapi.ServerResponse{
50291			Header:         res.Header,
50292			HTTPStatusCode: res.StatusCode,
50293		},
50294	}
50295	target := &ret
50296	if err := gensupport.DecodeResponse(target, res); err != nil {
50297		return nil, err
50298	}
50299	return ret, nil
50300	// {
50301	//   "description": "Inserts a new user role.",
50302	//   "flatPath": "userprofiles/{profileId}/userRoles",
50303	//   "httpMethod": "POST",
50304	//   "id": "dfareporting.userRoles.insert",
50305	//   "parameterOrder": [
50306	//     "profileId"
50307	//   ],
50308	//   "parameters": {
50309	//     "profileId": {
50310	//       "description": "User profile ID associated with this request.",
50311	//       "format": "int64",
50312	//       "location": "path",
50313	//       "required": true,
50314	//       "type": "string"
50315	//     }
50316	//   },
50317	//   "path": "userprofiles/{profileId}/userRoles",
50318	//   "request": {
50319	//     "$ref": "UserRole"
50320	//   },
50321	//   "response": {
50322	//     "$ref": "UserRole"
50323	//   },
50324	//   "scopes": [
50325	//     "https://www.googleapis.com/auth/dfatrafficking"
50326	//   ]
50327	// }
50328
50329}
50330
50331// method id "dfareporting.userRoles.list":
50332
50333type UserRolesListCall struct {
50334	s            *Service
50335	profileId    int64
50336	urlParams_   gensupport.URLParams
50337	ifNoneMatch_ string
50338	ctx_         context.Context
50339	header_      http.Header
50340}
50341
50342// List: Retrieves a list of user roles, possibly filtered. This method
50343// supports paging.
50344func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
50345	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50346	c.profileId = profileId
50347	return c
50348}
50349
50350// AccountUserRoleOnly sets the optional parameter
50351// "accountUserRoleOnly": Select only account level user roles not
50352// associated with any specific subaccount.
50353func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
50354	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
50355	return c
50356}
50357
50358// Ids sets the optional parameter "ids": Select only user roles with
50359// the specified IDs.
50360func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
50361	var ids_ []string
50362	for _, v := range ids {
50363		ids_ = append(ids_, fmt.Sprint(v))
50364	}
50365	c.urlParams_.SetMulti("ids", ids_)
50366	return c
50367}
50368
50369// MaxResults sets the optional parameter "maxResults": Maximum number
50370// of results to return.
50371func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
50372	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
50373	return c
50374}
50375
50376// PageToken sets the optional parameter "pageToken": Value of the
50377// nextPageToken from the previous result page.
50378func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
50379	c.urlParams_.Set("pageToken", pageToken)
50380	return c
50381}
50382
50383// SearchString sets the optional parameter "searchString": Allows
50384// searching for objects by name or ID. Wildcards (*) are allowed. For
50385// example, "userrole*2015" will return objects with names like
50386// "userrole June 2015", "userrole April 2015", or simply "userrole
50387// 2015". Most of the searches also add wildcards implicitly at the
50388// start and the end of the search string. For example, a search string
50389// of "userrole" will match objects with name "my userrole", "userrole
50390// 2015", or simply "userrole".
50391func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
50392	c.urlParams_.Set("searchString", searchString)
50393	return c
50394}
50395
50396// SortField sets the optional parameter "sortField": Field by which to
50397// sort the list.
50398//
50399// Possible values:
50400//   "ID" (default)
50401//   "NAME"
50402func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
50403	c.urlParams_.Set("sortField", sortField)
50404	return c
50405}
50406
50407// SortOrder sets the optional parameter "sortOrder": Order of sorted
50408// results.
50409//
50410// Possible values:
50411//   "ASCENDING" (default)
50412//   "DESCENDING"
50413func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
50414	c.urlParams_.Set("sortOrder", sortOrder)
50415	return c
50416}
50417
50418// SubaccountId sets the optional parameter "subaccountId": Select only
50419// user roles that belong to this subaccount.
50420func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
50421	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
50422	return c
50423}
50424
50425// Fields allows partial responses to be retrieved. See
50426// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50427// for more information.
50428func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
50429	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50430	return c
50431}
50432
50433// IfNoneMatch sets the optional parameter which makes the operation
50434// fail if the object's ETag matches the given value. This is useful for
50435// getting updates only after the object has changed since the last
50436// request. Use googleapi.IsNotModified to check whether the response
50437// error from Do is the result of In-None-Match.
50438func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
50439	c.ifNoneMatch_ = entityTag
50440	return c
50441}
50442
50443// Context sets the context to be used in this call's Do method. Any
50444// pending HTTP request will be aborted if the provided context is
50445// canceled.
50446func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
50447	c.ctx_ = ctx
50448	return c
50449}
50450
50451// Header returns an http.Header that can be modified by the caller to
50452// add HTTP headers to the request.
50453func (c *UserRolesListCall) Header() http.Header {
50454	if c.header_ == nil {
50455		c.header_ = make(http.Header)
50456	}
50457	return c.header_
50458}
50459
50460func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
50461	reqHeaders := make(http.Header)
50462	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
50463	for k, v := range c.header_ {
50464		reqHeaders[k] = v
50465	}
50466	reqHeaders.Set("User-Agent", c.s.userAgent())
50467	if c.ifNoneMatch_ != "" {
50468		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50469	}
50470	var body io.Reader = nil
50471	c.urlParams_.Set("alt", alt)
50472	c.urlParams_.Set("prettyPrint", "false")
50473	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50474	urls += "?" + c.urlParams_.Encode()
50475	req, err := http.NewRequest("GET", urls, body)
50476	if err != nil {
50477		return nil, err
50478	}
50479	req.Header = reqHeaders
50480	googleapi.Expand(req.URL, map[string]string{
50481		"profileId": strconv.FormatInt(c.profileId, 10),
50482	})
50483	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50484}
50485
50486// Do executes the "dfareporting.userRoles.list" call.
50487// Exactly one of *UserRolesListResponse or error will be non-nil. Any
50488// non-2xx status code is an error. Response headers are in either
50489// *UserRolesListResponse.ServerResponse.Header or (if a response was
50490// returned at all) in error.(*googleapi.Error).Header. Use
50491// googleapi.IsNotModified to check whether the returned error was
50492// because http.StatusNotModified was returned.
50493func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
50494	gensupport.SetOptions(c.urlParams_, opts...)
50495	res, err := c.doRequest("json")
50496	if res != nil && res.StatusCode == http.StatusNotModified {
50497		if res.Body != nil {
50498			res.Body.Close()
50499		}
50500		return nil, &googleapi.Error{
50501			Code:   res.StatusCode,
50502			Header: res.Header,
50503		}
50504	}
50505	if err != nil {
50506		return nil, err
50507	}
50508	defer googleapi.CloseBody(res)
50509	if err := googleapi.CheckResponse(res); err != nil {
50510		return nil, err
50511	}
50512	ret := &UserRolesListResponse{
50513		ServerResponse: googleapi.ServerResponse{
50514			Header:         res.Header,
50515			HTTPStatusCode: res.StatusCode,
50516		},
50517	}
50518	target := &ret
50519	if err := gensupport.DecodeResponse(target, res); err != nil {
50520		return nil, err
50521	}
50522	return ret, nil
50523	// {
50524	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
50525	//   "flatPath": "userprofiles/{profileId}/userRoles",
50526	//   "httpMethod": "GET",
50527	//   "id": "dfareporting.userRoles.list",
50528	//   "parameterOrder": [
50529	//     "profileId"
50530	//   ],
50531	//   "parameters": {
50532	//     "accountUserRoleOnly": {
50533	//       "description": "Select only account level user roles not associated with any specific subaccount.",
50534	//       "location": "query",
50535	//       "type": "boolean"
50536	//     },
50537	//     "ids": {
50538	//       "description": "Select only user roles with the specified IDs.",
50539	//       "format": "int64",
50540	//       "location": "query",
50541	//       "repeated": true,
50542	//       "type": "string"
50543	//     },
50544	//     "maxResults": {
50545	//       "default": "1000",
50546	//       "description": "Maximum number of results to return.",
50547	//       "format": "int32",
50548	//       "location": "query",
50549	//       "maximum": "1000",
50550	//       "minimum": "0",
50551	//       "type": "integer"
50552	//     },
50553	//     "pageToken": {
50554	//       "description": "Value of the nextPageToken from the previous result page.",
50555	//       "location": "query",
50556	//       "type": "string"
50557	//     },
50558	//     "profileId": {
50559	//       "description": "User profile ID associated with this request.",
50560	//       "format": "int64",
50561	//       "location": "path",
50562	//       "required": true,
50563	//       "type": "string"
50564	//     },
50565	//     "searchString": {
50566	//       "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"userrole*2015\" will return objects with names like \"userrole June 2015\", \"userrole April 2015\", or simply \"userrole 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"userrole\" will match objects with name \"my userrole\", \"userrole 2015\", or simply \"userrole\".",
50567	//       "location": "query",
50568	//       "type": "string"
50569	//     },
50570	//     "sortField": {
50571	//       "default": "ID",
50572	//       "description": "Field by which to sort the list.",
50573	//       "enum": [
50574	//         "ID",
50575	//         "NAME"
50576	//       ],
50577	//       "enumDescriptions": [
50578	//         "",
50579	//         ""
50580	//       ],
50581	//       "location": "query",
50582	//       "type": "string"
50583	//     },
50584	//     "sortOrder": {
50585	//       "default": "ASCENDING",
50586	//       "description": "Order of sorted results.",
50587	//       "enum": [
50588	//         "ASCENDING",
50589	//         "DESCENDING"
50590	//       ],
50591	//       "enumDescriptions": [
50592	//         "",
50593	//         ""
50594	//       ],
50595	//       "location": "query",
50596	//       "type": "string"
50597	//     },
50598	//     "subaccountId": {
50599	//       "description": "Select only user roles that belong to this subaccount.",
50600	//       "format": "int64",
50601	//       "location": "query",
50602	//       "type": "string"
50603	//     }
50604	//   },
50605	//   "path": "userprofiles/{profileId}/userRoles",
50606	//   "response": {
50607	//     "$ref": "UserRolesListResponse"
50608	//   },
50609	//   "scopes": [
50610	//     "https://www.googleapis.com/auth/dfatrafficking"
50611	//   ]
50612	// }
50613
50614}
50615
50616// Pages invokes f for each page of results.
50617// A non-nil error returned from f will halt the iteration.
50618// The provided context supersedes any context provided to the Context method.
50619func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
50620	c.ctx_ = ctx
50621	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
50622	for {
50623		x, err := c.Do()
50624		if err != nil {
50625			return err
50626		}
50627		if err := f(x); err != nil {
50628			return err
50629		}
50630		if x.NextPageToken == "" {
50631			return nil
50632		}
50633		c.PageToken(x.NextPageToken)
50634	}
50635}
50636
50637// method id "dfareporting.userRoles.patch":
50638
50639type UserRolesPatchCall struct {
50640	s          *Service
50641	profileId  int64
50642	userrole   *UserRole
50643	urlParams_ gensupport.URLParams
50644	ctx_       context.Context
50645	header_    http.Header
50646}
50647
50648// Patch: Updates an existing user role. This method supports patch
50649// semantics.
50650func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
50651	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50652	c.profileId = profileId
50653	c.urlParams_.Set("id", fmt.Sprint(id))
50654	c.userrole = userrole
50655	return c
50656}
50657
50658// Fields allows partial responses to be retrieved. See
50659// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50660// for more information.
50661func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
50662	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50663	return c
50664}
50665
50666// Context sets the context to be used in this call's Do method. Any
50667// pending HTTP request will be aborted if the provided context is
50668// canceled.
50669func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
50670	c.ctx_ = ctx
50671	return c
50672}
50673
50674// Header returns an http.Header that can be modified by the caller to
50675// add HTTP headers to the request.
50676func (c *UserRolesPatchCall) Header() http.Header {
50677	if c.header_ == nil {
50678		c.header_ = make(http.Header)
50679	}
50680	return c.header_
50681}
50682
50683func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
50684	reqHeaders := make(http.Header)
50685	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
50686	for k, v := range c.header_ {
50687		reqHeaders[k] = v
50688	}
50689	reqHeaders.Set("User-Agent", c.s.userAgent())
50690	var body io.Reader = nil
50691	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50692	if err != nil {
50693		return nil, err
50694	}
50695	reqHeaders.Set("Content-Type", "application/json")
50696	c.urlParams_.Set("alt", alt)
50697	c.urlParams_.Set("prettyPrint", "false")
50698	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50699	urls += "?" + c.urlParams_.Encode()
50700	req, err := http.NewRequest("PATCH", urls, body)
50701	if err != nil {
50702		return nil, err
50703	}
50704	req.Header = reqHeaders
50705	googleapi.Expand(req.URL, map[string]string{
50706		"profileId": strconv.FormatInt(c.profileId, 10),
50707	})
50708	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50709}
50710
50711// Do executes the "dfareporting.userRoles.patch" call.
50712// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50713// code is an error. Response headers are in either
50714// *UserRole.ServerResponse.Header or (if a response was returned at
50715// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50716// to check whether the returned error was because
50717// http.StatusNotModified was returned.
50718func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50719	gensupport.SetOptions(c.urlParams_, opts...)
50720	res, err := c.doRequest("json")
50721	if res != nil && res.StatusCode == http.StatusNotModified {
50722		if res.Body != nil {
50723			res.Body.Close()
50724		}
50725		return nil, &googleapi.Error{
50726			Code:   res.StatusCode,
50727			Header: res.Header,
50728		}
50729	}
50730	if err != nil {
50731		return nil, err
50732	}
50733	defer googleapi.CloseBody(res)
50734	if err := googleapi.CheckResponse(res); err != nil {
50735		return nil, err
50736	}
50737	ret := &UserRole{
50738		ServerResponse: googleapi.ServerResponse{
50739			Header:         res.Header,
50740			HTTPStatusCode: res.StatusCode,
50741		},
50742	}
50743	target := &ret
50744	if err := gensupport.DecodeResponse(target, res); err != nil {
50745		return nil, err
50746	}
50747	return ret, nil
50748	// {
50749	//   "description": "Updates an existing user role. This method supports patch semantics.",
50750	//   "flatPath": "userprofiles/{profileId}/userRoles",
50751	//   "httpMethod": "PATCH",
50752	//   "id": "dfareporting.userRoles.patch",
50753	//   "parameterOrder": [
50754	//     "profileId",
50755	//     "id"
50756	//   ],
50757	//   "parameters": {
50758	//     "id": {
50759	//       "description": "UserRole ID.",
50760	//       "format": "int64",
50761	//       "location": "query",
50762	//       "required": true,
50763	//       "type": "string"
50764	//     },
50765	//     "profileId": {
50766	//       "description": "User profile ID associated with this request.",
50767	//       "format": "int64",
50768	//       "location": "path",
50769	//       "required": true,
50770	//       "type": "string"
50771	//     }
50772	//   },
50773	//   "path": "userprofiles/{profileId}/userRoles",
50774	//   "request": {
50775	//     "$ref": "UserRole"
50776	//   },
50777	//   "response": {
50778	//     "$ref": "UserRole"
50779	//   },
50780	//   "scopes": [
50781	//     "https://www.googleapis.com/auth/dfatrafficking"
50782	//   ]
50783	// }
50784
50785}
50786
50787// method id "dfareporting.userRoles.update":
50788
50789type UserRolesUpdateCall struct {
50790	s          *Service
50791	profileId  int64
50792	userrole   *UserRole
50793	urlParams_ gensupport.URLParams
50794	ctx_       context.Context
50795	header_    http.Header
50796}
50797
50798// Update: Updates an existing user role.
50799func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
50800	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50801	c.profileId = profileId
50802	c.userrole = userrole
50803	return c
50804}
50805
50806// Fields allows partial responses to be retrieved. See
50807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50808// for more information.
50809func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
50810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50811	return c
50812}
50813
50814// Context sets the context to be used in this call's Do method. Any
50815// pending HTTP request will be aborted if the provided context is
50816// canceled.
50817func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
50818	c.ctx_ = ctx
50819	return c
50820}
50821
50822// Header returns an http.Header that can be modified by the caller to
50823// add HTTP headers to the request.
50824func (c *UserRolesUpdateCall) Header() http.Header {
50825	if c.header_ == nil {
50826		c.header_ = make(http.Header)
50827	}
50828	return c.header_
50829}
50830
50831func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
50832	reqHeaders := make(http.Header)
50833	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
50834	for k, v := range c.header_ {
50835		reqHeaders[k] = v
50836	}
50837	reqHeaders.Set("User-Agent", c.s.userAgent())
50838	var body io.Reader = nil
50839	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50840	if err != nil {
50841		return nil, err
50842	}
50843	reqHeaders.Set("Content-Type", "application/json")
50844	c.urlParams_.Set("alt", alt)
50845	c.urlParams_.Set("prettyPrint", "false")
50846	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50847	urls += "?" + c.urlParams_.Encode()
50848	req, err := http.NewRequest("PUT", urls, body)
50849	if err != nil {
50850		return nil, err
50851	}
50852	req.Header = reqHeaders
50853	googleapi.Expand(req.URL, map[string]string{
50854		"profileId": strconv.FormatInt(c.profileId, 10),
50855	})
50856	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50857}
50858
50859// Do executes the "dfareporting.userRoles.update" call.
50860// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50861// code is an error. Response headers are in either
50862// *UserRole.ServerResponse.Header or (if a response was returned at
50863// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50864// to check whether the returned error was because
50865// http.StatusNotModified was returned.
50866func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50867	gensupport.SetOptions(c.urlParams_, opts...)
50868	res, err := c.doRequest("json")
50869	if res != nil && res.StatusCode == http.StatusNotModified {
50870		if res.Body != nil {
50871			res.Body.Close()
50872		}
50873		return nil, &googleapi.Error{
50874			Code:   res.StatusCode,
50875			Header: res.Header,
50876		}
50877	}
50878	if err != nil {
50879		return nil, err
50880	}
50881	defer googleapi.CloseBody(res)
50882	if err := googleapi.CheckResponse(res); err != nil {
50883		return nil, err
50884	}
50885	ret := &UserRole{
50886		ServerResponse: googleapi.ServerResponse{
50887			Header:         res.Header,
50888			HTTPStatusCode: res.StatusCode,
50889		},
50890	}
50891	target := &ret
50892	if err := gensupport.DecodeResponse(target, res); err != nil {
50893		return nil, err
50894	}
50895	return ret, nil
50896	// {
50897	//   "description": "Updates an existing user role.",
50898	//   "flatPath": "userprofiles/{profileId}/userRoles",
50899	//   "httpMethod": "PUT",
50900	//   "id": "dfareporting.userRoles.update",
50901	//   "parameterOrder": [
50902	//     "profileId"
50903	//   ],
50904	//   "parameters": {
50905	//     "profileId": {
50906	//       "description": "User profile ID associated with this request.",
50907	//       "format": "int64",
50908	//       "location": "path",
50909	//       "required": true,
50910	//       "type": "string"
50911	//     }
50912	//   },
50913	//   "path": "userprofiles/{profileId}/userRoles",
50914	//   "request": {
50915	//     "$ref": "UserRole"
50916	//   },
50917	//   "response": {
50918	//     "$ref": "UserRole"
50919	//   },
50920	//   "scopes": [
50921	//     "https://www.googleapis.com/auth/dfatrafficking"
50922	//   ]
50923	// }
50924
50925}
50926
50927// method id "dfareporting.videoFormats.get":
50928
50929type VideoFormatsGetCall struct {
50930	s            *Service
50931	profileId    int64
50932	id           int64
50933	urlParams_   gensupport.URLParams
50934	ifNoneMatch_ string
50935	ctx_         context.Context
50936	header_      http.Header
50937}
50938
50939// Get: Gets one video format by ID.
50940func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
50941	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50942	c.profileId = profileId
50943	c.id = id
50944	return c
50945}
50946
50947// Fields allows partial responses to be retrieved. See
50948// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50949// for more information.
50950func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
50951	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50952	return c
50953}
50954
50955// IfNoneMatch sets the optional parameter which makes the operation
50956// fail if the object's ETag matches the given value. This is useful for
50957// getting updates only after the object has changed since the last
50958// request. Use googleapi.IsNotModified to check whether the response
50959// error from Do is the result of In-None-Match.
50960func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
50961	c.ifNoneMatch_ = entityTag
50962	return c
50963}
50964
50965// Context sets the context to be used in this call's Do method. Any
50966// pending HTTP request will be aborted if the provided context is
50967// canceled.
50968func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
50969	c.ctx_ = ctx
50970	return c
50971}
50972
50973// Header returns an http.Header that can be modified by the caller to
50974// add HTTP headers to the request.
50975func (c *VideoFormatsGetCall) Header() http.Header {
50976	if c.header_ == nil {
50977		c.header_ = make(http.Header)
50978	}
50979	return c.header_
50980}
50981
50982func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
50983	reqHeaders := make(http.Header)
50984	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
50985	for k, v := range c.header_ {
50986		reqHeaders[k] = v
50987	}
50988	reqHeaders.Set("User-Agent", c.s.userAgent())
50989	if c.ifNoneMatch_ != "" {
50990		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50991	}
50992	var body io.Reader = nil
50993	c.urlParams_.Set("alt", alt)
50994	c.urlParams_.Set("prettyPrint", "false")
50995	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
50996	urls += "?" + c.urlParams_.Encode()
50997	req, err := http.NewRequest("GET", urls, body)
50998	if err != nil {
50999		return nil, err
51000	}
51001	req.Header = reqHeaders
51002	googleapi.Expand(req.URL, map[string]string{
51003		"profileId": strconv.FormatInt(c.profileId, 10),
51004		"id":        strconv.FormatInt(c.id, 10),
51005	})
51006	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51007}
51008
51009// Do executes the "dfareporting.videoFormats.get" call.
51010// Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
51011// status code is an error. Response headers are in either
51012// *VideoFormat.ServerResponse.Header or (if a response was returned at
51013// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51014// to check whether the returned error was because
51015// http.StatusNotModified was returned.
51016func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
51017	gensupport.SetOptions(c.urlParams_, opts...)
51018	res, err := c.doRequest("json")
51019	if res != nil && res.StatusCode == http.StatusNotModified {
51020		if res.Body != nil {
51021			res.Body.Close()
51022		}
51023		return nil, &googleapi.Error{
51024			Code:   res.StatusCode,
51025			Header: res.Header,
51026		}
51027	}
51028	if err != nil {
51029		return nil, err
51030	}
51031	defer googleapi.CloseBody(res)
51032	if err := googleapi.CheckResponse(res); err != nil {
51033		return nil, err
51034	}
51035	ret := &VideoFormat{
51036		ServerResponse: googleapi.ServerResponse{
51037			Header:         res.Header,
51038			HTTPStatusCode: res.StatusCode,
51039		},
51040	}
51041	target := &ret
51042	if err := gensupport.DecodeResponse(target, res); err != nil {
51043		return nil, err
51044	}
51045	return ret, nil
51046	// {
51047	//   "description": "Gets one video format by ID.",
51048	//   "flatPath": "userprofiles/{profileId}/videoFormats/{id}",
51049	//   "httpMethod": "GET",
51050	//   "id": "dfareporting.videoFormats.get",
51051	//   "parameterOrder": [
51052	//     "profileId",
51053	//     "id"
51054	//   ],
51055	//   "parameters": {
51056	//     "id": {
51057	//       "description": "Video format ID.",
51058	//       "format": "int32",
51059	//       "location": "path",
51060	//       "required": true,
51061	//       "type": "integer"
51062	//     },
51063	//     "profileId": {
51064	//       "description": "User profile ID associated with this request.",
51065	//       "format": "int64",
51066	//       "location": "path",
51067	//       "required": true,
51068	//       "type": "string"
51069	//     }
51070	//   },
51071	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
51072	//   "response": {
51073	//     "$ref": "VideoFormat"
51074	//   },
51075	//   "scopes": [
51076	//     "https://www.googleapis.com/auth/dfatrafficking"
51077	//   ]
51078	// }
51079
51080}
51081
51082// method id "dfareporting.videoFormats.list":
51083
51084type VideoFormatsListCall struct {
51085	s            *Service
51086	profileId    int64
51087	urlParams_   gensupport.URLParams
51088	ifNoneMatch_ string
51089	ctx_         context.Context
51090	header_      http.Header
51091}
51092
51093// List: Lists available video formats.
51094func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
51095	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51096	c.profileId = profileId
51097	return c
51098}
51099
51100// Fields allows partial responses to be retrieved. See
51101// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51102// for more information.
51103func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
51104	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51105	return c
51106}
51107
51108// IfNoneMatch sets the optional parameter which makes the operation
51109// fail if the object's ETag matches the given value. This is useful for
51110// getting updates only after the object has changed since the last
51111// request. Use googleapi.IsNotModified to check whether the response
51112// error from Do is the result of In-None-Match.
51113func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
51114	c.ifNoneMatch_ = entityTag
51115	return c
51116}
51117
51118// Context sets the context to be used in this call's Do method. Any
51119// pending HTTP request will be aborted if the provided context is
51120// canceled.
51121func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
51122	c.ctx_ = ctx
51123	return c
51124}
51125
51126// Header returns an http.Header that can be modified by the caller to
51127// add HTTP headers to the request.
51128func (c *VideoFormatsListCall) Header() http.Header {
51129	if c.header_ == nil {
51130		c.header_ = make(http.Header)
51131	}
51132	return c.header_
51133}
51134
51135func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
51136	reqHeaders := make(http.Header)
51137	reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20201124")
51138	for k, v := range c.header_ {
51139		reqHeaders[k] = v
51140	}
51141	reqHeaders.Set("User-Agent", c.s.userAgent())
51142	if c.ifNoneMatch_ != "" {
51143		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51144	}
51145	var body io.Reader = nil
51146	c.urlParams_.Set("alt", alt)
51147	c.urlParams_.Set("prettyPrint", "false")
51148	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
51149	urls += "?" + c.urlParams_.Encode()
51150	req, err := http.NewRequest("GET", urls, body)
51151	if err != nil {
51152		return nil, err
51153	}
51154	req.Header = reqHeaders
51155	googleapi.Expand(req.URL, map[string]string{
51156		"profileId": strconv.FormatInt(c.profileId, 10),
51157	})
51158	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51159}
51160
51161// Do executes the "dfareporting.videoFormats.list" call.
51162// Exactly one of *VideoFormatsListResponse or error will be non-nil.
51163// Any non-2xx status code is an error. Response headers are in either
51164// *VideoFormatsListResponse.ServerResponse.Header or (if a response was
51165// returned at all) in error.(*googleapi.Error).Header. Use
51166// googleapi.IsNotModified to check whether the returned error was
51167// because http.StatusNotModified was returned.
51168func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
51169	gensupport.SetOptions(c.urlParams_, opts...)
51170	res, err := c.doRequest("json")
51171	if res != nil && res.StatusCode == http.StatusNotModified {
51172		if res.Body != nil {
51173			res.Body.Close()
51174		}
51175		return nil, &googleapi.Error{
51176			Code:   res.StatusCode,
51177			Header: res.Header,
51178		}
51179	}
51180	if err != nil {
51181		return nil, err
51182	}
51183	defer googleapi.CloseBody(res)
51184	if err := googleapi.CheckResponse(res); err != nil {
51185		return nil, err
51186	}
51187	ret := &VideoFormatsListResponse{
51188		ServerResponse: googleapi.ServerResponse{
51189			Header:         res.Header,
51190			HTTPStatusCode: res.StatusCode,
51191		},
51192	}
51193	target := &ret
51194	if err := gensupport.DecodeResponse(target, res); err != nil {
51195		return nil, err
51196	}
51197	return ret, nil
51198	// {
51199	//   "description": "Lists available video formats.",
51200	//   "flatPath": "userprofiles/{profileId}/videoFormats",
51201	//   "httpMethod": "GET",
51202	//   "id": "dfareporting.videoFormats.list",
51203	//   "parameterOrder": [
51204	//     "profileId"
51205	//   ],
51206	//   "parameters": {
51207	//     "profileId": {
51208	//       "description": "User profile ID associated with this request.",
51209	//       "format": "int64",
51210	//       "location": "path",
51211	//       "required": true,
51212	//       "type": "string"
51213	//     }
51214	//   },
51215	//   "path": "userprofiles/{profileId}/videoFormats",
51216	//   "response": {
51217	//     "$ref": "VideoFormatsListResponse"
51218	//   },
51219	//   "scopes": [
51220	//     "https://www.googleapis.com/auth/dfatrafficking"
51221	//   ]
51222	// }
51223
51224}
51225