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 DCM/DFA Reporting And Trafficking 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.2"
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.2"
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	htransport "google.golang.org/api/transport/http"
60)
61
62// Always reference these packages, just in case the auto-generated code
63// below doesn't.
64var _ = bytes.NewBuffer
65var _ = strconv.Itoa
66var _ = fmt.Sprintf
67var _ = json.NewDecoder
68var _ = io.Copy
69var _ = url.Parse
70var _ = gensupport.MarshalJSON
71var _ = googleapi.Version
72var _ = errors.New
73var _ = strings.Replace
74var _ = context.Canceled
75
76const apiId = "dfareporting:v3.2"
77const apiName = "dfareporting"
78const apiVersion = "v3.2"
79const basePath = "https://www.googleapis.com/dfareporting/v3.2/"
80
81// OAuth2 scopes used by this API.
82const (
83	// Manage DoubleClick Digital Marketing conversions
84	DdmconversionsScope = "https://www.googleapis.com/auth/ddmconversions"
85
86	// View and manage DoubleClick for Advertisers reports
87	DfareportingScope = "https://www.googleapis.com/auth/dfareporting"
88
89	// View and manage your DoubleClick Campaign Manager's (DCM) display ad
90	// campaigns
91	DfatraffickingScope = "https://www.googleapis.com/auth/dfatrafficking"
92)
93
94// NewService creates a new Service.
95func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
96	scopesOption := option.WithScopes(
97		"https://www.googleapis.com/auth/ddmconversions",
98		"https://www.googleapis.com/auth/dfareporting",
99		"https://www.googleapis.com/auth/dfatrafficking",
100	)
101	// NOTE: prepend, so we don't override user-specified scopes.
102	opts = append([]option.ClientOption{scopesOption}, opts...)
103	client, endpoint, err := htransport.NewClient(ctx, opts...)
104	if err != nil {
105		return nil, err
106	}
107	s, err := New(client)
108	if err != nil {
109		return nil, err
110	}
111	if endpoint != "" {
112		s.BasePath = endpoint
113	}
114	return s, nil
115}
116
117// New creates a new Service. It uses the provided http.Client for requests.
118//
119// Deprecated: please use NewService instead.
120// To provide a custom HTTP client, use option.WithHTTPClient.
121// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
122func New(client *http.Client) (*Service, error) {
123	if client == nil {
124		return nil, errors.New("client is nil")
125	}
126	s := &Service{client: client, BasePath: basePath}
127	s.AccountActiveAdSummaries = NewAccountActiveAdSummariesService(s)
128	s.AccountPermissionGroups = NewAccountPermissionGroupsService(s)
129	s.AccountPermissions = NewAccountPermissionsService(s)
130	s.AccountUserProfiles = NewAccountUserProfilesService(s)
131	s.Accounts = NewAccountsService(s)
132	s.Ads = NewAdsService(s)
133	s.AdvertiserGroups = NewAdvertiserGroupsService(s)
134	s.AdvertiserLandingPages = NewAdvertiserLandingPagesService(s)
135	s.Advertisers = NewAdvertisersService(s)
136	s.Browsers = NewBrowsersService(s)
137	s.CampaignCreativeAssociations = NewCampaignCreativeAssociationsService(s)
138	s.Campaigns = NewCampaignsService(s)
139	s.ChangeLogs = NewChangeLogsService(s)
140	s.Cities = NewCitiesService(s)
141	s.ConnectionTypes = NewConnectionTypesService(s)
142	s.ContentCategories = NewContentCategoriesService(s)
143	s.Conversions = NewConversionsService(s)
144	s.Countries = NewCountriesService(s)
145	s.CreativeAssets = NewCreativeAssetsService(s)
146	s.CreativeFieldValues = NewCreativeFieldValuesService(s)
147	s.CreativeFields = NewCreativeFieldsService(s)
148	s.CreativeGroups = NewCreativeGroupsService(s)
149	s.Creatives = NewCreativesService(s)
150	s.DimensionValues = NewDimensionValuesService(s)
151	s.DirectorySiteContacts = NewDirectorySiteContactsService(s)
152	s.DirectorySites = NewDirectorySitesService(s)
153	s.DynamicTargetingKeys = NewDynamicTargetingKeysService(s)
154	s.EventTags = NewEventTagsService(s)
155	s.Files = NewFilesService(s)
156	s.FloodlightActivities = NewFloodlightActivitiesService(s)
157	s.FloodlightActivityGroups = NewFloodlightActivityGroupsService(s)
158	s.FloodlightConfigurations = NewFloodlightConfigurationsService(s)
159	s.InventoryItems = NewInventoryItemsService(s)
160	s.Languages = NewLanguagesService(s)
161	s.Metros = NewMetrosService(s)
162	s.MobileApps = NewMobileAppsService(s)
163	s.MobileCarriers = NewMobileCarriersService(s)
164	s.OperatingSystemVersions = NewOperatingSystemVersionsService(s)
165	s.OperatingSystems = NewOperatingSystemsService(s)
166	s.OrderDocuments = NewOrderDocumentsService(s)
167	s.Orders = NewOrdersService(s)
168	s.PlacementGroups = NewPlacementGroupsService(s)
169	s.PlacementStrategies = NewPlacementStrategiesService(s)
170	s.Placements = NewPlacementsService(s)
171	s.PlatformTypes = NewPlatformTypesService(s)
172	s.PostalCodes = NewPostalCodesService(s)
173	s.Projects = NewProjectsService(s)
174	s.Regions = NewRegionsService(s)
175	s.RemarketingListShares = NewRemarketingListSharesService(s)
176	s.RemarketingLists = NewRemarketingListsService(s)
177	s.Reports = NewReportsService(s)
178	s.Sites = NewSitesService(s)
179	s.Sizes = NewSizesService(s)
180	s.Subaccounts = NewSubaccountsService(s)
181	s.TargetableRemarketingLists = NewTargetableRemarketingListsService(s)
182	s.TargetingTemplates = NewTargetingTemplatesService(s)
183	s.UserProfiles = NewUserProfilesService(s)
184	s.UserRolePermissionGroups = NewUserRolePermissionGroupsService(s)
185	s.UserRolePermissions = NewUserRolePermissionsService(s)
186	s.UserRoles = NewUserRolesService(s)
187	s.VideoFormats = NewVideoFormatsService(s)
188	return s, nil
189}
190
191type Service struct {
192	client    *http.Client
193	BasePath  string // API endpoint base URL
194	UserAgent string // optional additional User-Agent fragment
195
196	AccountActiveAdSummaries *AccountActiveAdSummariesService
197
198	AccountPermissionGroups *AccountPermissionGroupsService
199
200	AccountPermissions *AccountPermissionsService
201
202	AccountUserProfiles *AccountUserProfilesService
203
204	Accounts *AccountsService
205
206	Ads *AdsService
207
208	AdvertiserGroups *AdvertiserGroupsService
209
210	AdvertiserLandingPages *AdvertiserLandingPagesService
211
212	Advertisers *AdvertisersService
213
214	Browsers *BrowsersService
215
216	CampaignCreativeAssociations *CampaignCreativeAssociationsService
217
218	Campaigns *CampaignsService
219
220	ChangeLogs *ChangeLogsService
221
222	Cities *CitiesService
223
224	ConnectionTypes *ConnectionTypesService
225
226	ContentCategories *ContentCategoriesService
227
228	Conversions *ConversionsService
229
230	Countries *CountriesService
231
232	CreativeAssets *CreativeAssetsService
233
234	CreativeFieldValues *CreativeFieldValuesService
235
236	CreativeFields *CreativeFieldsService
237
238	CreativeGroups *CreativeGroupsService
239
240	Creatives *CreativesService
241
242	DimensionValues *DimensionValuesService
243
244	DirectorySiteContacts *DirectorySiteContactsService
245
246	DirectorySites *DirectorySitesService
247
248	DynamicTargetingKeys *DynamicTargetingKeysService
249
250	EventTags *EventTagsService
251
252	Files *FilesService
253
254	FloodlightActivities *FloodlightActivitiesService
255
256	FloodlightActivityGroups *FloodlightActivityGroupsService
257
258	FloodlightConfigurations *FloodlightConfigurationsService
259
260	InventoryItems *InventoryItemsService
261
262	Languages *LanguagesService
263
264	Metros *MetrosService
265
266	MobileApps *MobileAppsService
267
268	MobileCarriers *MobileCarriersService
269
270	OperatingSystemVersions *OperatingSystemVersionsService
271
272	OperatingSystems *OperatingSystemsService
273
274	OrderDocuments *OrderDocumentsService
275
276	Orders *OrdersService
277
278	PlacementGroups *PlacementGroupsService
279
280	PlacementStrategies *PlacementStrategiesService
281
282	Placements *PlacementsService
283
284	PlatformTypes *PlatformTypesService
285
286	PostalCodes *PostalCodesService
287
288	Projects *ProjectsService
289
290	Regions *RegionsService
291
292	RemarketingListShares *RemarketingListSharesService
293
294	RemarketingLists *RemarketingListsService
295
296	Reports *ReportsService
297
298	Sites *SitesService
299
300	Sizes *SizesService
301
302	Subaccounts *SubaccountsService
303
304	TargetableRemarketingLists *TargetableRemarketingListsService
305
306	TargetingTemplates *TargetingTemplatesService
307
308	UserProfiles *UserProfilesService
309
310	UserRolePermissionGroups *UserRolePermissionGroupsService
311
312	UserRolePermissions *UserRolePermissionsService
313
314	UserRoles *UserRolesService
315
316	VideoFormats *VideoFormatsService
317}
318
319func (s *Service) userAgent() string {
320	if s.UserAgent == "" {
321		return googleapi.UserAgent
322	}
323	return googleapi.UserAgent + " " + s.UserAgent
324}
325
326func NewAccountActiveAdSummariesService(s *Service) *AccountActiveAdSummariesService {
327	rs := &AccountActiveAdSummariesService{s: s}
328	return rs
329}
330
331type AccountActiveAdSummariesService struct {
332	s *Service
333}
334
335func NewAccountPermissionGroupsService(s *Service) *AccountPermissionGroupsService {
336	rs := &AccountPermissionGroupsService{s: s}
337	return rs
338}
339
340type AccountPermissionGroupsService struct {
341	s *Service
342}
343
344func NewAccountPermissionsService(s *Service) *AccountPermissionsService {
345	rs := &AccountPermissionsService{s: s}
346	return rs
347}
348
349type AccountPermissionsService struct {
350	s *Service
351}
352
353func NewAccountUserProfilesService(s *Service) *AccountUserProfilesService {
354	rs := &AccountUserProfilesService{s: s}
355	return rs
356}
357
358type AccountUserProfilesService struct {
359	s *Service
360}
361
362func NewAccountsService(s *Service) *AccountsService {
363	rs := &AccountsService{s: s}
364	return rs
365}
366
367type AccountsService struct {
368	s *Service
369}
370
371func NewAdsService(s *Service) *AdsService {
372	rs := &AdsService{s: s}
373	return rs
374}
375
376type AdsService struct {
377	s *Service
378}
379
380func NewAdvertiserGroupsService(s *Service) *AdvertiserGroupsService {
381	rs := &AdvertiserGroupsService{s: s}
382	return rs
383}
384
385type AdvertiserGroupsService struct {
386	s *Service
387}
388
389func NewAdvertiserLandingPagesService(s *Service) *AdvertiserLandingPagesService {
390	rs := &AdvertiserLandingPagesService{s: s}
391	return rs
392}
393
394type AdvertiserLandingPagesService struct {
395	s *Service
396}
397
398func NewAdvertisersService(s *Service) *AdvertisersService {
399	rs := &AdvertisersService{s: s}
400	return rs
401}
402
403type AdvertisersService struct {
404	s *Service
405}
406
407func NewBrowsersService(s *Service) *BrowsersService {
408	rs := &BrowsersService{s: s}
409	return rs
410}
411
412type BrowsersService struct {
413	s *Service
414}
415
416func NewCampaignCreativeAssociationsService(s *Service) *CampaignCreativeAssociationsService {
417	rs := &CampaignCreativeAssociationsService{s: s}
418	return rs
419}
420
421type CampaignCreativeAssociationsService struct {
422	s *Service
423}
424
425func NewCampaignsService(s *Service) *CampaignsService {
426	rs := &CampaignsService{s: s}
427	return rs
428}
429
430type CampaignsService struct {
431	s *Service
432}
433
434func NewChangeLogsService(s *Service) *ChangeLogsService {
435	rs := &ChangeLogsService{s: s}
436	return rs
437}
438
439type ChangeLogsService struct {
440	s *Service
441}
442
443func NewCitiesService(s *Service) *CitiesService {
444	rs := &CitiesService{s: s}
445	return rs
446}
447
448type CitiesService struct {
449	s *Service
450}
451
452func NewConnectionTypesService(s *Service) *ConnectionTypesService {
453	rs := &ConnectionTypesService{s: s}
454	return rs
455}
456
457type ConnectionTypesService struct {
458	s *Service
459}
460
461func NewContentCategoriesService(s *Service) *ContentCategoriesService {
462	rs := &ContentCategoriesService{s: s}
463	return rs
464}
465
466type ContentCategoriesService struct {
467	s *Service
468}
469
470func NewConversionsService(s *Service) *ConversionsService {
471	rs := &ConversionsService{s: s}
472	return rs
473}
474
475type ConversionsService struct {
476	s *Service
477}
478
479func NewCountriesService(s *Service) *CountriesService {
480	rs := &CountriesService{s: s}
481	return rs
482}
483
484type CountriesService struct {
485	s *Service
486}
487
488func NewCreativeAssetsService(s *Service) *CreativeAssetsService {
489	rs := &CreativeAssetsService{s: s}
490	return rs
491}
492
493type CreativeAssetsService struct {
494	s *Service
495}
496
497func NewCreativeFieldValuesService(s *Service) *CreativeFieldValuesService {
498	rs := &CreativeFieldValuesService{s: s}
499	return rs
500}
501
502type CreativeFieldValuesService struct {
503	s *Service
504}
505
506func NewCreativeFieldsService(s *Service) *CreativeFieldsService {
507	rs := &CreativeFieldsService{s: s}
508	return rs
509}
510
511type CreativeFieldsService struct {
512	s *Service
513}
514
515func NewCreativeGroupsService(s *Service) *CreativeGroupsService {
516	rs := &CreativeGroupsService{s: s}
517	return rs
518}
519
520type CreativeGroupsService struct {
521	s *Service
522}
523
524func NewCreativesService(s *Service) *CreativesService {
525	rs := &CreativesService{s: s}
526	return rs
527}
528
529type CreativesService struct {
530	s *Service
531}
532
533func NewDimensionValuesService(s *Service) *DimensionValuesService {
534	rs := &DimensionValuesService{s: s}
535	return rs
536}
537
538type DimensionValuesService struct {
539	s *Service
540}
541
542func NewDirectorySiteContactsService(s *Service) *DirectorySiteContactsService {
543	rs := &DirectorySiteContactsService{s: s}
544	return rs
545}
546
547type DirectorySiteContactsService struct {
548	s *Service
549}
550
551func NewDirectorySitesService(s *Service) *DirectorySitesService {
552	rs := &DirectorySitesService{s: s}
553	return rs
554}
555
556type DirectorySitesService struct {
557	s *Service
558}
559
560func NewDynamicTargetingKeysService(s *Service) *DynamicTargetingKeysService {
561	rs := &DynamicTargetingKeysService{s: s}
562	return rs
563}
564
565type DynamicTargetingKeysService struct {
566	s *Service
567}
568
569func NewEventTagsService(s *Service) *EventTagsService {
570	rs := &EventTagsService{s: s}
571	return rs
572}
573
574type EventTagsService struct {
575	s *Service
576}
577
578func NewFilesService(s *Service) *FilesService {
579	rs := &FilesService{s: s}
580	return rs
581}
582
583type FilesService struct {
584	s *Service
585}
586
587func NewFloodlightActivitiesService(s *Service) *FloodlightActivitiesService {
588	rs := &FloodlightActivitiesService{s: s}
589	return rs
590}
591
592type FloodlightActivitiesService struct {
593	s *Service
594}
595
596func NewFloodlightActivityGroupsService(s *Service) *FloodlightActivityGroupsService {
597	rs := &FloodlightActivityGroupsService{s: s}
598	return rs
599}
600
601type FloodlightActivityGroupsService struct {
602	s *Service
603}
604
605func NewFloodlightConfigurationsService(s *Service) *FloodlightConfigurationsService {
606	rs := &FloodlightConfigurationsService{s: s}
607	return rs
608}
609
610type FloodlightConfigurationsService struct {
611	s *Service
612}
613
614func NewInventoryItemsService(s *Service) *InventoryItemsService {
615	rs := &InventoryItemsService{s: s}
616	return rs
617}
618
619type InventoryItemsService struct {
620	s *Service
621}
622
623func NewLanguagesService(s *Service) *LanguagesService {
624	rs := &LanguagesService{s: s}
625	return rs
626}
627
628type LanguagesService struct {
629	s *Service
630}
631
632func NewMetrosService(s *Service) *MetrosService {
633	rs := &MetrosService{s: s}
634	return rs
635}
636
637type MetrosService struct {
638	s *Service
639}
640
641func NewMobileAppsService(s *Service) *MobileAppsService {
642	rs := &MobileAppsService{s: s}
643	return rs
644}
645
646type MobileAppsService struct {
647	s *Service
648}
649
650func NewMobileCarriersService(s *Service) *MobileCarriersService {
651	rs := &MobileCarriersService{s: s}
652	return rs
653}
654
655type MobileCarriersService struct {
656	s *Service
657}
658
659func NewOperatingSystemVersionsService(s *Service) *OperatingSystemVersionsService {
660	rs := &OperatingSystemVersionsService{s: s}
661	return rs
662}
663
664type OperatingSystemVersionsService struct {
665	s *Service
666}
667
668func NewOperatingSystemsService(s *Service) *OperatingSystemsService {
669	rs := &OperatingSystemsService{s: s}
670	return rs
671}
672
673type OperatingSystemsService struct {
674	s *Service
675}
676
677func NewOrderDocumentsService(s *Service) *OrderDocumentsService {
678	rs := &OrderDocumentsService{s: s}
679	return rs
680}
681
682type OrderDocumentsService struct {
683	s *Service
684}
685
686func NewOrdersService(s *Service) *OrdersService {
687	rs := &OrdersService{s: s}
688	return rs
689}
690
691type OrdersService struct {
692	s *Service
693}
694
695func NewPlacementGroupsService(s *Service) *PlacementGroupsService {
696	rs := &PlacementGroupsService{s: s}
697	return rs
698}
699
700type PlacementGroupsService struct {
701	s *Service
702}
703
704func NewPlacementStrategiesService(s *Service) *PlacementStrategiesService {
705	rs := &PlacementStrategiesService{s: s}
706	return rs
707}
708
709type PlacementStrategiesService struct {
710	s *Service
711}
712
713func NewPlacementsService(s *Service) *PlacementsService {
714	rs := &PlacementsService{s: s}
715	return rs
716}
717
718type PlacementsService struct {
719	s *Service
720}
721
722func NewPlatformTypesService(s *Service) *PlatformTypesService {
723	rs := &PlatformTypesService{s: s}
724	return rs
725}
726
727type PlatformTypesService struct {
728	s *Service
729}
730
731func NewPostalCodesService(s *Service) *PostalCodesService {
732	rs := &PostalCodesService{s: s}
733	return rs
734}
735
736type PostalCodesService struct {
737	s *Service
738}
739
740func NewProjectsService(s *Service) *ProjectsService {
741	rs := &ProjectsService{s: s}
742	return rs
743}
744
745type ProjectsService struct {
746	s *Service
747}
748
749func NewRegionsService(s *Service) *RegionsService {
750	rs := &RegionsService{s: s}
751	return rs
752}
753
754type RegionsService struct {
755	s *Service
756}
757
758func NewRemarketingListSharesService(s *Service) *RemarketingListSharesService {
759	rs := &RemarketingListSharesService{s: s}
760	return rs
761}
762
763type RemarketingListSharesService struct {
764	s *Service
765}
766
767func NewRemarketingListsService(s *Service) *RemarketingListsService {
768	rs := &RemarketingListsService{s: s}
769	return rs
770}
771
772type RemarketingListsService struct {
773	s *Service
774}
775
776func NewReportsService(s *Service) *ReportsService {
777	rs := &ReportsService{s: s}
778	rs.CompatibleFields = NewReportsCompatibleFieldsService(s)
779	rs.Files = NewReportsFilesService(s)
780	return rs
781}
782
783type ReportsService struct {
784	s *Service
785
786	CompatibleFields *ReportsCompatibleFieldsService
787
788	Files *ReportsFilesService
789}
790
791func NewReportsCompatibleFieldsService(s *Service) *ReportsCompatibleFieldsService {
792	rs := &ReportsCompatibleFieldsService{s: s}
793	return rs
794}
795
796type ReportsCompatibleFieldsService struct {
797	s *Service
798}
799
800func NewReportsFilesService(s *Service) *ReportsFilesService {
801	rs := &ReportsFilesService{s: s}
802	return rs
803}
804
805type ReportsFilesService struct {
806	s *Service
807}
808
809func NewSitesService(s *Service) *SitesService {
810	rs := &SitesService{s: s}
811	return rs
812}
813
814type SitesService struct {
815	s *Service
816}
817
818func NewSizesService(s *Service) *SizesService {
819	rs := &SizesService{s: s}
820	return rs
821}
822
823type SizesService struct {
824	s *Service
825}
826
827func NewSubaccountsService(s *Service) *SubaccountsService {
828	rs := &SubaccountsService{s: s}
829	return rs
830}
831
832type SubaccountsService struct {
833	s *Service
834}
835
836func NewTargetableRemarketingListsService(s *Service) *TargetableRemarketingListsService {
837	rs := &TargetableRemarketingListsService{s: s}
838	return rs
839}
840
841type TargetableRemarketingListsService struct {
842	s *Service
843}
844
845func NewTargetingTemplatesService(s *Service) *TargetingTemplatesService {
846	rs := &TargetingTemplatesService{s: s}
847	return rs
848}
849
850type TargetingTemplatesService struct {
851	s *Service
852}
853
854func NewUserProfilesService(s *Service) *UserProfilesService {
855	rs := &UserProfilesService{s: s}
856	return rs
857}
858
859type UserProfilesService struct {
860	s *Service
861}
862
863func NewUserRolePermissionGroupsService(s *Service) *UserRolePermissionGroupsService {
864	rs := &UserRolePermissionGroupsService{s: s}
865	return rs
866}
867
868type UserRolePermissionGroupsService struct {
869	s *Service
870}
871
872func NewUserRolePermissionsService(s *Service) *UserRolePermissionsService {
873	rs := &UserRolePermissionsService{s: s}
874	return rs
875}
876
877type UserRolePermissionsService struct {
878	s *Service
879}
880
881func NewUserRolesService(s *Service) *UserRolesService {
882	rs := &UserRolesService{s: s}
883	return rs
884}
885
886type UserRolesService struct {
887	s *Service
888}
889
890func NewVideoFormatsService(s *Service) *VideoFormatsService {
891	rs := &VideoFormatsService{s: s}
892	return rs
893}
894
895type VideoFormatsService struct {
896	s *Service
897}
898
899// Account: Contains properties of a Campaign Manager account.
900type Account struct {
901	// AccountPermissionIds: Account permissions assigned to this account.
902	AccountPermissionIds googleapi.Int64s `json:"accountPermissionIds,omitempty"`
903
904	// AccountProfile: Profile for this account. This is a read-only field
905	// that can be left blank.
906	//
907	// Possible values:
908	//   "ACCOUNT_PROFILE_BASIC"
909	//   "ACCOUNT_PROFILE_STANDARD"
910	AccountProfile string `json:"accountProfile,omitempty"`
911
912	// Active: Whether this account is active.
913	Active bool `json:"active,omitempty"`
914
915	// ActiveAdsLimitTier: Maximum number of active ads allowed for this
916	// account.
917	//
918	// Possible values:
919	//   "ACTIVE_ADS_TIER_100K"
920	//   "ACTIVE_ADS_TIER_1M"
921	//   "ACTIVE_ADS_TIER_200K"
922	//   "ACTIVE_ADS_TIER_300K"
923	//   "ACTIVE_ADS_TIER_40K"
924	//   "ACTIVE_ADS_TIER_500K"
925	//   "ACTIVE_ADS_TIER_750K"
926	//   "ACTIVE_ADS_TIER_75K"
927	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
928
929	// ActiveViewOptOut: Whether to serve creatives with Active View tags.
930	// If disabled, viewability data will not be available for any
931	// impressions.
932	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
933
934	// AvailablePermissionIds: User role permissions available to the user
935	// roles of this account.
936	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
937
938	// CountryId: ID of the country associated with this account.
939	CountryId int64 `json:"countryId,omitempty,string"`
940
941	// CurrencyId: ID of currency associated with this account. This is a
942	// required field.
943	// Acceptable values are:
944	// - "1" for USD
945	// - "2" for GBP
946	// - "3" for ESP
947	// - "4" for SEK
948	// - "5" for CAD
949	// - "6" for JPY
950	// - "7" for DEM
951	// - "8" for AUD
952	// - "9" for FRF
953	// - "10" for ITL
954	// - "11" for DKK
955	// - "12" for NOK
956	// - "13" for FIM
957	// - "14" for ZAR
958	// - "15" for IEP
959	// - "16" for NLG
960	// - "17" for EUR
961	// - "18" for KRW
962	// - "19" for TWD
963	// - "20" for SGD
964	// - "21" for CNY
965	// - "22" for HKD
966	// - "23" for NZD
967	// - "24" for MYR
968	// - "25" for BRL
969	// - "26" for PTE
970	// - "27" for MXP
971	// - "28" for CLP
972	// - "29" for TRY
973	// - "30" for ARS
974	// - "31" for PEN
975	// - "32" for ILS
976	// - "33" for CHF
977	// - "34" for VEF
978	// - "35" for COP
979	// - "36" for GTQ
980	// - "37" for PLN
981	// - "39" for INR
982	// - "40" for THB
983	// - "41" for IDR
984	// - "42" for CZK
985	// - "43" for RON
986	// - "44" for HUF
987	// - "45" for RUB
988	// - "46" for AED
989	// - "47" for BGN
990	// - "48" for HRK
991	// - "49" for MXN
992	// - "50" for NGN
993	CurrencyId int64 `json:"currencyId,omitempty,string"`
994
995	// DefaultCreativeSizeId: Default placement dimensions for this account.
996	DefaultCreativeSizeId int64 `json:"defaultCreativeSizeId,omitempty,string"`
997
998	// Description: Description of this account.
999	Description string `json:"description,omitempty"`
1000
1001	// Id: ID of this account. This is a read-only, auto-generated field.
1002	Id int64 `json:"id,omitempty,string"`
1003
1004	// Kind: Identifies what kind of resource this is. Value: the fixed
1005	// string "dfareporting#account".
1006	Kind string `json:"kind,omitempty"`
1007
1008	// Locale: Locale of this account.
1009	// Acceptable values are:
1010	// - "cs" (Czech)
1011	// - "de" (German)
1012	// - "en" (English)
1013	// - "en-GB" (English United Kingdom)
1014	// - "es" (Spanish)
1015	// - "fr" (French)
1016	// - "it" (Italian)
1017	// - "ja" (Japanese)
1018	// - "ko" (Korean)
1019	// - "pl" (Polish)
1020	// - "pt-BR" (Portuguese Brazil)
1021	// - "ru" (Russian)
1022	// - "sv" (Swedish)
1023	// - "tr" (Turkish)
1024	// - "zh-CN" (Chinese Simplified)
1025	// - "zh-TW" (Chinese Traditional)
1026	Locale string `json:"locale,omitempty"`
1027
1028	// MaximumImageSize: Maximum image size allowed for this account, in
1029	// kilobytes. Value must be greater than or equal to 1.
1030	MaximumImageSize int64 `json:"maximumImageSize,omitempty,string"`
1031
1032	// Name: Name of this account. This is a required field, and must be
1033	// less than 128 characters long and be globally unique.
1034	Name string `json:"name,omitempty"`
1035
1036	// NielsenOcrEnabled: Whether campaigns created in this account will be
1037	// enabled for Nielsen OCR reach ratings by default.
1038	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
1039
1040	// ReportsConfiguration: Reporting configuration of this account.
1041	ReportsConfiguration *ReportsConfiguration `json:"reportsConfiguration,omitempty"`
1042
1043	// ShareReportsWithTwitter: Share Path to Conversion reports with
1044	// Twitter.
1045	ShareReportsWithTwitter bool `json:"shareReportsWithTwitter,omitempty"`
1046
1047	// TeaserSizeLimit: File size limit in kilobytes of Rich Media teaser
1048	// creatives. Acceptable values are 1 to 10240, inclusive.
1049	TeaserSizeLimit int64 `json:"teaserSizeLimit,omitempty,string"`
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.
1056	// "AccountPermissionIds") to unconditionally include in API requests.
1057	// By default, fields with empty values are omitted from API requests.
1058	// However, any non-pointer, non-interface field appearing in
1059	// ForceSendFields will be sent to the server regardless of whether the
1060	// field is empty or not. This may be used to include empty fields in
1061	// Patch requests.
1062	ForceSendFields []string `json:"-"`
1063
1064	// NullFields is a list of field names (e.g. "AccountPermissionIds") to
1065	// include in API requests with the JSON null value. By default, fields
1066	// with empty values are omitted from API requests. However, any field
1067	// with an empty value appearing in NullFields will be sent to the
1068	// server as null. It is an error if a field in this list has a
1069	// non-empty value. This may be used to include null fields in Patch
1070	// requests.
1071	NullFields []string `json:"-"`
1072}
1073
1074func (s *Account) MarshalJSON() ([]byte, error) {
1075	type NoMethod Account
1076	raw := NoMethod(*s)
1077	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1078}
1079
1080// AccountActiveAdSummary: Gets a summary of active ads in an account.
1081type AccountActiveAdSummary struct {
1082	// AccountId: ID of the account.
1083	AccountId int64 `json:"accountId,omitempty,string"`
1084
1085	// ActiveAds: Ads that have been activated for the account
1086	ActiveAds int64 `json:"activeAds,omitempty,string"`
1087
1088	// ActiveAdsLimitTier: Maximum number of active ads allowed for the
1089	// account.
1090	//
1091	// Possible values:
1092	//   "ACTIVE_ADS_TIER_100K"
1093	//   "ACTIVE_ADS_TIER_1M"
1094	//   "ACTIVE_ADS_TIER_200K"
1095	//   "ACTIVE_ADS_TIER_300K"
1096	//   "ACTIVE_ADS_TIER_40K"
1097	//   "ACTIVE_ADS_TIER_500K"
1098	//   "ACTIVE_ADS_TIER_750K"
1099	//   "ACTIVE_ADS_TIER_75K"
1100	ActiveAdsLimitTier string `json:"activeAdsLimitTier,omitempty"`
1101
1102	// AvailableAds: Ads that can be activated for the account.
1103	AvailableAds int64 `json:"availableAds,omitempty,string"`
1104
1105	// Kind: Identifies what kind of resource this is. Value: the fixed
1106	// string "dfareporting#accountActiveAdSummary".
1107	Kind string `json:"kind,omitempty"`
1108
1109	// ServerResponse contains the HTTP response code and headers from the
1110	// server.
1111	googleapi.ServerResponse `json:"-"`
1112
1113	// ForceSendFields is a list of field names (e.g. "AccountId") to
1114	// unconditionally include in API requests. By default, fields with
1115	// empty values are omitted from API requests. However, any non-pointer,
1116	// non-interface field appearing in ForceSendFields will be sent to the
1117	// server regardless of whether the field is empty or not. This may be
1118	// used to include empty fields in Patch requests.
1119	ForceSendFields []string `json:"-"`
1120
1121	// NullFields is a list of field names (e.g. "AccountId") to include in
1122	// API requests with the JSON null value. By default, fields with empty
1123	// values are omitted from API requests. However, any field with an
1124	// empty value appearing in NullFields will be sent to the server as
1125	// null. It is an error if a field in this list has a non-empty value.
1126	// This may be used to include null fields in Patch requests.
1127	NullFields []string `json:"-"`
1128}
1129
1130func (s *AccountActiveAdSummary) MarshalJSON() ([]byte, error) {
1131	type NoMethod AccountActiveAdSummary
1132	raw := NoMethod(*s)
1133	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1134}
1135
1136// AccountPermission: AccountPermissions contains information about a
1137// particular account permission. Some features of Campaign Manager
1138// require an account permission to be present in the account.
1139type AccountPermission struct {
1140	// AccountProfiles: Account profiles associated with this account
1141	// permission.
1142	//
1143	// Possible values are:
1144	// - "ACCOUNT_PROFILE_BASIC"
1145	// - "ACCOUNT_PROFILE_STANDARD"
1146	//
1147	// Possible values:
1148	//   "ACCOUNT_PROFILE_BASIC"
1149	//   "ACCOUNT_PROFILE_STANDARD"
1150	AccountProfiles []string `json:"accountProfiles,omitempty"`
1151
1152	// Id: ID of this account permission.
1153	Id int64 `json:"id,omitempty,string"`
1154
1155	// Kind: Identifies what kind of resource this is. Value: the fixed
1156	// string "dfareporting#accountPermission".
1157	Kind string `json:"kind,omitempty"`
1158
1159	// Level: Administrative level required to enable this account
1160	// permission.
1161	//
1162	// Possible values:
1163	//   "ADMINISTRATOR"
1164	//   "USER"
1165	Level string `json:"level,omitempty"`
1166
1167	// Name: Name of this account permission.
1168	Name string `json:"name,omitempty"`
1169
1170	// PermissionGroupId: Permission group of this account permission.
1171	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
1172
1173	// ServerResponse contains the HTTP response code and headers from the
1174	// server.
1175	googleapi.ServerResponse `json:"-"`
1176
1177	// ForceSendFields is a list of field names (e.g. "AccountProfiles") to
1178	// unconditionally include in API requests. By default, fields with
1179	// empty values are omitted from API requests. However, any non-pointer,
1180	// non-interface field appearing in ForceSendFields will be sent to the
1181	// server regardless of whether the field is empty or not. This may be
1182	// used to include empty fields in Patch requests.
1183	ForceSendFields []string `json:"-"`
1184
1185	// NullFields is a list of field names (e.g. "AccountProfiles") to
1186	// include in API requests with the JSON null value. By default, fields
1187	// with empty values are omitted from API requests. However, any field
1188	// with an empty value appearing in NullFields will be sent to the
1189	// server as null. It is an error if a field in this list has a
1190	// non-empty value. This may be used to include null fields in Patch
1191	// requests.
1192	NullFields []string `json:"-"`
1193}
1194
1195func (s *AccountPermission) MarshalJSON() ([]byte, error) {
1196	type NoMethod AccountPermission
1197	raw := NoMethod(*s)
1198	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1199}
1200
1201// AccountPermissionGroup: AccountPermissionGroups contains a mapping of
1202// permission group IDs to names. A permission group is a grouping of
1203// account permissions.
1204type AccountPermissionGroup struct {
1205	// Id: ID of this account permission group.
1206	Id int64 `json:"id,omitempty,string"`
1207
1208	// Kind: Identifies what kind of resource this is. Value: the fixed
1209	// string "dfareporting#accountPermissionGroup".
1210	Kind string `json:"kind,omitempty"`
1211
1212	// Name: Name of this account permission group.
1213	Name string `json:"name,omitempty"`
1214
1215	// ServerResponse contains the HTTP response code and headers from the
1216	// server.
1217	googleapi.ServerResponse `json:"-"`
1218
1219	// ForceSendFields is a list of field names (e.g. "Id") to
1220	// unconditionally include in API requests. By default, fields with
1221	// empty values are omitted from API requests. However, any non-pointer,
1222	// non-interface field appearing in ForceSendFields will be sent to the
1223	// server regardless of whether the field is empty or not. This may be
1224	// used to include empty fields in Patch requests.
1225	ForceSendFields []string `json:"-"`
1226
1227	// NullFields is a list of field names (e.g. "Id") to include in API
1228	// requests with the JSON null value. By default, fields with empty
1229	// values are omitted from API requests. However, any field with an
1230	// empty value appearing in NullFields will be sent to the server as
1231	// null. It is an error if a field in this list has a non-empty value.
1232	// This may be used to include null fields in Patch requests.
1233	NullFields []string `json:"-"`
1234}
1235
1236func (s *AccountPermissionGroup) MarshalJSON() ([]byte, error) {
1237	type NoMethod AccountPermissionGroup
1238	raw := NoMethod(*s)
1239	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1240}
1241
1242// AccountPermissionGroupsListResponse: Account Permission Group List
1243// Response
1244type AccountPermissionGroupsListResponse struct {
1245	// AccountPermissionGroups: Account permission group collection.
1246	AccountPermissionGroups []*AccountPermissionGroup `json:"accountPermissionGroups,omitempty"`
1247
1248	// Kind: Identifies what kind of resource this is. Value: the fixed
1249	// string "dfareporting#accountPermissionGroupsListResponse".
1250	Kind string `json:"kind,omitempty"`
1251
1252	// ServerResponse contains the HTTP response code and headers from the
1253	// server.
1254	googleapi.ServerResponse `json:"-"`
1255
1256	// ForceSendFields is a list of field names (e.g.
1257	// "AccountPermissionGroups") to unconditionally include in API
1258	// requests. By default, fields with empty values are omitted from API
1259	// requests. However, any non-pointer, non-interface field appearing in
1260	// ForceSendFields will be sent to the server regardless of whether the
1261	// field is empty or not. This may be used to include empty fields in
1262	// Patch requests.
1263	ForceSendFields []string `json:"-"`
1264
1265	// NullFields is a list of field names (e.g. "AccountPermissionGroups")
1266	// to include in API requests with the JSON null value. By default,
1267	// fields with empty values are omitted from API requests. However, any
1268	// field with an empty value appearing in NullFields will be sent to the
1269	// server as null. It is an error if a field in this list has a
1270	// non-empty value. This may be used to include null fields in Patch
1271	// requests.
1272	NullFields []string `json:"-"`
1273}
1274
1275func (s *AccountPermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
1276	type NoMethod AccountPermissionGroupsListResponse
1277	raw := NoMethod(*s)
1278	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1279}
1280
1281// AccountPermissionsListResponse: Account Permission List Response
1282type AccountPermissionsListResponse struct {
1283	// AccountPermissions: Account permission collection.
1284	AccountPermissions []*AccountPermission `json:"accountPermissions,omitempty"`
1285
1286	// Kind: Identifies what kind of resource this is. Value: the fixed
1287	// string "dfareporting#accountPermissionsListResponse".
1288	Kind string `json:"kind,omitempty"`
1289
1290	// ServerResponse contains the HTTP response code and headers from the
1291	// server.
1292	googleapi.ServerResponse `json:"-"`
1293
1294	// ForceSendFields is a list of field names (e.g. "AccountPermissions")
1295	// to unconditionally include in API requests. By default, fields with
1296	// empty values are omitted from API requests. However, any non-pointer,
1297	// non-interface field appearing in ForceSendFields will be sent to the
1298	// server regardless of whether the field is empty or not. This may be
1299	// used to include empty fields in Patch requests.
1300	ForceSendFields []string `json:"-"`
1301
1302	// NullFields is a list of field names (e.g. "AccountPermissions") to
1303	// include in API requests with the JSON null value. By default, fields
1304	// with empty values are omitted from API requests. However, any field
1305	// with an empty value appearing in NullFields will be sent to the
1306	// server as null. It is an error if a field in this list has a
1307	// non-empty value. This may be used to include null fields in Patch
1308	// requests.
1309	NullFields []string `json:"-"`
1310}
1311
1312func (s *AccountPermissionsListResponse) MarshalJSON() ([]byte, error) {
1313	type NoMethod AccountPermissionsListResponse
1314	raw := NoMethod(*s)
1315	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1316}
1317
1318// AccountUserProfile: AccountUserProfiles contains properties of a
1319// Campaign Manager user profile. This resource is specifically for
1320// managing user profiles, whereas UserProfiles is for accessing the
1321// API.
1322type AccountUserProfile struct {
1323	// AccountId: Account ID of the user profile. This is a read-only field
1324	// that can be left blank.
1325	AccountId int64 `json:"accountId,omitempty,string"`
1326
1327	// Active: Whether this user profile is active. This defaults to false,
1328	// and must be set true on insert for the user profile to be usable.
1329	Active bool `json:"active,omitempty"`
1330
1331	// AdvertiserFilter: Filter that describes which advertisers are visible
1332	// to the user profile.
1333	AdvertiserFilter *ObjectFilter `json:"advertiserFilter,omitempty"`
1334
1335	// CampaignFilter: Filter that describes which campaigns are visible to
1336	// the user profile.
1337	CampaignFilter *ObjectFilter `json:"campaignFilter,omitempty"`
1338
1339	// Comments: Comments for this user profile.
1340	Comments string `json:"comments,omitempty"`
1341
1342	// Email: Email of the user profile. The email addresss must be linked
1343	// to a Google Account. This field is required on insertion and is
1344	// read-only after insertion.
1345	Email string `json:"email,omitempty"`
1346
1347	// Id: ID of the user profile. This is a read-only, auto-generated
1348	// field.
1349	Id int64 `json:"id,omitempty,string"`
1350
1351	// Kind: Identifies what kind of resource this is. Value: the fixed
1352	// string "dfareporting#accountUserProfile".
1353	Kind string `json:"kind,omitempty"`
1354
1355	// Locale: Locale of the user profile. This is a required
1356	// field.
1357	// Acceptable values are:
1358	// - "cs" (Czech)
1359	// - "de" (German)
1360	// - "en" (English)
1361	// - "en-GB" (English United Kingdom)
1362	// - "es" (Spanish)
1363	// - "fr" (French)
1364	// - "it" (Italian)
1365	// - "ja" (Japanese)
1366	// - "ko" (Korean)
1367	// - "pl" (Polish)
1368	// - "pt-BR" (Portuguese Brazil)
1369	// - "ru" (Russian)
1370	// - "sv" (Swedish)
1371	// - "tr" (Turkish)
1372	// - "zh-CN" (Chinese Simplified)
1373	// - "zh-TW" (Chinese Traditional)
1374	Locale string `json:"locale,omitempty"`
1375
1376	// Name: Name of the user profile. This is a required field. Must be
1377	// less than 64 characters long, must be globally unique, and cannot
1378	// contain whitespace or any of the following characters: "&;"#%,".
1379	Name string `json:"name,omitempty"`
1380
1381	// SiteFilter: Filter that describes which sites are visible to the user
1382	// profile.
1383	SiteFilter *ObjectFilter `json:"siteFilter,omitempty"`
1384
1385	// SubaccountId: Subaccount ID of the user profile. This is a read-only
1386	// field that can be left blank.
1387	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1388
1389	// TraffickerType: Trafficker type of this user profile. This is a
1390	// read-only field.
1391	//
1392	// Possible values:
1393	//   "EXTERNAL_TRAFFICKER"
1394	//   "INTERNAL_NON_TRAFFICKER"
1395	//   "INTERNAL_TRAFFICKER"
1396	TraffickerType string `json:"traffickerType,omitempty"`
1397
1398	// UserAccessType: User type of the user profile. This is a read-only
1399	// field that can be left blank.
1400	//
1401	// Possible values:
1402	//   "INTERNAL_ADMINISTRATOR"
1403	//   "NORMAL_USER"
1404	//   "READ_ONLY_SUPER_USER"
1405	//   "SUPER_USER"
1406	UserAccessType string `json:"userAccessType,omitempty"`
1407
1408	// UserRoleFilter: Filter that describes which user roles are visible to
1409	// the user profile.
1410	UserRoleFilter *ObjectFilter `json:"userRoleFilter,omitempty"`
1411
1412	// UserRoleId: User role ID of the user profile. This is a required
1413	// field.
1414	UserRoleId int64 `json:"userRoleId,omitempty,string"`
1415
1416	// ServerResponse contains the HTTP response code and headers from the
1417	// server.
1418	googleapi.ServerResponse `json:"-"`
1419
1420	// ForceSendFields is a list of field names (e.g. "AccountId") to
1421	// unconditionally include in API requests. By default, fields with
1422	// empty values are omitted from API requests. However, any non-pointer,
1423	// non-interface field appearing in ForceSendFields will be sent to the
1424	// server regardless of whether the field is empty or not. This may be
1425	// used to include empty fields in Patch requests.
1426	ForceSendFields []string `json:"-"`
1427
1428	// NullFields is a list of field names (e.g. "AccountId") to include in
1429	// API requests with the JSON null value. By default, fields with empty
1430	// values are omitted from API requests. However, any field with an
1431	// empty value appearing in NullFields will be sent to the server as
1432	// null. It is an error if a field in this list has a non-empty value.
1433	// This may be used to include null fields in Patch requests.
1434	NullFields []string `json:"-"`
1435}
1436
1437func (s *AccountUserProfile) MarshalJSON() ([]byte, error) {
1438	type NoMethod AccountUserProfile
1439	raw := NoMethod(*s)
1440	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1441}
1442
1443// AccountUserProfilesListResponse: Account User Profile List Response
1444type AccountUserProfilesListResponse struct {
1445	// AccountUserProfiles: Account user profile collection.
1446	AccountUserProfiles []*AccountUserProfile `json:"accountUserProfiles,omitempty"`
1447
1448	// Kind: Identifies what kind of resource this is. Value: the fixed
1449	// string "dfareporting#accountUserProfilesListResponse".
1450	Kind string `json:"kind,omitempty"`
1451
1452	// NextPageToken: Pagination token to be used for the next list
1453	// operation.
1454	NextPageToken string `json:"nextPageToken,omitempty"`
1455
1456	// ServerResponse contains the HTTP response code and headers from the
1457	// server.
1458	googleapi.ServerResponse `json:"-"`
1459
1460	// ForceSendFields is a list of field names (e.g. "AccountUserProfiles")
1461	// to unconditionally include in API requests. By default, fields with
1462	// empty values are omitted from API requests. However, any non-pointer,
1463	// non-interface field appearing in ForceSendFields will be sent to the
1464	// server regardless of whether the field is empty or not. This may be
1465	// used to include empty fields in Patch requests.
1466	ForceSendFields []string `json:"-"`
1467
1468	// NullFields is a list of field names (e.g. "AccountUserProfiles") to
1469	// include in API requests with the JSON null value. By default, fields
1470	// with empty values are omitted from API requests. However, any field
1471	// with an empty value appearing in NullFields will be sent to the
1472	// server as null. It is an error if a field in this list has a
1473	// non-empty value. This may be used to include null fields in Patch
1474	// requests.
1475	NullFields []string `json:"-"`
1476}
1477
1478func (s *AccountUserProfilesListResponse) MarshalJSON() ([]byte, error) {
1479	type NoMethod AccountUserProfilesListResponse
1480	raw := NoMethod(*s)
1481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1482}
1483
1484// AccountsListResponse: Account List Response
1485type AccountsListResponse struct {
1486	// Accounts: Account collection.
1487	Accounts []*Account `json:"accounts,omitempty"`
1488
1489	// Kind: Identifies what kind of resource this is. Value: the fixed
1490	// string "dfareporting#accountsListResponse".
1491	Kind string `json:"kind,omitempty"`
1492
1493	// NextPageToken: Pagination token to be used for the next list
1494	// operation.
1495	NextPageToken string `json:"nextPageToken,omitempty"`
1496
1497	// ServerResponse contains the HTTP response code and headers from the
1498	// server.
1499	googleapi.ServerResponse `json:"-"`
1500
1501	// ForceSendFields is a list of field names (e.g. "Accounts") to
1502	// unconditionally include in API requests. By default, fields with
1503	// empty values are omitted from API requests. However, any non-pointer,
1504	// non-interface field appearing in ForceSendFields will be sent to the
1505	// server regardless of whether the field is empty or not. This may be
1506	// used to include empty fields in Patch requests.
1507	ForceSendFields []string `json:"-"`
1508
1509	// NullFields is a list of field names (e.g. "Accounts") to include in
1510	// API requests with the JSON null value. By default, fields with empty
1511	// values are omitted from API requests. However, any field with an
1512	// empty value appearing in NullFields will be sent to the server as
1513	// null. It is an error if a field in this list has a non-empty value.
1514	// This may be used to include null fields in Patch requests.
1515	NullFields []string `json:"-"`
1516}
1517
1518func (s *AccountsListResponse) MarshalJSON() ([]byte, error) {
1519	type NoMethod AccountsListResponse
1520	raw := NoMethod(*s)
1521	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1522}
1523
1524// Activities: Represents an activity group.
1525type Activities struct {
1526	// Filters: List of activity filters. The dimension values need to be
1527	// all either of type "dfa:activity" or "dfa:activityGroup".
1528	Filters []*DimensionValue `json:"filters,omitempty"`
1529
1530	// Kind: The kind of resource this is, in this case
1531	// dfareporting#activities.
1532	Kind string `json:"kind,omitempty"`
1533
1534	// MetricNames: List of names of floodlight activity metrics.
1535	MetricNames []string `json:"metricNames,omitempty"`
1536
1537	// ForceSendFields is a list of field names (e.g. "Filters") to
1538	// unconditionally include in API requests. By default, fields with
1539	// empty values are omitted from API requests. However, any non-pointer,
1540	// non-interface field appearing in ForceSendFields will be sent to the
1541	// server regardless of whether the field is empty or not. This may be
1542	// used to include empty fields in Patch requests.
1543	ForceSendFields []string `json:"-"`
1544
1545	// NullFields is a list of field names (e.g. "Filters") to include in
1546	// API requests with the JSON null value. By default, fields with empty
1547	// values are omitted from API requests. However, any field with an
1548	// empty value appearing in NullFields will be sent to the server as
1549	// null. It is an error if a field in this list has a non-empty value.
1550	// This may be used to include null fields in Patch requests.
1551	NullFields []string `json:"-"`
1552}
1553
1554func (s *Activities) MarshalJSON() ([]byte, error) {
1555	type NoMethod Activities
1556	raw := NoMethod(*s)
1557	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1558}
1559
1560// Ad: Contains properties of a Campaign Manager ad.
1561type Ad struct {
1562	// AccountId: Account ID of this ad. This is a read-only field that can
1563	// be left blank.
1564	AccountId int64 `json:"accountId,omitempty,string"`
1565
1566	// Active: Whether this ad is active. When true, archived must be false.
1567	Active bool `json:"active,omitempty"`
1568
1569	// AdvertiserId: Advertiser ID of this ad. This is a required field on
1570	// insertion.
1571	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
1572
1573	// AdvertiserIdDimensionValue: Dimension value for the ID of the
1574	// advertiser. This is a read-only, auto-generated field.
1575	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
1576
1577	// Archived: Whether this ad is archived. When true, active must be
1578	// false.
1579	Archived bool `json:"archived,omitempty"`
1580
1581	// AudienceSegmentId: Audience segment ID that is being targeted for
1582	// this ad. Applicable when type is AD_SERVING_STANDARD_AD.
1583	AudienceSegmentId int64 `json:"audienceSegmentId,omitempty,string"`
1584
1585	// CampaignId: Campaign ID of this ad. This is a required field on
1586	// insertion.
1587	CampaignId int64 `json:"campaignId,omitempty,string"`
1588
1589	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
1590	// This is a read-only, auto-generated field.
1591	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
1592
1593	// ClickThroughUrl: Click-through URL for this ad. This is a required
1594	// field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER.
1595	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
1596
1597	// ClickThroughUrlSuffixProperties: Click-through URL suffix properties
1598	// for this ad. Applies to the URL in the ad or (if overriding ad
1599	// properties) the URL in the creative.
1600	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
1601
1602	// Comments: Comments for this ad.
1603	Comments string `json:"comments,omitempty"`
1604
1605	// Compatibility: Compatibility of this ad. Applicable when type is
1606	// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
1607	// either rendering on desktop or on mobile devices or in mobile apps
1608	// for regular or interstitial ads, respectively. APP and
1609	// APP_INTERSTITIAL are only used for existing default ads. New mobile
1610	// placements must be assigned DISPLAY or DISPLAY_INTERSTITIAL and
1611	// default ads created for those placements will be limited to those
1612	// compatibility types. IN_STREAM_VIDEO refers to rendering in-stream
1613	// video ads developed with the VAST standard.
1614	//
1615	// Possible values:
1616	//   "APP"
1617	//   "APP_INTERSTITIAL"
1618	//   "DISPLAY"
1619	//   "DISPLAY_INTERSTITIAL"
1620	//   "IN_STREAM_AUDIO"
1621	//   "IN_STREAM_VIDEO"
1622	Compatibility string `json:"compatibility,omitempty"`
1623
1624	// CreateInfo: Information about the creation of this ad. This is a
1625	// read-only field.
1626	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
1627
1628	// CreativeGroupAssignments: Creative group assignments for this ad.
1629	// Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment
1630	// per creative group number is allowed for a maximum of two
1631	// assignments.
1632	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
1633
1634	// CreativeRotation: Creative rotation for this ad. Applicable when type
1635	// is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or
1636	// AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field
1637	// should have exactly one creativeAssignment.
1638	CreativeRotation *CreativeRotation `json:"creativeRotation,omitempty"`
1639
1640	// DayPartTargeting: Time and day targeting information for this ad.
1641	// This field must be left blank if the ad is using a targeting
1642	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1643	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
1644
1645	// DefaultClickThroughEventTagProperties: Default click-through event
1646	// tag properties for this ad.
1647	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
1648
1649	// DeliverySchedule: Delivery schedule information for this ad.
1650	// Applicable when type is AD_SERVING_STANDARD_AD or
1651	// AD_SERVING_TRACKING. This field along with subfields priority and
1652	// impressionRatio are required on insertion when type is
1653	// AD_SERVING_STANDARD_AD.
1654	DeliverySchedule *DeliverySchedule `json:"deliverySchedule,omitempty"`
1655
1656	// DynamicClickTracker: Whether this ad is a dynamic click tracker.
1657	// Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required
1658	// field on insert, and is read-only after insert.
1659	DynamicClickTracker bool `json:"dynamicClickTracker,omitempty"`
1660
1661	// EndTime: Date and time that this ad should stop serving. Must be
1662	// later than the start time. This is a required field on insertion.
1663	EndTime string `json:"endTime,omitempty"`
1664
1665	// EventTagOverrides: Event tag overrides for this ad.
1666	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
1667
1668	// GeoTargeting: Geographical targeting information for this ad. This
1669	// field must be left blank if the ad is using a targeting template.
1670	// Applicable when type is AD_SERVING_STANDARD_AD.
1671	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
1672
1673	// Id: ID of this ad. This is a read-only, auto-generated field.
1674	Id int64 `json:"id,omitempty,string"`
1675
1676	// IdDimensionValue: Dimension value for the ID of this ad. This is a
1677	// read-only, auto-generated field.
1678	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1679
1680	// KeyValueTargetingExpression: Key-value targeting information for this
1681	// ad. This field must be left blank if the ad is using a targeting
1682	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1683	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
1684
1685	// Kind: Identifies what kind of resource this is. Value: the fixed
1686	// string "dfareporting#ad".
1687	Kind string `json:"kind,omitempty"`
1688
1689	// LanguageTargeting: Language targeting information for this ad. This
1690	// field must be left blank if the ad is using a targeting template.
1691	// Applicable when type is AD_SERVING_STANDARD_AD.
1692	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
1693
1694	// LastModifiedInfo: Information about the most recent modification of
1695	// this ad. This is a read-only field.
1696	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
1697
1698	// Name: Name of this ad. This is a required field and must be less than
1699	// 256 characters long.
1700	Name string `json:"name,omitempty"`
1701
1702	// PlacementAssignments: Placement assignments for this ad.
1703	PlacementAssignments []*PlacementAssignment `json:"placementAssignments,omitempty"`
1704
1705	// RemarketingListExpression: Remarketing list targeting expression for
1706	// this ad. This field must be left blank if the ad is using a targeting
1707	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1708	RemarketingListExpression *ListTargetingExpression `json:"remarketingListExpression,omitempty"`
1709
1710	// Size: Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD.
1711	Size *Size `json:"size,omitempty"`
1712
1713	// SslCompliant: Whether this ad is ssl compliant. This is a read-only
1714	// field that is auto-generated when the ad is inserted or updated.
1715	SslCompliant bool `json:"sslCompliant,omitempty"`
1716
1717	// SslRequired: Whether this ad requires ssl. This is a read-only field
1718	// that is auto-generated when the ad is inserted or updated.
1719	SslRequired bool `json:"sslRequired,omitempty"`
1720
1721	// StartTime: Date and time that this ad should start serving. If
1722	// creating an ad, this field must be a time in the future. This is a
1723	// required field on insertion.
1724	StartTime string `json:"startTime,omitempty"`
1725
1726	// SubaccountId: Subaccount ID of this ad. This is a read-only field
1727	// that can be left blank.
1728	SubaccountId int64 `json:"subaccountId,omitempty,string"`
1729
1730	// TargetingTemplateId: Targeting template ID, used to apply
1731	// preconfigured targeting information to this ad. This cannot be set
1732	// while any of dayPartTargeting, geoTargeting,
1733	// keyValueTargetingExpression, languageTargeting,
1734	// remarketingListExpression, or technologyTargeting are set. Applicable
1735	// when type is AD_SERVING_STANDARD_AD.
1736	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
1737
1738	// TechnologyTargeting: Technology platform targeting information for
1739	// this ad. This field must be left blank if the ad is using a targeting
1740	// template. Applicable when type is AD_SERVING_STANDARD_AD.
1741	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
1742
1743	// Type: Type of ad. This is a required field on insertion. Note that
1744	// default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see
1745	// Creative resource).
1746	//
1747	// Possible values:
1748	//   "AD_SERVING_CLICK_TRACKER"
1749	//   "AD_SERVING_DEFAULT_AD"
1750	//   "AD_SERVING_STANDARD_AD"
1751	//   "AD_SERVING_TRACKING"
1752	Type string `json:"type,omitempty"`
1753
1754	// ServerResponse contains the HTTP response code and headers from the
1755	// server.
1756	googleapi.ServerResponse `json:"-"`
1757
1758	// ForceSendFields is a list of field names (e.g. "AccountId") to
1759	// unconditionally include in API requests. By default, fields with
1760	// empty values are omitted from API requests. However, any non-pointer,
1761	// non-interface field appearing in ForceSendFields will be sent to the
1762	// server regardless of whether the field is empty or not. This may be
1763	// used to include empty fields in Patch requests.
1764	ForceSendFields []string `json:"-"`
1765
1766	// NullFields is a list of field names (e.g. "AccountId") to include in
1767	// API requests with the JSON null value. By default, fields with empty
1768	// values are omitted from API requests. However, any field with an
1769	// empty value appearing in NullFields will be sent to the server as
1770	// null. It is an error if a field in this list has a non-empty value.
1771	// This may be used to include null fields in Patch requests.
1772	NullFields []string `json:"-"`
1773}
1774
1775func (s *Ad) MarshalJSON() ([]byte, error) {
1776	type NoMethod Ad
1777	raw := NoMethod(*s)
1778	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1779}
1780
1781// AdBlockingConfiguration: Campaign ad blocking settings.
1782type AdBlockingConfiguration struct {
1783	// ClickThroughUrl: Click-through URL used by brand-neutral ads. This is
1784	// a required field when overrideClickThroughUrl is set to true.
1785	ClickThroughUrl string `json:"clickThroughUrl,omitempty"`
1786
1787	// CreativeBundleId: ID of a creative bundle to use for this campaign.
1788	// If set, brand-neutral ads will select creatives from this bundle.
1789	// Otherwise, a default transparent pixel will be used.
1790	CreativeBundleId int64 `json:"creativeBundleId,omitempty,string"`
1791
1792	// Enabled: Whether this campaign has enabled ad blocking. When true, ad
1793	// blocking is enabled for placements in the campaign, but this may be
1794	// overridden by site and placement settings. When false, ad blocking is
1795	// disabled for all placements under the campaign, regardless of site
1796	// and placement settings.
1797	Enabled bool `json:"enabled,omitempty"`
1798
1799	// OverrideClickThroughUrl: Whether the brand-neutral ad's click-through
1800	// URL comes from the campaign's creative bundle or the override URL.
1801	// Must be set to true if ad blocking is enabled and no creative bundle
1802	// is configured.
1803	OverrideClickThroughUrl bool `json:"overrideClickThroughUrl,omitempty"`
1804
1805	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
1806	// unconditionally include in API requests. By default, fields with
1807	// empty values are omitted from API requests. However, any non-pointer,
1808	// non-interface field appearing in ForceSendFields will be sent to the
1809	// server regardless of whether the field is empty or not. This may be
1810	// used to include empty fields in Patch requests.
1811	ForceSendFields []string `json:"-"`
1812
1813	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
1814	// include in API requests with the JSON null value. By default, fields
1815	// with empty values are omitted from API requests. However, any field
1816	// with an empty value appearing in NullFields will be sent to the
1817	// server as null. It is an error if a field in this list has a
1818	// non-empty value. This may be used to include null fields in Patch
1819	// requests.
1820	NullFields []string `json:"-"`
1821}
1822
1823func (s *AdBlockingConfiguration) MarshalJSON() ([]byte, error) {
1824	type NoMethod AdBlockingConfiguration
1825	raw := NoMethod(*s)
1826	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1827}
1828
1829// AdSlot: Ad Slot
1830type AdSlot struct {
1831	// Comment: Comment for this ad slot.
1832	Comment string `json:"comment,omitempty"`
1833
1834	// Compatibility: Ad slot compatibility. DISPLAY and
1835	// DISPLAY_INTERSTITIAL refer to rendering either on desktop, mobile
1836	// devices or in mobile apps for regular or interstitial ads
1837	// respectively. APP and APP_INTERSTITIAL are for rendering in mobile
1838	// apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads
1839	// developed with the VAST standard.
1840	//
1841	// Possible values:
1842	//   "APP"
1843	//   "APP_INTERSTITIAL"
1844	//   "DISPLAY"
1845	//   "DISPLAY_INTERSTITIAL"
1846	//   "IN_STREAM_AUDIO"
1847	//   "IN_STREAM_VIDEO"
1848	Compatibility string `json:"compatibility,omitempty"`
1849
1850	// Height: Height of this ad slot.
1851	Height int64 `json:"height,omitempty,string"`
1852
1853	// LinkedPlacementId: ID of the placement from an external platform that
1854	// is linked to this ad slot.
1855	LinkedPlacementId int64 `json:"linkedPlacementId,omitempty,string"`
1856
1857	// Name: Name of this ad slot.
1858	Name string `json:"name,omitempty"`
1859
1860	// PaymentSourceType: Payment source type of this ad slot.
1861	//
1862	// Possible values:
1863	//   "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID"
1864	//   "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID"
1865	PaymentSourceType string `json:"paymentSourceType,omitempty"`
1866
1867	// Primary: Primary ad slot of a roadblock inventory item.
1868	Primary bool `json:"primary,omitempty"`
1869
1870	// Width: Width of this ad slot.
1871	Width int64 `json:"width,omitempty,string"`
1872
1873	// ForceSendFields is a list of field names (e.g. "Comment") to
1874	// unconditionally include in API requests. By default, fields with
1875	// empty values are omitted from API requests. However, any non-pointer,
1876	// non-interface field appearing in ForceSendFields will be sent to the
1877	// server regardless of whether the field is empty or not. This may be
1878	// used to include empty fields in Patch requests.
1879	ForceSendFields []string `json:"-"`
1880
1881	// NullFields is a list of field names (e.g. "Comment") to include in
1882	// API requests with the JSON null value. By default, fields with empty
1883	// values are omitted from API requests. However, any field with an
1884	// empty value appearing in NullFields will be sent to the server as
1885	// null. It is an error if a field in this list has a non-empty value.
1886	// This may be used to include null fields in Patch requests.
1887	NullFields []string `json:"-"`
1888}
1889
1890func (s *AdSlot) MarshalJSON() ([]byte, error) {
1891	type NoMethod AdSlot
1892	raw := NoMethod(*s)
1893	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1894}
1895
1896// AdsListResponse: Ad List Response
1897type AdsListResponse struct {
1898	// Ads: Ad collection.
1899	Ads []*Ad `json:"ads,omitempty"`
1900
1901	// Kind: Identifies what kind of resource this is. Value: the fixed
1902	// string "dfareporting#adsListResponse".
1903	Kind string `json:"kind,omitempty"`
1904
1905	// NextPageToken: Pagination token to be used for the next list
1906	// operation.
1907	NextPageToken string `json:"nextPageToken,omitempty"`
1908
1909	// ServerResponse contains the HTTP response code and headers from the
1910	// server.
1911	googleapi.ServerResponse `json:"-"`
1912
1913	// ForceSendFields is a list of field names (e.g. "Ads") to
1914	// unconditionally include in API requests. By default, fields with
1915	// empty values are omitted from API requests. However, any non-pointer,
1916	// non-interface field appearing in ForceSendFields will be sent to the
1917	// server regardless of whether the field is empty or not. This may be
1918	// used to include empty fields in Patch requests.
1919	ForceSendFields []string `json:"-"`
1920
1921	// NullFields is a list of field names (e.g. "Ads") to include in API
1922	// requests with the JSON null value. By default, fields with empty
1923	// values are omitted from API requests. However, any field with an
1924	// empty value appearing in NullFields will be sent to the server as
1925	// null. It is an error if a field in this list has a non-empty value.
1926	// This may be used to include null fields in Patch requests.
1927	NullFields []string `json:"-"`
1928}
1929
1930func (s *AdsListResponse) MarshalJSON() ([]byte, error) {
1931	type NoMethod AdsListResponse
1932	raw := NoMethod(*s)
1933	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
1934}
1935
1936// Advertiser: Contains properties of a Campaign Manager advertiser.
1937type Advertiser struct {
1938	// AccountId: Account ID of this advertiser.This is a read-only field
1939	// that can be left blank.
1940	AccountId int64 `json:"accountId,omitempty,string"`
1941
1942	// AdvertiserGroupId: ID of the advertiser group this advertiser belongs
1943	// to. You can group advertisers for reporting purposes, allowing you to
1944	// see aggregated information for all advertisers in each group.
1945	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
1946
1947	// ClickThroughUrlSuffix: Suffix added to click-through URL of ad
1948	// creative associations under this advertiser. Must be less than 129
1949	// characters long.
1950	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
1951
1952	// DefaultClickThroughEventTagId: ID of the click-through event tag to
1953	// apply by default to the landing pages of this advertiser's campaigns.
1954	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
1955
1956	// DefaultEmail: Default email address used in sender field for tag
1957	// emails.
1958	DefaultEmail string `json:"defaultEmail,omitempty"`
1959
1960	// FloodlightConfigurationId: Floodlight configuration ID of this
1961	// advertiser. The floodlight configuration ID will be created
1962	// automatically, so on insert this field should be left blank. This
1963	// field can be set to another advertiser's floodlight configuration ID
1964	// in order to share that advertiser's floodlight configuration with
1965	// this advertiser, so long as:
1966	// - This advertiser's original floodlight configuration is not already
1967	// associated with floodlight activities or floodlight activity groups.
1968	//
1969	// - This advertiser's original floodlight configuration is not already
1970	// shared with another advertiser.
1971	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
1972
1973	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
1974	// of the floodlight configuration. This is a read-only, auto-generated
1975	// field.
1976	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
1977
1978	// Id: ID of this advertiser. This is a read-only, auto-generated field.
1979	Id int64 `json:"id,omitempty,string"`
1980
1981	// IdDimensionValue: Dimension value for the ID of this advertiser. This
1982	// is a read-only, auto-generated field.
1983	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
1984
1985	// Kind: Identifies what kind of resource this is. Value: the fixed
1986	// string "dfareporting#advertiser".
1987	Kind string `json:"kind,omitempty"`
1988
1989	// Name: Name of this advertiser. This is a required field and must be
1990	// less than 256 characters long and unique among advertisers of the
1991	// same account.
1992	Name string `json:"name,omitempty"`
1993
1994	// OriginalFloodlightConfigurationId: Original floodlight configuration
1995	// before any sharing occurred. Set the floodlightConfigurationId of
1996	// this advertiser to originalFloodlightConfigurationId to unshare the
1997	// advertiser's current floodlight configuration. You cannot unshare an
1998	// advertiser's floodlight configuration if the shared configuration has
1999	// activities associated with any campaign or placement.
2000	OriginalFloodlightConfigurationId int64 `json:"originalFloodlightConfigurationId,omitempty,string"`
2001
2002	// Status: Status of this advertiser.
2003	//
2004	// Possible values:
2005	//   "APPROVED"
2006	//   "ON_HOLD"
2007	Status string `json:"status,omitempty"`
2008
2009	// SubaccountId: Subaccount ID of this advertiser.This is a read-only
2010	// field that can be left blank.
2011	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2012
2013	// Suspended: Suspension status of this advertiser.
2014	Suspended bool `json:"suspended,omitempty"`
2015
2016	// ServerResponse contains the HTTP response code and headers from the
2017	// server.
2018	googleapi.ServerResponse `json:"-"`
2019
2020	// ForceSendFields is a list of field names (e.g. "AccountId") to
2021	// unconditionally include in API requests. By default, fields with
2022	// empty values are omitted from API requests. However, any non-pointer,
2023	// non-interface field appearing in ForceSendFields will be sent to the
2024	// server regardless of whether the field is empty or not. This may be
2025	// used to include empty fields in Patch requests.
2026	ForceSendFields []string `json:"-"`
2027
2028	// NullFields is a list of field names (e.g. "AccountId") to include in
2029	// API requests with the JSON null value. By default, fields with empty
2030	// values are omitted from API requests. However, any field with an
2031	// empty value appearing in NullFields will be sent to the server as
2032	// null. It is an error if a field in this list has a non-empty value.
2033	// This may be used to include null fields in Patch requests.
2034	NullFields []string `json:"-"`
2035}
2036
2037func (s *Advertiser) MarshalJSON() ([]byte, error) {
2038	type NoMethod Advertiser
2039	raw := NoMethod(*s)
2040	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2041}
2042
2043// AdvertiserGroup: Groups advertisers together so that reports can be
2044// generated for the entire group at once.
2045type AdvertiserGroup struct {
2046	// AccountId: Account ID of this advertiser group. This is a read-only
2047	// field that can be left blank.
2048	AccountId int64 `json:"accountId,omitempty,string"`
2049
2050	// Id: ID of this advertiser group. This is a read-only, auto-generated
2051	// field.
2052	Id int64 `json:"id,omitempty,string"`
2053
2054	// Kind: Identifies what kind of resource this is. Value: the fixed
2055	// string "dfareporting#advertiserGroup".
2056	Kind string `json:"kind,omitempty"`
2057
2058	// Name: Name of this advertiser group. This is a required field and
2059	// must be less than 256 characters long and unique among advertiser
2060	// groups of the same account.
2061	Name string `json:"name,omitempty"`
2062
2063	// ServerResponse contains the HTTP response code and headers from the
2064	// server.
2065	googleapi.ServerResponse `json:"-"`
2066
2067	// ForceSendFields is a list of field names (e.g. "AccountId") to
2068	// unconditionally include in API requests. By default, fields with
2069	// empty values are omitted from API requests. However, any non-pointer,
2070	// non-interface field appearing in ForceSendFields will be sent to the
2071	// server regardless of whether the field is empty or not. This may be
2072	// used to include empty fields in Patch requests.
2073	ForceSendFields []string `json:"-"`
2074
2075	// NullFields is a list of field names (e.g. "AccountId") to include in
2076	// API requests with the JSON null value. By default, fields with empty
2077	// values are omitted from API requests. However, any field with an
2078	// empty value appearing in NullFields will be sent to the server as
2079	// null. It is an error if a field in this list has a non-empty value.
2080	// This may be used to include null fields in Patch requests.
2081	NullFields []string `json:"-"`
2082}
2083
2084func (s *AdvertiserGroup) MarshalJSON() ([]byte, error) {
2085	type NoMethod AdvertiserGroup
2086	raw := NoMethod(*s)
2087	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2088}
2089
2090// AdvertiserGroupsListResponse: Advertiser Group List Response
2091type AdvertiserGroupsListResponse struct {
2092	// AdvertiserGroups: Advertiser group collection.
2093	AdvertiserGroups []*AdvertiserGroup `json:"advertiserGroups,omitempty"`
2094
2095	// Kind: Identifies what kind of resource this is. Value: the fixed
2096	// string "dfareporting#advertiserGroupsListResponse".
2097	Kind string `json:"kind,omitempty"`
2098
2099	// NextPageToken: Pagination token to be used for the next list
2100	// operation.
2101	NextPageToken string `json:"nextPageToken,omitempty"`
2102
2103	// ServerResponse contains the HTTP response code and headers from the
2104	// server.
2105	googleapi.ServerResponse `json:"-"`
2106
2107	// ForceSendFields is a list of field names (e.g. "AdvertiserGroups") to
2108	// unconditionally include in API requests. By default, fields with
2109	// empty values are omitted from API requests. However, any non-pointer,
2110	// non-interface field appearing in ForceSendFields will be sent to the
2111	// server regardless of whether the field is empty or not. This may be
2112	// used to include empty fields in Patch requests.
2113	ForceSendFields []string `json:"-"`
2114
2115	// NullFields is a list of field names (e.g. "AdvertiserGroups") to
2116	// include in API requests with the JSON null value. By default, fields
2117	// with empty values are omitted from API requests. However, any field
2118	// with an empty value appearing in NullFields will be sent to the
2119	// server as null. It is an error if a field in this list has a
2120	// non-empty value. This may be used to include null fields in Patch
2121	// requests.
2122	NullFields []string `json:"-"`
2123}
2124
2125func (s *AdvertiserGroupsListResponse) MarshalJSON() ([]byte, error) {
2126	type NoMethod AdvertiserGroupsListResponse
2127	raw := NoMethod(*s)
2128	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2129}
2130
2131// AdvertiserLandingPagesListResponse: Landing Page List Response
2132type AdvertiserLandingPagesListResponse struct {
2133	// Kind: Identifies what kind of resource this is. Value: the fixed
2134	// string "dfareporting#advertiserLandingPagesListResponse".
2135	Kind string `json:"kind,omitempty"`
2136
2137	// LandingPages: Landing page collection
2138	LandingPages []*LandingPage `json:"landingPages,omitempty"`
2139
2140	// NextPageToken: Pagination token to be used for the next list
2141	// operation.
2142	NextPageToken string `json:"nextPageToken,omitempty"`
2143
2144	// ServerResponse contains the HTTP response code and headers from the
2145	// server.
2146	googleapi.ServerResponse `json:"-"`
2147
2148	// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") to include in API
2157	// 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 *AdvertiserLandingPagesListResponse) MarshalJSON() ([]byte, error) {
2166	type NoMethod AdvertiserLandingPagesListResponse
2167	raw := NoMethod(*s)
2168	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2169}
2170
2171// AdvertisersListResponse: Advertiser List Response
2172type AdvertisersListResponse struct {
2173	// Advertisers: Advertiser collection.
2174	Advertisers []*Advertiser `json:"advertisers,omitempty"`
2175
2176	// Kind: Identifies what kind of resource this is. Value: the fixed
2177	// string "dfareporting#advertisersListResponse".
2178	Kind string `json:"kind,omitempty"`
2179
2180	// NextPageToken: Pagination token to be used for the next list
2181	// operation.
2182	NextPageToken string `json:"nextPageToken,omitempty"`
2183
2184	// ServerResponse contains the HTTP response code and headers from the
2185	// server.
2186	googleapi.ServerResponse `json:"-"`
2187
2188	// ForceSendFields is a list of field names (e.g. "Advertisers") to
2189	// unconditionally include in API requests. By default, fields with
2190	// empty values are omitted from API requests. However, any non-pointer,
2191	// non-interface field appearing in ForceSendFields will be sent to the
2192	// server regardless of whether the field is empty or not. This may be
2193	// used to include empty fields in Patch requests.
2194	ForceSendFields []string `json:"-"`
2195
2196	// NullFields is a list of field names (e.g. "Advertisers") to include
2197	// in API requests with the JSON null value. By default, fields with
2198	// empty values are omitted from API requests. However, any field with
2199	// an empty value appearing in NullFields will be sent to the server as
2200	// null. It is an error if a field in this list has a non-empty value.
2201	// This may be used to include null fields in Patch requests.
2202	NullFields []string `json:"-"`
2203}
2204
2205func (s *AdvertisersListResponse) MarshalJSON() ([]byte, error) {
2206	type NoMethod AdvertisersListResponse
2207	raw := NoMethod(*s)
2208	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2209}
2210
2211// AudienceSegment: Audience Segment.
2212type AudienceSegment struct {
2213	// Allocation: Weight allocated to this segment. The weight assigned
2214	// will be understood in proportion to the weights assigned to other
2215	// segments in the same segment group. Acceptable values are 1 to 1000,
2216	// inclusive.
2217	Allocation int64 `json:"allocation,omitempty"`
2218
2219	// Id: ID of this audience segment. This is a read-only, auto-generated
2220	// field.
2221	Id int64 `json:"id,omitempty,string"`
2222
2223	// Name: Name of this audience segment. This is a required field and
2224	// must be less than 65 characters long.
2225	Name string `json:"name,omitempty"`
2226
2227	// ForceSendFields is a list of field names (e.g. "Allocation") to
2228	// unconditionally include in API requests. By default, fields with
2229	// empty values are omitted from API requests. However, any non-pointer,
2230	// non-interface field appearing in ForceSendFields will be sent to the
2231	// server regardless of whether the field is empty or not. This may be
2232	// used to include empty fields in Patch requests.
2233	ForceSendFields []string `json:"-"`
2234
2235	// NullFields is a list of field names (e.g. "Allocation") to include in
2236	// API requests with the JSON null value. By default, fields with empty
2237	// values are omitted from API requests. However, any field with an
2238	// empty value appearing in NullFields will be sent to the server as
2239	// null. It is an error if a field in this list has a non-empty value.
2240	// This may be used to include null fields in Patch requests.
2241	NullFields []string `json:"-"`
2242}
2243
2244func (s *AudienceSegment) MarshalJSON() ([]byte, error) {
2245	type NoMethod AudienceSegment
2246	raw := NoMethod(*s)
2247	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2248}
2249
2250// AudienceSegmentGroup: Audience Segment Group.
2251type AudienceSegmentGroup struct {
2252	// AudienceSegments: Audience segments assigned to this group. The
2253	// number of segments must be between 2 and 100.
2254	AudienceSegments []*AudienceSegment `json:"audienceSegments,omitempty"`
2255
2256	// Id: ID of this audience segment group. This is a read-only,
2257	// auto-generated field.
2258	Id int64 `json:"id,omitempty,string"`
2259
2260	// Name: Name of this audience segment group. This is a required field
2261	// and must be less than 65 characters long.
2262	Name string `json:"name,omitempty"`
2263
2264	// ForceSendFields is a list of field names (e.g. "AudienceSegments") to
2265	// unconditionally include in API requests. By default, fields with
2266	// empty values are omitted from API requests. However, any non-pointer,
2267	// non-interface field appearing in ForceSendFields will be sent to the
2268	// server regardless of whether the field is empty or not. This may be
2269	// used to include empty fields in Patch requests.
2270	ForceSendFields []string `json:"-"`
2271
2272	// NullFields is a list of field names (e.g. "AudienceSegments") to
2273	// include in API requests with the JSON null value. By default, fields
2274	// with empty values are omitted from API requests. However, any field
2275	// with an empty value appearing in NullFields will be sent to the
2276	// server as null. It is an error if a field in this list has a
2277	// non-empty value. This may be used to include null fields in Patch
2278	// requests.
2279	NullFields []string `json:"-"`
2280}
2281
2282func (s *AudienceSegmentGroup) MarshalJSON() ([]byte, error) {
2283	type NoMethod AudienceSegmentGroup
2284	raw := NoMethod(*s)
2285	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2286}
2287
2288// Browser: Contains information about a browser that can be targeted by
2289// ads.
2290type Browser struct {
2291	// BrowserVersionId: ID referring to this grouping of browser and
2292	// version numbers. This is the ID used for targeting.
2293	BrowserVersionId int64 `json:"browserVersionId,omitempty,string"`
2294
2295	// DartId: DART ID of this browser. This is the ID used when generating
2296	// reports.
2297	DartId int64 `json:"dartId,omitempty,string"`
2298
2299	// Kind: Identifies what kind of resource this is. Value: the fixed
2300	// string "dfareporting#browser".
2301	Kind string `json:"kind,omitempty"`
2302
2303	// MajorVersion: Major version number (leftmost number) of this browser.
2304	// For example, for Chrome 5.0.376.86 beta, this field should be set to
2305	// 5. An asterisk (*) may be used to target any version number, and a
2306	// question mark (?) may be used to target cases where the version
2307	// number cannot be identified. For example, Chrome *.* targets any
2308	// version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2309	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2310	// server knows the browser is Firefox but can't tell which version it
2311	// is.
2312	MajorVersion string `json:"majorVersion,omitempty"`
2313
2314	// MinorVersion: Minor version number (number after first dot on left)
2315	// of this browser. For example, for Chrome 5.0.375.86 beta, this field
2316	// should be set to 0. An asterisk (*) may be used to target any version
2317	// number, and a question mark (?) may be used to target cases where the
2318	// version number cannot be identified. For example, Chrome *.* targets
2319	// any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets
2320	// Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad
2321	// server knows the browser is Firefox but can't tell which version it
2322	// is.
2323	MinorVersion string `json:"minorVersion,omitempty"`
2324
2325	// Name: Name of this browser.
2326	Name string `json:"name,omitempty"`
2327
2328	// ForceSendFields is a list of field names (e.g. "BrowserVersionId") to
2329	// unconditionally include in API requests. By default, fields with
2330	// empty values are omitted from API requests. However, any non-pointer,
2331	// non-interface field appearing in ForceSendFields will be sent to the
2332	// server regardless of whether the field is empty or not. This may be
2333	// used to include empty fields in Patch requests.
2334	ForceSendFields []string `json:"-"`
2335
2336	// NullFields is a list of field names (e.g. "BrowserVersionId") to
2337	// include in API requests with the JSON null value. By default, fields
2338	// with empty values are omitted from API requests. However, any field
2339	// with an empty value appearing in NullFields will be sent to the
2340	// server as null. It is an error if a field in this list has a
2341	// non-empty value. This may be used to include null fields in Patch
2342	// requests.
2343	NullFields []string `json:"-"`
2344}
2345
2346func (s *Browser) MarshalJSON() ([]byte, error) {
2347	type NoMethod Browser
2348	raw := NoMethod(*s)
2349	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2350}
2351
2352// BrowsersListResponse: Browser List Response
2353type BrowsersListResponse struct {
2354	// Browsers: Browser collection.
2355	Browsers []*Browser `json:"browsers,omitempty"`
2356
2357	// Kind: Identifies what kind of resource this is. Value: the fixed
2358	// string "dfareporting#browsersListResponse".
2359	Kind string `json:"kind,omitempty"`
2360
2361	// ServerResponse contains the HTTP response code and headers from the
2362	// server.
2363	googleapi.ServerResponse `json:"-"`
2364
2365	// ForceSendFields is a list of field names (e.g. "Browsers") to
2366	// unconditionally include in API requests. By default, fields with
2367	// empty values are omitted from API requests. However, any non-pointer,
2368	// non-interface field appearing in ForceSendFields will be sent to the
2369	// server regardless of whether the field is empty or not. This may be
2370	// used to include empty fields in Patch requests.
2371	ForceSendFields []string `json:"-"`
2372
2373	// NullFields is a list of field names (e.g. "Browsers") to include in
2374	// API requests with the JSON null value. By default, fields with empty
2375	// values are omitted from API requests. However, any field with an
2376	// empty value appearing in NullFields will be sent to the server as
2377	// null. It is an error if a field in this list has a non-empty value.
2378	// This may be used to include null fields in Patch requests.
2379	NullFields []string `json:"-"`
2380}
2381
2382func (s *BrowsersListResponse) MarshalJSON() ([]byte, error) {
2383	type NoMethod BrowsersListResponse
2384	raw := NoMethod(*s)
2385	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2386}
2387
2388// Campaign: Contains properties of a Campaign Manager campaign.
2389type Campaign struct {
2390	// AccountId: Account ID of this campaign. This is a read-only field
2391	// that can be left blank.
2392	AccountId int64 `json:"accountId,omitempty,string"`
2393
2394	// AdBlockingConfiguration: Ad blocking settings for this campaign.
2395	AdBlockingConfiguration *AdBlockingConfiguration `json:"adBlockingConfiguration,omitempty"`
2396
2397	// AdditionalCreativeOptimizationConfigurations: Additional creative
2398	// optimization configurations for the campaign.
2399	AdditionalCreativeOptimizationConfigurations []*CreativeOptimizationConfiguration `json:"additionalCreativeOptimizationConfigurations,omitempty"`
2400
2401	// AdvertiserGroupId: Advertiser group ID of the associated advertiser.
2402	AdvertiserGroupId int64 `json:"advertiserGroupId,omitempty,string"`
2403
2404	// AdvertiserId: Advertiser ID of this campaign. This is a required
2405	// field.
2406	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
2407
2408	// AdvertiserIdDimensionValue: Dimension value for the advertiser ID of
2409	// this campaign. This is a read-only, auto-generated field.
2410	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
2411
2412	// Archived: Whether this campaign has been archived.
2413	Archived bool `json:"archived,omitempty"`
2414
2415	// AudienceSegmentGroups: Audience segment groups assigned to this
2416	// campaign. Cannot have more than 300 segment groups.
2417	AudienceSegmentGroups []*AudienceSegmentGroup `json:"audienceSegmentGroups,omitempty"`
2418
2419	// BillingInvoiceCode: Billing invoice code included in the Campaign
2420	// Manager client billing invoices associated with the campaign.
2421	BillingInvoiceCode string `json:"billingInvoiceCode,omitempty"`
2422
2423	// ClickThroughUrlSuffixProperties: Click-through URL suffix override
2424	// properties for this campaign.
2425	ClickThroughUrlSuffixProperties *ClickThroughUrlSuffixProperties `json:"clickThroughUrlSuffixProperties,omitempty"`
2426
2427	// Comment: Arbitrary comments about this campaign. Must be less than
2428	// 256 characters long.
2429	Comment string `json:"comment,omitempty"`
2430
2431	// CreateInfo: Information about the creation of this campaign. This is
2432	// a read-only field.
2433	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
2434
2435	// CreativeGroupIds: List of creative group IDs that are assigned to the
2436	// campaign.
2437	CreativeGroupIds googleapi.Int64s `json:"creativeGroupIds,omitempty"`
2438
2439	// CreativeOptimizationConfiguration: Creative optimization
2440	// configuration for the campaign.
2441	CreativeOptimizationConfiguration *CreativeOptimizationConfiguration `json:"creativeOptimizationConfiguration,omitempty"`
2442
2443	// DefaultClickThroughEventTagProperties: Click-through event tag ID
2444	// override properties for this campaign.
2445	DefaultClickThroughEventTagProperties *DefaultClickThroughEventTagProperties `json:"defaultClickThroughEventTagProperties,omitempty"`
2446
2447	// DefaultLandingPageId: The default landing page ID for this campaign.
2448	DefaultLandingPageId int64 `json:"defaultLandingPageId,omitempty,string"`
2449
2450	// EndDate: Date on which the campaign will stop running. On insert, the
2451	// end date must be today or a future date. The end date must be later
2452	// than or be the same as the start date. If, for example, you set
2453	// 6/25/2015 as both the start and end dates, the effective campaign run
2454	// date is just that day only, 6/25/2015. The hours, minutes, and
2455	// seconds of the end date should not be set, as doing so will result in
2456	// an error. This is a required field.
2457	EndDate string `json:"endDate,omitempty"`
2458
2459	// EventTagOverrides: Overrides that can be used to activate or
2460	// deactivate advertiser event tags.
2461	EventTagOverrides []*EventTagOverride `json:"eventTagOverrides,omitempty"`
2462
2463	// ExternalId: External ID for this campaign.
2464	ExternalId string `json:"externalId,omitempty"`
2465
2466	// Id: ID of this campaign. This is a read-only auto-generated field.
2467	Id int64 `json:"id,omitempty,string"`
2468
2469	// IdDimensionValue: Dimension value for the ID of this campaign. This
2470	// is a read-only, auto-generated field.
2471	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
2472
2473	// Kind: Identifies what kind of resource this is. Value: the fixed
2474	// string "dfareporting#campaign".
2475	Kind string `json:"kind,omitempty"`
2476
2477	// LastModifiedInfo: Information about the most recent modification of
2478	// this campaign. This is a read-only field.
2479	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
2480
2481	// LookbackConfiguration: Lookback window settings for the campaign.
2482	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
2483
2484	// Name: Name of this campaign. This is a required field and must be
2485	// less than 256 characters long and unique among campaigns of the same
2486	// advertiser.
2487	Name string `json:"name,omitempty"`
2488
2489	// NielsenOcrEnabled: Whether Nielsen reports are enabled for this
2490	// campaign.
2491	NielsenOcrEnabled bool `json:"nielsenOcrEnabled,omitempty"`
2492
2493	// StartDate: Date on which the campaign starts running. The start date
2494	// can be any date. The hours, minutes, and seconds of the start date
2495	// should not be set, as doing so will result in an error. This is a
2496	// required field.
2497	StartDate string `json:"startDate,omitempty"`
2498
2499	// SubaccountId: Subaccount ID of this campaign. This is a read-only
2500	// field that can be left blank.
2501	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2502
2503	// TraffickerEmails: Campaign trafficker contact emails.
2504	TraffickerEmails []string `json:"traffickerEmails,omitempty"`
2505
2506	// ServerResponse contains the HTTP response code and headers from the
2507	// server.
2508	googleapi.ServerResponse `json:"-"`
2509
2510	// ForceSendFields is a list of field names (e.g. "AccountId") to
2511	// unconditionally include in API requests. By default, fields with
2512	// empty values are omitted from API requests. However, any non-pointer,
2513	// non-interface field appearing in ForceSendFields will be sent to the
2514	// server regardless of whether the field is empty or not. This may be
2515	// used to include empty fields in Patch requests.
2516	ForceSendFields []string `json:"-"`
2517
2518	// NullFields is a list of field names (e.g. "AccountId") to include in
2519	// API requests with the JSON null value. By default, fields with empty
2520	// values are omitted from API requests. However, any field with an
2521	// empty value appearing in NullFields will be sent to the server as
2522	// null. It is an error if a field in this list has a non-empty value.
2523	// This may be used to include null fields in Patch requests.
2524	NullFields []string `json:"-"`
2525}
2526
2527func (s *Campaign) MarshalJSON() ([]byte, error) {
2528	type NoMethod Campaign
2529	raw := NoMethod(*s)
2530	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2531}
2532
2533// CampaignCreativeAssociation: Identifies a creative which has been
2534// associated with a given campaign.
2535type CampaignCreativeAssociation struct {
2536	// CreativeId: ID of the creative associated with the campaign. This is
2537	// a required field.
2538	CreativeId int64 `json:"creativeId,omitempty,string"`
2539
2540	// Kind: Identifies what kind of resource this is. Value: the fixed
2541	// string "dfareporting#campaignCreativeAssociation".
2542	Kind string `json:"kind,omitempty"`
2543
2544	// ServerResponse contains the HTTP response code and headers from the
2545	// server.
2546	googleapi.ServerResponse `json:"-"`
2547
2548	// ForceSendFields is a list of field names (e.g. "CreativeId") to
2549	// unconditionally include in API requests. By default, fields with
2550	// empty values are omitted from API requests. However, any non-pointer,
2551	// non-interface field appearing in ForceSendFields will be sent to the
2552	// server regardless of whether the field is empty or not. This may be
2553	// used to include empty fields in Patch requests.
2554	ForceSendFields []string `json:"-"`
2555
2556	// NullFields is a list of field names (e.g. "CreativeId") to include in
2557	// API requests with the JSON null value. By default, fields with empty
2558	// values are omitted from API requests. However, any field with an
2559	// empty value appearing in NullFields will be sent to the server as
2560	// null. It is an error if a field in this list has a non-empty value.
2561	// This may be used to include null fields in Patch requests.
2562	NullFields []string `json:"-"`
2563}
2564
2565func (s *CampaignCreativeAssociation) MarshalJSON() ([]byte, error) {
2566	type NoMethod CampaignCreativeAssociation
2567	raw := NoMethod(*s)
2568	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2569}
2570
2571// CampaignCreativeAssociationsListResponse: Campaign Creative
2572// Association List Response
2573type CampaignCreativeAssociationsListResponse struct {
2574	// CampaignCreativeAssociations: Campaign creative association
2575	// collection
2576	CampaignCreativeAssociations []*CampaignCreativeAssociation `json:"campaignCreativeAssociations,omitempty"`
2577
2578	// Kind: Identifies what kind of resource this is. Value: the fixed
2579	// string "dfareporting#campaignCreativeAssociationsListResponse".
2580	Kind string `json:"kind,omitempty"`
2581
2582	// NextPageToken: Pagination token to be used for the next list
2583	// operation.
2584	NextPageToken string `json:"nextPageToken,omitempty"`
2585
2586	// ServerResponse contains the HTTP response code and headers from the
2587	// server.
2588	googleapi.ServerResponse `json:"-"`
2589
2590	// ForceSendFields is a list of field names (e.g.
2591	// "CampaignCreativeAssociations") to unconditionally include in API
2592	// requests. By default, fields with empty values are omitted from API
2593	// requests. However, any non-pointer, non-interface field appearing in
2594	// ForceSendFields will be sent to the server regardless of whether the
2595	// field is empty or not. This may be used to include empty fields in
2596	// Patch requests.
2597	ForceSendFields []string `json:"-"`
2598
2599	// NullFields is a list of field names (e.g.
2600	// "CampaignCreativeAssociations") to include in API requests with the
2601	// JSON null value. By default, fields with empty values are omitted
2602	// from API requests. However, any field with an empty value appearing
2603	// in NullFields will be sent to the server as null. It is an error if a
2604	// field in this list has a non-empty value. This may be used to include
2605	// null fields in Patch requests.
2606	NullFields []string `json:"-"`
2607}
2608
2609func (s *CampaignCreativeAssociationsListResponse) MarshalJSON() ([]byte, error) {
2610	type NoMethod CampaignCreativeAssociationsListResponse
2611	raw := NoMethod(*s)
2612	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2613}
2614
2615// CampaignsListResponse: Campaign List Response
2616type CampaignsListResponse struct {
2617	// Campaigns: Campaign collection.
2618	Campaigns []*Campaign `json:"campaigns,omitempty"`
2619
2620	// Kind: Identifies what kind of resource this is. Value: the fixed
2621	// string "dfareporting#campaignsListResponse".
2622	Kind string `json:"kind,omitempty"`
2623
2624	// NextPageToken: Pagination token to be used for the next list
2625	// operation.
2626	NextPageToken string `json:"nextPageToken,omitempty"`
2627
2628	// ServerResponse contains the HTTP response code and headers from the
2629	// server.
2630	googleapi.ServerResponse `json:"-"`
2631
2632	// ForceSendFields is a list of field names (e.g. "Campaigns") to
2633	// unconditionally include in API requests. By default, fields with
2634	// empty values are omitted from API requests. However, any non-pointer,
2635	// non-interface field appearing in ForceSendFields will be sent to the
2636	// server regardless of whether the field is empty or not. This may be
2637	// used to include empty fields in Patch requests.
2638	ForceSendFields []string `json:"-"`
2639
2640	// NullFields is a list of field names (e.g. "Campaigns") to include in
2641	// API requests with the JSON null value. By default, fields with empty
2642	// values are omitted from API requests. However, any field with an
2643	// empty value appearing in NullFields will be sent to the server as
2644	// null. It is an error if a field in this list has a non-empty value.
2645	// This may be used to include null fields in Patch requests.
2646	NullFields []string `json:"-"`
2647}
2648
2649func (s *CampaignsListResponse) MarshalJSON() ([]byte, error) {
2650	type NoMethod CampaignsListResponse
2651	raw := NoMethod(*s)
2652	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2653}
2654
2655// ChangeLog: Describes a change that a user has made to a resource.
2656type ChangeLog struct {
2657	// AccountId: Account ID of the modified object.
2658	AccountId int64 `json:"accountId,omitempty,string"`
2659
2660	// Action: Action which caused the change.
2661	Action string `json:"action,omitempty"`
2662
2663	// ChangeTime: Time when the object was modified.
2664	ChangeTime string `json:"changeTime,omitempty"`
2665
2666	// FieldName: Field name of the object which changed.
2667	FieldName string `json:"fieldName,omitempty"`
2668
2669	// Id: ID of this change log.
2670	Id int64 `json:"id,omitempty,string"`
2671
2672	// Kind: Identifies what kind of resource this is. Value: the fixed
2673	// string "dfareporting#changeLog".
2674	Kind string `json:"kind,omitempty"`
2675
2676	// NewValue: New value of the object field.
2677	NewValue string `json:"newValue,omitempty"`
2678
2679	// ObjectId: ID of the object of this change log. The object could be a
2680	// campaign, placement, ad, or other type.
2681	ObjectId int64 `json:"objectId,omitempty,string"`
2682
2683	// ObjectType: Object type of the change log.
2684	ObjectType string `json:"objectType,omitempty"`
2685
2686	// OldValue: Old value of the object field.
2687	OldValue string `json:"oldValue,omitempty"`
2688
2689	// SubaccountId: Subaccount ID of the modified object.
2690	SubaccountId int64 `json:"subaccountId,omitempty,string"`
2691
2692	// TransactionId: Transaction ID of this change log. When a single API
2693	// call results in many changes, each change will have a separate ID in
2694	// the change log but will share the same transactionId.
2695	TransactionId int64 `json:"transactionId,omitempty,string"`
2696
2697	// UserProfileId: ID of the user who modified the object.
2698	UserProfileId int64 `json:"userProfileId,omitempty,string"`
2699
2700	// UserProfileName: User profile name of the user who modified the
2701	// object.
2702	UserProfileName string `json:"userProfileName,omitempty"`
2703
2704	// ServerResponse contains the HTTP response code and headers from the
2705	// server.
2706	googleapi.ServerResponse `json:"-"`
2707
2708	// ForceSendFields is a list of field names (e.g. "AccountId") to
2709	// unconditionally include in API requests. By default, fields with
2710	// empty values are omitted from API requests. However, any non-pointer,
2711	// non-interface field appearing in ForceSendFields will be sent to the
2712	// server regardless of whether the field is empty or not. This may be
2713	// used to include empty fields in Patch requests.
2714	ForceSendFields []string `json:"-"`
2715
2716	// NullFields is a list of field names (e.g. "AccountId") to include in
2717	// API requests with the JSON null value. By default, fields with empty
2718	// values are omitted from API requests. However, any field with an
2719	// empty value appearing in NullFields will be sent to the server as
2720	// null. It is an error if a field in this list has a non-empty value.
2721	// This may be used to include null fields in Patch requests.
2722	NullFields []string `json:"-"`
2723}
2724
2725func (s *ChangeLog) MarshalJSON() ([]byte, error) {
2726	type NoMethod ChangeLog
2727	raw := NoMethod(*s)
2728	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2729}
2730
2731// ChangeLogsListResponse: Change Log List Response
2732type ChangeLogsListResponse struct {
2733	// ChangeLogs: Change log collection.
2734	ChangeLogs []*ChangeLog `json:"changeLogs,omitempty"`
2735
2736	// Kind: Identifies what kind of resource this is. Value: the fixed
2737	// string "dfareporting#changeLogsListResponse".
2738	Kind string `json:"kind,omitempty"`
2739
2740	// NextPageToken: Pagination token to be used for the next list
2741	// operation.
2742	NextPageToken string `json:"nextPageToken,omitempty"`
2743
2744	// ServerResponse contains the HTTP response code and headers from the
2745	// server.
2746	googleapi.ServerResponse `json:"-"`
2747
2748	// ForceSendFields is a list of field names (e.g. "ChangeLogs") to
2749	// unconditionally include in API requests. By default, fields with
2750	// empty values are omitted from API requests. However, any non-pointer,
2751	// non-interface field appearing in ForceSendFields will be sent to the
2752	// server regardless of whether the field is empty or not. This may be
2753	// used to include empty fields in Patch requests.
2754	ForceSendFields []string `json:"-"`
2755
2756	// NullFields is a list of field names (e.g. "ChangeLogs") to include in
2757	// API requests with the JSON null value. By default, fields with empty
2758	// values are omitted from API requests. However, any field with an
2759	// empty value appearing in NullFields will be sent to the server as
2760	// null. It is an error if a field in this list has a non-empty value.
2761	// This may be used to include null fields in Patch requests.
2762	NullFields []string `json:"-"`
2763}
2764
2765func (s *ChangeLogsListResponse) MarshalJSON() ([]byte, error) {
2766	type NoMethod ChangeLogsListResponse
2767	raw := NoMethod(*s)
2768	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2769}
2770
2771// CitiesListResponse: City List Response
2772type CitiesListResponse struct {
2773	// Cities: City collection.
2774	Cities []*City `json:"cities,omitempty"`
2775
2776	// Kind: Identifies what kind of resource this is. Value: the fixed
2777	// string "dfareporting#citiesListResponse".
2778	Kind string `json:"kind,omitempty"`
2779
2780	// ServerResponse contains the HTTP response code and headers from the
2781	// server.
2782	googleapi.ServerResponse `json:"-"`
2783
2784	// ForceSendFields is a list of field names (e.g. "Cities") 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. "Cities") to include in API
2793	// requests with the JSON null value. By default, fields with empty
2794	// values are omitted from API requests. However, any field with an
2795	// empty value appearing in NullFields will be sent to the server as
2796	// null. It is an error if a field in this list has a non-empty value.
2797	// This may be used to include null fields in Patch requests.
2798	NullFields []string `json:"-"`
2799}
2800
2801func (s *CitiesListResponse) MarshalJSON() ([]byte, error) {
2802	type NoMethod CitiesListResponse
2803	raw := NoMethod(*s)
2804	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2805}
2806
2807// City: Contains information about a city that can be targeted by ads.
2808type City struct {
2809	// CountryCode: Country code of the country to which this city belongs.
2810	CountryCode string `json:"countryCode,omitempty"`
2811
2812	// CountryDartId: DART ID of the country to which this city belongs.
2813	CountryDartId int64 `json:"countryDartId,omitempty,string"`
2814
2815	// DartId: DART ID of this city. This is the ID used for targeting and
2816	// generating reports.
2817	DartId int64 `json:"dartId,omitempty,string"`
2818
2819	// Kind: Identifies what kind of resource this is. Value: the fixed
2820	// string "dfareporting#city".
2821	Kind string `json:"kind,omitempty"`
2822
2823	// MetroCode: Metro region code of the metro region (DMA) to which this
2824	// city belongs.
2825	MetroCode string `json:"metroCode,omitempty"`
2826
2827	// MetroDmaId: ID of the metro region (DMA) to which this city belongs.
2828	MetroDmaId int64 `json:"metroDmaId,omitempty,string"`
2829
2830	// Name: Name of this city.
2831	Name string `json:"name,omitempty"`
2832
2833	// RegionCode: Region code of the region to which this city belongs.
2834	RegionCode string `json:"regionCode,omitempty"`
2835
2836	// RegionDartId: DART ID of the region to which this city belongs.
2837	RegionDartId int64 `json:"regionDartId,omitempty,string"`
2838
2839	// ForceSendFields is a list of field names (e.g. "CountryCode") to
2840	// unconditionally include in API requests. By default, fields with
2841	// empty values are omitted from API requests. However, any non-pointer,
2842	// non-interface field appearing in ForceSendFields will be sent to the
2843	// server regardless of whether the field is empty or not. This may be
2844	// used to include empty fields in Patch requests.
2845	ForceSendFields []string `json:"-"`
2846
2847	// NullFields is a list of field names (e.g. "CountryCode") to include
2848	// in API requests with the JSON null value. By default, fields with
2849	// empty values are omitted from API requests. However, any field with
2850	// an empty value appearing in NullFields will be sent to the server as
2851	// null. It is an error if a field in this list has a non-empty value.
2852	// This may be used to include null fields in Patch requests.
2853	NullFields []string `json:"-"`
2854}
2855
2856func (s *City) MarshalJSON() ([]byte, error) {
2857	type NoMethod City
2858	raw := NoMethod(*s)
2859	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2860}
2861
2862// ClickTag: Creative Click Tag.
2863type ClickTag struct {
2864	// ClickThroughUrl: Parameter value for the specified click tag. This
2865	// field contains a click-through url.
2866	ClickThroughUrl *CreativeClickThroughUrl `json:"clickThroughUrl,omitempty"`
2867
2868	// EventName: Advertiser event name associated with the click tag. This
2869	// field is used by DISPLAY_IMAGE_GALLERY and HTML5_BANNER creatives.
2870	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
2871	EventName string `json:"eventName,omitempty"`
2872
2873	// Name: Parameter name for the specified click tag. For
2874	// DISPLAY_IMAGE_GALLERY creative assets, this field must match the
2875	// value of the creative asset's creativeAssetId.name field.
2876	Name string `json:"name,omitempty"`
2877
2878	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2879	// unconditionally include in API requests. By default, fields with
2880	// empty values are omitted from API requests. However, any non-pointer,
2881	// non-interface field appearing in ForceSendFields will be sent to the
2882	// server regardless of whether the field is empty or not. This may be
2883	// used to include empty fields in Patch requests.
2884	ForceSendFields []string `json:"-"`
2885
2886	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
2887	// include in API requests with the JSON null value. By default, fields
2888	// with empty values are omitted from API requests. However, any field
2889	// with an empty value appearing in NullFields will be sent to the
2890	// server as null. It is an error if a field in this list has a
2891	// non-empty value. This may be used to include null fields in Patch
2892	// requests.
2893	NullFields []string `json:"-"`
2894}
2895
2896func (s *ClickTag) MarshalJSON() ([]byte, error) {
2897	type NoMethod ClickTag
2898	raw := NoMethod(*s)
2899	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2900}
2901
2902// ClickThroughUrl: Click-through URL
2903type ClickThroughUrl struct {
2904	// ComputedClickThroughUrl: Read-only convenience field representing the
2905	// actual URL that will be used for this click-through. The URL is
2906	// computed as follows:
2907	// - If defaultLandingPage is enabled then the campaign's default
2908	// landing page URL is assigned to this field.
2909	// - If defaultLandingPage is not enabled and a landingPageId is
2910	// specified then that landing page's URL is assigned to this field.
2911	// - If neither of the above cases apply, then the customClickThroughUrl
2912	// is assigned to this field.
2913	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
2914
2915	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
2916	// defaultLandingPage field is set to false and the landingPageId field
2917	// is left unset.
2918	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
2919
2920	// DefaultLandingPage: Whether the campaign default landing page is
2921	// used.
2922	DefaultLandingPage bool `json:"defaultLandingPage,omitempty"`
2923
2924	// LandingPageId: ID of the landing page for the click-through URL.
2925	// Applicable if the defaultLandingPage field is set to false.
2926	LandingPageId int64 `json:"landingPageId,omitempty,string"`
2927
2928	// ForceSendFields is a list of field names (e.g.
2929	// "ComputedClickThroughUrl") to unconditionally include in API
2930	// requests. By default, fields with empty values are omitted from API
2931	// requests. However, any non-pointer, non-interface field appearing in
2932	// ForceSendFields will be sent to the server regardless of whether the
2933	// field is empty or not. This may be used to include empty fields in
2934	// Patch requests.
2935	ForceSendFields []string `json:"-"`
2936
2937	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
2938	// to include in API requests with the JSON null value. By default,
2939	// fields with empty values are omitted from API requests. However, any
2940	// field with an empty value appearing in NullFields will be sent to the
2941	// server as null. It is an error if a field in this list has a
2942	// non-empty value. This may be used to include null fields in Patch
2943	// requests.
2944	NullFields []string `json:"-"`
2945}
2946
2947func (s *ClickThroughUrl) MarshalJSON() ([]byte, error) {
2948	type NoMethod ClickThroughUrl
2949	raw := NoMethod(*s)
2950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2951}
2952
2953// ClickThroughUrlSuffixProperties: Click Through URL Suffix settings.
2954type ClickThroughUrlSuffixProperties struct {
2955	// ClickThroughUrlSuffix: Click-through URL suffix to apply to all ads
2956	// in this entity's scope. Must be less than 128 characters long.
2957	ClickThroughUrlSuffix string `json:"clickThroughUrlSuffix,omitempty"`
2958
2959	// OverrideInheritedSuffix: Whether this entity should override the
2960	// inherited click-through URL suffix with its own defined value.
2961	OverrideInheritedSuffix bool `json:"overrideInheritedSuffix,omitempty"`
2962
2963	// ForceSendFields is a list of field names (e.g.
2964	// "ClickThroughUrlSuffix") to unconditionally include in API requests.
2965	// By default, fields with empty values are omitted from API requests.
2966	// However, any non-pointer, non-interface field appearing in
2967	// ForceSendFields will be sent to the server regardless of whether the
2968	// field is empty or not. This may be used to include empty fields in
2969	// Patch requests.
2970	ForceSendFields []string `json:"-"`
2971
2972	// NullFields is a list of field names (e.g. "ClickThroughUrlSuffix") to
2973	// include in API requests with the JSON null value. By default, fields
2974	// with empty values are omitted from API requests. However, any field
2975	// with an empty value appearing in NullFields will be sent to the
2976	// server as null. It is an error if a field in this list has a
2977	// non-empty value. This may be used to include null fields in Patch
2978	// requests.
2979	NullFields []string `json:"-"`
2980}
2981
2982func (s *ClickThroughUrlSuffixProperties) MarshalJSON() ([]byte, error) {
2983	type NoMethod ClickThroughUrlSuffixProperties
2984	raw := NoMethod(*s)
2985	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
2986}
2987
2988// CompanionClickThroughOverride: Companion Click-through override.
2989type CompanionClickThroughOverride struct {
2990	// ClickThroughUrl: Click-through URL of this companion click-through
2991	// override.
2992	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
2993
2994	// CreativeId: ID of the creative for this companion click-through
2995	// override.
2996	CreativeId int64 `json:"creativeId,omitempty,string"`
2997
2998	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
2999	// unconditionally include in API requests. By default, fields with
3000	// empty values are omitted from API requests. However, any non-pointer,
3001	// non-interface field appearing in ForceSendFields will be sent to the
3002	// server regardless of whether the field is empty or not. This may be
3003	// used to include empty fields in Patch requests.
3004	ForceSendFields []string `json:"-"`
3005
3006	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
3007	// include in API requests with the JSON null value. By default, fields
3008	// with empty values are omitted from API requests. However, any field
3009	// with an empty value appearing in NullFields will be sent to the
3010	// server as null. It is an error if a field in this list has a
3011	// non-empty value. This may be used to include null fields in Patch
3012	// requests.
3013	NullFields []string `json:"-"`
3014}
3015
3016func (s *CompanionClickThroughOverride) MarshalJSON() ([]byte, error) {
3017	type NoMethod CompanionClickThroughOverride
3018	raw := NoMethod(*s)
3019	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3020}
3021
3022// CompanionSetting: Companion Settings
3023type CompanionSetting struct {
3024	// CompanionsDisabled: Whether companions are disabled for this
3025	// placement.
3026	CompanionsDisabled bool `json:"companionsDisabled,omitempty"`
3027
3028	// EnabledSizes: Whitelist of companion sizes to be served to this
3029	// placement. Set this list to null or empty to serve all companion
3030	// sizes.
3031	EnabledSizes []*Size `json:"enabledSizes,omitempty"`
3032
3033	// ImageOnly: Whether to serve only static images as companions.
3034	ImageOnly bool `json:"imageOnly,omitempty"`
3035
3036	// Kind: Identifies what kind of resource this is. Value: the fixed
3037	// string "dfareporting#companionSetting".
3038	Kind string `json:"kind,omitempty"`
3039
3040	// ForceSendFields is a list of field names (e.g. "CompanionsDisabled")
3041	// to unconditionally include in API requests. By default, fields with
3042	// empty values are omitted from API requests. However, any non-pointer,
3043	// non-interface field appearing in ForceSendFields will be sent to the
3044	// server regardless of whether the field is empty or not. This may be
3045	// used to include empty fields in Patch requests.
3046	ForceSendFields []string `json:"-"`
3047
3048	// NullFields is a list of field names (e.g. "CompanionsDisabled") to
3049	// include in API requests with the JSON null value. By default, fields
3050	// with empty values are omitted from API requests. However, any field
3051	// with an empty value appearing in NullFields will be sent to the
3052	// server as null. It is an error if a field in this list has a
3053	// non-empty value. This may be used to include null fields in Patch
3054	// requests.
3055	NullFields []string `json:"-"`
3056}
3057
3058func (s *CompanionSetting) MarshalJSON() ([]byte, error) {
3059	type NoMethod CompanionSetting
3060	raw := NoMethod(*s)
3061	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3062}
3063
3064// CompatibleFields: Represents a response to the queryCompatibleFields
3065// method.
3066type CompatibleFields struct {
3067	// CrossDimensionReachReportCompatibleFields: Contains items that are
3068	// compatible to be selected for a report of type
3069	// "CROSS_DIMENSION_REACH".
3070	CrossDimensionReachReportCompatibleFields *CrossDimensionReachReportCompatibleFields `json:"crossDimensionReachReportCompatibleFields,omitempty"`
3071
3072	// FloodlightReportCompatibleFields: Contains items that are compatible
3073	// to be selected for a report of type "FLOODLIGHT".
3074	FloodlightReportCompatibleFields *FloodlightReportCompatibleFields `json:"floodlightReportCompatibleFields,omitempty"`
3075
3076	// Kind: The kind of resource this is, in this case
3077	// dfareporting#compatibleFields.
3078	Kind string `json:"kind,omitempty"`
3079
3080	// PathToConversionReportCompatibleFields: Contains items that are
3081	// compatible to be selected for a report of type "PATH_TO_CONVERSION".
3082	PathToConversionReportCompatibleFields *PathToConversionReportCompatibleFields `json:"pathToConversionReportCompatibleFields,omitempty"`
3083
3084	// ReachReportCompatibleFields: Contains items that are compatible to be
3085	// selected for a report of type "REACH".
3086	ReachReportCompatibleFields *ReachReportCompatibleFields `json:"reachReportCompatibleFields,omitempty"`
3087
3088	// ReportCompatibleFields: Contains items that are compatible to be
3089	// selected for a report of type "STANDARD".
3090	ReportCompatibleFields *ReportCompatibleFields `json:"reportCompatibleFields,omitempty"`
3091
3092	// ServerResponse contains the HTTP response code and headers from the
3093	// server.
3094	googleapi.ServerResponse `json:"-"`
3095
3096	// ForceSendFields is a list of field names (e.g.
3097	// "CrossDimensionReachReportCompatibleFields") to unconditionally
3098	// include in API requests. By default, fields with empty values are
3099	// omitted from API requests. However, any non-pointer, non-interface
3100	// field appearing in ForceSendFields will be sent to the server
3101	// regardless of whether the field is empty or not. This may be used to
3102	// include empty fields in Patch requests.
3103	ForceSendFields []string `json:"-"`
3104
3105	// NullFields is a list of field names (e.g.
3106	// "CrossDimensionReachReportCompatibleFields") to include in API
3107	// requests with the JSON null value. By default, fields with empty
3108	// values are omitted from API requests. However, any field with an
3109	// empty value appearing in NullFields will be sent to the server as
3110	// null. It is an error if a field in this list has a non-empty value.
3111	// This may be used to include null fields in Patch requests.
3112	NullFields []string `json:"-"`
3113}
3114
3115func (s *CompatibleFields) MarshalJSON() ([]byte, error) {
3116	type NoMethod CompatibleFields
3117	raw := NoMethod(*s)
3118	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3119}
3120
3121// ConnectionType: Contains information about an internet connection
3122// type that can be targeted by ads. Clients can use the connection type
3123// to target mobile vs. broadband users.
3124type ConnectionType struct {
3125	// Id: ID of this connection type.
3126	Id int64 `json:"id,omitempty,string"`
3127
3128	// Kind: Identifies what kind of resource this is. Value: the fixed
3129	// string "dfareporting#connectionType".
3130	Kind string `json:"kind,omitempty"`
3131
3132	// Name: Name of this connection type.
3133	Name string `json:"name,omitempty"`
3134
3135	// ServerResponse contains the HTTP response code and headers from the
3136	// server.
3137	googleapi.ServerResponse `json:"-"`
3138
3139	// ForceSendFields is a list of field names (e.g. "Id") to
3140	// unconditionally include in API requests. By default, fields with
3141	// empty values are omitted from API requests. However, any non-pointer,
3142	// non-interface field appearing in ForceSendFields will be sent to the
3143	// server regardless of whether the field is empty or not. This may be
3144	// used to include empty fields in Patch requests.
3145	ForceSendFields []string `json:"-"`
3146
3147	// NullFields is a list of field names (e.g. "Id") to include in API
3148	// requests with the JSON null value. By default, fields with empty
3149	// values are omitted from API requests. However, any field with an
3150	// empty value appearing in NullFields will be sent to the server as
3151	// null. It is an error if a field in this list has a non-empty value.
3152	// This may be used to include null fields in Patch requests.
3153	NullFields []string `json:"-"`
3154}
3155
3156func (s *ConnectionType) MarshalJSON() ([]byte, error) {
3157	type NoMethod ConnectionType
3158	raw := NoMethod(*s)
3159	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3160}
3161
3162// ConnectionTypesListResponse: Connection Type List Response
3163type ConnectionTypesListResponse struct {
3164	// ConnectionTypes: Collection of connection types such as broadband and
3165	// mobile.
3166	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
3167
3168	// Kind: Identifies what kind of resource this is. Value: the fixed
3169	// string "dfareporting#connectionTypesListResponse".
3170	Kind string `json:"kind,omitempty"`
3171
3172	// ServerResponse contains the HTTP response code and headers from the
3173	// server.
3174	googleapi.ServerResponse `json:"-"`
3175
3176	// ForceSendFields is a list of field names (e.g. "ConnectionTypes") to
3177	// unconditionally include in API requests. By default, fields with
3178	// empty values are omitted from API requests. However, any non-pointer,
3179	// non-interface field appearing in ForceSendFields will be sent to the
3180	// server regardless of whether the field is empty or not. This may be
3181	// used to include empty fields in Patch requests.
3182	ForceSendFields []string `json:"-"`
3183
3184	// NullFields is a list of field names (e.g. "ConnectionTypes") to
3185	// include in API requests with the JSON null value. By default, fields
3186	// with empty values are omitted from API requests. However, any field
3187	// with an empty value appearing in NullFields will be sent to the
3188	// server as null. It is an error if a field in this list has a
3189	// non-empty value. This may be used to include null fields in Patch
3190	// requests.
3191	NullFields []string `json:"-"`
3192}
3193
3194func (s *ConnectionTypesListResponse) MarshalJSON() ([]byte, error) {
3195	type NoMethod ConnectionTypesListResponse
3196	raw := NoMethod(*s)
3197	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3198}
3199
3200// ContentCategoriesListResponse: Content Category List Response
3201type ContentCategoriesListResponse struct {
3202	// ContentCategories: Content category collection.
3203	ContentCategories []*ContentCategory `json:"contentCategories,omitempty"`
3204
3205	// Kind: Identifies what kind of resource this is. Value: the fixed
3206	// string "dfareporting#contentCategoriesListResponse".
3207	Kind string `json:"kind,omitempty"`
3208
3209	// NextPageToken: Pagination token to be used for the next list
3210	// operation.
3211	NextPageToken string `json:"nextPageToken,omitempty"`
3212
3213	// ServerResponse contains the HTTP response code and headers from the
3214	// server.
3215	googleapi.ServerResponse `json:"-"`
3216
3217	// ForceSendFields is a list of field names (e.g. "ContentCategories")
3218	// to unconditionally include in API requests. By default, fields with
3219	// empty values are omitted from API requests. However, any non-pointer,
3220	// non-interface field appearing in ForceSendFields will be sent to the
3221	// server regardless of whether the field is empty or not. This may be
3222	// used to include empty fields in Patch requests.
3223	ForceSendFields []string `json:"-"`
3224
3225	// NullFields is a list of field names (e.g. "ContentCategories") to
3226	// include in API requests with the JSON null value. By default, fields
3227	// with empty values are omitted from API requests. However, any field
3228	// with an empty value appearing in NullFields will be sent to the
3229	// server as null. It is an error if a field in this list has a
3230	// non-empty value. This may be used to include null fields in Patch
3231	// requests.
3232	NullFields []string `json:"-"`
3233}
3234
3235func (s *ContentCategoriesListResponse) MarshalJSON() ([]byte, error) {
3236	type NoMethod ContentCategoriesListResponse
3237	raw := NoMethod(*s)
3238	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3239}
3240
3241// ContentCategory: Organizes placements according to the contents of
3242// their associated webpages.
3243type ContentCategory struct {
3244	// AccountId: Account ID of this content category. This is a read-only
3245	// field that can be left blank.
3246	AccountId int64 `json:"accountId,omitempty,string"`
3247
3248	// Id: ID of this content category. This is a read-only, auto-generated
3249	// field.
3250	Id int64 `json:"id,omitempty,string"`
3251
3252	// Kind: Identifies what kind of resource this is. Value: the fixed
3253	// string "dfareporting#contentCategory".
3254	Kind string `json:"kind,omitempty"`
3255
3256	// Name: Name of this content category. This is a required field and
3257	// must be less than 256 characters long and unique among content
3258	// categories of the same account.
3259	Name string `json:"name,omitempty"`
3260
3261	// ServerResponse contains the HTTP response code and headers from the
3262	// server.
3263	googleapi.ServerResponse `json:"-"`
3264
3265	// ForceSendFields is a list of field names (e.g. "AccountId") to
3266	// unconditionally include in API requests. By default, fields with
3267	// empty values are omitted from API requests. However, any non-pointer,
3268	// non-interface field appearing in ForceSendFields will be sent to the
3269	// server regardless of whether the field is empty or not. This may be
3270	// used to include empty fields in Patch requests.
3271	ForceSendFields []string `json:"-"`
3272
3273	// NullFields is a list of field names (e.g. "AccountId") to include in
3274	// API requests with the JSON null value. By default, fields with empty
3275	// values are omitted from API requests. However, any field with an
3276	// empty value appearing in NullFields will be sent to the server as
3277	// null. It is an error if a field in this list has a non-empty value.
3278	// This may be used to include null fields in Patch requests.
3279	NullFields []string `json:"-"`
3280}
3281
3282func (s *ContentCategory) MarshalJSON() ([]byte, error) {
3283	type NoMethod ContentCategory
3284	raw := NoMethod(*s)
3285	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3286}
3287
3288// Conversion: A Conversion represents when a user successfully performs
3289// a desired action after seeing an ad.
3290type Conversion struct {
3291	// ChildDirectedTreatment: Whether this particular request may come from
3292	// a user under the age of 13, under COPPA compliance.
3293	ChildDirectedTreatment bool `json:"childDirectedTreatment,omitempty"`
3294
3295	// CustomVariables: Custom floodlight variables.
3296	CustomVariables []*CustomFloodlightVariable `json:"customVariables,omitempty"`
3297
3298	// EncryptedUserId: The alphanumeric encrypted user ID. When set,
3299	// encryptionInfo should also be specified. This field is mutually
3300	// exclusive with encryptedUserIdCandidates[], mobileDeviceId and gclid.
3301	// This or encryptedUserIdCandidates[] or mobileDeviceId or gclid is a
3302	// required field.
3303	EncryptedUserId string `json:"encryptedUserId,omitempty"`
3304
3305	// EncryptedUserIdCandidates: A list of the alphanumeric encrypted user
3306	// IDs. Any user ID with exposure prior to the conversion timestamp will
3307	// be used in the inserted conversion. If no such user ID is found then
3308	// the conversion will be rejected with NO_COOKIE_MATCH_FOUND error.
3309	// When set, encryptionInfo should also be specified. This field may
3310	// only be used when calling batchinsert; it is not supported by
3311	// batchupdate. This field is mutually exclusive with encryptedUserId,
3312	// mobileDeviceId and gclid. This or encryptedUserId or mobileDeviceId
3313	// or gclid is a required field.
3314	EncryptedUserIdCandidates []string `json:"encryptedUserIdCandidates,omitempty"`
3315
3316	// FloodlightActivityId: Floodlight Activity ID of this conversion. This
3317	// is a required field.
3318	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
3319
3320	// FloodlightConfigurationId: Floodlight Configuration ID of this
3321	// conversion. This is a required field.
3322	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
3323
3324	// Gclid: The Google click ID. This field is mutually exclusive with
3325	// encryptedUserId, encryptedUserIdCandidates[] and mobileDeviceId. This
3326	// or encryptedUserId or encryptedUserIdCandidates[] or mobileDeviceId
3327	// is a required field.
3328	Gclid string `json:"gclid,omitempty"`
3329
3330	// Kind: Identifies what kind of resource this is. Value: the fixed
3331	// string "dfareporting#conversion".
3332	Kind string `json:"kind,omitempty"`
3333
3334	// LimitAdTracking: Whether Limit Ad Tracking is enabled. When set to
3335	// true, the conversion will be used for reporting but not targeting.
3336	// This will prevent remarketing.
3337	LimitAdTracking bool `json:"limitAdTracking,omitempty"`
3338
3339	// MobileDeviceId: The mobile device ID. This field is mutually
3340	// exclusive with encryptedUserId, encryptedUserIdCandidates[] and
3341	// gclid. This or encryptedUserId or encryptedUserIdCandidates[] or
3342	// gclid is a required field.
3343	MobileDeviceId string `json:"mobileDeviceId,omitempty"`
3344
3345	// NonPersonalizedAd: Whether the conversion was for a non personalized
3346	// ad.
3347	NonPersonalizedAd bool `json:"nonPersonalizedAd,omitempty"`
3348
3349	// Ordinal: The ordinal of the conversion. Use this field to control how
3350	// conversions of the same user and day are de-duplicated. This is a
3351	// required field.
3352	Ordinal string `json:"ordinal,omitempty"`
3353
3354	// Quantity: The quantity of the conversion.
3355	Quantity int64 `json:"quantity,omitempty,string"`
3356
3357	// TimestampMicros: The timestamp of conversion, in Unix epoch micros.
3358	// This is a required field.
3359	TimestampMicros int64 `json:"timestampMicros,omitempty,string"`
3360
3361	// TreatmentForUnderage: Whether this particular request may come from a
3362	// user under the age of 16 (may differ by country), under compliance
3363	// with the European Union's General Data Protection Regulation (GDPR).
3364	TreatmentForUnderage bool `json:"treatmentForUnderage,omitempty"`
3365
3366	// Value: The value of the conversion.
3367	Value float64 `json:"value,omitempty"`
3368
3369	// ForceSendFields is a list of field names (e.g.
3370	// "ChildDirectedTreatment") to unconditionally include in API requests.
3371	// By default, fields with empty values are omitted from API requests.
3372	// However, any non-pointer, non-interface field appearing in
3373	// ForceSendFields will be sent to the server regardless of whether the
3374	// field is empty or not. This may be used to include empty fields in
3375	// Patch requests.
3376	ForceSendFields []string `json:"-"`
3377
3378	// NullFields is a list of field names (e.g. "ChildDirectedTreatment")
3379	// to include in API requests with the JSON null value. By default,
3380	// fields with empty values are omitted from API requests. However, any
3381	// field with an empty value appearing in NullFields will be sent to the
3382	// server as null. It is an error if a field in this list has a
3383	// non-empty value. This may be used to include null fields in Patch
3384	// requests.
3385	NullFields []string `json:"-"`
3386}
3387
3388func (s *Conversion) MarshalJSON() ([]byte, error) {
3389	type NoMethod Conversion
3390	raw := NoMethod(*s)
3391	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3392}
3393
3394func (s *Conversion) UnmarshalJSON(data []byte) error {
3395	type NoMethod Conversion
3396	var s1 struct {
3397		Value gensupport.JSONFloat64 `json:"value"`
3398		*NoMethod
3399	}
3400	s1.NoMethod = (*NoMethod)(s)
3401	if err := json.Unmarshal(data, &s1); err != nil {
3402		return err
3403	}
3404	s.Value = float64(s1.Value)
3405	return nil
3406}
3407
3408// ConversionError: The error code and description for a conversion that
3409// failed to insert or update.
3410type ConversionError struct {
3411	// Code: The error code.
3412	//
3413	// Possible values:
3414	//   "INTERNAL"
3415	//   "INVALID_ARGUMENT"
3416	//   "NOT_FOUND"
3417	//   "PERMISSION_DENIED"
3418	Code string `json:"code,omitempty"`
3419
3420	// Kind: Identifies what kind of resource this is. Value: the fixed
3421	// string "dfareporting#conversionError".
3422	Kind string `json:"kind,omitempty"`
3423
3424	// Message: A description of the error.
3425	Message string `json:"message,omitempty"`
3426
3427	// ForceSendFields is a list of field names (e.g. "Code") to
3428	// unconditionally include in API requests. By default, fields with
3429	// empty values are omitted from API requests. However, any non-pointer,
3430	// non-interface field appearing in ForceSendFields will be sent to the
3431	// server regardless of whether the field is empty or not. This may be
3432	// used to include empty fields in Patch requests.
3433	ForceSendFields []string `json:"-"`
3434
3435	// NullFields is a list of field names (e.g. "Code") to include in API
3436	// requests with the JSON null value. By default, fields with empty
3437	// values are omitted from API requests. However, any field with an
3438	// empty value appearing in NullFields will be sent to the server as
3439	// null. It is an error if a field in this list has a non-empty value.
3440	// This may be used to include null fields in Patch requests.
3441	NullFields []string `json:"-"`
3442}
3443
3444func (s *ConversionError) MarshalJSON() ([]byte, error) {
3445	type NoMethod ConversionError
3446	raw := NoMethod(*s)
3447	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3448}
3449
3450// ConversionStatus: The original conversion that was inserted or
3451// updated and whether there were any errors.
3452type ConversionStatus struct {
3453	// Conversion: The original conversion that was inserted or updated.
3454	Conversion *Conversion `json:"conversion,omitempty"`
3455
3456	// Errors: A list of errors related to this conversion.
3457	Errors []*ConversionError `json:"errors,omitempty"`
3458
3459	// Kind: Identifies what kind of resource this is. Value: the fixed
3460	// string "dfareporting#conversionStatus".
3461	Kind string `json:"kind,omitempty"`
3462
3463	// ForceSendFields is a list of field names (e.g. "Conversion") to
3464	// unconditionally include in API requests. By default, fields with
3465	// empty values are omitted from API requests. However, any non-pointer,
3466	// non-interface field appearing in ForceSendFields will be sent to the
3467	// server regardless of whether the field is empty or not. This may be
3468	// used to include empty fields in Patch requests.
3469	ForceSendFields []string `json:"-"`
3470
3471	// NullFields is a list of field names (e.g. "Conversion") to include in
3472	// API requests with the JSON null value. By default, fields with empty
3473	// values are omitted from API requests. However, any field with an
3474	// empty value appearing in NullFields will be sent to the server as
3475	// null. It is an error if a field in this list has a non-empty value.
3476	// This may be used to include null fields in Patch requests.
3477	NullFields []string `json:"-"`
3478}
3479
3480func (s *ConversionStatus) MarshalJSON() ([]byte, error) {
3481	type NoMethod ConversionStatus
3482	raw := NoMethod(*s)
3483	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3484}
3485
3486// ConversionsBatchInsertRequest: Insert Conversions Request.
3487type ConversionsBatchInsertRequest struct {
3488	// Conversions: The set of conversions to insert.
3489	Conversions []*Conversion `json:"conversions,omitempty"`
3490
3491	// EncryptionInfo: Describes how encryptedUserId or
3492	// encryptedUserIdCandidates[] is encrypted. This is a required field if
3493	// encryptedUserId or encryptedUserIdCandidates[] is used.
3494	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3495
3496	// Kind: Identifies what kind of resource this is. Value: the fixed
3497	// string "dfareporting#conversionsBatchInsertRequest".
3498	Kind string `json:"kind,omitempty"`
3499
3500	// ForceSendFields is a list of field names (e.g. "Conversions") to
3501	// unconditionally include in API requests. By default, fields with
3502	// empty values are omitted from API requests. However, any non-pointer,
3503	// non-interface field appearing in ForceSendFields will be sent to the
3504	// server regardless of whether the field is empty or not. This may be
3505	// used to include empty fields in Patch requests.
3506	ForceSendFields []string `json:"-"`
3507
3508	// NullFields is a list of field names (e.g. "Conversions") to include
3509	// in API requests with the JSON null value. By default, fields with
3510	// empty values are omitted from API requests. However, any field with
3511	// an empty value appearing in NullFields will be sent to the server as
3512	// null. It is an error if a field in this list has a non-empty value.
3513	// This may be used to include null fields in Patch requests.
3514	NullFields []string `json:"-"`
3515}
3516
3517func (s *ConversionsBatchInsertRequest) MarshalJSON() ([]byte, error) {
3518	type NoMethod ConversionsBatchInsertRequest
3519	raw := NoMethod(*s)
3520	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3521}
3522
3523// ConversionsBatchInsertResponse: Insert Conversions Response.
3524type ConversionsBatchInsertResponse struct {
3525	// HasFailures: Indicates that some or all conversions failed to insert.
3526	HasFailures bool `json:"hasFailures,omitempty"`
3527
3528	// Kind: Identifies what kind of resource this is. Value: the fixed
3529	// string "dfareporting#conversionsBatchInsertResponse".
3530	Kind string `json:"kind,omitempty"`
3531
3532	// Status: The insert status of each conversion. Statuses are returned
3533	// in the same order that conversions are inserted.
3534	Status []*ConversionStatus `json:"status,omitempty"`
3535
3536	// ServerResponse contains the HTTP response code and headers from the
3537	// server.
3538	googleapi.ServerResponse `json:"-"`
3539
3540	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3541	// unconditionally include in API requests. By default, fields with
3542	// empty values are omitted from API requests. However, any non-pointer,
3543	// non-interface field appearing in ForceSendFields will be sent to the
3544	// server regardless of whether the field is empty or not. This may be
3545	// used to include empty fields in Patch requests.
3546	ForceSendFields []string `json:"-"`
3547
3548	// NullFields is a list of field names (e.g. "HasFailures") to include
3549	// in API requests with the JSON null value. By default, fields with
3550	// empty values are omitted from API requests. However, any field with
3551	// an empty value appearing in NullFields will be sent to the server as
3552	// null. It is an error if a field in this list has a non-empty value.
3553	// This may be used to include null fields in Patch requests.
3554	NullFields []string `json:"-"`
3555}
3556
3557func (s *ConversionsBatchInsertResponse) MarshalJSON() ([]byte, error) {
3558	type NoMethod ConversionsBatchInsertResponse
3559	raw := NoMethod(*s)
3560	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3561}
3562
3563// ConversionsBatchUpdateRequest: Update Conversions Request.
3564type ConversionsBatchUpdateRequest struct {
3565	// Conversions: The set of conversions to update.
3566	Conversions []*Conversion `json:"conversions,omitempty"`
3567
3568	// EncryptionInfo: Describes how encryptedUserId is encrypted. This is a
3569	// required field if encryptedUserId is used.
3570	EncryptionInfo *EncryptionInfo `json:"encryptionInfo,omitempty"`
3571
3572	// Kind: Identifies what kind of resource this is. Value: the fixed
3573	// string "dfareporting#conversionsBatchUpdateRequest".
3574	Kind string `json:"kind,omitempty"`
3575
3576	// ForceSendFields is a list of field names (e.g. "Conversions") to
3577	// unconditionally include in API requests. By default, fields with
3578	// empty values are omitted from API requests. However, any non-pointer,
3579	// non-interface field appearing in ForceSendFields will be sent to the
3580	// server regardless of whether the field is empty or not. This may be
3581	// used to include empty fields in Patch requests.
3582	ForceSendFields []string `json:"-"`
3583
3584	// NullFields is a list of field names (e.g. "Conversions") to include
3585	// in API requests with the JSON null value. By default, fields with
3586	// empty values are omitted from API requests. However, any field with
3587	// an empty value appearing in NullFields will be sent to the server as
3588	// null. It is an error if a field in this list has a non-empty value.
3589	// This may be used to include null fields in Patch requests.
3590	NullFields []string `json:"-"`
3591}
3592
3593func (s *ConversionsBatchUpdateRequest) MarshalJSON() ([]byte, error) {
3594	type NoMethod ConversionsBatchUpdateRequest
3595	raw := NoMethod(*s)
3596	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3597}
3598
3599// ConversionsBatchUpdateResponse: Update Conversions Response.
3600type ConversionsBatchUpdateResponse struct {
3601	// HasFailures: Indicates that some or all conversions failed to update.
3602	HasFailures bool `json:"hasFailures,omitempty"`
3603
3604	// Kind: Identifies what kind of resource this is. Value: the fixed
3605	// string "dfareporting#conversionsBatchUpdateResponse".
3606	Kind string `json:"kind,omitempty"`
3607
3608	// Status: The update status of each conversion. Statuses are returned
3609	// in the same order that conversions are updated.
3610	Status []*ConversionStatus `json:"status,omitempty"`
3611
3612	// ServerResponse contains the HTTP response code and headers from the
3613	// server.
3614	googleapi.ServerResponse `json:"-"`
3615
3616	// ForceSendFields is a list of field names (e.g. "HasFailures") to
3617	// unconditionally include in API requests. By default, fields with
3618	// empty values are omitted from API requests. However, any non-pointer,
3619	// non-interface field appearing in ForceSendFields will be sent to the
3620	// server regardless of whether the field is empty or not. This may be
3621	// used to include empty fields in Patch requests.
3622	ForceSendFields []string `json:"-"`
3623
3624	// NullFields is a list of field names (e.g. "HasFailures") to include
3625	// in API requests with the JSON null value. By default, fields with
3626	// empty values are omitted from API requests. However, any field with
3627	// an empty value appearing in NullFields will be sent to the server as
3628	// null. It is an error if a field in this list has a non-empty value.
3629	// This may be used to include null fields in Patch requests.
3630	NullFields []string `json:"-"`
3631}
3632
3633func (s *ConversionsBatchUpdateResponse) MarshalJSON() ([]byte, error) {
3634	type NoMethod ConversionsBatchUpdateResponse
3635	raw := NoMethod(*s)
3636	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3637}
3638
3639// CountriesListResponse: Country List Response
3640type CountriesListResponse struct {
3641	// Countries: Country collection.
3642	Countries []*Country `json:"countries,omitempty"`
3643
3644	// Kind: Identifies what kind of resource this is. Value: the fixed
3645	// string "dfareporting#countriesListResponse".
3646	Kind string `json:"kind,omitempty"`
3647
3648	// ServerResponse contains the HTTP response code and headers from the
3649	// server.
3650	googleapi.ServerResponse `json:"-"`
3651
3652	// ForceSendFields is a list of field names (e.g. "Countries") to
3653	// unconditionally include in API requests. By default, fields with
3654	// empty values are omitted from API requests. However, any non-pointer,
3655	// non-interface field appearing in ForceSendFields will be sent to the
3656	// server regardless of whether the field is empty or not. This may be
3657	// used to include empty fields in Patch requests.
3658	ForceSendFields []string `json:"-"`
3659
3660	// NullFields is a list of field names (e.g. "Countries") to include in
3661	// API requests with the JSON null value. By default, fields with empty
3662	// values are omitted from API requests. However, any field with an
3663	// empty value appearing in NullFields will be sent to the server as
3664	// null. It is an error if a field in this list has a non-empty value.
3665	// This may be used to include null fields in Patch requests.
3666	NullFields []string `json:"-"`
3667}
3668
3669func (s *CountriesListResponse) MarshalJSON() ([]byte, error) {
3670	type NoMethod CountriesListResponse
3671	raw := NoMethod(*s)
3672	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3673}
3674
3675// Country: Contains information about a country that can be targeted by
3676// ads.
3677type Country struct {
3678	// CountryCode: Country code.
3679	CountryCode string `json:"countryCode,omitempty"`
3680
3681	// DartId: DART ID of this country. This is the ID used for targeting
3682	// and generating reports.
3683	DartId int64 `json:"dartId,omitempty,string"`
3684
3685	// Kind: Identifies what kind of resource this is. Value: the fixed
3686	// string "dfareporting#country".
3687	Kind string `json:"kind,omitempty"`
3688
3689	// Name: Name of this country.
3690	Name string `json:"name,omitempty"`
3691
3692	// SslEnabled: Whether ad serving supports secure servers in this
3693	// country.
3694	SslEnabled bool `json:"sslEnabled,omitempty"`
3695
3696	// ServerResponse contains the HTTP response code and headers from the
3697	// server.
3698	googleapi.ServerResponse `json:"-"`
3699
3700	// ForceSendFields is a list of field names (e.g. "CountryCode") to
3701	// unconditionally include in API requests. By default, fields with
3702	// empty values are omitted from API requests. However, any non-pointer,
3703	// non-interface field appearing in ForceSendFields will be sent to the
3704	// server regardless of whether the field is empty or not. This may be
3705	// used to include empty fields in Patch requests.
3706	ForceSendFields []string `json:"-"`
3707
3708	// NullFields is a list of field names (e.g. "CountryCode") to include
3709	// in API requests with the JSON null value. By default, fields with
3710	// empty values are omitted from API requests. However, any field with
3711	// an empty value appearing in NullFields will be sent to the server as
3712	// null. It is an error if a field in this list has a non-empty value.
3713	// This may be used to include null fields in Patch requests.
3714	NullFields []string `json:"-"`
3715}
3716
3717func (s *Country) MarshalJSON() ([]byte, error) {
3718	type NoMethod Country
3719	raw := NoMethod(*s)
3720	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
3721}
3722
3723// Creative: Contains properties of a Creative.
3724type Creative struct {
3725	// AccountId: Account ID of this creative. This field, if left unset,
3726	// will be auto-generated for both insert and update operations.
3727	// Applicable to all creative types.
3728	AccountId int64 `json:"accountId,omitempty,string"`
3729
3730	// Active: Whether the creative is active. Applicable to all creative
3731	// types.
3732	Active bool `json:"active,omitempty"`
3733
3734	// AdParameters: Ad parameters user for VPAID creative. This is a
3735	// read-only field. Applicable to the following creative types: all
3736	// VPAID.
3737	AdParameters string `json:"adParameters,omitempty"`
3738
3739	// AdTagKeys: Keywords for a Rich Media creative. Keywords let you
3740	// customize the creative settings of a Rich Media ad running on your
3741	// site without having to contact the advertiser. You can use keywords
3742	// to dynamically change the look or functionality of a creative.
3743	// Applicable to the following creative types: all RICH_MEDIA, and all
3744	// VPAID.
3745	AdTagKeys []string `json:"adTagKeys,omitempty"`
3746
3747	// AdditionalSizes: Additional sizes associated with a responsive
3748	// creative. When inserting or updating a creative either the size ID
3749	// field or size width and height fields can be used. Applicable to
3750	// DISPLAY creatives when the primary asset type is HTML_IMAGE.
3751	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
3752
3753	// AdvertiserId: Advertiser ID of this creative. This is a required
3754	// field. Applicable to all creative types.
3755	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
3756
3757	// AllowScriptAccess: Whether script access is allowed for this
3758	// creative. This is a read-only and deprecated field which will
3759	// automatically be set to true on update. Applicable to the following
3760	// creative types: FLASH_INPAGE.
3761	AllowScriptAccess bool `json:"allowScriptAccess,omitempty"`
3762
3763	// Archived: Whether the creative is archived. Applicable to all
3764	// creative types.
3765	Archived bool `json:"archived,omitempty"`
3766
3767	// ArtworkType: Type of artwork used for the creative. This is a
3768	// read-only field. Applicable to the following creative types: all
3769	// RICH_MEDIA, and all VPAID.
3770	//
3771	// Possible values:
3772	//   "ARTWORK_TYPE_FLASH"
3773	//   "ARTWORK_TYPE_HTML5"
3774	//   "ARTWORK_TYPE_IMAGE"
3775	//   "ARTWORK_TYPE_MIXED"
3776	ArtworkType string `json:"artworkType,omitempty"`
3777
3778	// AuthoringSource: Source application where creative was authored.
3779	// Presently, only DBM authored creatives will have this field set.
3780	// Applicable to all creative types.
3781	//
3782	// Possible values:
3783	//   "CREATIVE_AUTHORING_SOURCE_DBM"
3784	//   "CREATIVE_AUTHORING_SOURCE_DCM"
3785	//   "CREATIVE_AUTHORING_SOURCE_STUDIO"
3786	AuthoringSource string `json:"authoringSource,omitempty"`
3787
3788	// AuthoringTool: Authoring tool for HTML5 banner creatives. This is a
3789	// read-only field. Applicable to the following creative types:
3790	// HTML5_BANNER.
3791	//
3792	// Possible values:
3793	//   "NINJA"
3794	//   "SWIFFY"
3795	AuthoringTool string `json:"authoringTool,omitempty"`
3796
3797	// AutoAdvanceImages: Whether images are automatically advanced for
3798	// image gallery creatives. Applicable to the following creative types:
3799	// DISPLAY_IMAGE_GALLERY.
3800	AutoAdvanceImages bool `json:"autoAdvanceImages,omitempty"`
3801
3802	// BackgroundColor: The 6-character HTML color code, beginning with #,
3803	// for the background of the window area where the Flash file is
3804	// displayed. Default is white. Applicable to the following creative
3805	// types: FLASH_INPAGE.
3806	BackgroundColor string `json:"backgroundColor,omitempty"`
3807
3808	// BackupImageClickThroughUrl: Click-through URL for backup image.
3809	// Applicable to ENHANCED_BANNER when the primary asset type is not
3810	// HTML_IMAGE.
3811	BackupImageClickThroughUrl *CreativeClickThroughUrl `json:"backupImageClickThroughUrl,omitempty"`
3812
3813	// BackupImageFeatures: List of feature dependencies that will cause a
3814	// backup image to be served if the browser that serves the ad does not
3815	// support them. Feature dependencies are features that a browser must
3816	// be able to support in order to render your HTML5 creative asset
3817	// correctly. This field is initially auto-generated to contain all
3818	// features detected by Campaign Manager for all the assets of this
3819	// creative and can then be modified by the client. To reset this field,
3820	// copy over all the creativeAssets' detected features. Applicable to
3821	// the following creative types: HTML5_BANNER. Applicable to DISPLAY
3822	// when the primary asset type is not HTML_IMAGE.
3823	//
3824	// Possible values:
3825	//   "APPLICATION_CACHE"
3826	//   "AUDIO"
3827	//   "CANVAS"
3828	//   "CANVAS_TEXT"
3829	//   "CSS_ANIMATIONS"
3830	//   "CSS_BACKGROUND_SIZE"
3831	//   "CSS_BORDER_IMAGE"
3832	//   "CSS_BORDER_RADIUS"
3833	//   "CSS_BOX_SHADOW"
3834	//   "CSS_COLUMNS"
3835	//   "CSS_FLEX_BOX"
3836	//   "CSS_FONT_FACE"
3837	//   "CSS_GENERATED_CONTENT"
3838	//   "CSS_GRADIENTS"
3839	//   "CSS_HSLA"
3840	//   "CSS_MULTIPLE_BGS"
3841	//   "CSS_OPACITY"
3842	//   "CSS_REFLECTIONS"
3843	//   "CSS_RGBA"
3844	//   "CSS_TEXT_SHADOW"
3845	//   "CSS_TRANSFORMS"
3846	//   "CSS_TRANSFORMS3D"
3847	//   "CSS_TRANSITIONS"
3848	//   "DRAG_AND_DROP"
3849	//   "GEO_LOCATION"
3850	//   "HASH_CHANGE"
3851	//   "HISTORY"
3852	//   "INDEXED_DB"
3853	//   "INLINE_SVG"
3854	//   "INPUT_ATTR_AUTOCOMPLETE"
3855	//   "INPUT_ATTR_AUTOFOCUS"
3856	//   "INPUT_ATTR_LIST"
3857	//   "INPUT_ATTR_MAX"
3858	//   "INPUT_ATTR_MIN"
3859	//   "INPUT_ATTR_MULTIPLE"
3860	//   "INPUT_ATTR_PATTERN"
3861	//   "INPUT_ATTR_PLACEHOLDER"
3862	//   "INPUT_ATTR_REQUIRED"
3863	//   "INPUT_ATTR_STEP"
3864	//   "INPUT_TYPE_COLOR"
3865	//   "INPUT_TYPE_DATE"
3866	//   "INPUT_TYPE_DATETIME"
3867	//   "INPUT_TYPE_DATETIME_LOCAL"
3868	//   "INPUT_TYPE_EMAIL"
3869	//   "INPUT_TYPE_MONTH"
3870	//   "INPUT_TYPE_NUMBER"
3871	//   "INPUT_TYPE_RANGE"
3872	//   "INPUT_TYPE_SEARCH"
3873	//   "INPUT_TYPE_TEL"
3874	//   "INPUT_TYPE_TIME"
3875	//   "INPUT_TYPE_URL"
3876	//   "INPUT_TYPE_WEEK"
3877	//   "LOCAL_STORAGE"
3878	//   "POST_MESSAGE"
3879	//   "SESSION_STORAGE"
3880	//   "SMIL"
3881	//   "SVG_CLIP_PATHS"
3882	//   "SVG_FE_IMAGE"
3883	//   "SVG_FILTERS"
3884	//   "SVG_HREF"
3885	//   "TOUCH"
3886	//   "VIDEO"
3887	//   "WEBGL"
3888	//   "WEB_SOCKETS"
3889	//   "WEB_SQL_DATABASE"
3890	//   "WEB_WORKERS"
3891	BackupImageFeatures []string `json:"backupImageFeatures,omitempty"`
3892
3893	// BackupImageReportingLabel: Reporting label used for HTML5 banner
3894	// backup image. Applicable to the following creative types: DISPLAY
3895	// when the primary asset type is not HTML_IMAGE.
3896	BackupImageReportingLabel string `json:"backupImageReportingLabel,omitempty"`
3897
3898	// BackupImageTargetWindow: Target window for backup image. Applicable
3899	// to the following creative types: FLASH_INPAGE and HTML5_BANNER.
3900	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
3901	BackupImageTargetWindow *TargetWindow `json:"backupImageTargetWindow,omitempty"`
3902
3903	// ClickTags: Click tags of the creative. For DISPLAY, FLASH_INPAGE, and
3904	// HTML5_BANNER creatives, this is a subset of detected click tags for
3905	// the assets associated with this creative. After creating a flash
3906	// asset, detected click tags will be returned in the
3907	// creativeAssetMetadata. When inserting the creative, populate the
3908	// creative clickTags field using the creativeAssetMetadata.clickTags
3909	// field. For DISPLAY_IMAGE_GALLERY creatives, there should be exactly
3910	// one entry in this list for each image creative asset. A click tag is
3911	// matched with a corresponding creative asset by matching the
3912	// clickTag.name field with the creativeAsset.assetIdentifier.name
3913	// field. Applicable to the following creative types:
3914	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER. Applicable to
3915	// DISPLAY when the primary asset type is not HTML_IMAGE.
3916	ClickTags []*ClickTag `json:"clickTags,omitempty"`
3917
3918	// CommercialId: Industry standard ID assigned to creative for reach and
3919	// frequency. Applicable to INSTREAM_VIDEO_REDIRECT creatives.
3920	CommercialId string `json:"commercialId,omitempty"`
3921
3922	// CompanionCreatives: List of companion creatives assigned to an
3923	// in-Stream video creative. Acceptable values include IDs of existing
3924	// flash and image creatives. Applicable to the following creative
3925	// types: all VPAID, all INSTREAM_AUDIO and all INSTREAM_VIDEO with
3926	// dynamicAssetSelection set to false.
3927	CompanionCreatives googleapi.Int64s `json:"companionCreatives,omitempty"`
3928
3929	// Compatibility: Compatibilities associated with this creative. This is
3930	// a read-only field. DISPLAY and DISPLAY_INTERSTITIAL refer to
3931	// rendering either on desktop or on mobile devices or in mobile apps
3932	// for regular or interstitial ads, respectively. APP and
3933	// APP_INTERSTITIAL are for rendering in mobile apps. Only pre-existing
3934	// creatives may have these compatibilities since new creatives will
3935	// either be assigned DISPLAY or DISPLAY_INTERSTITIAL instead.
3936	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
3937	// with the VAST standard. IN_STREAM_AUDIO refers to rendering in
3938	// in-stream audio ads developed with the VAST standard. Applicable to
3939	// all creative types.
3940	//
3941	// Acceptable values are:
3942	// - "APP"
3943	// - "APP_INTERSTITIAL"
3944	// - "IN_STREAM_VIDEO"
3945	// - "IN_STREAM_AUDIO"
3946	// - "DISPLAY"
3947	// - "DISPLAY_INTERSTITIAL"
3948	//
3949	// Possible values:
3950	//   "APP"
3951	//   "APP_INTERSTITIAL"
3952	//   "DISPLAY"
3953	//   "DISPLAY_INTERSTITIAL"
3954	//   "IN_STREAM_AUDIO"
3955	//   "IN_STREAM_VIDEO"
3956	Compatibility []string `json:"compatibility,omitempty"`
3957
3958	// ConvertFlashToHtml5: Whether Flash assets associated with the
3959	// creative need to be automatically converted to HTML5. This flag is
3960	// enabled by default and users can choose to disable it if they don't
3961	// want the system to generate and use HTML5 asset for this creative.
3962	// Applicable to the following creative type: FLASH_INPAGE. Applicable
3963	// to DISPLAY when the primary asset type is not HTML_IMAGE.
3964	ConvertFlashToHtml5 bool `json:"convertFlashToHtml5,omitempty"`
3965
3966	// CounterCustomEvents: List of counter events configured for the
3967	// creative. For DISPLAY_IMAGE_GALLERY creatives, these are read-only
3968	// and auto-generated from clickTags. Applicable to the following
3969	// creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
3970	CounterCustomEvents []*CreativeCustomEvent `json:"counterCustomEvents,omitempty"`
3971
3972	// CreativeAssetSelection: Required if dynamicAssetSelection is true.
3973	CreativeAssetSelection *CreativeAssetSelection `json:"creativeAssetSelection,omitempty"`
3974
3975	// CreativeAssets: Assets associated with a creative. Applicable to all
3976	// but the following creative types: INTERNAL_REDIRECT,
3977	// INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT
3978	CreativeAssets []*CreativeAsset `json:"creativeAssets,omitempty"`
3979
3980	// CreativeFieldAssignments: Creative field assignments for this
3981	// creative. Applicable to all creative types.
3982	CreativeFieldAssignments []*CreativeFieldAssignment `json:"creativeFieldAssignments,omitempty"`
3983
3984	// CustomKeyValues: Custom key-values for a Rich Media creative.
3985	// Key-values let you customize the creative settings of a Rich Media ad
3986	// running on your site without having to contact the advertiser. You
3987	// can use key-values to dynamically change the look or functionality of
3988	// a creative. Applicable to the following creative types: all
3989	// RICH_MEDIA, and all VPAID.
3990	CustomKeyValues []string `json:"customKeyValues,omitempty"`
3991
3992	// DynamicAssetSelection: Set this to true to enable the use of rules to
3993	// target individual assets in this creative. When set to true
3994	// creativeAssetSelection must be set. This also controls asset-level
3995	// companions. When this is true, companion creatives should be assigned
3996	// to creative assets. Learn more. Applicable to INSTREAM_VIDEO
3997	// creatives.
3998	DynamicAssetSelection bool `json:"dynamicAssetSelection,omitempty"`
3999
4000	// ExitCustomEvents: List of exit events configured for the creative.
4001	// For DISPLAY and DISPLAY_IMAGE_GALLERY creatives, these are read-only
4002	// and auto-generated from clickTags, For DISPLAY, an event is also
4003	// created from the backupImageReportingLabel. Applicable to the
4004	// following creative types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and
4005	// all VPAID. Applicable to DISPLAY when the primary asset type is not
4006	// HTML_IMAGE.
4007	ExitCustomEvents []*CreativeCustomEvent `json:"exitCustomEvents,omitempty"`
4008
4009	// FsCommand: OpenWindow FSCommand of this creative. This lets the SWF
4010	// file communicate with either Flash Player or the program hosting
4011	// Flash Player, such as a web browser. This is only triggered if
4012	// allowScriptAccess field is true. Applicable to the following creative
4013	// types: FLASH_INPAGE.
4014	FsCommand *FsCommand `json:"fsCommand,omitempty"`
4015
4016	// HtmlCode: HTML code for the creative. This is a required field when
4017	// applicable. This field is ignored if htmlCodeLocked is true.
4018	// Applicable to the following creative types: all CUSTOM, FLASH_INPAGE,
4019	// and HTML5_BANNER, and all RICH_MEDIA.
4020	HtmlCode string `json:"htmlCode,omitempty"`
4021
4022	// HtmlCodeLocked: Whether HTML code is generated by Campaign Manager or
4023	// manually entered. Set to true to ignore changes to htmlCode.
4024	// Applicable to the following creative types: FLASH_INPAGE and
4025	// HTML5_BANNER.
4026	HtmlCodeLocked bool `json:"htmlCodeLocked,omitempty"`
4027
4028	// Id: ID of this creative. This is a read-only, auto-generated field.
4029	// Applicable to all creative types.
4030	Id int64 `json:"id,omitempty,string"`
4031
4032	// IdDimensionValue: Dimension value for the ID of this creative. This
4033	// is a read-only field. Applicable to all creative types.
4034	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4035
4036	// Kind: Identifies what kind of resource this is. Value: the fixed
4037	// string "dfareporting#creative".
4038	Kind string `json:"kind,omitempty"`
4039
4040	// LastModifiedInfo: Creative last modification information. This is a
4041	// read-only field. Applicable to all creative types.
4042	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
4043
4044	// LatestTraffickedCreativeId: Latest Studio trafficked creative ID
4045	// associated with rich media and VPAID creatives. This is a read-only
4046	// field. Applicable to the following creative types: all RICH_MEDIA,
4047	// and all VPAID.
4048	LatestTraffickedCreativeId int64 `json:"latestTraffickedCreativeId,omitempty,string"`
4049
4050	// MediaDescription: Description of the audio or video ad. Applicable to
4051	// the following creative types: all INSTREAM_VIDEO, INSTREAM_AUDIO, and
4052	// all VPAID.
4053	MediaDescription string `json:"mediaDescription,omitempty"`
4054
4055	// MediaDuration: Creative audio or video duration in seconds. This is a
4056	// read-only field. Applicable to the following creative types:
4057	// INSTREAM_VIDEO, INSTREAM_AUDIO, all RICH_MEDIA, and all VPAID.
4058	MediaDuration float64 `json:"mediaDuration,omitempty"`
4059
4060	// Name: Name of the creative. This is a required field and must be less
4061	// than 256 characters long. Applicable to all creative types.
4062	Name string `json:"name,omitempty"`
4063
4064	// OverrideCss: Override CSS value for rich media creatives. Applicable
4065	// to the following creative types: all RICH_MEDIA.
4066	OverrideCss string `json:"overrideCss,omitempty"`
4067
4068	// PoliteLoadAssetId: The asset ID of the polite load image asset.
4069	// Applicable to the creative type: DISPLAY.
4070	PoliteLoadAssetId int64 `json:"politeLoadAssetId,omitempty,string"`
4071
4072	// ProgressOffset: Amount of time to play the video before counting a
4073	// view. Applicable to the following creative types: all INSTREAM_VIDEO.
4074	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
4075
4076	// RedirectUrl: URL of hosted image or hosted video or another ad tag.
4077	// For INSTREAM_VIDEO_REDIRECT creatives this is the in-stream video
4078	// redirect URL. The standard for a VAST (Video Ad Serving Template) ad
4079	// response allows for a redirect link to another VAST 2.0 or 3.0 call.
4080	// This is a required field when applicable. Applicable to the following
4081	// creative types: DISPLAY_REDIRECT, INTERNAL_REDIRECT,
4082	// INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO_REDIRECT
4083	RedirectUrl string `json:"redirectUrl,omitempty"`
4084
4085	// RenderingId: ID of current rendering version. This is a read-only
4086	// field. Applicable to all creative types.
4087	RenderingId int64 `json:"renderingId,omitempty,string"`
4088
4089	// RenderingIdDimensionValue: Dimension value for the rendering ID of
4090	// this creative. This is a read-only field. Applicable to all creative
4091	// types.
4092	RenderingIdDimensionValue *DimensionValue `json:"renderingIdDimensionValue,omitempty"`
4093
4094	// RequiredFlashPluginVersion: The minimum required Flash plugin version
4095	// for this creative. For example, 11.2.202.235. This is a read-only
4096	// field. Applicable to the following creative types: all RICH_MEDIA,
4097	// and all VPAID.
4098	RequiredFlashPluginVersion string `json:"requiredFlashPluginVersion,omitempty"`
4099
4100	// RequiredFlashVersion: The internal Flash version for this creative as
4101	// calculated by Studio. This is a read-only field. Applicable to the
4102	// following creative types: FLASH_INPAGE all RICH_MEDIA, and all VPAID.
4103	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4104	RequiredFlashVersion int64 `json:"requiredFlashVersion,omitempty"`
4105
4106	// Size: Size associated with this creative. When inserting or updating
4107	// a creative either the size ID field or size width and height fields
4108	// can be used. This is a required field when applicable; however for
4109	// IMAGE, FLASH_INPAGE creatives, and for DISPLAY creatives with a
4110	// primary asset of type HTML_IMAGE, if left blank, this field will be
4111	// automatically set using the actual size of the associated image
4112	// assets. Applicable to the following creative types: DISPLAY,
4113	// DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all
4114	// RICH_MEDIA.
4115	Size *Size `json:"size,omitempty"`
4116
4117	// SkipOffset: Amount of time to play the video before the skip button
4118	// appears. Applicable to the following creative types: all
4119	// INSTREAM_VIDEO.
4120	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
4121
4122	// Skippable: Whether the user can choose to skip the creative.
4123	// Applicable to the following creative types: all INSTREAM_VIDEO and
4124	// all VPAID.
4125	Skippable bool `json:"skippable,omitempty"`
4126
4127	// SslCompliant: Whether the creative is SSL-compliant. This is a
4128	// read-only field. Applicable to all creative types.
4129	SslCompliant bool `json:"sslCompliant,omitempty"`
4130
4131	// SslOverride: Whether creative should be treated as SSL compliant even
4132	// if the system scan shows it's not. Applicable to all creative types.
4133	SslOverride bool `json:"sslOverride,omitempty"`
4134
4135	// StudioAdvertiserId: Studio advertiser ID associated with rich media
4136	// and VPAID creatives. This is a read-only field. Applicable to the
4137	// following creative types: all RICH_MEDIA, and all VPAID.
4138	StudioAdvertiserId int64 `json:"studioAdvertiserId,omitempty,string"`
4139
4140	// StudioCreativeId: Studio creative ID associated with rich media and
4141	// VPAID creatives. This is a read-only field. Applicable to the
4142	// following creative types: all RICH_MEDIA, and all VPAID.
4143	StudioCreativeId int64 `json:"studioCreativeId,omitempty,string"`
4144
4145	// StudioTraffickedCreativeId: Studio trafficked creative ID associated
4146	// with rich media and VPAID creatives. This is a read-only field.
4147	// Applicable to the following creative types: all RICH_MEDIA, and all
4148	// VPAID.
4149	StudioTraffickedCreativeId int64 `json:"studioTraffickedCreativeId,omitempty,string"`
4150
4151	// SubaccountId: Subaccount ID of this creative. This field, if left
4152	// unset, will be auto-generated for both insert and update operations.
4153	// Applicable to all creative types.
4154	SubaccountId int64 `json:"subaccountId,omitempty,string"`
4155
4156	// ThirdPartyBackupImageImpressionsUrl: Third-party URL used to record
4157	// backup image impressions. Applicable to the following creative types:
4158	// all RICH_MEDIA.
4159	ThirdPartyBackupImageImpressionsUrl string `json:"thirdPartyBackupImageImpressionsUrl,omitempty"`
4160
4161	// ThirdPartyRichMediaImpressionsUrl: Third-party URL used to record
4162	// rich media impressions. Applicable to the following creative types:
4163	// all RICH_MEDIA.
4164	ThirdPartyRichMediaImpressionsUrl string `json:"thirdPartyRichMediaImpressionsUrl,omitempty"`
4165
4166	// ThirdPartyUrls: Third-party URLs for tracking in-stream creative
4167	// events. Applicable to the following creative types: all
4168	// INSTREAM_VIDEO, all INSTREAM_AUDIO, and all VPAID.
4169	ThirdPartyUrls []*ThirdPartyTrackingUrl `json:"thirdPartyUrls,omitempty"`
4170
4171	// TimerCustomEvents: List of timer events configured for the creative.
4172	// For DISPLAY_IMAGE_GALLERY creatives, these are read-only and
4173	// auto-generated from clickTags. Applicable to the following creative
4174	// types: DISPLAY_IMAGE_GALLERY, all RICH_MEDIA, and all VPAID.
4175	// Applicable to DISPLAY when the primary asset is not HTML_IMAGE.
4176	TimerCustomEvents []*CreativeCustomEvent `json:"timerCustomEvents,omitempty"`
4177
4178	// TotalFileSize: Combined size of all creative assets. This is a
4179	// read-only field. Applicable to the following creative types: all
4180	// RICH_MEDIA, and all VPAID.
4181	TotalFileSize int64 `json:"totalFileSize,omitempty,string"`
4182
4183	// Type: Type of this creative. This is a required field. Applicable to
4184	// all creative types.
4185	//
4186	// Note: FLASH_INPAGE, HTML5_BANNER, and IMAGE are only used for
4187	// existing creatives. New creatives should use DISPLAY as a replacement
4188	// for these types.
4189	//
4190	// Possible values:
4191	//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
4192	//   "CUSTOM_DISPLAY"
4193	//   "CUSTOM_DISPLAY_INTERSTITIAL"
4194	//   "DISPLAY"
4195	//   "DISPLAY_IMAGE_GALLERY"
4196	//   "DISPLAY_REDIRECT"
4197	//   "FLASH_INPAGE"
4198	//   "HTML5_BANNER"
4199	//   "IMAGE"
4200	//   "INSTREAM_AUDIO"
4201	//   "INSTREAM_VIDEO"
4202	//   "INSTREAM_VIDEO_REDIRECT"
4203	//   "INTERNAL_REDIRECT"
4204	//   "INTERSTITIAL_INTERNAL_REDIRECT"
4205	//   "RICH_MEDIA_DISPLAY_BANNER"
4206	//   "RICH_MEDIA_DISPLAY_EXPANDING"
4207	//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
4208	//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
4209	//   "RICH_MEDIA_IM_EXPAND"
4210	//   "RICH_MEDIA_INPAGE_FLOATING"
4211	//   "RICH_MEDIA_MOBILE_IN_APP"
4212	//   "RICH_MEDIA_PEEL_DOWN"
4213	//   "TRACKING_TEXT"
4214	//   "VPAID_LINEAR_VIDEO"
4215	//   "VPAID_NON_LINEAR_VIDEO"
4216	Type string `json:"type,omitempty"`
4217
4218	// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
4219	// to the following creative types: INSTREAM_AUDIO and INSTREAM_VIDEO
4220	// and VPAID.
4221	UniversalAdId *UniversalAdId `json:"universalAdId,omitempty"`
4222
4223	// Version: The version number helps you keep track of multiple versions
4224	// of your creative in your reports. The version number will always be
4225	// auto-generated during insert operations to start at 1. For tracking
4226	// creatives the version cannot be incremented and will always remain at
4227	// 1. For all other creative types the version can be incremented only
4228	// by 1 during update operations. In addition, the version will be
4229	// automatically incremented by 1 when undergoing Rich Media creative
4230	// merging. Applicable to all creative types.
4231	Version int64 `json:"version,omitempty"`
4232
4233	// ServerResponse contains the HTTP response code and headers from the
4234	// server.
4235	googleapi.ServerResponse `json:"-"`
4236
4237	// ForceSendFields is a list of field names (e.g. "AccountId") to
4238	// unconditionally include in API requests. By default, fields with
4239	// empty values are omitted from API requests. However, any non-pointer,
4240	// non-interface field appearing in ForceSendFields will be sent to the
4241	// server regardless of whether the field is empty or not. This may be
4242	// used to include empty fields in Patch requests.
4243	ForceSendFields []string `json:"-"`
4244
4245	// NullFields is a list of field names (e.g. "AccountId") to include in
4246	// API requests with the JSON null value. By default, fields with empty
4247	// values are omitted from API requests. However, any field with an
4248	// empty value appearing in NullFields will be sent to the server as
4249	// null. It is an error if a field in this list has a non-empty value.
4250	// This may be used to include null fields in Patch requests.
4251	NullFields []string `json:"-"`
4252}
4253
4254func (s *Creative) MarshalJSON() ([]byte, error) {
4255	type NoMethod Creative
4256	raw := NoMethod(*s)
4257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4258}
4259
4260func (s *Creative) UnmarshalJSON(data []byte) error {
4261	type NoMethod Creative
4262	var s1 struct {
4263		MediaDuration gensupport.JSONFloat64 `json:"mediaDuration"`
4264		*NoMethod
4265	}
4266	s1.NoMethod = (*NoMethod)(s)
4267	if err := json.Unmarshal(data, &s1); err != nil {
4268		return err
4269	}
4270	s.MediaDuration = float64(s1.MediaDuration)
4271	return nil
4272}
4273
4274// CreativeAsset: Creative Asset.
4275type CreativeAsset struct {
4276	// ActionScript3: Whether ActionScript3 is enabled for the flash asset.
4277	// This is a read-only field. Applicable to the following creative type:
4278	// FLASH_INPAGE. Applicable to DISPLAY when the primary asset type is
4279	// not HTML_IMAGE.
4280	ActionScript3 bool `json:"actionScript3,omitempty"`
4281
4282	// Active: Whether the video or audio asset is active. This is a
4283	// read-only field for VPAID_NON_LINEAR_VIDEO assets. Applicable to the
4284	// following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and all
4285	// VPAID.
4286	Active bool `json:"active,omitempty"`
4287
4288	// AdditionalSizes: Additional sizes associated with this creative
4289	// asset. HTML5 asset generated by compatible software such as GWD will
4290	// be able to support more sizes this creative asset can render.
4291	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
4292
4293	// Alignment: Possible alignments for an asset. This is a read-only
4294	// field. Applicable to the following creative types:
4295	// RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL.
4296	//
4297	// Possible values:
4298	//   "ALIGNMENT_BOTTOM"
4299	//   "ALIGNMENT_LEFT"
4300	//   "ALIGNMENT_RIGHT"
4301	//   "ALIGNMENT_TOP"
4302	Alignment string `json:"alignment,omitempty"`
4303
4304	// ArtworkType: Artwork type of rich media creative. This is a read-only
4305	// field. Applicable to the following creative types: all RICH_MEDIA.
4306	//
4307	// Possible values:
4308	//   "ARTWORK_TYPE_FLASH"
4309	//   "ARTWORK_TYPE_HTML5"
4310	//   "ARTWORK_TYPE_IMAGE"
4311	//   "ARTWORK_TYPE_MIXED"
4312	ArtworkType string `json:"artworkType,omitempty"`
4313
4314	// AssetIdentifier: Identifier of this asset. This is the same
4315	// identifier returned during creative asset insert operation. This is a
4316	// required field. Applicable to all but the following creative types:
4317	// all REDIRECT and TRACKING_TEXT.
4318	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4319
4320	// BackupImageExit: Exit event configured for the backup image.
4321	// Applicable to the following creative types: all RICH_MEDIA.
4322	BackupImageExit *CreativeCustomEvent `json:"backupImageExit,omitempty"`
4323
4324	// BitRate: Detected bit-rate for audio or video asset. This is a
4325	// read-only field. Applicable to the following creative types:
4326	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4327	BitRate int64 `json:"bitRate,omitempty"`
4328
4329	// ChildAssetType: Rich media child asset type. This is a read-only
4330	// field. Applicable to the following creative types: all VPAID.
4331	//
4332	// Possible values:
4333	//   "CHILD_ASSET_TYPE_DATA"
4334	//   "CHILD_ASSET_TYPE_FLASH"
4335	//   "CHILD_ASSET_TYPE_IMAGE"
4336	//   "CHILD_ASSET_TYPE_VIDEO"
4337	ChildAssetType string `json:"childAssetType,omitempty"`
4338
4339	// CollapsedSize: Size of an asset when collapsed. This is a read-only
4340	// field. Applicable to the following creative types: all RICH_MEDIA and
4341	// all VPAID. Additionally, applicable to assets whose displayType is
4342	// ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN.
4343	CollapsedSize *Size `json:"collapsedSize,omitempty"`
4344
4345	// CompanionCreativeIds: List of companion creatives assigned to an
4346	// in-stream video creative asset. Acceptable values include IDs of
4347	// existing flash and image creatives. Applicable to INSTREAM_VIDEO
4348	// creative type with dynamicAssetSelection set to true.
4349	CompanionCreativeIds googleapi.Int64s `json:"companionCreativeIds,omitempty"`
4350
4351	// CustomStartTimeValue: Custom start time in seconds for making the
4352	// asset visible. Applicable to the following creative types: all
4353	// RICH_MEDIA. Value must be greater than or equal to 0.
4354	CustomStartTimeValue int64 `json:"customStartTimeValue,omitempty"`
4355
4356	// DetectedFeatures: List of feature dependencies for the creative asset
4357	// that are detected by Campaign Manager. Feature dependencies are
4358	// features that a browser must be able to support in order to render
4359	// your HTML5 creative correctly. This is a read-only, auto-generated
4360	// field. Applicable to the following creative types: HTML5_BANNER.
4361	// Applicable to DISPLAY when the primary asset type is not HTML_IMAGE.
4362	//
4363	// Possible values:
4364	//   "APPLICATION_CACHE"
4365	//   "AUDIO"
4366	//   "CANVAS"
4367	//   "CANVAS_TEXT"
4368	//   "CSS_ANIMATIONS"
4369	//   "CSS_BACKGROUND_SIZE"
4370	//   "CSS_BORDER_IMAGE"
4371	//   "CSS_BORDER_RADIUS"
4372	//   "CSS_BOX_SHADOW"
4373	//   "CSS_COLUMNS"
4374	//   "CSS_FLEX_BOX"
4375	//   "CSS_FONT_FACE"
4376	//   "CSS_GENERATED_CONTENT"
4377	//   "CSS_GRADIENTS"
4378	//   "CSS_HSLA"
4379	//   "CSS_MULTIPLE_BGS"
4380	//   "CSS_OPACITY"
4381	//   "CSS_REFLECTIONS"
4382	//   "CSS_RGBA"
4383	//   "CSS_TEXT_SHADOW"
4384	//   "CSS_TRANSFORMS"
4385	//   "CSS_TRANSFORMS3D"
4386	//   "CSS_TRANSITIONS"
4387	//   "DRAG_AND_DROP"
4388	//   "GEO_LOCATION"
4389	//   "HASH_CHANGE"
4390	//   "HISTORY"
4391	//   "INDEXED_DB"
4392	//   "INLINE_SVG"
4393	//   "INPUT_ATTR_AUTOCOMPLETE"
4394	//   "INPUT_ATTR_AUTOFOCUS"
4395	//   "INPUT_ATTR_LIST"
4396	//   "INPUT_ATTR_MAX"
4397	//   "INPUT_ATTR_MIN"
4398	//   "INPUT_ATTR_MULTIPLE"
4399	//   "INPUT_ATTR_PATTERN"
4400	//   "INPUT_ATTR_PLACEHOLDER"
4401	//   "INPUT_ATTR_REQUIRED"
4402	//   "INPUT_ATTR_STEP"
4403	//   "INPUT_TYPE_COLOR"
4404	//   "INPUT_TYPE_DATE"
4405	//   "INPUT_TYPE_DATETIME"
4406	//   "INPUT_TYPE_DATETIME_LOCAL"
4407	//   "INPUT_TYPE_EMAIL"
4408	//   "INPUT_TYPE_MONTH"
4409	//   "INPUT_TYPE_NUMBER"
4410	//   "INPUT_TYPE_RANGE"
4411	//   "INPUT_TYPE_SEARCH"
4412	//   "INPUT_TYPE_TEL"
4413	//   "INPUT_TYPE_TIME"
4414	//   "INPUT_TYPE_URL"
4415	//   "INPUT_TYPE_WEEK"
4416	//   "LOCAL_STORAGE"
4417	//   "POST_MESSAGE"
4418	//   "SESSION_STORAGE"
4419	//   "SMIL"
4420	//   "SVG_CLIP_PATHS"
4421	//   "SVG_FE_IMAGE"
4422	//   "SVG_FILTERS"
4423	//   "SVG_HREF"
4424	//   "TOUCH"
4425	//   "VIDEO"
4426	//   "WEBGL"
4427	//   "WEB_SOCKETS"
4428	//   "WEB_SQL_DATABASE"
4429	//   "WEB_WORKERS"
4430	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4431
4432	// DisplayType: Type of rich media asset. This is a read-only field.
4433	// Applicable to the following creative types: all RICH_MEDIA.
4434	//
4435	// Possible values:
4436	//   "ASSET_DISPLAY_TYPE_BACKDROP"
4437	//   "ASSET_DISPLAY_TYPE_EXPANDING"
4438	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH"
4439	//   "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING"
4440	//   "ASSET_DISPLAY_TYPE_FLOATING"
4441	//   "ASSET_DISPLAY_TYPE_INPAGE"
4442	//   "ASSET_DISPLAY_TYPE_OVERLAY"
4443	//   "ASSET_DISPLAY_TYPE_PEEL_DOWN"
4444	//   "ASSET_DISPLAY_TYPE_VPAID_LINEAR"
4445	//   "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR"
4446	DisplayType string `json:"displayType,omitempty"`
4447
4448	// Duration: Duration in seconds for which an asset will be displayed.
4449	// Applicable to the following creative types: INSTREAM_AUDIO,
4450	// INSTREAM_VIDEO and VPAID_LINEAR_VIDEO. Value must be greater than or
4451	// equal to 1.
4452	Duration int64 `json:"duration,omitempty"`
4453
4454	// DurationType: Duration type for which an asset will be displayed.
4455	// Applicable to the following creative types: all RICH_MEDIA.
4456	//
4457	// Possible values:
4458	//   "ASSET_DURATION_TYPE_AUTO"
4459	//   "ASSET_DURATION_TYPE_CUSTOM"
4460	//   "ASSET_DURATION_TYPE_NONE"
4461	DurationType string `json:"durationType,omitempty"`
4462
4463	// ExpandedDimension: Detected expanded dimension for video asset. This
4464	// is a read-only field. Applicable to the following creative types:
4465	// INSTREAM_VIDEO and all VPAID.
4466	ExpandedDimension *Size `json:"expandedDimension,omitempty"`
4467
4468	// FileSize: File size associated with this creative asset. This is a
4469	// read-only field. Applicable to all but the following creative types:
4470	// all REDIRECT and TRACKING_TEXT.
4471	FileSize int64 `json:"fileSize,omitempty,string"`
4472
4473	// FlashVersion: Flash version of the asset. This is a read-only field.
4474	// Applicable to the following creative types: FLASH_INPAGE, all
4475	// RICH_MEDIA, and all VPAID. Applicable to DISPLAY when the primary
4476	// asset type is not HTML_IMAGE.
4477	FlashVersion int64 `json:"flashVersion,omitempty"`
4478
4479	// HideFlashObjects: Whether to hide Flash objects flag for an asset.
4480	// Applicable to the following creative types: all RICH_MEDIA.
4481	HideFlashObjects bool `json:"hideFlashObjects,omitempty"`
4482
4483	// HideSelectionBoxes: Whether to hide selection boxes flag for an
4484	// asset. Applicable to the following creative types: all RICH_MEDIA.
4485	HideSelectionBoxes bool `json:"hideSelectionBoxes,omitempty"`
4486
4487	// HorizontallyLocked: Whether the asset is horizontally locked. This is
4488	// a read-only field. Applicable to the following creative types: all
4489	// RICH_MEDIA.
4490	HorizontallyLocked bool `json:"horizontallyLocked,omitempty"`
4491
4492	// Id: Numeric ID of this creative asset. This is a required field and
4493	// should not be modified. Applicable to all but the following creative
4494	// types: all REDIRECT and TRACKING_TEXT.
4495	Id int64 `json:"id,omitempty,string"`
4496
4497	// IdDimensionValue: Dimension value for the ID of the asset. This is a
4498	// read-only, auto-generated field.
4499	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4500
4501	// MediaDuration: Detected duration for audio or video asset. This is a
4502	// read-only field. Applicable to the following creative types:
4503	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4504	MediaDuration float64 `json:"mediaDuration,omitempty"`
4505
4506	// MimeType: Detected MIME type for audio or video asset. This is a
4507	// read-only field. Applicable to the following creative types:
4508	// INSTREAM_AUDIO, INSTREAM_VIDEO and all VPAID.
4509	MimeType string `json:"mimeType,omitempty"`
4510
4511	// Offset: Offset position for an asset in collapsed mode. This is a
4512	// read-only field. Applicable to the following creative types: all
4513	// RICH_MEDIA and all VPAID. Additionally, only applicable to assets
4514	// whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or
4515	// ASSET_DISPLAY_TYPE_PEEL_DOWN.
4516	Offset *OffsetPosition `json:"offset,omitempty"`
4517
4518	// Orientation: Orientation of video asset. This is a read-only,
4519	// auto-generated field.
4520	//
4521	// Possible values:
4522	//   "LANDSCAPE"
4523	//   "PORTRAIT"
4524	//   "SQUARE"
4525	Orientation string `json:"orientation,omitempty"`
4526
4527	// OriginalBackup: Whether the backup asset is original or changed by
4528	// the user in Campaign Manager. Applicable to the following creative
4529	// types: all RICH_MEDIA.
4530	OriginalBackup bool `json:"originalBackup,omitempty"`
4531
4532	// Position: Offset position for an asset. Applicable to the following
4533	// creative types: all RICH_MEDIA.
4534	Position *OffsetPosition `json:"position,omitempty"`
4535
4536	// PositionLeftUnit: Offset left unit for an asset. This is a read-only
4537	// field. Applicable to the following creative types: all RICH_MEDIA.
4538	//
4539	// Possible values:
4540	//   "OFFSET_UNIT_PERCENT"
4541	//   "OFFSET_UNIT_PIXEL"
4542	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4543	PositionLeftUnit string `json:"positionLeftUnit,omitempty"`
4544
4545	// PositionTopUnit: Offset top unit for an asset. This is a read-only
4546	// field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY.
4547	// Applicable to the following creative types: all RICH_MEDIA.
4548	//
4549	// Possible values:
4550	//   "OFFSET_UNIT_PERCENT"
4551	//   "OFFSET_UNIT_PIXEL"
4552	//   "OFFSET_UNIT_PIXEL_FROM_CENTER"
4553	PositionTopUnit string `json:"positionTopUnit,omitempty"`
4554
4555	// ProgressiveServingUrl: Progressive URL for video asset. This is a
4556	// read-only field. Applicable to the following creative types:
4557	// INSTREAM_VIDEO and all VPAID.
4558	ProgressiveServingUrl string `json:"progressiveServingUrl,omitempty"`
4559
4560	// Pushdown: Whether the asset pushes down other content. Applicable to
4561	// the following creative types: all RICH_MEDIA. Additionally, only
4562	// applicable when the asset offsets are 0, the collapsedSize.width
4563	// matches size.width, and the collapsedSize.height is less than
4564	// size.height.
4565	Pushdown bool `json:"pushdown,omitempty"`
4566
4567	// PushdownDuration: Pushdown duration in seconds for an asset.
4568	// Applicable to the following creative types: all
4569	// RICH_MEDIA.Additionally, only applicable when the asset pushdown
4570	// field is true, the offsets are 0, the collapsedSize.width matches
4571	// size.width, and the collapsedSize.height is less than size.height.
4572	// Acceptable values are 0 to 9.99, inclusive.
4573	PushdownDuration float64 `json:"pushdownDuration,omitempty"`
4574
4575	// Role: Role of the asset in relation to creative. Applicable to all
4576	// but the following creative types: all REDIRECT and TRACKING_TEXT.
4577	// This is a required field.
4578	// PRIMARY applies to DISPLAY, FLASH_INPAGE, HTML5_BANNER, IMAGE,
4579	// DISPLAY_IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple
4580	// primary assets), and all VPAID creatives.
4581	// BACKUP_IMAGE applies to FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA,
4582	// and all VPAID creatives. Applicable to DISPLAY when the primary asset
4583	// type is not HTML_IMAGE.
4584	// ADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE
4585	// creatives.
4586	// OTHER refers to assets from sources other than Campaign Manager, such
4587	// as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID
4588	// creatives.
4589	// PARENT_VIDEO refers to videos uploaded by the user in Campaign
4590	// Manager and is applicable to INSTREAM_VIDEO and VPAID_LINEAR_VIDEO
4591	// creatives.
4592	// TRANSCODED_VIDEO refers to videos transcoded by Campaign Manager from
4593	// PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and
4594	// VPAID_LINEAR_VIDEO creatives.
4595	// ALTERNATE_VIDEO refers to the Campaign Manager representation of
4596	// child asset videos from Studio, and is applicable to
4597	// VPAID_LINEAR_VIDEO creatives. These cannot be added or removed within
4598	// Campaign Manager.
4599	// For VPAID_LINEAR_VIDEO creatives, PARENT_VIDEO, TRANSCODED_VIDEO and
4600	// ALTERNATE_VIDEO assets that are marked active serve as backup in case
4601	// the VPAID creative cannot be served. Only PARENT_VIDEO assets can be
4602	// added or removed for an INSTREAM_VIDEO or VPAID_LINEAR_VIDEO
4603	// creative.
4604	// PARENT_AUDIO refers to audios uploaded by the user in Campaign
4605	// Manager and is applicable to INSTREAM_AUDIO
4606	// creatives.
4607	// TRANSCODED_AUDIO refers to audios transcoded by Campaign Manager from
4608	// PARENT_AUDIO assets and is applicable to INSTREAM_AUDIO creatives.
4609	//
4610	// Possible values:
4611	//   "ADDITIONAL_FLASH"
4612	//   "ADDITIONAL_IMAGE"
4613	//   "ALTERNATE_VIDEO"
4614	//   "BACKUP_IMAGE"
4615	//   "OTHER"
4616	//   "PARENT_AUDIO"
4617	//   "PARENT_VIDEO"
4618	//   "PRIMARY"
4619	//   "TRANSCODED_AUDIO"
4620	//   "TRANSCODED_VIDEO"
4621	Role string `json:"role,omitempty"`
4622
4623	// Size: Size associated with this creative asset. This is a required
4624	// field when applicable; however for IMAGE and FLASH_INPAGE, creatives
4625	// if left blank, this field will be automatically set using the actual
4626	// size of the associated image asset. Applicable to the following
4627	// creative types: DISPLAY_IMAGE_GALLERY, FLASH_INPAGE, HTML5_BANNER,
4628	// IMAGE, and all RICH_MEDIA. Applicable to DISPLAY when the primary
4629	// asset type is not HTML_IMAGE.
4630	Size *Size `json:"size,omitempty"`
4631
4632	// SslCompliant: Whether the asset is SSL-compliant. This is a read-only
4633	// field. Applicable to all but the following creative types: all
4634	// REDIRECT and TRACKING_TEXT.
4635	SslCompliant bool `json:"sslCompliant,omitempty"`
4636
4637	// StartTimeType: Initial wait time type before making the asset
4638	// visible. Applicable to the following creative types: all RICH_MEDIA.
4639	//
4640	// Possible values:
4641	//   "ASSET_START_TIME_TYPE_CUSTOM"
4642	//   "ASSET_START_TIME_TYPE_NONE"
4643	StartTimeType string `json:"startTimeType,omitempty"`
4644
4645	// StreamingServingUrl: Streaming URL for video asset. This is a
4646	// read-only field. Applicable to the following creative types:
4647	// INSTREAM_VIDEO and all VPAID.
4648	StreamingServingUrl string `json:"streamingServingUrl,omitempty"`
4649
4650	// Transparency: Whether the asset is transparent. Applicable to the
4651	// following creative types: all RICH_MEDIA. Additionally, only
4652	// applicable to HTML5 assets.
4653	Transparency bool `json:"transparency,omitempty"`
4654
4655	// VerticallyLocked: Whether the asset is vertically locked. This is a
4656	// read-only field. Applicable to the following creative types: all
4657	// RICH_MEDIA.
4658	VerticallyLocked bool `json:"verticallyLocked,omitempty"`
4659
4660	// WindowMode: Window mode options for flash assets. Applicable to the
4661	// following creative types: FLASH_INPAGE, RICH_MEDIA_DISPLAY_EXPANDING,
4662	// RICH_MEDIA_IM_EXPAND, RICH_MEDIA_DISPLAY_BANNER, and
4663	// RICH_MEDIA_INPAGE_FLOATING.
4664	//
4665	// Possible values:
4666	//   "OPAQUE"
4667	//   "TRANSPARENT"
4668	//   "WINDOW"
4669	WindowMode string `json:"windowMode,omitempty"`
4670
4671	// ZIndex: zIndex value of an asset. Applicable to the following
4672	// creative types: all RICH_MEDIA.Additionally, only applicable to
4673	// assets whose displayType is NOT one of the following types:
4674	// ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY. Acceptable
4675	// values are -999999999 to 999999999, inclusive.
4676	ZIndex int64 `json:"zIndex,omitempty"`
4677
4678	// ZipFilename: File name of zip file. This is a read-only field.
4679	// Applicable to the following creative types: HTML5_BANNER.
4680	ZipFilename string `json:"zipFilename,omitempty"`
4681
4682	// ZipFilesize: Size of zip file. This is a read-only field. Applicable
4683	// to the following creative types: HTML5_BANNER.
4684	ZipFilesize string `json:"zipFilesize,omitempty"`
4685
4686	// ForceSendFields is a list of field names (e.g. "ActionScript3") to
4687	// unconditionally include in API requests. By default, fields with
4688	// empty values are omitted from API requests. However, any non-pointer,
4689	// non-interface field appearing in ForceSendFields will be sent to the
4690	// server regardless of whether the field is empty or not. This may be
4691	// used to include empty fields in Patch requests.
4692	ForceSendFields []string `json:"-"`
4693
4694	// NullFields is a list of field names (e.g. "ActionScript3") to include
4695	// in API requests with the JSON null value. By default, fields with
4696	// empty values are omitted from API requests. However, any field with
4697	// an empty value appearing in NullFields will be sent to the server as
4698	// null. It is an error if a field in this list has a non-empty value.
4699	// This may be used to include null fields in Patch requests.
4700	NullFields []string `json:"-"`
4701}
4702
4703func (s *CreativeAsset) MarshalJSON() ([]byte, error) {
4704	type NoMethod CreativeAsset
4705	raw := NoMethod(*s)
4706	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4707}
4708
4709func (s *CreativeAsset) UnmarshalJSON(data []byte) error {
4710	type NoMethod CreativeAsset
4711	var s1 struct {
4712		MediaDuration    gensupport.JSONFloat64 `json:"mediaDuration"`
4713		PushdownDuration gensupport.JSONFloat64 `json:"pushdownDuration"`
4714		*NoMethod
4715	}
4716	s1.NoMethod = (*NoMethod)(s)
4717	if err := json.Unmarshal(data, &s1); err != nil {
4718		return err
4719	}
4720	s.MediaDuration = float64(s1.MediaDuration)
4721	s.PushdownDuration = float64(s1.PushdownDuration)
4722	return nil
4723}
4724
4725// CreativeAssetId: Creative Asset ID.
4726type CreativeAssetId struct {
4727	// Name: Name of the creative asset. This is a required field while
4728	// inserting an asset. After insertion, this assetIdentifier is used to
4729	// identify the uploaded asset. Characters in the name must be
4730	// alphanumeric or one of the following: ".-_ ". Spaces are allowed.
4731	Name string `json:"name,omitempty"`
4732
4733	// Type: Type of asset to upload. This is a required field. FLASH and
4734	// IMAGE are no longer supported for new uploads. All image assets
4735	// should use HTML_IMAGE.
4736	//
4737	// Possible values:
4738	//   "AUDIO"
4739	//   "FLASH"
4740	//   "HTML"
4741	//   "HTML_IMAGE"
4742	//   "IMAGE"
4743	//   "VIDEO"
4744	Type string `json:"type,omitempty"`
4745
4746	// ForceSendFields is a list of field names (e.g. "Name") to
4747	// unconditionally include in API requests. By default, fields with
4748	// empty values are omitted from API requests. However, any non-pointer,
4749	// non-interface field appearing in ForceSendFields will be sent to the
4750	// server regardless of whether the field is empty or not. This may be
4751	// used to include empty fields in Patch requests.
4752	ForceSendFields []string `json:"-"`
4753
4754	// NullFields is a list of field names (e.g. "Name") to include in API
4755	// requests with the JSON null value. By default, fields with empty
4756	// values are omitted from API requests. However, any field with an
4757	// empty value appearing in NullFields will be sent to the server as
4758	// null. It is an error if a field in this list has a non-empty value.
4759	// This may be used to include null fields in Patch requests.
4760	NullFields []string `json:"-"`
4761}
4762
4763func (s *CreativeAssetId) MarshalJSON() ([]byte, error) {
4764	type NoMethod CreativeAssetId
4765	raw := NoMethod(*s)
4766	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4767}
4768
4769// CreativeAssetMetadata: CreativeAssets contains properties of a
4770// creative asset file which will be uploaded or has already been
4771// uploaded. Refer to the creative sample code for how to upload assets
4772// and insert a creative.
4773type CreativeAssetMetadata struct {
4774	// AssetIdentifier: ID of the creative asset. This is a required field.
4775	AssetIdentifier *CreativeAssetId `json:"assetIdentifier,omitempty"`
4776
4777	// ClickTags: List of detected click tags for assets. This is a
4778	// read-only auto-generated field.
4779	ClickTags []*ClickTag `json:"clickTags,omitempty"`
4780
4781	// DetectedFeatures: List of feature dependencies for the creative asset
4782	// that are detected by Campaign Manager. Feature dependencies are
4783	// features that a browser must be able to support in order to render
4784	// your HTML5 creative correctly. This is a read-only, auto-generated
4785	// field.
4786	//
4787	// Possible values:
4788	//   "APPLICATION_CACHE"
4789	//   "AUDIO"
4790	//   "CANVAS"
4791	//   "CANVAS_TEXT"
4792	//   "CSS_ANIMATIONS"
4793	//   "CSS_BACKGROUND_SIZE"
4794	//   "CSS_BORDER_IMAGE"
4795	//   "CSS_BORDER_RADIUS"
4796	//   "CSS_BOX_SHADOW"
4797	//   "CSS_COLUMNS"
4798	//   "CSS_FLEX_BOX"
4799	//   "CSS_FONT_FACE"
4800	//   "CSS_GENERATED_CONTENT"
4801	//   "CSS_GRADIENTS"
4802	//   "CSS_HSLA"
4803	//   "CSS_MULTIPLE_BGS"
4804	//   "CSS_OPACITY"
4805	//   "CSS_REFLECTIONS"
4806	//   "CSS_RGBA"
4807	//   "CSS_TEXT_SHADOW"
4808	//   "CSS_TRANSFORMS"
4809	//   "CSS_TRANSFORMS3D"
4810	//   "CSS_TRANSITIONS"
4811	//   "DRAG_AND_DROP"
4812	//   "GEO_LOCATION"
4813	//   "HASH_CHANGE"
4814	//   "HISTORY"
4815	//   "INDEXED_DB"
4816	//   "INLINE_SVG"
4817	//   "INPUT_ATTR_AUTOCOMPLETE"
4818	//   "INPUT_ATTR_AUTOFOCUS"
4819	//   "INPUT_ATTR_LIST"
4820	//   "INPUT_ATTR_MAX"
4821	//   "INPUT_ATTR_MIN"
4822	//   "INPUT_ATTR_MULTIPLE"
4823	//   "INPUT_ATTR_PATTERN"
4824	//   "INPUT_ATTR_PLACEHOLDER"
4825	//   "INPUT_ATTR_REQUIRED"
4826	//   "INPUT_ATTR_STEP"
4827	//   "INPUT_TYPE_COLOR"
4828	//   "INPUT_TYPE_DATE"
4829	//   "INPUT_TYPE_DATETIME"
4830	//   "INPUT_TYPE_DATETIME_LOCAL"
4831	//   "INPUT_TYPE_EMAIL"
4832	//   "INPUT_TYPE_MONTH"
4833	//   "INPUT_TYPE_NUMBER"
4834	//   "INPUT_TYPE_RANGE"
4835	//   "INPUT_TYPE_SEARCH"
4836	//   "INPUT_TYPE_TEL"
4837	//   "INPUT_TYPE_TIME"
4838	//   "INPUT_TYPE_URL"
4839	//   "INPUT_TYPE_WEEK"
4840	//   "LOCAL_STORAGE"
4841	//   "POST_MESSAGE"
4842	//   "SESSION_STORAGE"
4843	//   "SMIL"
4844	//   "SVG_CLIP_PATHS"
4845	//   "SVG_FE_IMAGE"
4846	//   "SVG_FILTERS"
4847	//   "SVG_HREF"
4848	//   "TOUCH"
4849	//   "VIDEO"
4850	//   "WEBGL"
4851	//   "WEB_SOCKETS"
4852	//   "WEB_SQL_DATABASE"
4853	//   "WEB_WORKERS"
4854	DetectedFeatures []string `json:"detectedFeatures,omitempty"`
4855
4856	// Id: Numeric ID of the asset. This is a read-only, auto-generated
4857	// field.
4858	Id int64 `json:"id,omitempty,string"`
4859
4860	// IdDimensionValue: Dimension value for the numeric ID of the asset.
4861	// This is a read-only, auto-generated field.
4862	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
4863
4864	// Kind: Identifies what kind of resource this is. Value: the fixed
4865	// string "dfareporting#creativeAssetMetadata".
4866	Kind string `json:"kind,omitempty"`
4867
4868	// WarnedValidationRules: Rules validated during code generation that
4869	// generated a warning. This is a read-only, auto-generated
4870	// field.
4871	//
4872	// Possible values are:
4873	// - "ADMOB_REFERENCED"
4874	// - "ASSET_FORMAT_UNSUPPORTED_DCM"
4875	// - "ASSET_INVALID"
4876	// - "CLICK_TAG_HARD_CODED"
4877	// - "CLICK_TAG_INVALID"
4878	// - "CLICK_TAG_IN_GWD"
4879	// - "CLICK_TAG_MISSING"
4880	// - "CLICK_TAG_MORE_THAN_ONE"
4881	// - "CLICK_TAG_NON_TOP_LEVEL"
4882	// - "COMPONENT_UNSUPPORTED_DCM"
4883	// - "ENABLER_UNSUPPORTED_METHOD_DCM"
4884	// - "EXTERNAL_FILE_REFERENCED"
4885	// - "FILE_DETAIL_EMPTY"
4886	// - "FILE_TYPE_INVALID"
4887	// - "GWD_PROPERTIES_INVALID"
4888	// - "HTML5_FEATURE_UNSUPPORTED"
4889	// - "LINKED_FILE_NOT_FOUND"
4890	// - "MAX_FLASH_VERSION_11"
4891	// - "MRAID_REFERENCED"
4892	// - "NOT_SSL_COMPLIANT"
4893	// - "ORPHANED_ASSET"
4894	// - "PRIMARY_HTML_MISSING"
4895	// - "SVG_INVALID"
4896	// - "ZIP_INVALID"
4897	//
4898	// Possible values:
4899	//   "ADMOB_REFERENCED"
4900	//   "ASSET_FORMAT_UNSUPPORTED_DCM"
4901	//   "ASSET_INVALID"
4902	//   "CLICK_TAG_HARD_CODED"
4903	//   "CLICK_TAG_INVALID"
4904	//   "CLICK_TAG_IN_GWD"
4905	//   "CLICK_TAG_MISSING"
4906	//   "CLICK_TAG_MORE_THAN_ONE"
4907	//   "CLICK_TAG_NON_TOP_LEVEL"
4908	//   "COMPONENT_UNSUPPORTED_DCM"
4909	//   "ENABLER_UNSUPPORTED_METHOD_DCM"
4910	//   "EXTERNAL_FILE_REFERENCED"
4911	//   "FILE_DETAIL_EMPTY"
4912	//   "FILE_TYPE_INVALID"
4913	//   "GWD_PROPERTIES_INVALID"
4914	//   "HTML5_FEATURE_UNSUPPORTED"
4915	//   "LINKED_FILE_NOT_FOUND"
4916	//   "MAX_FLASH_VERSION_11"
4917	//   "MRAID_REFERENCED"
4918	//   "NOT_SSL_COMPLIANT"
4919	//   "ORPHANED_ASSET"
4920	//   "PRIMARY_HTML_MISSING"
4921	//   "SVG_INVALID"
4922	//   "ZIP_INVALID"
4923	WarnedValidationRules []string `json:"warnedValidationRules,omitempty"`
4924
4925	// ServerResponse contains the HTTP response code and headers from the
4926	// server.
4927	googleapi.ServerResponse `json:"-"`
4928
4929	// ForceSendFields is a list of field names (e.g. "AssetIdentifier") to
4930	// unconditionally include in API requests. By default, fields with
4931	// empty values are omitted from API requests. However, any non-pointer,
4932	// non-interface field appearing in ForceSendFields will be sent to the
4933	// server regardless of whether the field is empty or not. This may be
4934	// used to include empty fields in Patch requests.
4935	ForceSendFields []string `json:"-"`
4936
4937	// NullFields is a list of field names (e.g. "AssetIdentifier") to
4938	// include in API requests with the JSON null value. By default, fields
4939	// with empty values are omitted from API requests. However, any field
4940	// with an empty value appearing in NullFields will be sent to the
4941	// server as null. It is an error if a field in this list has a
4942	// non-empty value. This may be used to include null fields in Patch
4943	// requests.
4944	NullFields []string `json:"-"`
4945}
4946
4947func (s *CreativeAssetMetadata) MarshalJSON() ([]byte, error) {
4948	type NoMethod CreativeAssetMetadata
4949	raw := NoMethod(*s)
4950	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4951}
4952
4953// CreativeAssetSelection: Encapsulates the list of rules for asset
4954// selection and a default asset in case none of the rules match.
4955// Applicable to INSTREAM_VIDEO creatives.
4956type CreativeAssetSelection struct {
4957	// DefaultAssetId: A creativeAssets[].id. This should refer to one of
4958	// the parent assets in this creative, and will be served if none of the
4959	// rules match. This is a required field.
4960	DefaultAssetId int64 `json:"defaultAssetId,omitempty,string"`
4961
4962	// Rules: Rules determine which asset will be served to a viewer. Rules
4963	// will be evaluated in the order in which they are stored in this list.
4964	// This list must contain at least one rule. Applicable to
4965	// INSTREAM_VIDEO creatives.
4966	Rules []*Rule `json:"rules,omitempty"`
4967
4968	// ForceSendFields is a list of field names (e.g. "DefaultAssetId") to
4969	// unconditionally include in API requests. By default, fields with
4970	// empty values are omitted from API requests. However, any non-pointer,
4971	// non-interface field appearing in ForceSendFields will be sent to the
4972	// server regardless of whether the field is empty or not. This may be
4973	// used to include empty fields in Patch requests.
4974	ForceSendFields []string `json:"-"`
4975
4976	// NullFields is a list of field names (e.g. "DefaultAssetId") to
4977	// include in API requests with the JSON null value. By default, fields
4978	// with empty values are omitted from API requests. However, any field
4979	// with an empty value appearing in NullFields will be sent to the
4980	// server as null. It is an error if a field in this list has a
4981	// non-empty value. This may be used to include null fields in Patch
4982	// requests.
4983	NullFields []string `json:"-"`
4984}
4985
4986func (s *CreativeAssetSelection) MarshalJSON() ([]byte, error) {
4987	type NoMethod CreativeAssetSelection
4988	raw := NoMethod(*s)
4989	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
4990}
4991
4992// CreativeAssignment: Creative Assignment.
4993type CreativeAssignment struct {
4994	// Active: Whether this creative assignment is active. When true, the
4995	// creative will be included in the ad's rotation.
4996	Active bool `json:"active,omitempty"`
4997
4998	// ApplyEventTags: Whether applicable event tags should fire when this
4999	// creative assignment is rendered. If this value is unset when the ad
5000	// is inserted or updated, it will default to true for all creative
5001	// types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT,
5002	// and INSTREAM_VIDEO.
5003	ApplyEventTags bool `json:"applyEventTags,omitempty"`
5004
5005	// ClickThroughUrl: Click-through URL of the creative assignment.
5006	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
5007
5008	// CompanionCreativeOverrides: Companion creative overrides for this
5009	// creative assignment. Applicable to video ads.
5010	CompanionCreativeOverrides []*CompanionClickThroughOverride `json:"companionCreativeOverrides,omitempty"`
5011
5012	// CreativeGroupAssignments: Creative group assignments for this
5013	// creative assignment. Only one assignment per creative group number is
5014	// allowed for a maximum of two assignments.
5015	CreativeGroupAssignments []*CreativeGroupAssignment `json:"creativeGroupAssignments,omitempty"`
5016
5017	// CreativeId: ID of the creative to be assigned. This is a required
5018	// field.
5019	CreativeId int64 `json:"creativeId,omitempty,string"`
5020
5021	// CreativeIdDimensionValue: Dimension value for the ID of the creative.
5022	// This is a read-only, auto-generated field.
5023	CreativeIdDimensionValue *DimensionValue `json:"creativeIdDimensionValue,omitempty"`
5024
5025	// EndTime: Date and time that the assigned creative should stop
5026	// serving. Must be later than the start time.
5027	EndTime string `json:"endTime,omitempty"`
5028
5029	// RichMediaExitOverrides: Rich media exit overrides for this creative
5030	// assignment.
5031	// Applicable when the creative type is any of the following:
5032	// - DISPLAY
5033	// - RICH_MEDIA_INPAGE
5034	// - RICH_MEDIA_INPAGE_FLOATING
5035	// - RICH_MEDIA_IM_EXPAND
5036	// - RICH_MEDIA_EXPANDING
5037	// - RICH_MEDIA_INTERSTITIAL_FLOAT
5038	// - RICH_MEDIA_MOBILE_IN_APP
5039	// - RICH_MEDIA_MULTI_FLOATING
5040	// - RICH_MEDIA_PEEL_DOWN
5041	// - VPAID_LINEAR
5042	// - VPAID_NON_LINEAR
5043	RichMediaExitOverrides []*RichMediaExitOverride `json:"richMediaExitOverrides,omitempty"`
5044
5045	// Sequence: Sequence number of the creative assignment, applicable when
5046	// the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL. Acceptable
5047	// values are 1 to 65535, inclusive.
5048	Sequence int64 `json:"sequence,omitempty"`
5049
5050	// SslCompliant: Whether the creative to be assigned is SSL-compliant.
5051	// This is a read-only field that is auto-generated when the ad is
5052	// inserted or updated.
5053	SslCompliant bool `json:"sslCompliant,omitempty"`
5054
5055	// StartTime: Date and time that the assigned creative should start
5056	// serving.
5057	StartTime string `json:"startTime,omitempty"`
5058
5059	// Weight: Weight of the creative assignment, applicable when the
5060	// rotation type is CREATIVE_ROTATION_TYPE_RANDOM. Value must be greater
5061	// than or equal to 1.
5062	Weight int64 `json:"weight,omitempty"`
5063
5064	// ForceSendFields is a list of field names (e.g. "Active") to
5065	// unconditionally include in API requests. By default, fields with
5066	// empty values are omitted from API requests. However, any non-pointer,
5067	// non-interface field appearing in ForceSendFields will be sent to the
5068	// server regardless of whether the field is empty or not. This may be
5069	// used to include empty fields in Patch requests.
5070	ForceSendFields []string `json:"-"`
5071
5072	// NullFields is a list of field names (e.g. "Active") to include in API
5073	// requests with the JSON null value. By default, fields with empty
5074	// values are omitted from API requests. However, any field with an
5075	// empty value appearing in NullFields will be sent to the server as
5076	// null. It is an error if a field in this list has a non-empty value.
5077	// This may be used to include null fields in Patch requests.
5078	NullFields []string `json:"-"`
5079}
5080
5081func (s *CreativeAssignment) MarshalJSON() ([]byte, error) {
5082	type NoMethod CreativeAssignment
5083	raw := NoMethod(*s)
5084	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5085}
5086
5087// CreativeClickThroughUrl: Click-through URL
5088type CreativeClickThroughUrl struct {
5089	// ComputedClickThroughUrl: Read-only convenience field representing the
5090	// actual URL that will be used for this click-through. The URL is
5091	// computed as follows:
5092	// - If landingPageId is specified then that landing page's URL is
5093	// assigned to this field.
5094	// - Otherwise, the customClickThroughUrl is assigned to this field.
5095	ComputedClickThroughUrl string `json:"computedClickThroughUrl,omitempty"`
5096
5097	// CustomClickThroughUrl: Custom click-through URL. Applicable if the
5098	// landingPageId field is left unset.
5099	CustomClickThroughUrl string `json:"customClickThroughUrl,omitempty"`
5100
5101	// LandingPageId: ID of the landing page for the click-through URL.
5102	LandingPageId int64 `json:"landingPageId,omitempty,string"`
5103
5104	// ForceSendFields is a list of field names (e.g.
5105	// "ComputedClickThroughUrl") to unconditionally include in API
5106	// requests. By default, fields with empty values are omitted from API
5107	// requests. However, any non-pointer, non-interface field appearing in
5108	// ForceSendFields will be sent to the server regardless of whether the
5109	// field is empty or not. This may be used to include empty fields in
5110	// Patch requests.
5111	ForceSendFields []string `json:"-"`
5112
5113	// NullFields is a list of field names (e.g. "ComputedClickThroughUrl")
5114	// to include in API requests with the JSON null value. By default,
5115	// fields with empty values are omitted from API requests. However, any
5116	// field with an empty value appearing in NullFields will be sent to the
5117	// server as null. It is an error if a field in this list has a
5118	// non-empty value. This may be used to include null fields in Patch
5119	// requests.
5120	NullFields []string `json:"-"`
5121}
5122
5123func (s *CreativeClickThroughUrl) MarshalJSON() ([]byte, error) {
5124	type NoMethod CreativeClickThroughUrl
5125	raw := NoMethod(*s)
5126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5127}
5128
5129// CreativeCustomEvent: Creative Custom Event.
5130type CreativeCustomEvent struct {
5131	// AdvertiserCustomEventId: Unique ID of this event used by Reporting
5132	// and Data Transfer. This is a read-only field.
5133	AdvertiserCustomEventId int64 `json:"advertiserCustomEventId,omitempty,string"`
5134
5135	// AdvertiserCustomEventName: User-entered name for the event.
5136	AdvertiserCustomEventName string `json:"advertiserCustomEventName,omitempty"`
5137
5138	// AdvertiserCustomEventType: Type of the event. This is a read-only
5139	// field.
5140	//
5141	// Possible values:
5142	//   "ADVERTISER_EVENT_COUNTER"
5143	//   "ADVERTISER_EVENT_EXIT"
5144	//   "ADVERTISER_EVENT_TIMER"
5145	AdvertiserCustomEventType string `json:"advertiserCustomEventType,omitempty"`
5146
5147	// ArtworkLabel: Artwork label column, used to link events in Campaign
5148	// Manager back to events in Studio. This is a required field and should
5149	// not be modified after insertion.
5150	ArtworkLabel string `json:"artworkLabel,omitempty"`
5151
5152	// ArtworkType: Artwork type used by the creative.This is a read-only
5153	// field.
5154	//
5155	// Possible values:
5156	//   "ARTWORK_TYPE_FLASH"
5157	//   "ARTWORK_TYPE_HTML5"
5158	//   "ARTWORK_TYPE_IMAGE"
5159	//   "ARTWORK_TYPE_MIXED"
5160	ArtworkType string `json:"artworkType,omitempty"`
5161
5162	// ExitClickThroughUrl: Exit click-through URL for the event. This field
5163	// is used only for exit events.
5164	ExitClickThroughUrl *CreativeClickThroughUrl `json:"exitClickThroughUrl,omitempty"`
5165
5166	// Id: ID of this event. This is a required field and should not be
5167	// modified after insertion.
5168	Id int64 `json:"id,omitempty,string"`
5169
5170	// PopupWindowProperties: Properties for rich media popup windows. This
5171	// field is used only for exit events.
5172	PopupWindowProperties *PopupWindowProperties `json:"popupWindowProperties,omitempty"`
5173
5174	// TargetType: Target type used by the event.
5175	//
5176	// Possible values:
5177	//   "TARGET_BLANK"
5178	//   "TARGET_PARENT"
5179	//   "TARGET_POPUP"
5180	//   "TARGET_SELF"
5181	//   "TARGET_TOP"
5182	TargetType string `json:"targetType,omitempty"`
5183
5184	// VideoReportingId: Video reporting ID, used to differentiate multiple
5185	// videos in a single creative. This is a read-only field.
5186	VideoReportingId string `json:"videoReportingId,omitempty"`
5187
5188	// ForceSendFields is a list of field names (e.g.
5189	// "AdvertiserCustomEventId") to unconditionally include in API
5190	// requests. By default, fields with empty values are omitted from API
5191	// requests. However, any non-pointer, non-interface field appearing in
5192	// ForceSendFields will be sent to the server regardless of whether the
5193	// field is empty or not. This may be used to include empty fields in
5194	// Patch requests.
5195	ForceSendFields []string `json:"-"`
5196
5197	// NullFields is a list of field names (e.g. "AdvertiserCustomEventId")
5198	// to include in API requests with the JSON null value. By default,
5199	// fields with empty values are omitted from API requests. However, any
5200	// field with an empty value appearing in NullFields will be sent to the
5201	// server as null. It is an error if a field in this list has a
5202	// non-empty value. This may be used to include null fields in Patch
5203	// requests.
5204	NullFields []string `json:"-"`
5205}
5206
5207func (s *CreativeCustomEvent) MarshalJSON() ([]byte, error) {
5208	type NoMethod CreativeCustomEvent
5209	raw := NoMethod(*s)
5210	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5211}
5212
5213// CreativeField: Contains properties of a creative field.
5214type CreativeField struct {
5215	// AccountId: Account ID of this creative field. This is a read-only
5216	// field that can be left blank.
5217	AccountId int64 `json:"accountId,omitempty,string"`
5218
5219	// AdvertiserId: Advertiser ID of this creative field. This is a
5220	// required field on insertion.
5221	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5222
5223	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5224	// advertiser. This is a read-only, auto-generated field.
5225	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5226
5227	// Id: ID of this creative field. This is a read-only, auto-generated
5228	// field.
5229	Id int64 `json:"id,omitempty,string"`
5230
5231	// Kind: Identifies what kind of resource this is. Value: the fixed
5232	// string "dfareporting#creativeField".
5233	Kind string `json:"kind,omitempty"`
5234
5235	// Name: Name of this creative field. This is a required field and must
5236	// be less than 256 characters long and unique among creative fields of
5237	// the same advertiser.
5238	Name string `json:"name,omitempty"`
5239
5240	// SubaccountId: Subaccount ID of this creative field. This is a
5241	// read-only field that can be left blank.
5242	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5243
5244	// ServerResponse contains the HTTP response code and headers from the
5245	// server.
5246	googleapi.ServerResponse `json:"-"`
5247
5248	// ForceSendFields is a list of field names (e.g. "AccountId") to
5249	// unconditionally include in API requests. By default, fields with
5250	// empty values are omitted from API requests. However, any non-pointer,
5251	// non-interface field appearing in ForceSendFields will be sent to the
5252	// server regardless of whether the field is empty or not. This may be
5253	// used to include empty fields in Patch requests.
5254	ForceSendFields []string `json:"-"`
5255
5256	// NullFields is a list of field names (e.g. "AccountId") to include in
5257	// API requests with the JSON null value. By default, fields with empty
5258	// values are omitted from API requests. However, any field with an
5259	// empty value appearing in NullFields will be sent to the server as
5260	// null. It is an error if a field in this list has a non-empty value.
5261	// This may be used to include null fields in Patch requests.
5262	NullFields []string `json:"-"`
5263}
5264
5265func (s *CreativeField) MarshalJSON() ([]byte, error) {
5266	type NoMethod CreativeField
5267	raw := NoMethod(*s)
5268	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5269}
5270
5271// CreativeFieldAssignment: Creative Field Assignment.
5272type CreativeFieldAssignment struct {
5273	// CreativeFieldId: ID of the creative field.
5274	CreativeFieldId int64 `json:"creativeFieldId,omitempty,string"`
5275
5276	// CreativeFieldValueId: ID of the creative field value.
5277	CreativeFieldValueId int64 `json:"creativeFieldValueId,omitempty,string"`
5278
5279	// ForceSendFields is a list of field names (e.g. "CreativeFieldId") to
5280	// unconditionally include in API requests. By default, fields with
5281	// empty values are omitted from API requests. However, any non-pointer,
5282	// non-interface field appearing in ForceSendFields will be sent to the
5283	// server regardless of whether the field is empty or not. This may be
5284	// used to include empty fields in Patch requests.
5285	ForceSendFields []string `json:"-"`
5286
5287	// NullFields is a list of field names (e.g. "CreativeFieldId") to
5288	// include in API requests with the JSON null value. By default, fields
5289	// with empty values are omitted from API requests. However, any field
5290	// with an empty value appearing in NullFields will be sent to the
5291	// server as null. It is an error if a field in this list has a
5292	// non-empty value. This may be used to include null fields in Patch
5293	// requests.
5294	NullFields []string `json:"-"`
5295}
5296
5297func (s *CreativeFieldAssignment) MarshalJSON() ([]byte, error) {
5298	type NoMethod CreativeFieldAssignment
5299	raw := NoMethod(*s)
5300	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5301}
5302
5303// CreativeFieldValue: Contains properties of a creative field value.
5304type CreativeFieldValue struct {
5305	// Id: ID of this creative field value. This is a read-only,
5306	// auto-generated field.
5307	Id int64 `json:"id,omitempty,string"`
5308
5309	// Kind: Identifies what kind of resource this is. Value: the fixed
5310	// string "dfareporting#creativeFieldValue".
5311	Kind string `json:"kind,omitempty"`
5312
5313	// Value: Value of this creative field value. It needs to be less than
5314	// 256 characters in length and unique per creative field.
5315	Value string `json:"value,omitempty"`
5316
5317	// ServerResponse contains the HTTP response code and headers from the
5318	// server.
5319	googleapi.ServerResponse `json:"-"`
5320
5321	// ForceSendFields is a list of field names (e.g. "Id") to
5322	// unconditionally include in API requests. By default, fields with
5323	// empty values are omitted from API requests. However, any non-pointer,
5324	// non-interface field appearing in ForceSendFields will be sent to the
5325	// server regardless of whether the field is empty or not. This may be
5326	// used to include empty fields in Patch requests.
5327	ForceSendFields []string `json:"-"`
5328
5329	// NullFields is a list of field names (e.g. "Id") to include in API
5330	// requests with the JSON null value. By default, fields with empty
5331	// values are omitted from API requests. However, any field with an
5332	// empty value appearing in NullFields will be sent to the server as
5333	// null. It is an error if a field in this list has a non-empty value.
5334	// This may be used to include null fields in Patch requests.
5335	NullFields []string `json:"-"`
5336}
5337
5338func (s *CreativeFieldValue) MarshalJSON() ([]byte, error) {
5339	type NoMethod CreativeFieldValue
5340	raw := NoMethod(*s)
5341	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5342}
5343
5344// CreativeFieldValuesListResponse: Creative Field Value List Response
5345type CreativeFieldValuesListResponse struct {
5346	// CreativeFieldValues: Creative field value collection.
5347	CreativeFieldValues []*CreativeFieldValue `json:"creativeFieldValues,omitempty"`
5348
5349	// Kind: Identifies what kind of resource this is. Value: the fixed
5350	// string "dfareporting#creativeFieldValuesListResponse".
5351	Kind string `json:"kind,omitempty"`
5352
5353	// NextPageToken: Pagination token to be used for the next list
5354	// operation.
5355	NextPageToken string `json:"nextPageToken,omitempty"`
5356
5357	// ServerResponse contains the HTTP response code and headers from the
5358	// server.
5359	googleapi.ServerResponse `json:"-"`
5360
5361	// ForceSendFields is a list of field names (e.g. "CreativeFieldValues")
5362	// to unconditionally include in API requests. By default, fields with
5363	// empty values are omitted from API requests. However, any non-pointer,
5364	// non-interface field appearing in ForceSendFields will be sent to the
5365	// server regardless of whether the field is empty or not. This may be
5366	// used to include empty fields in Patch requests.
5367	ForceSendFields []string `json:"-"`
5368
5369	// NullFields is a list of field names (e.g. "CreativeFieldValues") to
5370	// include in API requests with the JSON null value. By default, fields
5371	// with empty values are omitted from API requests. However, any field
5372	// with an empty value appearing in NullFields will be sent to the
5373	// server as null. It is an error if a field in this list has a
5374	// non-empty value. This may be used to include null fields in Patch
5375	// requests.
5376	NullFields []string `json:"-"`
5377}
5378
5379func (s *CreativeFieldValuesListResponse) MarshalJSON() ([]byte, error) {
5380	type NoMethod CreativeFieldValuesListResponse
5381	raw := NoMethod(*s)
5382	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5383}
5384
5385// CreativeFieldsListResponse: Creative Field List Response
5386type CreativeFieldsListResponse struct {
5387	// CreativeFields: Creative field collection.
5388	CreativeFields []*CreativeField `json:"creativeFields,omitempty"`
5389
5390	// Kind: Identifies what kind of resource this is. Value: the fixed
5391	// string "dfareporting#creativeFieldsListResponse".
5392	Kind string `json:"kind,omitempty"`
5393
5394	// NextPageToken: Pagination token to be used for the next list
5395	// operation.
5396	NextPageToken string `json:"nextPageToken,omitempty"`
5397
5398	// ServerResponse contains the HTTP response code and headers from the
5399	// server.
5400	googleapi.ServerResponse `json:"-"`
5401
5402	// ForceSendFields is a list of field names (e.g. "CreativeFields") to
5403	// unconditionally include in API requests. By default, fields with
5404	// empty values are omitted from API requests. However, any non-pointer,
5405	// non-interface field appearing in ForceSendFields will be sent to the
5406	// server regardless of whether the field is empty or not. This may be
5407	// used to include empty fields in Patch requests.
5408	ForceSendFields []string `json:"-"`
5409
5410	// NullFields is a list of field names (e.g. "CreativeFields") to
5411	// include in API requests with the JSON null value. By default, fields
5412	// with empty values are omitted from API requests. However, any field
5413	// with an empty value appearing in NullFields will be sent to the
5414	// server as null. It is an error if a field in this list has a
5415	// non-empty value. This may be used to include null fields in Patch
5416	// requests.
5417	NullFields []string `json:"-"`
5418}
5419
5420func (s *CreativeFieldsListResponse) MarshalJSON() ([]byte, error) {
5421	type NoMethod CreativeFieldsListResponse
5422	raw := NoMethod(*s)
5423	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5424}
5425
5426// CreativeGroup: Contains properties of a creative group.
5427type CreativeGroup struct {
5428	// AccountId: Account ID of this creative group. This is a read-only
5429	// field that can be left blank.
5430	AccountId int64 `json:"accountId,omitempty,string"`
5431
5432	// AdvertiserId: Advertiser ID of this creative group. This is a
5433	// required field on insertion.
5434	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
5435
5436	// AdvertiserIdDimensionValue: Dimension value for the ID of the
5437	// advertiser. This is a read-only, auto-generated field.
5438	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
5439
5440	// GroupNumber: Subgroup of the creative group. Assign your creative
5441	// groups to a subgroup in order to filter or manage them more easily.
5442	// This field is required on insertion and is read-only after insertion.
5443	// Acceptable values are 1 to 2, inclusive.
5444	GroupNumber int64 `json:"groupNumber,omitempty"`
5445
5446	// Id: ID of this creative group. This is a read-only, auto-generated
5447	// field.
5448	Id int64 `json:"id,omitempty,string"`
5449
5450	// Kind: Identifies what kind of resource this is. Value: the fixed
5451	// string "dfareporting#creativeGroup".
5452	Kind string `json:"kind,omitempty"`
5453
5454	// Name: Name of this creative group. This is a required field and must
5455	// be less than 256 characters long and unique among creative groups of
5456	// the same advertiser.
5457	Name string `json:"name,omitempty"`
5458
5459	// SubaccountId: Subaccount ID of this creative group. This is a
5460	// read-only field that can be left blank.
5461	SubaccountId int64 `json:"subaccountId,omitempty,string"`
5462
5463	// ServerResponse contains the HTTP response code and headers from the
5464	// server.
5465	googleapi.ServerResponse `json:"-"`
5466
5467	// ForceSendFields is a list of field names (e.g. "AccountId") to
5468	// unconditionally include in API requests. By default, fields with
5469	// empty values are omitted from API requests. However, any non-pointer,
5470	// non-interface field appearing in ForceSendFields will be sent to the
5471	// server regardless of whether the field is empty or not. This may be
5472	// used to include empty fields in Patch requests.
5473	ForceSendFields []string `json:"-"`
5474
5475	// NullFields is a list of field names (e.g. "AccountId") to include in
5476	// API requests with the JSON null value. By default, fields with empty
5477	// values are omitted from API requests. However, any field with an
5478	// empty value appearing in NullFields will be sent to the server as
5479	// null. It is an error if a field in this list has a non-empty value.
5480	// This may be used to include null fields in Patch requests.
5481	NullFields []string `json:"-"`
5482}
5483
5484func (s *CreativeGroup) MarshalJSON() ([]byte, error) {
5485	type NoMethod CreativeGroup
5486	raw := NoMethod(*s)
5487	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5488}
5489
5490// CreativeGroupAssignment: Creative Group Assignment.
5491type CreativeGroupAssignment struct {
5492	// CreativeGroupId: ID of the creative group to be assigned.
5493	CreativeGroupId int64 `json:"creativeGroupId,omitempty,string"`
5494
5495	// CreativeGroupNumber: Creative group number of the creative group
5496	// assignment.
5497	//
5498	// Possible values:
5499	//   "CREATIVE_GROUP_ONE"
5500	//   "CREATIVE_GROUP_TWO"
5501	CreativeGroupNumber string `json:"creativeGroupNumber,omitempty"`
5502
5503	// ForceSendFields is a list of field names (e.g. "CreativeGroupId") to
5504	// unconditionally include in API requests. By default, fields with
5505	// empty values are omitted from API requests. However, any non-pointer,
5506	// non-interface field appearing in ForceSendFields will be sent to the
5507	// server regardless of whether the field is empty or not. This may be
5508	// used to include empty fields in Patch requests.
5509	ForceSendFields []string `json:"-"`
5510
5511	// NullFields is a list of field names (e.g. "CreativeGroupId") to
5512	// include in API requests with the JSON null value. By default, fields
5513	// with empty values are omitted from API requests. However, any field
5514	// with an empty value appearing in NullFields will be sent to the
5515	// server as null. It is an error if a field in this list has a
5516	// non-empty value. This may be used to include null fields in Patch
5517	// requests.
5518	NullFields []string `json:"-"`
5519}
5520
5521func (s *CreativeGroupAssignment) MarshalJSON() ([]byte, error) {
5522	type NoMethod CreativeGroupAssignment
5523	raw := NoMethod(*s)
5524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5525}
5526
5527// CreativeGroupsListResponse: Creative Group List Response
5528type CreativeGroupsListResponse struct {
5529	// CreativeGroups: Creative group collection.
5530	CreativeGroups []*CreativeGroup `json:"creativeGroups,omitempty"`
5531
5532	// Kind: Identifies what kind of resource this is. Value: the fixed
5533	// string "dfareporting#creativeGroupsListResponse".
5534	Kind string `json:"kind,omitempty"`
5535
5536	// NextPageToken: Pagination token to be used for the next list
5537	// operation.
5538	NextPageToken string `json:"nextPageToken,omitempty"`
5539
5540	// ServerResponse contains the HTTP response code and headers from the
5541	// server.
5542	googleapi.ServerResponse `json:"-"`
5543
5544	// ForceSendFields is a list of field names (e.g. "CreativeGroups") to
5545	// unconditionally include in API requests. By default, fields with
5546	// empty values are omitted from API requests. However, any non-pointer,
5547	// non-interface field appearing in ForceSendFields will be sent to the
5548	// server regardless of whether the field is empty or not. This may be
5549	// used to include empty fields in Patch requests.
5550	ForceSendFields []string `json:"-"`
5551
5552	// NullFields is a list of field names (e.g. "CreativeGroups") to
5553	// include in API requests with the JSON null value. By default, fields
5554	// with empty values are omitted from API requests. However, any field
5555	// with an empty value appearing in NullFields will be sent to the
5556	// server as null. It is an error if a field in this list has a
5557	// non-empty value. This may be used to include null fields in Patch
5558	// requests.
5559	NullFields []string `json:"-"`
5560}
5561
5562func (s *CreativeGroupsListResponse) MarshalJSON() ([]byte, error) {
5563	type NoMethod CreativeGroupsListResponse
5564	raw := NoMethod(*s)
5565	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5566}
5567
5568// CreativeOptimizationConfiguration: Creative optimization settings.
5569type CreativeOptimizationConfiguration struct {
5570	// Id: ID of this creative optimization config. This field is
5571	// auto-generated when the campaign is inserted or updated. It can be
5572	// null for existing campaigns.
5573	Id int64 `json:"id,omitempty,string"`
5574
5575	// Name: Name of this creative optimization config. This is a required
5576	// field and must be less than 129 characters long.
5577	Name string `json:"name,omitempty"`
5578
5579	// OptimizationActivitys: List of optimization activities associated
5580	// with this configuration.
5581	OptimizationActivitys []*OptimizationActivity `json:"optimizationActivitys,omitempty"`
5582
5583	// OptimizationModel: Optimization model for this configuration.
5584	//
5585	// Possible values:
5586	//   "CLICK"
5587	//   "POST_CLICK"
5588	//   "POST_CLICK_AND_IMPRESSION"
5589	//   "POST_IMPRESSION"
5590	//   "VIDEO_COMPLETION"
5591	OptimizationModel string `json:"optimizationModel,omitempty"`
5592
5593	// ForceSendFields is a list of field names (e.g. "Id") to
5594	// unconditionally include in API requests. By default, fields with
5595	// empty values are omitted from API requests. However, any non-pointer,
5596	// non-interface field appearing in ForceSendFields will be sent to the
5597	// server regardless of whether the field is empty or not. This may be
5598	// used to include empty fields in Patch requests.
5599	ForceSendFields []string `json:"-"`
5600
5601	// NullFields is a list of field names (e.g. "Id") to include in API
5602	// requests with the JSON null value. By default, fields with empty
5603	// values are omitted from API requests. However, any field with an
5604	// empty value appearing in NullFields will be sent to the server as
5605	// null. It is an error if a field in this list has a non-empty value.
5606	// This may be used to include null fields in Patch requests.
5607	NullFields []string `json:"-"`
5608}
5609
5610func (s *CreativeOptimizationConfiguration) MarshalJSON() ([]byte, error) {
5611	type NoMethod CreativeOptimizationConfiguration
5612	raw := NoMethod(*s)
5613	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5614}
5615
5616// CreativeRotation: Creative Rotation.
5617type CreativeRotation struct {
5618	// CreativeAssignments: Creative assignments in this creative rotation.
5619	CreativeAssignments []*CreativeAssignment `json:"creativeAssignments,omitempty"`
5620
5621	// CreativeOptimizationConfigurationId: Creative optimization
5622	// configuration that is used by this ad. It should refer to one of the
5623	// existing optimization configurations in the ad's campaign. If it is
5624	// unset or set to 0, then the campaign's default optimization
5625	// configuration will be used for this ad.
5626	CreativeOptimizationConfigurationId int64 `json:"creativeOptimizationConfigurationId,omitempty,string"`
5627
5628	// Type: Type of creative rotation. Can be used to specify whether to
5629	// use sequential or random rotation.
5630	//
5631	// Possible values:
5632	//   "CREATIVE_ROTATION_TYPE_RANDOM"
5633	//   "CREATIVE_ROTATION_TYPE_SEQUENTIAL"
5634	Type string `json:"type,omitempty"`
5635
5636	// WeightCalculationStrategy: Strategy for calculating weights. Used
5637	// with CREATIVE_ROTATION_TYPE_RANDOM.
5638	//
5639	// Possible values:
5640	//   "WEIGHT_STRATEGY_CUSTOM"
5641	//   "WEIGHT_STRATEGY_EQUAL"
5642	//   "WEIGHT_STRATEGY_HIGHEST_CTR"
5643	//   "WEIGHT_STRATEGY_OPTIMIZED"
5644	WeightCalculationStrategy string `json:"weightCalculationStrategy,omitempty"`
5645
5646	// ForceSendFields is a list of field names (e.g. "CreativeAssignments")
5647	// to unconditionally include in API requests. By default, fields with
5648	// empty values are omitted from API requests. However, any non-pointer,
5649	// non-interface field appearing in ForceSendFields will be sent to the
5650	// server regardless of whether the field is empty or not. This may be
5651	// used to include empty fields in Patch requests.
5652	ForceSendFields []string `json:"-"`
5653
5654	// NullFields is a list of field names (e.g. "CreativeAssignments") to
5655	// include in API requests with the JSON null value. By default, fields
5656	// with empty values are omitted from API requests. However, any field
5657	// with an empty value appearing in NullFields will be sent to the
5658	// server as null. It is an error if a field in this list has a
5659	// non-empty value. This may be used to include null fields in Patch
5660	// requests.
5661	NullFields []string `json:"-"`
5662}
5663
5664func (s *CreativeRotation) MarshalJSON() ([]byte, error) {
5665	type NoMethod CreativeRotation
5666	raw := NoMethod(*s)
5667	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5668}
5669
5670// CreativeSettings: Creative Settings
5671type CreativeSettings struct {
5672	// IFrameFooter: Header text for iFrames for this site. Must be less
5673	// than or equal to 2000 characters long.
5674	IFrameFooter string `json:"iFrameFooter,omitempty"`
5675
5676	// IFrameHeader: Header text for iFrames for this site. Must be less
5677	// than or equal to 2000 characters long.
5678	IFrameHeader string `json:"iFrameHeader,omitempty"`
5679
5680	// ForceSendFields is a list of field names (e.g. "IFrameFooter") to
5681	// unconditionally include in API requests. By default, fields with
5682	// empty values are omitted from API requests. However, any non-pointer,
5683	// non-interface field appearing in ForceSendFields will be sent to the
5684	// server regardless of whether the field is empty or not. This may be
5685	// used to include empty fields in Patch requests.
5686	ForceSendFields []string `json:"-"`
5687
5688	// NullFields is a list of field names (e.g. "IFrameFooter") to include
5689	// in API requests with the JSON null value. By default, fields with
5690	// empty values are omitted from API requests. However, any field with
5691	// an empty value appearing in NullFields will be sent to the server as
5692	// null. It is an error if a field in this list has a non-empty value.
5693	// This may be used to include null fields in Patch requests.
5694	NullFields []string `json:"-"`
5695}
5696
5697func (s *CreativeSettings) MarshalJSON() ([]byte, error) {
5698	type NoMethod CreativeSettings
5699	raw := NoMethod(*s)
5700	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5701}
5702
5703// CreativesListResponse: Creative List Response
5704type CreativesListResponse struct {
5705	// Creatives: Creative collection.
5706	Creatives []*Creative `json:"creatives,omitempty"`
5707
5708	// Kind: Identifies what kind of resource this is. Value: the fixed
5709	// string "dfareporting#creativesListResponse".
5710	Kind string `json:"kind,omitempty"`
5711
5712	// NextPageToken: Pagination token to be used for the next list
5713	// operation.
5714	NextPageToken string `json:"nextPageToken,omitempty"`
5715
5716	// ServerResponse contains the HTTP response code and headers from the
5717	// server.
5718	googleapi.ServerResponse `json:"-"`
5719
5720	// ForceSendFields is a list of field names (e.g. "Creatives") to
5721	// unconditionally include in API requests. By default, fields with
5722	// empty values are omitted from API requests. However, any non-pointer,
5723	// non-interface field appearing in ForceSendFields will be sent to the
5724	// server regardless of whether the field is empty or not. This may be
5725	// used to include empty fields in Patch requests.
5726	ForceSendFields []string `json:"-"`
5727
5728	// NullFields is a list of field names (e.g. "Creatives") to include in
5729	// API requests with the JSON null value. By default, fields with empty
5730	// values are omitted from API requests. However, any field with an
5731	// empty value appearing in NullFields will be sent to the server as
5732	// null. It is an error if a field in this list has a non-empty value.
5733	// This may be used to include null fields in Patch requests.
5734	NullFields []string `json:"-"`
5735}
5736
5737func (s *CreativesListResponse) MarshalJSON() ([]byte, error) {
5738	type NoMethod CreativesListResponse
5739	raw := NoMethod(*s)
5740	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5741}
5742
5743// CrossDimensionReachReportCompatibleFields: Represents fields that are
5744// compatible to be selected for a report of type
5745// "CROSS_DIMENSION_REACH".
5746type CrossDimensionReachReportCompatibleFields struct {
5747	// Breakdown: Dimensions which are compatible to be selected in the
5748	// "breakdown" section of the report.
5749	Breakdown []*Dimension `json:"breakdown,omitempty"`
5750
5751	// DimensionFilters: Dimensions which are compatible to be selected in
5752	// the "dimensionFilters" section of the report.
5753	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
5754
5755	// Kind: The kind of resource this is, in this case
5756	// dfareporting#crossDimensionReachReportCompatibleFields.
5757	Kind string `json:"kind,omitempty"`
5758
5759	// Metrics: Metrics which are compatible to be selected in the
5760	// "metricNames" section of the report.
5761	Metrics []*Metric `json:"metrics,omitempty"`
5762
5763	// OverlapMetrics: Metrics which are compatible to be selected in the
5764	// "overlapMetricNames" section of the report.
5765	OverlapMetrics []*Metric `json:"overlapMetrics,omitempty"`
5766
5767	// ForceSendFields is a list of field names (e.g. "Breakdown") to
5768	// unconditionally include in API requests. By default, fields with
5769	// empty values are omitted from API requests. However, any non-pointer,
5770	// non-interface field appearing in ForceSendFields will be sent to the
5771	// server regardless of whether the field is empty or not. This may be
5772	// used to include empty fields in Patch requests.
5773	ForceSendFields []string `json:"-"`
5774
5775	// NullFields is a list of field names (e.g. "Breakdown") to include in
5776	// API requests with the JSON null value. By default, fields with empty
5777	// values are omitted from API requests. However, any field with an
5778	// empty value appearing in NullFields will be sent to the server as
5779	// null. It is an error if a field in this list has a non-empty value.
5780	// This may be used to include null fields in Patch requests.
5781	NullFields []string `json:"-"`
5782}
5783
5784func (s *CrossDimensionReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
5785	type NoMethod CrossDimensionReachReportCompatibleFields
5786	raw := NoMethod(*s)
5787	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5788}
5789
5790// CustomFloodlightVariable: A custom floodlight variable.
5791type CustomFloodlightVariable struct {
5792	// Kind: Identifies what kind of resource this is. Value: the fixed
5793	// string "dfareporting#customFloodlightVariable".
5794	Kind string `json:"kind,omitempty"`
5795
5796	// Type: The type of custom floodlight variable to supply a value for.
5797	// These map to the "u[1-20]=" in the tags.
5798	//
5799	// Possible values:
5800	//   "U1"
5801	//   "U10"
5802	//   "U100"
5803	//   "U11"
5804	//   "U12"
5805	//   "U13"
5806	//   "U14"
5807	//   "U15"
5808	//   "U16"
5809	//   "U17"
5810	//   "U18"
5811	//   "U19"
5812	//   "U2"
5813	//   "U20"
5814	//   "U21"
5815	//   "U22"
5816	//   "U23"
5817	//   "U24"
5818	//   "U25"
5819	//   "U26"
5820	//   "U27"
5821	//   "U28"
5822	//   "U29"
5823	//   "U3"
5824	//   "U30"
5825	//   "U31"
5826	//   "U32"
5827	//   "U33"
5828	//   "U34"
5829	//   "U35"
5830	//   "U36"
5831	//   "U37"
5832	//   "U38"
5833	//   "U39"
5834	//   "U4"
5835	//   "U40"
5836	//   "U41"
5837	//   "U42"
5838	//   "U43"
5839	//   "U44"
5840	//   "U45"
5841	//   "U46"
5842	//   "U47"
5843	//   "U48"
5844	//   "U49"
5845	//   "U5"
5846	//   "U50"
5847	//   "U51"
5848	//   "U52"
5849	//   "U53"
5850	//   "U54"
5851	//   "U55"
5852	//   "U56"
5853	//   "U57"
5854	//   "U58"
5855	//   "U59"
5856	//   "U6"
5857	//   "U60"
5858	//   "U61"
5859	//   "U62"
5860	//   "U63"
5861	//   "U64"
5862	//   "U65"
5863	//   "U66"
5864	//   "U67"
5865	//   "U68"
5866	//   "U69"
5867	//   "U7"
5868	//   "U70"
5869	//   "U71"
5870	//   "U72"
5871	//   "U73"
5872	//   "U74"
5873	//   "U75"
5874	//   "U76"
5875	//   "U77"
5876	//   "U78"
5877	//   "U79"
5878	//   "U8"
5879	//   "U80"
5880	//   "U81"
5881	//   "U82"
5882	//   "U83"
5883	//   "U84"
5884	//   "U85"
5885	//   "U86"
5886	//   "U87"
5887	//   "U88"
5888	//   "U89"
5889	//   "U9"
5890	//   "U90"
5891	//   "U91"
5892	//   "U92"
5893	//   "U93"
5894	//   "U94"
5895	//   "U95"
5896	//   "U96"
5897	//   "U97"
5898	//   "U98"
5899	//   "U99"
5900	Type string `json:"type,omitempty"`
5901
5902	// Value: The value of the custom floodlight variable. The length of
5903	// string must not exceed 50 characters.
5904	Value string `json:"value,omitempty"`
5905
5906	// ForceSendFields is a list of field names (e.g. "Kind") to
5907	// unconditionally include in API requests. By default, fields with
5908	// empty values are omitted from API requests. However, any non-pointer,
5909	// non-interface field appearing in ForceSendFields will be sent to the
5910	// server regardless of whether the field is empty or not. This may be
5911	// used to include empty fields in Patch requests.
5912	ForceSendFields []string `json:"-"`
5913
5914	// NullFields is a list of field names (e.g. "Kind") to include in API
5915	// requests with the JSON null value. By default, fields with empty
5916	// values are omitted from API requests. However, any field with an
5917	// empty value appearing in NullFields will be sent to the server as
5918	// null. It is an error if a field in this list has a non-empty value.
5919	// This may be used to include null fields in Patch requests.
5920	NullFields []string `json:"-"`
5921}
5922
5923func (s *CustomFloodlightVariable) MarshalJSON() ([]byte, error) {
5924	type NoMethod CustomFloodlightVariable
5925	raw := NoMethod(*s)
5926	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5927}
5928
5929// CustomRichMediaEvents: Represents a Custom Rich Media Events group.
5930type CustomRichMediaEvents struct {
5931	// FilteredEventIds: List of custom rich media event IDs. Dimension
5932	// values must be all of type dfa:richMediaEventTypeIdAndName.
5933	FilteredEventIds []*DimensionValue `json:"filteredEventIds,omitempty"`
5934
5935	// Kind: The kind of resource this is, in this case
5936	// dfareporting#customRichMediaEvents.
5937	Kind string `json:"kind,omitempty"`
5938
5939	// ForceSendFields is a list of field names (e.g. "FilteredEventIds") to
5940	// unconditionally include in API requests. By default, fields with
5941	// empty values are omitted from API requests. However, any non-pointer,
5942	// non-interface field appearing in ForceSendFields will be sent to the
5943	// server regardless of whether the field is empty or not. This may be
5944	// used to include empty fields in Patch requests.
5945	ForceSendFields []string `json:"-"`
5946
5947	// NullFields is a list of field names (e.g. "FilteredEventIds") to
5948	// include in API requests with the JSON null value. By default, fields
5949	// with empty values are omitted from API requests. However, any field
5950	// with an empty value appearing in NullFields will be sent to the
5951	// server as null. It is an error if a field in this list has a
5952	// non-empty value. This may be used to include null fields in Patch
5953	// requests.
5954	NullFields []string `json:"-"`
5955}
5956
5957func (s *CustomRichMediaEvents) MarshalJSON() ([]byte, error) {
5958	type NoMethod CustomRichMediaEvents
5959	raw := NoMethod(*s)
5960	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
5961}
5962
5963// DateRange: Represents a date range.
5964type DateRange struct {
5965	// EndDate: The end date of the date range, inclusive. A string of the
5966	// format: "yyyy-MM-dd".
5967	EndDate string `json:"endDate,omitempty"`
5968
5969	// Kind: The kind of resource this is, in this case
5970	// dfareporting#dateRange.
5971	Kind string `json:"kind,omitempty"`
5972
5973	// RelativeDateRange: The date range relative to the date of when the
5974	// report is run.
5975	//
5976	// Possible values:
5977	//   "LAST_14_DAYS"
5978	//   "LAST_24_MONTHS"
5979	//   "LAST_30_DAYS"
5980	//   "LAST_365_DAYS"
5981	//   "LAST_60_DAYS"
5982	//   "LAST_7_DAYS"
5983	//   "LAST_90_DAYS"
5984	//   "MONTH_TO_DATE"
5985	//   "PREVIOUS_MONTH"
5986	//   "PREVIOUS_QUARTER"
5987	//   "PREVIOUS_WEEK"
5988	//   "PREVIOUS_YEAR"
5989	//   "QUARTER_TO_DATE"
5990	//   "TODAY"
5991	//   "WEEK_TO_DATE"
5992	//   "YEAR_TO_DATE"
5993	//   "YESTERDAY"
5994	RelativeDateRange string `json:"relativeDateRange,omitempty"`
5995
5996	// StartDate: The start date of the date range, inclusive. A string of
5997	// the format: "yyyy-MM-dd".
5998	StartDate string `json:"startDate,omitempty"`
5999
6000	// ForceSendFields is a list of field names (e.g. "EndDate") to
6001	// unconditionally include in API requests. By default, fields with
6002	// empty values are omitted from API requests. However, any non-pointer,
6003	// non-interface field appearing in ForceSendFields will be sent to the
6004	// server regardless of whether the field is empty or not. This may be
6005	// used to include empty fields in Patch requests.
6006	ForceSendFields []string `json:"-"`
6007
6008	// NullFields is a list of field names (e.g. "EndDate") to include in
6009	// API requests with the JSON null value. By default, fields with empty
6010	// values are omitted from API requests. However, any field with an
6011	// empty value appearing in NullFields will be sent to the server as
6012	// null. It is an error if a field in this list has a non-empty value.
6013	// This may be used to include null fields in Patch requests.
6014	NullFields []string `json:"-"`
6015}
6016
6017func (s *DateRange) MarshalJSON() ([]byte, error) {
6018	type NoMethod DateRange
6019	raw := NoMethod(*s)
6020	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6021}
6022
6023// DayPartTargeting: Day Part Targeting.
6024type DayPartTargeting struct {
6025	// DaysOfWeek: Days of the week when the ad will serve.
6026	//
6027	// Acceptable values are:
6028	// - "SUNDAY"
6029	// - "MONDAY"
6030	// - "TUESDAY"
6031	// - "WEDNESDAY"
6032	// - "THURSDAY"
6033	// - "FRIDAY"
6034	// - "SATURDAY"
6035	//
6036	// Possible values:
6037	//   "FRIDAY"
6038	//   "MONDAY"
6039	//   "SATURDAY"
6040	//   "SUNDAY"
6041	//   "THURSDAY"
6042	//   "TUESDAY"
6043	//   "WEDNESDAY"
6044	DaysOfWeek []string `json:"daysOfWeek,omitempty"`
6045
6046	// HoursOfDay: Hours of the day when the ad will serve, where 0 is
6047	// midnight to 1 AM and 23 is 11 PM to midnight. Can be specified with
6048	// days of week, in which case the ad would serve during these hours on
6049	// the specified days. For example if Monday, Wednesday, Friday are the
6050	// days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is
6051	// specified, the ad would serve Monday, Wednesdays, and Fridays at
6052	// 9-10am and 3-5pm. Acceptable values are 0 to 23, inclusive.
6053	HoursOfDay []int64 `json:"hoursOfDay,omitempty"`
6054
6055	// UserLocalTime: Whether or not to use the user's local time. If false,
6056	// the America/New York time zone applies.
6057	UserLocalTime bool `json:"userLocalTime,omitempty"`
6058
6059	// ForceSendFields is a list of field names (e.g. "DaysOfWeek") to
6060	// unconditionally include in API requests. By default, fields with
6061	// empty values are omitted from API requests. However, any non-pointer,
6062	// non-interface field appearing in ForceSendFields will be sent to the
6063	// server regardless of whether the field is empty or not. This may be
6064	// used to include empty fields in Patch requests.
6065	ForceSendFields []string `json:"-"`
6066
6067	// NullFields is a list of field names (e.g. "DaysOfWeek") to include in
6068	// API requests with the JSON null value. By default, fields with empty
6069	// values are omitted from API requests. However, any field with an
6070	// empty value appearing in NullFields will be sent to the server as
6071	// null. It is an error if a field in this list has a non-empty value.
6072	// This may be used to include null fields in Patch requests.
6073	NullFields []string `json:"-"`
6074}
6075
6076func (s *DayPartTargeting) MarshalJSON() ([]byte, error) {
6077	type NoMethod DayPartTargeting
6078	raw := NoMethod(*s)
6079	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6080}
6081
6082// DeepLink: Contains information about a landing page deep link.
6083type DeepLink struct {
6084	// AppUrl: The URL of the mobile app being linked to.
6085	AppUrl string `json:"appUrl,omitempty"`
6086
6087	// FallbackUrl: The fallback URL. This URL will be served to users who
6088	// do not have the mobile app installed.
6089	FallbackUrl string `json:"fallbackUrl,omitempty"`
6090
6091	// Kind: Identifies what kind of resource this is. Value: the fixed
6092	// string "dfareporting#deepLink".
6093	Kind string `json:"kind,omitempty"`
6094
6095	// MobileApp: The mobile app targeted by this deep link.
6096	MobileApp *MobileApp `json:"mobileApp,omitempty"`
6097
6098	// RemarketingListIds: Ads served to users on these remarketing lists
6099	// will use this deep link. Applicable when mobileApp.directory is
6100	// APPLE_APP_STORE.
6101	RemarketingListIds googleapi.Int64s `json:"remarketingListIds,omitempty"`
6102
6103	// ForceSendFields is a list of field names (e.g. "AppUrl") to
6104	// unconditionally include in API requests. By default, fields with
6105	// empty values are omitted from API requests. However, any non-pointer,
6106	// non-interface field appearing in ForceSendFields will be sent to the
6107	// server regardless of whether the field is empty or not. This may be
6108	// used to include empty fields in Patch requests.
6109	ForceSendFields []string `json:"-"`
6110
6111	// NullFields is a list of field names (e.g. "AppUrl") to include in API
6112	// requests with the JSON null value. By default, fields with empty
6113	// values are omitted from API requests. However, any field with an
6114	// empty value appearing in NullFields will be sent to the server as
6115	// null. It is an error if a field in this list has a non-empty value.
6116	// This may be used to include null fields in Patch requests.
6117	NullFields []string `json:"-"`
6118}
6119
6120func (s *DeepLink) MarshalJSON() ([]byte, error) {
6121	type NoMethod DeepLink
6122	raw := NoMethod(*s)
6123	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6124}
6125
6126// DefaultClickThroughEventTagProperties: Properties of inheriting and
6127// overriding the default click-through event tag. A campaign may
6128// override the event tag defined at the advertiser level, and an ad may
6129// also override the campaign's setting further.
6130type DefaultClickThroughEventTagProperties struct {
6131	// DefaultClickThroughEventTagId: ID of the click-through event tag to
6132	// apply to all ads in this entity's scope.
6133	DefaultClickThroughEventTagId int64 `json:"defaultClickThroughEventTagId,omitempty,string"`
6134
6135	// OverrideInheritedEventTag: Whether this entity should override the
6136	// inherited default click-through event tag with its own defined value.
6137	OverrideInheritedEventTag bool `json:"overrideInheritedEventTag,omitempty"`
6138
6139	// ForceSendFields is a list of field names (e.g.
6140	// "DefaultClickThroughEventTagId") to unconditionally include in API
6141	// requests. By default, fields with empty values are omitted from API
6142	// requests. However, any non-pointer, non-interface field appearing in
6143	// ForceSendFields will be sent to the server regardless of whether the
6144	// field is empty or not. This may be used to include empty fields in
6145	// Patch requests.
6146	ForceSendFields []string `json:"-"`
6147
6148	// NullFields is a list of field names (e.g.
6149	// "DefaultClickThroughEventTagId") to include in API requests with the
6150	// JSON null value. By default, fields with empty values are omitted
6151	// from API requests. However, any field with an empty value appearing
6152	// in NullFields will be sent to the server as null. It is an error if a
6153	// field in this list has a non-empty value. This may be used to include
6154	// null fields in Patch requests.
6155	NullFields []string `json:"-"`
6156}
6157
6158func (s *DefaultClickThroughEventTagProperties) MarshalJSON() ([]byte, error) {
6159	type NoMethod DefaultClickThroughEventTagProperties
6160	raw := NoMethod(*s)
6161	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6162}
6163
6164// DeliverySchedule: Delivery Schedule.
6165type DeliverySchedule struct {
6166	// FrequencyCap: Limit on the number of times an individual user can be
6167	// served the ad within a specified period of time.
6168	FrequencyCap *FrequencyCap `json:"frequencyCap,omitempty"`
6169
6170	// HardCutoff: Whether or not hard cutoff is enabled. If true, the ad
6171	// will not serve after the end date and time. Otherwise the ad will
6172	// continue to be served until it has reached its delivery goals.
6173	HardCutoff bool `json:"hardCutoff,omitempty"`
6174
6175	// ImpressionRatio: Impression ratio for this ad. This ratio determines
6176	// how often each ad is served relative to the others. For example, if
6177	// ad A has an impression ratio of 1 and ad B has an impression ratio of
6178	// 3, then Campaign Manager will serve ad B three times as often as ad
6179	// A. Acceptable values are 1 to 10, inclusive.
6180	ImpressionRatio int64 `json:"impressionRatio,omitempty,string"`
6181
6182	// Priority: Serving priority of an ad, with respect to other ads. The
6183	// lower the priority number, the greater the priority with which it is
6184	// served.
6185	//
6186	// Possible values:
6187	//   "AD_PRIORITY_01"
6188	//   "AD_PRIORITY_02"
6189	//   "AD_PRIORITY_03"
6190	//   "AD_PRIORITY_04"
6191	//   "AD_PRIORITY_05"
6192	//   "AD_PRIORITY_06"
6193	//   "AD_PRIORITY_07"
6194	//   "AD_PRIORITY_08"
6195	//   "AD_PRIORITY_09"
6196	//   "AD_PRIORITY_10"
6197	//   "AD_PRIORITY_11"
6198	//   "AD_PRIORITY_12"
6199	//   "AD_PRIORITY_13"
6200	//   "AD_PRIORITY_14"
6201	//   "AD_PRIORITY_15"
6202	//   "AD_PRIORITY_16"
6203	Priority string `json:"priority,omitempty"`
6204
6205	// ForceSendFields is a list of field names (e.g. "FrequencyCap") to
6206	// unconditionally include in API requests. By default, fields with
6207	// empty values are omitted from API requests. However, any non-pointer,
6208	// non-interface field appearing in ForceSendFields will be sent to the
6209	// server regardless of whether the field is empty or not. This may be
6210	// used to include empty fields in Patch requests.
6211	ForceSendFields []string `json:"-"`
6212
6213	// NullFields is a list of field names (e.g. "FrequencyCap") to include
6214	// in API requests with the JSON null value. By default, fields with
6215	// empty values are omitted from API requests. However, any field with
6216	// an empty value appearing in NullFields will be sent to the server as
6217	// null. It is an error if a field in this list has a non-empty value.
6218	// This may be used to include null fields in Patch requests.
6219	NullFields []string `json:"-"`
6220}
6221
6222func (s *DeliverySchedule) MarshalJSON() ([]byte, error) {
6223	type NoMethod DeliverySchedule
6224	raw := NoMethod(*s)
6225	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6226}
6227
6228// DfpSettings: Google Ad Manager Settings
6229type DfpSettings struct {
6230	// DfpNetworkCode: Ad Manager network code for this directory site.
6231	DfpNetworkCode string `json:"dfpNetworkCode,omitempty"`
6232
6233	// DfpNetworkName: Ad Manager network name for this directory site.
6234	DfpNetworkName string `json:"dfpNetworkName,omitempty"`
6235
6236	// ProgrammaticPlacementAccepted: Whether this directory site accepts
6237	// programmatic placements.
6238	ProgrammaticPlacementAccepted bool `json:"programmaticPlacementAccepted,omitempty"`
6239
6240	// PubPaidPlacementAccepted: Whether this directory site accepts
6241	// publisher-paid tags.
6242	PubPaidPlacementAccepted bool `json:"pubPaidPlacementAccepted,omitempty"`
6243
6244	// PublisherPortalOnly: Whether this directory site is available only
6245	// via Publisher Portal.
6246	PublisherPortalOnly bool `json:"publisherPortalOnly,omitempty"`
6247
6248	// ForceSendFields is a list of field names (e.g. "DfpNetworkCode") to
6249	// unconditionally include in API requests. By default, fields with
6250	// empty values are omitted from API requests. However, any non-pointer,
6251	// non-interface field appearing in ForceSendFields will be sent to the
6252	// server regardless of whether the field is empty or not. This may be
6253	// used to include empty fields in Patch requests.
6254	ForceSendFields []string `json:"-"`
6255
6256	// NullFields is a list of field names (e.g. "DfpNetworkCode") to
6257	// include in API requests with the JSON null value. By default, fields
6258	// with empty values are omitted from API requests. However, any field
6259	// with an empty value appearing in NullFields will be sent to the
6260	// server as null. It is an error if a field in this list has a
6261	// non-empty value. This may be used to include null fields in Patch
6262	// requests.
6263	NullFields []string `json:"-"`
6264}
6265
6266func (s *DfpSettings) MarshalJSON() ([]byte, error) {
6267	type NoMethod DfpSettings
6268	raw := NoMethod(*s)
6269	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6270}
6271
6272// Dimension: Represents a dimension.
6273type Dimension struct {
6274	// Kind: The kind of resource this is, in this case
6275	// dfareporting#dimension.
6276	Kind string `json:"kind,omitempty"`
6277
6278	// Name: The dimension name, e.g. dfa:advertiser
6279	Name string `json:"name,omitempty"`
6280
6281	// ForceSendFields is a list of field names (e.g. "Kind") to
6282	// unconditionally include in API requests. By default, fields with
6283	// empty values are omitted from API requests. However, any non-pointer,
6284	// non-interface field appearing in ForceSendFields will be sent to the
6285	// server regardless of whether the field is empty or not. This may be
6286	// used to include empty fields in Patch requests.
6287	ForceSendFields []string `json:"-"`
6288
6289	// NullFields is a list of field names (e.g. "Kind") to include in API
6290	// requests with the JSON null value. By default, fields with empty
6291	// values are omitted from API requests. However, any field with an
6292	// empty value appearing in NullFields will be sent to the server as
6293	// null. It is an error if a field in this list has a non-empty value.
6294	// This may be used to include null fields in Patch requests.
6295	NullFields []string `json:"-"`
6296}
6297
6298func (s *Dimension) MarshalJSON() ([]byte, error) {
6299	type NoMethod Dimension
6300	raw := NoMethod(*s)
6301	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6302}
6303
6304// DimensionFilter: Represents a dimension filter.
6305type DimensionFilter struct {
6306	// DimensionName: The name of the dimension to filter.
6307	DimensionName string `json:"dimensionName,omitempty"`
6308
6309	// Kind: The kind of resource this is, in this case
6310	// dfareporting#dimensionFilter.
6311	Kind string `json:"kind,omitempty"`
6312
6313	// Value: The value of the dimension to filter.
6314	Value string `json:"value,omitempty"`
6315
6316	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6317	// unconditionally include in API requests. By default, fields with
6318	// empty values are omitted from API requests. However, any non-pointer,
6319	// non-interface field appearing in ForceSendFields will be sent to the
6320	// server regardless of whether the field is empty or not. This may be
6321	// used to include empty fields in Patch requests.
6322	ForceSendFields []string `json:"-"`
6323
6324	// NullFields is a list of field names (e.g. "DimensionName") to include
6325	// in API requests with the JSON null value. By default, fields with
6326	// empty values are omitted from API requests. However, any field with
6327	// an empty value appearing in NullFields will be sent to the server as
6328	// null. It is an error if a field in this list has a non-empty value.
6329	// This may be used to include null fields in Patch requests.
6330	NullFields []string `json:"-"`
6331}
6332
6333func (s *DimensionFilter) MarshalJSON() ([]byte, error) {
6334	type NoMethod DimensionFilter
6335	raw := NoMethod(*s)
6336	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6337}
6338
6339// DimensionValue: Represents a DimensionValue resource.
6340type DimensionValue struct {
6341	// DimensionName: The name of the dimension.
6342	DimensionName string `json:"dimensionName,omitempty"`
6343
6344	// Etag: The eTag of this response for caching purposes.
6345	Etag string `json:"etag,omitempty"`
6346
6347	// Id: The ID associated with the value if available.
6348	Id string `json:"id,omitempty"`
6349
6350	// Kind: The kind of resource this is, in this case
6351	// dfareporting#dimensionValue.
6352	Kind string `json:"kind,omitempty"`
6353
6354	// MatchType: Determines how the 'value' field is matched when
6355	// filtering. If not specified, defaults to EXACT. If set to
6356	// WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable
6357	// length character sequences, and it can be escaped with a backslash.
6358	// Note, only paid search dimensions ('dfa:paidSearch*') allow a
6359	// matchType other than EXACT.
6360	//
6361	// Possible values:
6362	//   "BEGINS_WITH"
6363	//   "CONTAINS"
6364	//   "EXACT"
6365	//   "WILDCARD_EXPRESSION"
6366	MatchType string `json:"matchType,omitempty"`
6367
6368	// Value: The value of the dimension.
6369	Value string `json:"value,omitempty"`
6370
6371	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6372	// unconditionally include in API requests. By default, fields with
6373	// empty values are omitted from API requests. However, any non-pointer,
6374	// non-interface field appearing in ForceSendFields will be sent to the
6375	// server regardless of whether the field is empty or not. This may be
6376	// used to include empty fields in Patch requests.
6377	ForceSendFields []string `json:"-"`
6378
6379	// NullFields is a list of field names (e.g. "DimensionName") to include
6380	// in API requests with the JSON null value. By default, fields with
6381	// empty values are omitted from API requests. However, any field with
6382	// an empty value appearing in NullFields will be sent to the server as
6383	// null. It is an error if a field in this list has a non-empty value.
6384	// This may be used to include null fields in Patch requests.
6385	NullFields []string `json:"-"`
6386}
6387
6388func (s *DimensionValue) MarshalJSON() ([]byte, error) {
6389	type NoMethod DimensionValue
6390	raw := NoMethod(*s)
6391	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6392}
6393
6394// DimensionValueList: Represents the list of DimensionValue resources.
6395type DimensionValueList struct {
6396	// Etag: The eTag of this response for caching purposes.
6397	Etag string `json:"etag,omitempty"`
6398
6399	// Items: The dimension values returned in this response.
6400	Items []*DimensionValue `json:"items,omitempty"`
6401
6402	// Kind: The kind of list this is, in this case
6403	// dfareporting#dimensionValueList.
6404	Kind string `json:"kind,omitempty"`
6405
6406	// NextPageToken: Continuation token used to page through dimension
6407	// values. To retrieve the next page of results, set the next request's
6408	// "pageToken" to the value of this field. The page token is only valid
6409	// for a limited amount of time and should not be persisted.
6410	NextPageToken string `json:"nextPageToken,omitempty"`
6411
6412	// ServerResponse contains the HTTP response code and headers from the
6413	// server.
6414	googleapi.ServerResponse `json:"-"`
6415
6416	// ForceSendFields is a list of field names (e.g. "Etag") to
6417	// unconditionally include in API requests. By default, fields with
6418	// empty values are omitted from API requests. However, any non-pointer,
6419	// non-interface field appearing in ForceSendFields will be sent to the
6420	// server regardless of whether the field is empty or not. This may be
6421	// used to include empty fields in Patch requests.
6422	ForceSendFields []string `json:"-"`
6423
6424	// NullFields is a list of field names (e.g. "Etag") to include in API
6425	// requests with the JSON null value. By default, fields with empty
6426	// values are omitted from API requests. However, any field with an
6427	// empty value appearing in NullFields will be sent to the server as
6428	// null. It is an error if a field in this list has a non-empty value.
6429	// This may be used to include null fields in Patch requests.
6430	NullFields []string `json:"-"`
6431}
6432
6433func (s *DimensionValueList) MarshalJSON() ([]byte, error) {
6434	type NoMethod DimensionValueList
6435	raw := NoMethod(*s)
6436	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6437}
6438
6439// DimensionValueRequest: Represents a DimensionValuesRequest.
6440type DimensionValueRequest struct {
6441	// DimensionName: The name of the dimension for which values should be
6442	// requested.
6443	DimensionName string `json:"dimensionName,omitempty"`
6444
6445	// EndDate: The end date of the date range for which to retrieve
6446	// dimension values. A string of the format "yyyy-MM-dd".
6447	EndDate string `json:"endDate,omitempty"`
6448
6449	// Filters: The list of filters by which to filter values. The filters
6450	// are ANDed.
6451	Filters []*DimensionFilter `json:"filters,omitempty"`
6452
6453	// Kind: The kind of request this is, in this case
6454	// dfareporting#dimensionValueRequest.
6455	Kind string `json:"kind,omitempty"`
6456
6457	// StartDate: The start date of the date range for which to retrieve
6458	// dimension values. A string of the format "yyyy-MM-dd".
6459	StartDate string `json:"startDate,omitempty"`
6460
6461	// ForceSendFields is a list of field names (e.g. "DimensionName") to
6462	// unconditionally include in API requests. By default, fields with
6463	// empty values are omitted from API requests. However, any non-pointer,
6464	// non-interface field appearing in ForceSendFields will be sent to the
6465	// server regardless of whether the field is empty or not. This may be
6466	// used to include empty fields in Patch requests.
6467	ForceSendFields []string `json:"-"`
6468
6469	// NullFields is a list of field names (e.g. "DimensionName") to include
6470	// in API requests with the JSON null value. By default, fields with
6471	// empty values are omitted from API requests. However, any field with
6472	// an empty value appearing in NullFields will be sent to the server as
6473	// null. It is an error if a field in this list has a non-empty value.
6474	// This may be used to include null fields in Patch requests.
6475	NullFields []string `json:"-"`
6476}
6477
6478func (s *DimensionValueRequest) MarshalJSON() ([]byte, error) {
6479	type NoMethod DimensionValueRequest
6480	raw := NoMethod(*s)
6481	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6482}
6483
6484// DirectorySite: DirectorySites contains properties of a website from
6485// the Site Directory. Sites need to be added to an account via the
6486// Sites resource before they can be assigned to a placement.
6487type DirectorySite struct {
6488	// Active: Whether this directory site is active.
6489	Active bool `json:"active,omitempty"`
6490
6491	// ContactAssignments: Directory site contacts.
6492	ContactAssignments []*DirectorySiteContactAssignment `json:"contactAssignments,omitempty"`
6493
6494	// CountryId: Country ID of this directory site. This is a read-only
6495	// field.
6496	CountryId int64 `json:"countryId,omitempty,string"`
6497
6498	// CurrencyId: Currency ID of this directory site. This is a read-only
6499	// field.
6500	// Possible values are:
6501	// - "1" for USD
6502	// - "2" for GBP
6503	// - "3" for ESP
6504	// - "4" for SEK
6505	// - "5" for CAD
6506	// - "6" for JPY
6507	// - "7" for DEM
6508	// - "8" for AUD
6509	// - "9" for FRF
6510	// - "10" for ITL
6511	// - "11" for DKK
6512	// - "12" for NOK
6513	// - "13" for FIM
6514	// - "14" for ZAR
6515	// - "15" for IEP
6516	// - "16" for NLG
6517	// - "17" for EUR
6518	// - "18" for KRW
6519	// - "19" for TWD
6520	// - "20" for SGD
6521	// - "21" for CNY
6522	// - "22" for HKD
6523	// - "23" for NZD
6524	// - "24" for MYR
6525	// - "25" for BRL
6526	// - "26" for PTE
6527	// - "27" for MXP
6528	// - "28" for CLP
6529	// - "29" for TRY
6530	// - "30" for ARS
6531	// - "31" for PEN
6532	// - "32" for ILS
6533	// - "33" for CHF
6534	// - "34" for VEF
6535	// - "35" for COP
6536	// - "36" for GTQ
6537	// - "37" for PLN
6538	// - "39" for INR
6539	// - "40" for THB
6540	// - "41" for IDR
6541	// - "42" for CZK
6542	// - "43" for RON
6543	// - "44" for HUF
6544	// - "45" for RUB
6545	// - "46" for AED
6546	// - "47" for BGN
6547	// - "48" for HRK
6548	// - "49" for MXN
6549	// - "50" for NGN
6550	CurrencyId int64 `json:"currencyId,omitempty,string"`
6551
6552	// Description: Description of this directory site. This is a read-only
6553	// field.
6554	Description string `json:"description,omitempty"`
6555
6556	// Id: ID of this directory site. This is a read-only, auto-generated
6557	// field.
6558	Id int64 `json:"id,omitempty,string"`
6559
6560	// IdDimensionValue: Dimension value for the ID of this directory site.
6561	// This is a read-only, auto-generated field.
6562	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
6563
6564	// InpageTagFormats: Tag types for regular placements.
6565	//
6566	// Acceptable values are:
6567	// - "STANDARD"
6568	// - "IFRAME_JAVASCRIPT_INPAGE"
6569	// - "INTERNAL_REDIRECT_INPAGE"
6570	// - "JAVASCRIPT_INPAGE"
6571	//
6572	// Possible values:
6573	//   "IFRAME_JAVASCRIPT_INPAGE"
6574	//   "INTERNAL_REDIRECT_INPAGE"
6575	//   "JAVASCRIPT_INPAGE"
6576	//   "STANDARD"
6577	InpageTagFormats []string `json:"inpageTagFormats,omitempty"`
6578
6579	// InterstitialTagFormats: Tag types for interstitial
6580	// placements.
6581	//
6582	// Acceptable values are:
6583	// - "IFRAME_JAVASCRIPT_INTERSTITIAL"
6584	// - "INTERNAL_REDIRECT_INTERSTITIAL"
6585	// - "JAVASCRIPT_INTERSTITIAL"
6586	//
6587	// Possible values:
6588	//   "IFRAME_JAVASCRIPT_INTERSTITIAL"
6589	//   "INTERNAL_REDIRECT_INTERSTITIAL"
6590	//   "JAVASCRIPT_INTERSTITIAL"
6591	InterstitialTagFormats []string `json:"interstitialTagFormats,omitempty"`
6592
6593	// Kind: Identifies what kind of resource this is. Value: the fixed
6594	// string "dfareporting#directorySite".
6595	Kind string `json:"kind,omitempty"`
6596
6597	// Name: Name of this directory site.
6598	Name string `json:"name,omitempty"`
6599
6600	// ParentId: Parent directory site ID.
6601	ParentId int64 `json:"parentId,omitempty,string"`
6602
6603	// Settings: Directory site settings.
6604	Settings *DirectorySiteSettings `json:"settings,omitempty"`
6605
6606	// Url: URL of this directory site.
6607	Url string `json:"url,omitempty"`
6608
6609	// ServerResponse contains the HTTP response code and headers from the
6610	// server.
6611	googleapi.ServerResponse `json:"-"`
6612
6613	// ForceSendFields is a list of field names (e.g. "Active") to
6614	// unconditionally include in API requests. By default, fields with
6615	// empty values are omitted from API requests. However, any non-pointer,
6616	// non-interface field appearing in ForceSendFields will be sent to the
6617	// server regardless of whether the field is empty or not. This may be
6618	// used to include empty fields in Patch requests.
6619	ForceSendFields []string `json:"-"`
6620
6621	// NullFields is a list of field names (e.g. "Active") to include in API
6622	// requests with the JSON null value. By default, fields with empty
6623	// values are omitted from API requests. However, any field with an
6624	// empty value appearing in NullFields will be sent to the server as
6625	// null. It is an error if a field in this list has a non-empty value.
6626	// This may be used to include null fields in Patch requests.
6627	NullFields []string `json:"-"`
6628}
6629
6630func (s *DirectorySite) MarshalJSON() ([]byte, error) {
6631	type NoMethod DirectorySite
6632	raw := NoMethod(*s)
6633	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6634}
6635
6636// DirectorySiteContact: Contains properties of a Site Directory
6637// contact.
6638type DirectorySiteContact struct {
6639	// Address: Address of this directory site contact.
6640	Address string `json:"address,omitempty"`
6641
6642	// Email: Email address of this directory site contact.
6643	Email string `json:"email,omitempty"`
6644
6645	// FirstName: First name of this directory site contact.
6646	FirstName string `json:"firstName,omitempty"`
6647
6648	// Id: ID of this directory site contact. This is a read-only,
6649	// auto-generated field.
6650	Id int64 `json:"id,omitempty,string"`
6651
6652	// Kind: Identifies what kind of resource this is. Value: the fixed
6653	// string "dfareporting#directorySiteContact".
6654	Kind string `json:"kind,omitempty"`
6655
6656	// LastName: Last name of this directory site contact.
6657	LastName string `json:"lastName,omitempty"`
6658
6659	// Phone: Phone number of this directory site contact.
6660	Phone string `json:"phone,omitempty"`
6661
6662	// Role: Directory site contact role.
6663	//
6664	// Possible values:
6665	//   "ADMIN"
6666	//   "EDIT"
6667	//   "VIEW"
6668	Role string `json:"role,omitempty"`
6669
6670	// Title: Title or designation of this directory site contact.
6671	Title string `json:"title,omitempty"`
6672
6673	// Type: Directory site contact type.
6674	//
6675	// Possible values:
6676	//   "BILLING"
6677	//   "OTHER"
6678	//   "SALES"
6679	//   "TECHNICAL"
6680	Type string `json:"type,omitempty"`
6681
6682	// ServerResponse contains the HTTP response code and headers from the
6683	// server.
6684	googleapi.ServerResponse `json:"-"`
6685
6686	// ForceSendFields is a list of field names (e.g. "Address") to
6687	// unconditionally include in API requests. By default, fields with
6688	// empty values are omitted from API requests. However, any non-pointer,
6689	// non-interface field appearing in ForceSendFields will be sent to the
6690	// server regardless of whether the field is empty or not. This may be
6691	// used to include empty fields in Patch requests.
6692	ForceSendFields []string `json:"-"`
6693
6694	// NullFields is a list of field names (e.g. "Address") to include in
6695	// API requests with the JSON null value. By default, fields with empty
6696	// values are omitted from API requests. However, any field with an
6697	// empty value appearing in NullFields will be sent to the server as
6698	// null. It is an error if a field in this list has a non-empty value.
6699	// This may be used to include null fields in Patch requests.
6700	NullFields []string `json:"-"`
6701}
6702
6703func (s *DirectorySiteContact) MarshalJSON() ([]byte, error) {
6704	type NoMethod DirectorySiteContact
6705	raw := NoMethod(*s)
6706	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6707}
6708
6709// DirectorySiteContactAssignment: Directory Site Contact Assignment
6710type DirectorySiteContactAssignment struct {
6711	// ContactId: ID of this directory site contact. This is a read-only,
6712	// auto-generated field.
6713	ContactId int64 `json:"contactId,omitempty,string"`
6714
6715	// Visibility: Visibility of this directory site contact assignment.
6716	// When set to PUBLIC this contact assignment is visible to all account
6717	// and agency users; when set to PRIVATE it is visible only to the site.
6718	//
6719	// Possible values:
6720	//   "PRIVATE"
6721	//   "PUBLIC"
6722	Visibility string `json:"visibility,omitempty"`
6723
6724	// ForceSendFields is a list of field names (e.g. "ContactId") to
6725	// unconditionally include in API requests. By default, fields with
6726	// empty values are omitted from API requests. However, any non-pointer,
6727	// non-interface field appearing in ForceSendFields will be sent to the
6728	// server regardless of whether the field is empty or not. This may be
6729	// used to include empty fields in Patch requests.
6730	ForceSendFields []string `json:"-"`
6731
6732	// NullFields is a list of field names (e.g. "ContactId") to include in
6733	// API requests with the JSON null value. By default, fields with empty
6734	// values are omitted from API requests. However, any field with an
6735	// empty value appearing in NullFields will be sent to the server as
6736	// null. It is an error if a field in this list has a non-empty value.
6737	// This may be used to include null fields in Patch requests.
6738	NullFields []string `json:"-"`
6739}
6740
6741func (s *DirectorySiteContactAssignment) MarshalJSON() ([]byte, error) {
6742	type NoMethod DirectorySiteContactAssignment
6743	raw := NoMethod(*s)
6744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6745}
6746
6747// DirectorySiteContactsListResponse: Directory Site Contact List
6748// Response
6749type DirectorySiteContactsListResponse struct {
6750	// DirectorySiteContacts: Directory site contact collection
6751	DirectorySiteContacts []*DirectorySiteContact `json:"directorySiteContacts,omitempty"`
6752
6753	// Kind: Identifies what kind of resource this is. Value: the fixed
6754	// string "dfareporting#directorySiteContactsListResponse".
6755	Kind string `json:"kind,omitempty"`
6756
6757	// NextPageToken: Pagination token to be used for the next list
6758	// operation.
6759	NextPageToken string `json:"nextPageToken,omitempty"`
6760
6761	// ServerResponse contains the HTTP response code and headers from the
6762	// server.
6763	googleapi.ServerResponse `json:"-"`
6764
6765	// ForceSendFields is a list of field names (e.g.
6766	// "DirectorySiteContacts") to unconditionally include in API requests.
6767	// By default, fields with empty values are omitted from API requests.
6768	// However, any non-pointer, non-interface field appearing in
6769	// ForceSendFields will be sent to the server regardless of whether the
6770	// field is empty or not. This may be used to include empty fields in
6771	// Patch requests.
6772	ForceSendFields []string `json:"-"`
6773
6774	// NullFields is a list of field names (e.g. "DirectorySiteContacts") to
6775	// include in API requests with the JSON null value. By default, fields
6776	// with empty values are omitted from API requests. However, any field
6777	// with an empty value appearing in NullFields will be sent to the
6778	// server as null. It is an error if a field in this list has a
6779	// non-empty value. This may be used to include null fields in Patch
6780	// requests.
6781	NullFields []string `json:"-"`
6782}
6783
6784func (s *DirectorySiteContactsListResponse) MarshalJSON() ([]byte, error) {
6785	type NoMethod DirectorySiteContactsListResponse
6786	raw := NoMethod(*s)
6787	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6788}
6789
6790// DirectorySiteSettings: Directory Site Settings
6791type DirectorySiteSettings struct {
6792	// ActiveViewOptOut: Whether this directory site has disabled active
6793	// view creatives.
6794	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
6795
6796	// DfpSettings: Directory site Ad Manager settings.
6797	DfpSettings *DfpSettings `json:"dfpSettings,omitempty"`
6798
6799	// InstreamVideoPlacementAccepted: Whether this site accepts in-stream
6800	// video ads.
6801	InstreamVideoPlacementAccepted bool `json:"instreamVideoPlacementAccepted,omitempty"`
6802
6803	// InterstitialPlacementAccepted: Whether this site accepts interstitial
6804	// ads.
6805	InterstitialPlacementAccepted bool `json:"interstitialPlacementAccepted,omitempty"`
6806
6807	// NielsenOcrOptOut: Whether this directory site has disabled Nielsen
6808	// OCR reach ratings.
6809	NielsenOcrOptOut bool `json:"nielsenOcrOptOut,omitempty"`
6810
6811	// VerificationTagOptOut: Whether this directory site has disabled
6812	// generation of Verification ins tags.
6813	VerificationTagOptOut bool `json:"verificationTagOptOut,omitempty"`
6814
6815	// VideoActiveViewOptOut: Whether this directory site has disabled
6816	// active view for in-stream video creatives. This is a read-only field.
6817	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
6818
6819	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
6820	// unconditionally include in API requests. By default, fields with
6821	// empty values are omitted from API requests. However, any non-pointer,
6822	// non-interface field appearing in ForceSendFields will be sent to the
6823	// server regardless of whether the field is empty or not. This may be
6824	// used to include empty fields in Patch requests.
6825	ForceSendFields []string `json:"-"`
6826
6827	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
6828	// include in API requests with the JSON null value. By default, fields
6829	// with empty values are omitted from API requests. However, any field
6830	// with an empty value appearing in NullFields will be sent to the
6831	// server as null. It is an error if a field in this list has a
6832	// non-empty value. This may be used to include null fields in Patch
6833	// requests.
6834	NullFields []string `json:"-"`
6835}
6836
6837func (s *DirectorySiteSettings) MarshalJSON() ([]byte, error) {
6838	type NoMethod DirectorySiteSettings
6839	raw := NoMethod(*s)
6840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6841}
6842
6843// DirectorySitesListResponse: Directory Site List Response
6844type DirectorySitesListResponse struct {
6845	// DirectorySites: Directory site collection.
6846	DirectorySites []*DirectorySite `json:"directorySites,omitempty"`
6847
6848	// Kind: Identifies what kind of resource this is. Value: the fixed
6849	// string "dfareporting#directorySitesListResponse".
6850	Kind string `json:"kind,omitempty"`
6851
6852	// NextPageToken: Pagination token to be used for the next list
6853	// operation.
6854	NextPageToken string `json:"nextPageToken,omitempty"`
6855
6856	// ServerResponse contains the HTTP response code and headers from the
6857	// server.
6858	googleapi.ServerResponse `json:"-"`
6859
6860	// ForceSendFields is a list of field names (e.g. "DirectorySites") to
6861	// unconditionally include in API requests. By default, fields with
6862	// empty values are omitted from API requests. However, any non-pointer,
6863	// non-interface field appearing in ForceSendFields will be sent to the
6864	// server regardless of whether the field is empty or not. This may be
6865	// used to include empty fields in Patch requests.
6866	ForceSendFields []string `json:"-"`
6867
6868	// NullFields is a list of field names (e.g. "DirectorySites") to
6869	// include in API requests with the JSON null value. By default, fields
6870	// with empty values are omitted from API requests. However, any field
6871	// with an empty value appearing in NullFields will be sent to the
6872	// server as null. It is an error if a field in this list has a
6873	// non-empty value. This may be used to include null fields in Patch
6874	// requests.
6875	NullFields []string `json:"-"`
6876}
6877
6878func (s *DirectorySitesListResponse) MarshalJSON() ([]byte, error) {
6879	type NoMethod DirectorySitesListResponse
6880	raw := NoMethod(*s)
6881	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6882}
6883
6884// DynamicTargetingKey: Contains properties of a dynamic targeting key.
6885// Dynamic targeting keys are unique, user-friendly labels, created at
6886// the advertiser level in DCM, that can be assigned to ads, creatives,
6887// and placements and used for targeting with Studio dynamic creatives.
6888// Use these labels instead of numeric Campaign Manager IDs (such as
6889// placement IDs) to save time and avoid errors in your dynamic feeds.
6890type DynamicTargetingKey struct {
6891	// Kind: Identifies what kind of resource this is. Value: the fixed
6892	// string "dfareporting#dynamicTargetingKey".
6893	Kind string `json:"kind,omitempty"`
6894
6895	// Name: Name of this dynamic targeting key. This is a required field.
6896	// Must be less than 256 characters long and cannot contain commas. All
6897	// characters are converted to lowercase.
6898	Name string `json:"name,omitempty"`
6899
6900	// ObjectId: ID of the object of this dynamic targeting key. This is a
6901	// required field.
6902	ObjectId int64 `json:"objectId,omitempty,string"`
6903
6904	// ObjectType: Type of the object of this dynamic targeting key. This is
6905	// a required field.
6906	//
6907	// Possible values:
6908	//   "OBJECT_AD"
6909	//   "OBJECT_ADVERTISER"
6910	//   "OBJECT_CREATIVE"
6911	//   "OBJECT_PLACEMENT"
6912	ObjectType string `json:"objectType,omitempty"`
6913
6914	// ServerResponse contains the HTTP response code and headers from the
6915	// server.
6916	googleapi.ServerResponse `json:"-"`
6917
6918	// ForceSendFields is a list of field names (e.g. "Kind") to
6919	// unconditionally include in API requests. By default, fields with
6920	// empty values are omitted from API requests. However, any non-pointer,
6921	// non-interface field appearing in ForceSendFields will be sent to the
6922	// server regardless of whether the field is empty or not. This may be
6923	// used to include empty fields in Patch requests.
6924	ForceSendFields []string `json:"-"`
6925
6926	// NullFields is a list of field names (e.g. "Kind") to include in API
6927	// requests with the JSON null value. By default, fields with empty
6928	// values are omitted from API requests. However, any field with an
6929	// empty value appearing in NullFields will be sent to the server as
6930	// null. It is an error if a field in this list has a non-empty value.
6931	// This may be used to include null fields in Patch requests.
6932	NullFields []string `json:"-"`
6933}
6934
6935func (s *DynamicTargetingKey) MarshalJSON() ([]byte, error) {
6936	type NoMethod DynamicTargetingKey
6937	raw := NoMethod(*s)
6938	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6939}
6940
6941// DynamicTargetingKeysListResponse: Dynamic Targeting Key List Response
6942type DynamicTargetingKeysListResponse struct {
6943	// DynamicTargetingKeys: Dynamic targeting key collection.
6944	DynamicTargetingKeys []*DynamicTargetingKey `json:"dynamicTargetingKeys,omitempty"`
6945
6946	// Kind: Identifies what kind of resource this is. Value: the fixed
6947	// string "dfareporting#dynamicTargetingKeysListResponse".
6948	Kind string `json:"kind,omitempty"`
6949
6950	// ServerResponse contains the HTTP response code and headers from the
6951	// server.
6952	googleapi.ServerResponse `json:"-"`
6953
6954	// ForceSendFields is a list of field names (e.g.
6955	// "DynamicTargetingKeys") to unconditionally include in API requests.
6956	// By default, fields with empty values are omitted from API requests.
6957	// However, any non-pointer, non-interface field appearing in
6958	// ForceSendFields will be sent to the server regardless of whether the
6959	// field is empty or not. This may be used to include empty fields in
6960	// Patch requests.
6961	ForceSendFields []string `json:"-"`
6962
6963	// NullFields is a list of field names (e.g. "DynamicTargetingKeys") to
6964	// include in API requests with the JSON null value. By default, fields
6965	// with empty values are omitted from API requests. However, any field
6966	// with an empty value appearing in NullFields will be sent to the
6967	// server as null. It is an error if a field in this list has a
6968	// non-empty value. This may be used to include null fields in Patch
6969	// requests.
6970	NullFields []string `json:"-"`
6971}
6972
6973func (s *DynamicTargetingKeysListResponse) MarshalJSON() ([]byte, error) {
6974	type NoMethod DynamicTargetingKeysListResponse
6975	raw := NoMethod(*s)
6976	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
6977}
6978
6979// EncryptionInfo: A description of how user IDs are encrypted.
6980type EncryptionInfo struct {
6981	// EncryptionEntityId: The encryption entity ID. This should match the
6982	// encryption configuration for ad serving or Data Transfer.
6983	EncryptionEntityId int64 `json:"encryptionEntityId,omitempty,string"`
6984
6985	// EncryptionEntityType: The encryption entity type. This should match
6986	// the encryption configuration for ad serving or Data Transfer.
6987	//
6988	// Possible values:
6989	//   "ADWORDS_CUSTOMER"
6990	//   "DBM_ADVERTISER"
6991	//   "DBM_PARTNER"
6992	//   "DCM_ACCOUNT"
6993	//   "DCM_ADVERTISER"
6994	//   "DFP_NETWORK_CODE"
6995	//   "ENCRYPTION_ENTITY_TYPE_UNKNOWN"
6996	EncryptionEntityType string `json:"encryptionEntityType,omitempty"`
6997
6998	// EncryptionSource: Describes whether the encrypted cookie was received
6999	// from ad serving (the %m macro) or from Data Transfer.
7000	//
7001	// Possible values:
7002	//   "AD_SERVING"
7003	//   "DATA_TRANSFER"
7004	//   "ENCRYPTION_SCOPE_UNKNOWN"
7005	EncryptionSource string `json:"encryptionSource,omitempty"`
7006
7007	// Kind: Identifies what kind of resource this is. Value: the fixed
7008	// string "dfareporting#encryptionInfo".
7009	Kind string `json:"kind,omitempty"`
7010
7011	// ForceSendFields is a list of field names (e.g. "EncryptionEntityId")
7012	// to unconditionally include in API requests. By default, fields with
7013	// empty values are omitted from API requests. However, any non-pointer,
7014	// non-interface field appearing in ForceSendFields will be sent to the
7015	// server regardless of whether the field is empty or not. This may be
7016	// used to include empty fields in Patch requests.
7017	ForceSendFields []string `json:"-"`
7018
7019	// NullFields is a list of field names (e.g. "EncryptionEntityId") to
7020	// include in API requests with the JSON null value. By default, fields
7021	// with empty values are omitted from API requests. However, any field
7022	// with an empty value appearing in NullFields will be sent to the
7023	// server as null. It is an error if a field in this list has a
7024	// non-empty value. This may be used to include null fields in Patch
7025	// requests.
7026	NullFields []string `json:"-"`
7027}
7028
7029func (s *EncryptionInfo) MarshalJSON() ([]byte, error) {
7030	type NoMethod EncryptionInfo
7031	raw := NoMethod(*s)
7032	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7033}
7034
7035// EventTag: Contains properties of an event tag.
7036type EventTag struct {
7037	// AccountId: Account ID of this event tag. This is a read-only field
7038	// that can be left blank.
7039	AccountId int64 `json:"accountId,omitempty,string"`
7040
7041	// AdvertiserId: Advertiser ID of this event tag. This field or the
7042	// campaignId field is required on insertion.
7043	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7044
7045	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7046	// advertiser. This is a read-only, auto-generated field.
7047	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7048
7049	// CampaignId: Campaign ID of this event tag. This field or the
7050	// advertiserId field is required on insertion.
7051	CampaignId int64 `json:"campaignId,omitempty,string"`
7052
7053	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
7054	// This is a read-only, auto-generated field.
7055	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
7056
7057	// EnabledByDefault: Whether this event tag should be automatically
7058	// enabled for all of the advertiser's campaigns and ads.
7059	EnabledByDefault bool `json:"enabledByDefault,omitempty"`
7060
7061	// ExcludeFromAdxRequests: Whether to remove this event tag from ads
7062	// that are trafficked through Display & Video 360 to Ad Exchange. This
7063	// may be useful if the event tag uses a pixel that is unapproved for Ad
7064	// Exchange bids on one or more networks, such as the Google Display
7065	// Network.
7066	ExcludeFromAdxRequests bool `json:"excludeFromAdxRequests,omitempty"`
7067
7068	// Id: ID of this event tag. This is a read-only, auto-generated field.
7069	Id int64 `json:"id,omitempty,string"`
7070
7071	// Kind: Identifies what kind of resource this is. Value: the fixed
7072	// string "dfareporting#eventTag".
7073	Kind string `json:"kind,omitempty"`
7074
7075	// Name: Name of this event tag. This is a required field and must be
7076	// less than 256 characters long.
7077	Name string `json:"name,omitempty"`
7078
7079	// SiteFilterType: Site filter type for this event tag. If no type is
7080	// specified then the event tag will be applied to all sites.
7081	//
7082	// Possible values:
7083	//   "BLACKLIST"
7084	//   "WHITELIST"
7085	SiteFilterType string `json:"siteFilterType,omitempty"`
7086
7087	// SiteIds: Filter list of site IDs associated with this event tag. The
7088	// siteFilterType determines whether this is a whitelist or blacklist
7089	// filter.
7090	SiteIds googleapi.Int64s `json:"siteIds,omitempty"`
7091
7092	// SslCompliant: Whether this tag is SSL-compliant or not. This is a
7093	// read-only field.
7094	SslCompliant bool `json:"sslCompliant,omitempty"`
7095
7096	// Status: Status of this event tag. Must be ENABLED for this event tag
7097	// to fire. This is a required field.
7098	//
7099	// Possible values:
7100	//   "DISABLED"
7101	//   "ENABLED"
7102	Status string `json:"status,omitempty"`
7103
7104	// SubaccountId: Subaccount ID of this event tag. This is a read-only
7105	// field that can be left blank.
7106	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7107
7108	// Type: Event tag type. Can be used to specify whether to use a
7109	// third-party pixel, a third-party JavaScript URL, or a third-party
7110	// click-through URL for either impression or click tracking. This is a
7111	// required field.
7112	//
7113	// Possible values:
7114	//   "CLICK_THROUGH_EVENT_TAG"
7115	//   "IMPRESSION_IMAGE_EVENT_TAG"
7116	//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
7117	Type string `json:"type,omitempty"`
7118
7119	// Url: Payload URL for this event tag. The URL on a click-through event
7120	// tag should have a landing page URL appended to the end of it. This
7121	// field is required on insertion.
7122	Url string `json:"url,omitempty"`
7123
7124	// UrlEscapeLevels: Number of times the landing page URL should be
7125	// URL-escaped before being appended to the click-through event tag URL.
7126	// Only applies to click-through event tags as specified by the event
7127	// tag type.
7128	UrlEscapeLevels int64 `json:"urlEscapeLevels,omitempty"`
7129
7130	// ServerResponse contains the HTTP response code and headers from the
7131	// server.
7132	googleapi.ServerResponse `json:"-"`
7133
7134	// ForceSendFields is a list of field names (e.g. "AccountId") to
7135	// unconditionally include in API requests. By default, fields with
7136	// empty values are omitted from API requests. However, any non-pointer,
7137	// non-interface field appearing in ForceSendFields will be sent to the
7138	// server regardless of whether the field is empty or not. This may be
7139	// used to include empty fields in Patch requests.
7140	ForceSendFields []string `json:"-"`
7141
7142	// NullFields is a list of field names (e.g. "AccountId") to include in
7143	// API requests with the JSON null value. By default, fields with empty
7144	// values are omitted from API requests. However, any field with an
7145	// empty value appearing in NullFields will be sent to the server as
7146	// null. It is an error if a field in this list has a non-empty value.
7147	// This may be used to include null fields in Patch requests.
7148	NullFields []string `json:"-"`
7149}
7150
7151func (s *EventTag) MarshalJSON() ([]byte, error) {
7152	type NoMethod EventTag
7153	raw := NoMethod(*s)
7154	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7155}
7156
7157// EventTagOverride: Event tag override information.
7158type EventTagOverride struct {
7159	// Enabled: Whether this override is enabled.
7160	Enabled bool `json:"enabled,omitempty"`
7161
7162	// Id: ID of this event tag override. This is a read-only,
7163	// auto-generated field.
7164	Id int64 `json:"id,omitempty,string"`
7165
7166	// ForceSendFields is a list of field names (e.g. "Enabled") to
7167	// unconditionally include in API requests. By default, fields with
7168	// empty values are omitted from API requests. However, any non-pointer,
7169	// non-interface field appearing in ForceSendFields will be sent to the
7170	// server regardless of whether the field is empty or not. This may be
7171	// used to include empty fields in Patch requests.
7172	ForceSendFields []string `json:"-"`
7173
7174	// NullFields is a list of field names (e.g. "Enabled") to include in
7175	// API requests with the JSON null value. By default, fields with empty
7176	// values are omitted from API requests. However, any field with an
7177	// empty value appearing in NullFields will be sent to the server as
7178	// null. It is an error if a field in this list has a non-empty value.
7179	// This may be used to include null fields in Patch requests.
7180	NullFields []string `json:"-"`
7181}
7182
7183func (s *EventTagOverride) MarshalJSON() ([]byte, error) {
7184	type NoMethod EventTagOverride
7185	raw := NoMethod(*s)
7186	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7187}
7188
7189// EventTagsListResponse: Event Tag List Response
7190type EventTagsListResponse struct {
7191	// EventTags: Event tag collection.
7192	EventTags []*EventTag `json:"eventTags,omitempty"`
7193
7194	// Kind: Identifies what kind of resource this is. Value: the fixed
7195	// string "dfareporting#eventTagsListResponse".
7196	Kind string `json:"kind,omitempty"`
7197
7198	// ServerResponse contains the HTTP response code and headers from the
7199	// server.
7200	googleapi.ServerResponse `json:"-"`
7201
7202	// ForceSendFields is a list of field names (e.g. "EventTags") to
7203	// unconditionally include in API requests. By default, fields with
7204	// empty values are omitted from API requests. However, any non-pointer,
7205	// non-interface field appearing in ForceSendFields will be sent to the
7206	// server regardless of whether the field is empty or not. This may be
7207	// used to include empty fields in Patch requests.
7208	ForceSendFields []string `json:"-"`
7209
7210	// NullFields is a list of field names (e.g. "EventTags") to include in
7211	// API requests with the JSON null value. By default, fields with empty
7212	// values are omitted from API requests. However, any field with an
7213	// empty value appearing in NullFields will be sent to the server as
7214	// null. It is an error if a field in this list has a non-empty value.
7215	// This may be used to include null fields in Patch requests.
7216	NullFields []string `json:"-"`
7217}
7218
7219func (s *EventTagsListResponse) MarshalJSON() ([]byte, error) {
7220	type NoMethod EventTagsListResponse
7221	raw := NoMethod(*s)
7222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7223}
7224
7225// File: Represents a File resource. A file contains the metadata for a
7226// report run. It shows the status of the run and holds the URLs to the
7227// generated report data if the run is finished and the status is
7228// "REPORT_AVAILABLE".
7229type File struct {
7230	// DateRange: The date range for which the file has report data. The
7231	// date range will always be the absolute date range for which the
7232	// report is run.
7233	DateRange *DateRange `json:"dateRange,omitempty"`
7234
7235	// Etag: The eTag of this response for caching purposes.
7236	Etag string `json:"etag,omitempty"`
7237
7238	// FileName: The filename of the file.
7239	FileName string `json:"fileName,omitempty"`
7240
7241	// Format: The output format of the report. Only available once the file
7242	// is available.
7243	//
7244	// Possible values:
7245	//   "CSV"
7246	//   "EXCEL"
7247	Format string `json:"format,omitempty"`
7248
7249	// Id: The unique ID of this report file.
7250	Id int64 `json:"id,omitempty,string"`
7251
7252	// Kind: The kind of resource this is, in this case dfareporting#file.
7253	Kind string `json:"kind,omitempty"`
7254
7255	// LastModifiedTime: The timestamp in milliseconds since epoch when this
7256	// file was last modified.
7257	LastModifiedTime int64 `json:"lastModifiedTime,omitempty,string"`
7258
7259	// ReportId: The ID of the report this file was generated from.
7260	ReportId int64 `json:"reportId,omitempty,string"`
7261
7262	// Status: The status of the report file.
7263	//
7264	// Possible values:
7265	//   "CANCELLED"
7266	//   "FAILED"
7267	//   "PROCESSING"
7268	//   "REPORT_AVAILABLE"
7269	Status string `json:"status,omitempty"`
7270
7271	// Urls: The URLs where the completed report file can be downloaded.
7272	Urls *FileUrls `json:"urls,omitempty"`
7273
7274	// ServerResponse contains the HTTP response code and headers from the
7275	// server.
7276	googleapi.ServerResponse `json:"-"`
7277
7278	// ForceSendFields is a list of field names (e.g. "DateRange") to
7279	// unconditionally include in API requests. By default, fields with
7280	// empty values are omitted from API requests. However, any non-pointer,
7281	// non-interface field appearing in ForceSendFields will be sent to the
7282	// server regardless of whether the field is empty or not. This may be
7283	// used to include empty fields in Patch requests.
7284	ForceSendFields []string `json:"-"`
7285
7286	// NullFields is a list of field names (e.g. "DateRange") to include in
7287	// API requests with the JSON null value. By default, fields with empty
7288	// values are omitted from API requests. However, any field with an
7289	// empty value appearing in NullFields will be sent to the server as
7290	// null. It is an error if a field in this list has a non-empty value.
7291	// This may be used to include null fields in Patch requests.
7292	NullFields []string `json:"-"`
7293}
7294
7295func (s *File) MarshalJSON() ([]byte, error) {
7296	type NoMethod File
7297	raw := NoMethod(*s)
7298	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7299}
7300
7301// FileUrls: The URLs where the completed report file can be downloaded.
7302type FileUrls struct {
7303	// ApiUrl: The URL for downloading the report data through the API.
7304	ApiUrl string `json:"apiUrl,omitempty"`
7305
7306	// BrowserUrl: The URL for downloading the report data through a
7307	// browser.
7308	BrowserUrl string `json:"browserUrl,omitempty"`
7309
7310	// ForceSendFields is a list of field names (e.g. "ApiUrl") to
7311	// unconditionally include in API requests. By default, fields with
7312	// empty values are omitted from API requests. However, any non-pointer,
7313	// non-interface field appearing in ForceSendFields will be sent to the
7314	// server regardless of whether the field is empty or not. This may be
7315	// used to include empty fields in Patch requests.
7316	ForceSendFields []string `json:"-"`
7317
7318	// NullFields is a list of field names (e.g. "ApiUrl") to include in API
7319	// requests with the JSON null value. By default, fields with empty
7320	// values are omitted from API requests. However, any field with an
7321	// empty value appearing in NullFields will be sent to the server as
7322	// null. It is an error if a field in this list has a non-empty value.
7323	// This may be used to include null fields in Patch requests.
7324	NullFields []string `json:"-"`
7325}
7326
7327func (s *FileUrls) MarshalJSON() ([]byte, error) {
7328	type NoMethod FileUrls
7329	raw := NoMethod(*s)
7330	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7331}
7332
7333// FileList: Represents the list of File resources.
7334type FileList struct {
7335	// Etag: The eTag of this response for caching purposes.
7336	Etag string `json:"etag,omitempty"`
7337
7338	// Items: The files returned in this response.
7339	Items []*File `json:"items,omitempty"`
7340
7341	// Kind: The kind of list this is, in this case dfareporting#fileList.
7342	Kind string `json:"kind,omitempty"`
7343
7344	// NextPageToken: Continuation token used to page through files. To
7345	// retrieve the next page of results, set the next request's "pageToken"
7346	// to the value of this field. The page token is only valid for a
7347	// limited amount of time and should not be persisted.
7348	NextPageToken string `json:"nextPageToken,omitempty"`
7349
7350	// ServerResponse contains the HTTP response code and headers from the
7351	// server.
7352	googleapi.ServerResponse `json:"-"`
7353
7354	// ForceSendFields is a list of field names (e.g. "Etag") to
7355	// unconditionally include in API requests. By default, fields with
7356	// empty values are omitted from API requests. However, any non-pointer,
7357	// non-interface field appearing in ForceSendFields will be sent to the
7358	// server regardless of whether the field is empty or not. This may be
7359	// used to include empty fields in Patch requests.
7360	ForceSendFields []string `json:"-"`
7361
7362	// NullFields is a list of field names (e.g. "Etag") to include in API
7363	// requests with the JSON null value. By default, fields with empty
7364	// values are omitted from API requests. However, any field with an
7365	// empty value appearing in NullFields will be sent to the server as
7366	// null. It is an error if a field in this list has a non-empty value.
7367	// This may be used to include null fields in Patch requests.
7368	NullFields []string `json:"-"`
7369}
7370
7371func (s *FileList) MarshalJSON() ([]byte, error) {
7372	type NoMethod FileList
7373	raw := NoMethod(*s)
7374	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7375}
7376
7377// Flight: Flight
7378type Flight struct {
7379	// EndDate: Inventory item flight end date.
7380	EndDate string `json:"endDate,omitempty"`
7381
7382	// RateOrCost: Rate or cost of this flight.
7383	RateOrCost int64 `json:"rateOrCost,omitempty,string"`
7384
7385	// StartDate: Inventory item flight start date.
7386	StartDate string `json:"startDate,omitempty"`
7387
7388	// Units: Units of this flight.
7389	Units int64 `json:"units,omitempty,string"`
7390
7391	// ForceSendFields is a list of field names (e.g. "EndDate") to
7392	// unconditionally include in API requests. By default, fields with
7393	// empty values are omitted from API requests. However, any non-pointer,
7394	// non-interface field appearing in ForceSendFields will be sent to the
7395	// server regardless of whether the field is empty or not. This may be
7396	// used to include empty fields in Patch requests.
7397	ForceSendFields []string `json:"-"`
7398
7399	// NullFields is a list of field names (e.g. "EndDate") to include in
7400	// API requests with the JSON null value. By default, fields with empty
7401	// values are omitted from API requests. However, any field with an
7402	// empty value appearing in NullFields will be sent to the server as
7403	// null. It is an error if a field in this list has a non-empty value.
7404	// This may be used to include null fields in Patch requests.
7405	NullFields []string `json:"-"`
7406}
7407
7408func (s *Flight) MarshalJSON() ([]byte, error) {
7409	type NoMethod Flight
7410	raw := NoMethod(*s)
7411	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7412}
7413
7414// FloodlightActivitiesGenerateTagResponse: Floodlight Activity
7415// GenerateTag Response
7416type FloodlightActivitiesGenerateTagResponse struct {
7417	// FloodlightActivityTag: Generated tag for this Floodlight activity.
7418	// For global site tags, this is the event snippet.
7419	FloodlightActivityTag string `json:"floodlightActivityTag,omitempty"`
7420
7421	// GlobalSiteTagGlobalSnippet: The global snippet section of a global
7422	// site tag. The global site tag sets new cookies on your domain, which
7423	// will store a unique identifier for a user or the ad click that
7424	// brought the user to your site. Learn more.
7425	GlobalSiteTagGlobalSnippet string `json:"globalSiteTagGlobalSnippet,omitempty"`
7426
7427	// Kind: Identifies what kind of resource this is. Value: the fixed
7428	// string "dfareporting#floodlightActivitiesGenerateTagResponse".
7429	Kind string `json:"kind,omitempty"`
7430
7431	// ServerResponse contains the HTTP response code and headers from the
7432	// server.
7433	googleapi.ServerResponse `json:"-"`
7434
7435	// ForceSendFields is a list of field names (e.g.
7436	// "FloodlightActivityTag") to unconditionally include in API requests.
7437	// By default, fields with empty values are omitted from API requests.
7438	// However, any non-pointer, non-interface field appearing in
7439	// ForceSendFields will be sent to the server regardless of whether the
7440	// field is empty or not. This may be used to include empty fields in
7441	// Patch requests.
7442	ForceSendFields []string `json:"-"`
7443
7444	// NullFields is a list of field names (e.g. "FloodlightActivityTag") to
7445	// include in API requests with the JSON null value. By default, fields
7446	// with empty values are omitted from API requests. However, any field
7447	// with an empty value appearing in NullFields will be sent to the
7448	// server as null. It is an error if a field in this list has a
7449	// non-empty value. This may be used to include null fields in Patch
7450	// requests.
7451	NullFields []string `json:"-"`
7452}
7453
7454func (s *FloodlightActivitiesGenerateTagResponse) MarshalJSON() ([]byte, error) {
7455	type NoMethod FloodlightActivitiesGenerateTagResponse
7456	raw := NoMethod(*s)
7457	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7458}
7459
7460// FloodlightActivitiesListResponse: Floodlight Activity List Response
7461type FloodlightActivitiesListResponse struct {
7462	// FloodlightActivities: Floodlight activity collection.
7463	FloodlightActivities []*FloodlightActivity `json:"floodlightActivities,omitempty"`
7464
7465	// Kind: Identifies what kind of resource this is. Value: the fixed
7466	// string "dfareporting#floodlightActivitiesListResponse".
7467	Kind string `json:"kind,omitempty"`
7468
7469	// NextPageToken: Pagination token to be used for the next list
7470	// operation.
7471	NextPageToken string `json:"nextPageToken,omitempty"`
7472
7473	// ServerResponse contains the HTTP response code and headers from the
7474	// server.
7475	googleapi.ServerResponse `json:"-"`
7476
7477	// ForceSendFields is a list of field names (e.g.
7478	// "FloodlightActivities") to unconditionally include in API requests.
7479	// By default, fields with empty values are omitted from API requests.
7480	// However, any non-pointer, non-interface field appearing in
7481	// ForceSendFields will be sent to the server regardless of whether the
7482	// field is empty or not. This may be used to include empty fields in
7483	// Patch requests.
7484	ForceSendFields []string `json:"-"`
7485
7486	// NullFields is a list of field names (e.g. "FloodlightActivities") to
7487	// include in API requests with the JSON null value. By default, fields
7488	// with empty values are omitted from API requests. However, any field
7489	// with an empty value appearing in NullFields will be sent to the
7490	// server as null. It is an error if a field in this list has a
7491	// non-empty value. This may be used to include null fields in Patch
7492	// requests.
7493	NullFields []string `json:"-"`
7494}
7495
7496func (s *FloodlightActivitiesListResponse) MarshalJSON() ([]byte, error) {
7497	type NoMethod FloodlightActivitiesListResponse
7498	raw := NoMethod(*s)
7499	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7500}
7501
7502// FloodlightActivity: Contains properties of a Floodlight activity.
7503type FloodlightActivity struct {
7504	// AccountId: Account ID of this floodlight activity. This is a
7505	// read-only field that can be left blank.
7506	AccountId int64 `json:"accountId,omitempty,string"`
7507
7508	// AdvertiserId: Advertiser ID of this floodlight activity. If this
7509	// field is left blank, the value will be copied over either from the
7510	// activity group's advertiser or the existing activity's advertiser.
7511	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7512
7513	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7514	// advertiser. This is a read-only, auto-generated field.
7515	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7516
7517	// CacheBustingType: Code type used for cache busting in the generated
7518	// tag. Applicable only when floodlightActivityGroupType is COUNTER and
7519	// countingMethod is STANDARD_COUNTING or UNIQUE_COUNTING.
7520	//
7521	// Possible values:
7522	//   "ACTIVE_SERVER_PAGE"
7523	//   "COLD_FUSION"
7524	//   "JAVASCRIPT"
7525	//   "JSP"
7526	//   "PHP"
7527	CacheBustingType string `json:"cacheBustingType,omitempty"`
7528
7529	// CountingMethod: Counting method for conversions for this floodlight
7530	// activity. This is a required field.
7531	//
7532	// Possible values:
7533	//   "ITEMS_SOLD_COUNTING"
7534	//   "SESSION_COUNTING"
7535	//   "STANDARD_COUNTING"
7536	//   "TRANSACTIONS_COUNTING"
7537	//   "UNIQUE_COUNTING"
7538	CountingMethod string `json:"countingMethod,omitempty"`
7539
7540	// DefaultTags: Dynamic floodlight tags.
7541	DefaultTags []*FloodlightActivityDynamicTag `json:"defaultTags,omitempty"`
7542
7543	// ExpectedUrl: URL where this tag will be deployed. If specified, must
7544	// be less than 256 characters long.
7545	ExpectedUrl string `json:"expectedUrl,omitempty"`
7546
7547	// FloodlightActivityGroupId: Floodlight activity group ID of this
7548	// floodlight activity. This is a required field.
7549	FloodlightActivityGroupId int64 `json:"floodlightActivityGroupId,omitempty,string"`
7550
7551	// FloodlightActivityGroupName: Name of the associated floodlight
7552	// activity group. This is a read-only field.
7553	FloodlightActivityGroupName string `json:"floodlightActivityGroupName,omitempty"`
7554
7555	// FloodlightActivityGroupTagString: Tag string of the associated
7556	// floodlight activity group. This is a read-only field.
7557	FloodlightActivityGroupTagString string `json:"floodlightActivityGroupTagString,omitempty"`
7558
7559	// FloodlightActivityGroupType: Type of the associated floodlight
7560	// activity group. This is a read-only field.
7561	//
7562	// Possible values:
7563	//   "COUNTER"
7564	//   "SALE"
7565	FloodlightActivityGroupType string `json:"floodlightActivityGroupType,omitempty"`
7566
7567	// FloodlightConfigurationId: Floodlight configuration ID of this
7568	// floodlight activity. If this field is left blank, the value will be
7569	// copied over either from the activity group's floodlight configuration
7570	// or from the existing activity's floodlight configuration.
7571	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7572
7573	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7574	// of the floodlight configuration. This is a read-only, auto-generated
7575	// field.
7576	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7577
7578	// FloodlightTagType: The type of Floodlight tag this activity will
7579	// generate. This is a required field.
7580	//
7581	// Possible values:
7582	//   "GLOBAL_SITE_TAG"
7583	//   "IFRAME"
7584	//   "IMAGE"
7585	FloodlightTagType string `json:"floodlightTagType,omitempty"`
7586
7587	// Hidden: Whether this activity is archived.
7588	Hidden bool `json:"hidden,omitempty"`
7589
7590	// Id: ID of this floodlight activity. This is a read-only,
7591	// auto-generated field.
7592	Id int64 `json:"id,omitempty,string"`
7593
7594	// IdDimensionValue: Dimension value for the ID of this floodlight
7595	// activity. This is a read-only, auto-generated field.
7596	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7597
7598	// Kind: Identifies what kind of resource this is. Value: the fixed
7599	// string "dfareporting#floodlightActivity".
7600	Kind string `json:"kind,omitempty"`
7601
7602	// Name: Name of this floodlight activity. This is a required field.
7603	// Must be less than 129 characters long and cannot contain quotes.
7604	Name string `json:"name,omitempty"`
7605
7606	// Notes: General notes or implementation instructions for the tag.
7607	Notes string `json:"notes,omitempty"`
7608
7609	// PublisherTags: Publisher dynamic floodlight tags.
7610	PublisherTags []*FloodlightActivityPublisherDynamicTag `json:"publisherTags,omitempty"`
7611
7612	// Secure: Whether this tag should use SSL.
7613	Secure bool `json:"secure,omitempty"`
7614
7615	// SslCompliant: Whether the floodlight activity is SSL-compliant. This
7616	// is a read-only field, its value detected by the system from the
7617	// floodlight tags.
7618	SslCompliant bool `json:"sslCompliant,omitempty"`
7619
7620	// SslRequired: Whether this floodlight activity must be SSL-compliant.
7621	SslRequired bool `json:"sslRequired,omitempty"`
7622
7623	// SubaccountId: Subaccount ID of this floodlight activity. This is a
7624	// read-only field that can be left blank.
7625	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7626
7627	// TagFormat: Tag format type for the floodlight activity. If left
7628	// blank, the tag format will default to HTML.
7629	//
7630	// Possible values:
7631	//   "HTML"
7632	//   "XHTML"
7633	TagFormat string `json:"tagFormat,omitempty"`
7634
7635	// TagString: Value of the cat= parameter in the floodlight tag, which
7636	// the ad servers use to identify the activity. This is optional: if
7637	// empty, a new tag string will be generated for you. This string must
7638	// be 1 to 8 characters long, with valid characters being
7639	// [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among
7640	// activities of the same activity group. This field is read-only after
7641	// insertion.
7642	TagString string `json:"tagString,omitempty"`
7643
7644	// UserDefinedVariableTypes: List of the user-defined variables used by
7645	// this conversion tag. These map to the "u[1-100]=" in the tags. Each
7646	// of these can have a user defined type.
7647	// Acceptable values are U1 to U100, inclusive.
7648	//
7649	// Possible values:
7650	//   "U1"
7651	//   "U10"
7652	//   "U100"
7653	//   "U11"
7654	//   "U12"
7655	//   "U13"
7656	//   "U14"
7657	//   "U15"
7658	//   "U16"
7659	//   "U17"
7660	//   "U18"
7661	//   "U19"
7662	//   "U2"
7663	//   "U20"
7664	//   "U21"
7665	//   "U22"
7666	//   "U23"
7667	//   "U24"
7668	//   "U25"
7669	//   "U26"
7670	//   "U27"
7671	//   "U28"
7672	//   "U29"
7673	//   "U3"
7674	//   "U30"
7675	//   "U31"
7676	//   "U32"
7677	//   "U33"
7678	//   "U34"
7679	//   "U35"
7680	//   "U36"
7681	//   "U37"
7682	//   "U38"
7683	//   "U39"
7684	//   "U4"
7685	//   "U40"
7686	//   "U41"
7687	//   "U42"
7688	//   "U43"
7689	//   "U44"
7690	//   "U45"
7691	//   "U46"
7692	//   "U47"
7693	//   "U48"
7694	//   "U49"
7695	//   "U5"
7696	//   "U50"
7697	//   "U51"
7698	//   "U52"
7699	//   "U53"
7700	//   "U54"
7701	//   "U55"
7702	//   "U56"
7703	//   "U57"
7704	//   "U58"
7705	//   "U59"
7706	//   "U6"
7707	//   "U60"
7708	//   "U61"
7709	//   "U62"
7710	//   "U63"
7711	//   "U64"
7712	//   "U65"
7713	//   "U66"
7714	//   "U67"
7715	//   "U68"
7716	//   "U69"
7717	//   "U7"
7718	//   "U70"
7719	//   "U71"
7720	//   "U72"
7721	//   "U73"
7722	//   "U74"
7723	//   "U75"
7724	//   "U76"
7725	//   "U77"
7726	//   "U78"
7727	//   "U79"
7728	//   "U8"
7729	//   "U80"
7730	//   "U81"
7731	//   "U82"
7732	//   "U83"
7733	//   "U84"
7734	//   "U85"
7735	//   "U86"
7736	//   "U87"
7737	//   "U88"
7738	//   "U89"
7739	//   "U9"
7740	//   "U90"
7741	//   "U91"
7742	//   "U92"
7743	//   "U93"
7744	//   "U94"
7745	//   "U95"
7746	//   "U96"
7747	//   "U97"
7748	//   "U98"
7749	//   "U99"
7750	UserDefinedVariableTypes []string `json:"userDefinedVariableTypes,omitempty"`
7751
7752	// ServerResponse contains the HTTP response code and headers from the
7753	// server.
7754	googleapi.ServerResponse `json:"-"`
7755
7756	// ForceSendFields is a list of field names (e.g. "AccountId") to
7757	// unconditionally include in API requests. By default, fields with
7758	// empty values are omitted from API requests. However, any non-pointer,
7759	// non-interface field appearing in ForceSendFields will be sent to the
7760	// server regardless of whether the field is empty or not. This may be
7761	// used to include empty fields in Patch requests.
7762	ForceSendFields []string `json:"-"`
7763
7764	// NullFields is a list of field names (e.g. "AccountId") to include in
7765	// API requests with the JSON null value. By default, fields with empty
7766	// values are omitted from API requests. However, any field with an
7767	// empty value appearing in NullFields will be sent to the server as
7768	// null. It is an error if a field in this list has a non-empty value.
7769	// This may be used to include null fields in Patch requests.
7770	NullFields []string `json:"-"`
7771}
7772
7773func (s *FloodlightActivity) MarshalJSON() ([]byte, error) {
7774	type NoMethod FloodlightActivity
7775	raw := NoMethod(*s)
7776	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7777}
7778
7779// FloodlightActivityDynamicTag: Dynamic Tag
7780type FloodlightActivityDynamicTag struct {
7781	// Id: ID of this dynamic tag. This is a read-only, auto-generated
7782	// field.
7783	Id int64 `json:"id,omitempty,string"`
7784
7785	// Name: Name of this tag.
7786	Name string `json:"name,omitempty"`
7787
7788	// Tag: Tag code.
7789	Tag string `json:"tag,omitempty"`
7790
7791	// ForceSendFields is a list of field names (e.g. "Id") to
7792	// unconditionally include in API requests. By default, fields with
7793	// empty values are omitted from API requests. However, any non-pointer,
7794	// non-interface field appearing in ForceSendFields will be sent to the
7795	// server regardless of whether the field is empty or not. This may be
7796	// used to include empty fields in Patch requests.
7797	ForceSendFields []string `json:"-"`
7798
7799	// NullFields is a list of field names (e.g. "Id") to include in API
7800	// requests with the JSON null value. By default, fields with empty
7801	// values are omitted from API requests. However, any field with an
7802	// empty value appearing in NullFields will be sent to the server as
7803	// null. It is an error if a field in this list has a non-empty value.
7804	// This may be used to include null fields in Patch requests.
7805	NullFields []string `json:"-"`
7806}
7807
7808func (s *FloodlightActivityDynamicTag) MarshalJSON() ([]byte, error) {
7809	type NoMethod FloodlightActivityDynamicTag
7810	raw := NoMethod(*s)
7811	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7812}
7813
7814// FloodlightActivityGroup: Contains properties of a Floodlight activity
7815// group.
7816type FloodlightActivityGroup struct {
7817	// AccountId: Account ID of this floodlight activity group. This is a
7818	// read-only field that can be left blank.
7819	AccountId int64 `json:"accountId,omitempty,string"`
7820
7821	// AdvertiserId: Advertiser ID of this floodlight activity group. If
7822	// this field is left blank, the value will be copied over either from
7823	// the floodlight configuration's advertiser or from the existing
7824	// activity group's advertiser.
7825	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
7826
7827	// AdvertiserIdDimensionValue: Dimension value for the ID of the
7828	// advertiser. This is a read-only, auto-generated field.
7829	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
7830
7831	// FloodlightConfigurationId: Floodlight configuration ID of this
7832	// floodlight activity group. This is a required field.
7833	FloodlightConfigurationId int64 `json:"floodlightConfigurationId,omitempty,string"`
7834
7835	// FloodlightConfigurationIdDimensionValue: Dimension value for the ID
7836	// of the floodlight configuration. This is a read-only, auto-generated
7837	// field.
7838	FloodlightConfigurationIdDimensionValue *DimensionValue `json:"floodlightConfigurationIdDimensionValue,omitempty"`
7839
7840	// Id: ID of this floodlight activity group. This is a read-only,
7841	// auto-generated field.
7842	Id int64 `json:"id,omitempty,string"`
7843
7844	// IdDimensionValue: Dimension value for the ID of this floodlight
7845	// activity group. This is a read-only, auto-generated field.
7846	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
7847
7848	// Kind: Identifies what kind of resource this is. Value: the fixed
7849	// string "dfareporting#floodlightActivityGroup".
7850	Kind string `json:"kind,omitempty"`
7851
7852	// Name: Name of this floodlight activity group. This is a required
7853	// field. Must be less than 65 characters long and cannot contain
7854	// quotes.
7855	Name string `json:"name,omitempty"`
7856
7857	// SubaccountId: Subaccount ID of this floodlight activity group. This
7858	// is a read-only field that can be left blank.
7859	SubaccountId int64 `json:"subaccountId,omitempty,string"`
7860
7861	// TagString: Value of the type= parameter in the floodlight tag, which
7862	// the ad servers use to identify the activity group that the activity
7863	// belongs to. This is optional: if empty, a new tag string will be
7864	// generated for you. This string must be 1 to 8 characters long, with
7865	// valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must
7866	// also be unique among activity groups of the same floodlight
7867	// configuration. This field is read-only after insertion.
7868	TagString string `json:"tagString,omitempty"`
7869
7870	// Type: Type of the floodlight activity group. This is a required field
7871	// that is read-only after insertion.
7872	//
7873	// Possible values:
7874	//   "COUNTER"
7875	//   "SALE"
7876	Type string `json:"type,omitempty"`
7877
7878	// ServerResponse contains the HTTP response code and headers from the
7879	// server.
7880	googleapi.ServerResponse `json:"-"`
7881
7882	// ForceSendFields is a list of field names (e.g. "AccountId") to
7883	// unconditionally include in API requests. By default, fields with
7884	// empty values are omitted from API requests. However, any non-pointer,
7885	// non-interface field appearing in ForceSendFields will be sent to the
7886	// server regardless of whether the field is empty or not. This may be
7887	// used to include empty fields in Patch requests.
7888	ForceSendFields []string `json:"-"`
7889
7890	// NullFields is a list of field names (e.g. "AccountId") to include in
7891	// API requests with the JSON null value. By default, fields with empty
7892	// values are omitted from API requests. However, any field with an
7893	// empty value appearing in NullFields will be sent to the server as
7894	// null. It is an error if a field in this list has a non-empty value.
7895	// This may be used to include null fields in Patch requests.
7896	NullFields []string `json:"-"`
7897}
7898
7899func (s *FloodlightActivityGroup) MarshalJSON() ([]byte, error) {
7900	type NoMethod FloodlightActivityGroup
7901	raw := NoMethod(*s)
7902	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7903}
7904
7905// FloodlightActivityGroupsListResponse: Floodlight Activity Group List
7906// Response
7907type FloodlightActivityGroupsListResponse struct {
7908	// FloodlightActivityGroups: Floodlight activity group collection.
7909	FloodlightActivityGroups []*FloodlightActivityGroup `json:"floodlightActivityGroups,omitempty"`
7910
7911	// Kind: Identifies what kind of resource this is. Value: the fixed
7912	// string "dfareporting#floodlightActivityGroupsListResponse".
7913	Kind string `json:"kind,omitempty"`
7914
7915	// NextPageToken: Pagination token to be used for the next list
7916	// operation.
7917	NextPageToken string `json:"nextPageToken,omitempty"`
7918
7919	// ServerResponse contains the HTTP response code and headers from the
7920	// server.
7921	googleapi.ServerResponse `json:"-"`
7922
7923	// ForceSendFields is a list of field names (e.g.
7924	// "FloodlightActivityGroups") to unconditionally include in API
7925	// requests. By default, fields with empty values are omitted from API
7926	// requests. However, any non-pointer, non-interface field appearing in
7927	// ForceSendFields will be sent to the server regardless of whether the
7928	// field is empty or not. This may be used to include empty fields in
7929	// Patch requests.
7930	ForceSendFields []string `json:"-"`
7931
7932	// NullFields is a list of field names (e.g. "FloodlightActivityGroups")
7933	// to include in API requests with the JSON null value. By default,
7934	// fields with empty values are omitted from API requests. However, any
7935	// field with an empty value appearing in NullFields will be sent to the
7936	// server as null. It is an error if a field in this list has a
7937	// non-empty value. This may be used to include null fields in Patch
7938	// requests.
7939	NullFields []string `json:"-"`
7940}
7941
7942func (s *FloodlightActivityGroupsListResponse) MarshalJSON() ([]byte, error) {
7943	type NoMethod FloodlightActivityGroupsListResponse
7944	raw := NoMethod(*s)
7945	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7946}
7947
7948// FloodlightActivityPublisherDynamicTag: Publisher Dynamic Tag
7949type FloodlightActivityPublisherDynamicTag struct {
7950	// ClickThrough: Whether this tag is applicable only for click-throughs.
7951	ClickThrough bool `json:"clickThrough,omitempty"`
7952
7953	// DirectorySiteId: Directory site ID of this dynamic tag. This is a
7954	// write-only field that can be used as an alternative to the siteId
7955	// field. When this resource is retrieved, only the siteId field will be
7956	// populated.
7957	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
7958
7959	// DynamicTag: Dynamic floodlight tag.
7960	DynamicTag *FloodlightActivityDynamicTag `json:"dynamicTag,omitempty"`
7961
7962	// SiteId: Site ID of this dynamic tag.
7963	SiteId int64 `json:"siteId,omitempty,string"`
7964
7965	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
7966	// a read-only, auto-generated field.
7967	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
7968
7969	// ViewThrough: Whether this tag is applicable only for view-throughs.
7970	ViewThrough bool `json:"viewThrough,omitempty"`
7971
7972	// ForceSendFields is a list of field names (e.g. "ClickThrough") to
7973	// unconditionally include in API requests. By default, fields with
7974	// empty values are omitted from API requests. However, any non-pointer,
7975	// non-interface field appearing in ForceSendFields will be sent to the
7976	// server regardless of whether the field is empty or not. This may be
7977	// used to include empty fields in Patch requests.
7978	ForceSendFields []string `json:"-"`
7979
7980	// NullFields is a list of field names (e.g. "ClickThrough") to include
7981	// in API requests with the JSON null value. By default, fields with
7982	// empty values are omitted from API requests. However, any field with
7983	// an empty value appearing in NullFields will be sent to the server as
7984	// null. It is an error if a field in this list has a non-empty value.
7985	// This may be used to include null fields in Patch requests.
7986	NullFields []string `json:"-"`
7987}
7988
7989func (s *FloodlightActivityPublisherDynamicTag) MarshalJSON() ([]byte, error) {
7990	type NoMethod FloodlightActivityPublisherDynamicTag
7991	raw := NoMethod(*s)
7992	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
7993}
7994
7995// FloodlightConfiguration: Contains properties of a Floodlight
7996// configuration.
7997type FloodlightConfiguration struct {
7998	// AccountId: Account ID of this floodlight configuration. This is a
7999	// read-only field that can be left blank.
8000	AccountId int64 `json:"accountId,omitempty,string"`
8001
8002	// AdvertiserId: Advertiser ID of the parent advertiser of this
8003	// floodlight configuration.
8004	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8005
8006	// AdvertiserIdDimensionValue: Dimension value for the ID of the
8007	// advertiser. This is a read-only, auto-generated field.
8008	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
8009
8010	// AnalyticsDataSharingEnabled: Whether advertiser data is shared with
8011	// Google Analytics.
8012	AnalyticsDataSharingEnabled bool `json:"analyticsDataSharingEnabled,omitempty"`
8013
8014	// ExposureToConversionEnabled: Whether the exposure-to-conversion
8015	// report is enabled. This report shows detailed pathway information on
8016	// up to 10 of the most recent ad exposures seen by a user before
8017	// converting.
8018	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
8019
8020	// FirstDayOfWeek: Day that will be counted as the first day of the week
8021	// in reports. This is a required field.
8022	//
8023	// Possible values:
8024	//   "MONDAY"
8025	//   "SUNDAY"
8026	FirstDayOfWeek string `json:"firstDayOfWeek,omitempty"`
8027
8028	// Id: ID of this floodlight configuration. This is a read-only,
8029	// auto-generated field.
8030	Id int64 `json:"id,omitempty,string"`
8031
8032	// IdDimensionValue: Dimension value for the ID of this floodlight
8033	// configuration. This is a read-only, auto-generated field.
8034	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
8035
8036	// InAppAttributionTrackingEnabled: Whether in-app attribution tracking
8037	// is enabled.
8038	InAppAttributionTrackingEnabled bool `json:"inAppAttributionTrackingEnabled,omitempty"`
8039
8040	// Kind: Identifies what kind of resource this is. Value: the fixed
8041	// string "dfareporting#floodlightConfiguration".
8042	Kind string `json:"kind,omitempty"`
8043
8044	// LookbackConfiguration: Lookback window settings for this floodlight
8045	// configuration.
8046	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
8047
8048	// NaturalSearchConversionAttributionOption: Types of attribution
8049	// options for natural search conversions.
8050	//
8051	// Possible values:
8052	//   "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
8053	//   "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION"
8054	//   "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION"
8055	NaturalSearchConversionAttributionOption string `json:"naturalSearchConversionAttributionOption,omitempty"`
8056
8057	// OmnitureSettings: Settings for Campaign Manager Omniture integration.
8058	OmnitureSettings *OmnitureSettings `json:"omnitureSettings,omitempty"`
8059
8060	// SubaccountId: Subaccount ID of this floodlight configuration. This is
8061	// a read-only field that can be left blank.
8062	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8063
8064	// TagSettings: Configuration settings for dynamic and image floodlight
8065	// tags.
8066	TagSettings *TagSettings `json:"tagSettings,omitempty"`
8067
8068	// ThirdPartyAuthenticationTokens: List of third-party authentication
8069	// tokens enabled for this configuration.
8070	ThirdPartyAuthenticationTokens []*ThirdPartyAuthenticationToken `json:"thirdPartyAuthenticationTokens,omitempty"`
8071
8072	// UserDefinedVariableConfigurations: List of user defined variables
8073	// enabled for this configuration.
8074	UserDefinedVariableConfigurations []*UserDefinedVariableConfiguration `json:"userDefinedVariableConfigurations,omitempty"`
8075
8076	// ServerResponse contains the HTTP response code and headers from the
8077	// server.
8078	googleapi.ServerResponse `json:"-"`
8079
8080	// ForceSendFields is a list of field names (e.g. "AccountId") to
8081	// unconditionally include in API requests. By default, fields with
8082	// empty values are omitted from API requests. However, any non-pointer,
8083	// non-interface field appearing in ForceSendFields will be sent to the
8084	// server regardless of whether the field is empty or not. This may be
8085	// used to include empty fields in Patch requests.
8086	ForceSendFields []string `json:"-"`
8087
8088	// NullFields is a list of field names (e.g. "AccountId") to include in
8089	// API requests with the JSON null value. By default, fields with empty
8090	// values are omitted from API requests. However, any field with an
8091	// empty value appearing in NullFields will be sent to the server as
8092	// null. It is an error if a field in this list has a non-empty value.
8093	// This may be used to include null fields in Patch requests.
8094	NullFields []string `json:"-"`
8095}
8096
8097func (s *FloodlightConfiguration) MarshalJSON() ([]byte, error) {
8098	type NoMethod FloodlightConfiguration
8099	raw := NoMethod(*s)
8100	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8101}
8102
8103// FloodlightConfigurationsListResponse: Floodlight Configuration List
8104// Response
8105type FloodlightConfigurationsListResponse struct {
8106	// FloodlightConfigurations: Floodlight configuration collection.
8107	FloodlightConfigurations []*FloodlightConfiguration `json:"floodlightConfigurations,omitempty"`
8108
8109	// Kind: Identifies what kind of resource this is. Value: the fixed
8110	// string "dfareporting#floodlightConfigurationsListResponse".
8111	Kind string `json:"kind,omitempty"`
8112
8113	// ServerResponse contains the HTTP response code and headers from the
8114	// server.
8115	googleapi.ServerResponse `json:"-"`
8116
8117	// ForceSendFields is a list of field names (e.g.
8118	// "FloodlightConfigurations") to unconditionally include in API
8119	// requests. By default, fields with empty values are omitted from API
8120	// requests. However, any non-pointer, non-interface field appearing in
8121	// ForceSendFields will be sent to the server regardless of whether the
8122	// field is empty or not. This may be used to include empty fields in
8123	// Patch requests.
8124	ForceSendFields []string `json:"-"`
8125
8126	// NullFields is a list of field names (e.g. "FloodlightConfigurations")
8127	// to include in API requests with the JSON null value. By default,
8128	// fields with empty values are omitted from API requests. However, any
8129	// field with an empty value appearing in NullFields will be sent to the
8130	// server as null. It is an error if a field in this list has a
8131	// non-empty value. This may be used to include null fields in Patch
8132	// requests.
8133	NullFields []string `json:"-"`
8134}
8135
8136func (s *FloodlightConfigurationsListResponse) MarshalJSON() ([]byte, error) {
8137	type NoMethod FloodlightConfigurationsListResponse
8138	raw := NoMethod(*s)
8139	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8140}
8141
8142// FloodlightReportCompatibleFields: Represents fields that are
8143// compatible to be selected for a report of type "FlOODLIGHT".
8144type FloodlightReportCompatibleFields struct {
8145	// DimensionFilters: Dimensions which are compatible to be selected in
8146	// the "dimensionFilters" section of the report.
8147	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
8148
8149	// Dimensions: Dimensions which are compatible to be selected in the
8150	// "dimensions" section of the report.
8151	Dimensions []*Dimension `json:"dimensions,omitempty"`
8152
8153	// Kind: The kind of resource this is, in this case
8154	// dfareporting#floodlightReportCompatibleFields.
8155	Kind string `json:"kind,omitempty"`
8156
8157	// Metrics: Metrics which are compatible to be selected in the
8158	// "metricNames" section of the report.
8159	Metrics []*Metric `json:"metrics,omitempty"`
8160
8161	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
8162	// unconditionally include in API requests. By default, fields with
8163	// empty values are omitted from API requests. However, any non-pointer,
8164	// non-interface field appearing in ForceSendFields will be sent to the
8165	// server regardless of whether the field is empty or not. This may be
8166	// used to include empty fields in Patch requests.
8167	ForceSendFields []string `json:"-"`
8168
8169	// NullFields is a list of field names (e.g. "DimensionFilters") to
8170	// include in API requests with the JSON null value. By default, fields
8171	// with empty values are omitted from API requests. However, any field
8172	// with an empty value appearing in NullFields will be sent to the
8173	// server as null. It is an error if a field in this list has a
8174	// non-empty value. This may be used to include null fields in Patch
8175	// requests.
8176	NullFields []string `json:"-"`
8177}
8178
8179func (s *FloodlightReportCompatibleFields) MarshalJSON() ([]byte, error) {
8180	type NoMethod FloodlightReportCompatibleFields
8181	raw := NoMethod(*s)
8182	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8183}
8184
8185// FrequencyCap: Frequency Cap.
8186type FrequencyCap struct {
8187	// Duration: Duration of time, in seconds, for this frequency cap. The
8188	// maximum duration is 90 days. Acceptable values are 1 to 7776000,
8189	// inclusive.
8190	Duration int64 `json:"duration,omitempty,string"`
8191
8192	// Impressions: Number of times an individual user can be served the ad
8193	// within the specified duration. Acceptable values are 1 to 15,
8194	// inclusive.
8195	Impressions int64 `json:"impressions,omitempty,string"`
8196
8197	// ForceSendFields is a list of field names (e.g. "Duration") to
8198	// unconditionally include in API requests. By default, fields with
8199	// empty values are omitted from API requests. However, any non-pointer,
8200	// non-interface field appearing in ForceSendFields will be sent to the
8201	// server regardless of whether the field is empty or not. This may be
8202	// used to include empty fields in Patch requests.
8203	ForceSendFields []string `json:"-"`
8204
8205	// NullFields is a list of field names (e.g. "Duration") to include in
8206	// API requests with the JSON null value. By default, fields with empty
8207	// values are omitted from API requests. However, any field with an
8208	// empty value appearing in NullFields will be sent to the server as
8209	// null. It is an error if a field in this list has a non-empty value.
8210	// This may be used to include null fields in Patch requests.
8211	NullFields []string `json:"-"`
8212}
8213
8214func (s *FrequencyCap) MarshalJSON() ([]byte, error) {
8215	type NoMethod FrequencyCap
8216	raw := NoMethod(*s)
8217	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8218}
8219
8220// FsCommand: FsCommand.
8221type FsCommand struct {
8222	// Left: Distance from the left of the browser.Applicable when
8223	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
8224	Left int64 `json:"left,omitempty"`
8225
8226	// PositionOption: Position in the browser where the window will open.
8227	//
8228	// Possible values:
8229	//   "CENTERED"
8230	//   "DISTANCE_FROM_TOP_LEFT_CORNER"
8231	PositionOption string `json:"positionOption,omitempty"`
8232
8233	// Top: Distance from the top of the browser. Applicable when
8234	// positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.
8235	Top int64 `json:"top,omitempty"`
8236
8237	// WindowHeight: Height of the window.
8238	WindowHeight int64 `json:"windowHeight,omitempty"`
8239
8240	// WindowWidth: Width of the window.
8241	WindowWidth int64 `json:"windowWidth,omitempty"`
8242
8243	// ForceSendFields is a list of field names (e.g. "Left") to
8244	// unconditionally include in API requests. By default, fields with
8245	// empty values are omitted from API requests. However, any non-pointer,
8246	// non-interface field appearing in ForceSendFields will be sent to the
8247	// server regardless of whether the field is empty or not. This may be
8248	// used to include empty fields in Patch requests.
8249	ForceSendFields []string `json:"-"`
8250
8251	// NullFields is a list of field names (e.g. "Left") to include in API
8252	// requests with the JSON null value. By default, fields with empty
8253	// values are omitted from API requests. However, any field with an
8254	// empty value appearing in NullFields will be sent to the server as
8255	// null. It is an error if a field in this list has a non-empty value.
8256	// This may be used to include null fields in Patch requests.
8257	NullFields []string `json:"-"`
8258}
8259
8260func (s *FsCommand) MarshalJSON() ([]byte, error) {
8261	type NoMethod FsCommand
8262	raw := NoMethod(*s)
8263	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8264}
8265
8266// GeoTargeting: Geographical Targeting.
8267type GeoTargeting struct {
8268	// Cities: Cities to be targeted. For each city only dartId is required.
8269	// The other fields are populated automatically when the ad is inserted
8270	// or updated. If targeting a city, do not target or exclude the country
8271	// of the city, and do not target the metro or region of the city.
8272	Cities []*City `json:"cities,omitempty"`
8273
8274	// Countries: Countries to be targeted or excluded from targeting,
8275	// depending on the setting of the excludeCountries field. For each
8276	// country only dartId is required. The other fields are populated
8277	// automatically when the ad is inserted or updated. If targeting or
8278	// excluding a country, do not target regions, cities, metros, or postal
8279	// codes in the same country.
8280	Countries []*Country `json:"countries,omitempty"`
8281
8282	// ExcludeCountries: Whether or not to exclude the countries in the
8283	// countries field from targeting. If false, the countries field refers
8284	// to countries which will be targeted by the ad.
8285	ExcludeCountries bool `json:"excludeCountries,omitempty"`
8286
8287	// Metros: Metros to be targeted. For each metro only dmaId is required.
8288	// The other fields are populated automatically when the ad is inserted
8289	// or updated. If targeting a metro, do not target or exclude the
8290	// country of the metro.
8291	Metros []*Metro `json:"metros,omitempty"`
8292
8293	// PostalCodes: Postal codes to be targeted. For each postal code only
8294	// id is required. The other fields are populated automatically when the
8295	// ad is inserted or updated. If targeting a postal code, do not target
8296	// or exclude the country of the postal code.
8297	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
8298
8299	// Regions: Regions to be targeted. For each region only dartId is
8300	// required. The other fields are populated automatically when the ad is
8301	// inserted or updated. If targeting a region, do not target or exclude
8302	// the country of the region.
8303	Regions []*Region `json:"regions,omitempty"`
8304
8305	// ForceSendFields is a list of field names (e.g. "Cities") to
8306	// unconditionally include in API requests. By default, fields with
8307	// empty values are omitted from API requests. However, any non-pointer,
8308	// non-interface field appearing in ForceSendFields will be sent to the
8309	// server regardless of whether the field is empty or not. This may be
8310	// used to include empty fields in Patch requests.
8311	ForceSendFields []string `json:"-"`
8312
8313	// NullFields is a list of field names (e.g. "Cities") to include in API
8314	// requests with the JSON null value. By default, fields with empty
8315	// values are omitted from API requests. However, any field with an
8316	// empty value appearing in NullFields will be sent to the server as
8317	// null. It is an error if a field in this list has a non-empty value.
8318	// This may be used to include null fields in Patch requests.
8319	NullFields []string `json:"-"`
8320}
8321
8322func (s *GeoTargeting) MarshalJSON() ([]byte, error) {
8323	type NoMethod GeoTargeting
8324	raw := NoMethod(*s)
8325	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8326}
8327
8328// InventoryItem: Represents a buy from the Planning inventory store.
8329type InventoryItem struct {
8330	// AccountId: Account ID of this inventory item.
8331	AccountId int64 `json:"accountId,omitempty,string"`
8332
8333	// AdSlots: Ad slots of this inventory item. If this inventory item
8334	// represents a standalone placement, there will be exactly one ad slot.
8335	// If this inventory item represents a placement group, there will be
8336	// more than one ad slot, each representing one child placement in that
8337	// placement group.
8338	AdSlots []*AdSlot `json:"adSlots,omitempty"`
8339
8340	// AdvertiserId: Advertiser ID of this inventory item.
8341	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8342
8343	// ContentCategoryId: Content category ID of this inventory item.
8344	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
8345
8346	// EstimatedClickThroughRate: Estimated click-through rate of this
8347	// inventory item.
8348	EstimatedClickThroughRate int64 `json:"estimatedClickThroughRate,omitempty,string"`
8349
8350	// EstimatedConversionRate: Estimated conversion rate of this inventory
8351	// item.
8352	EstimatedConversionRate int64 `json:"estimatedConversionRate,omitempty,string"`
8353
8354	// Id: ID of this inventory item.
8355	Id int64 `json:"id,omitempty,string"`
8356
8357	// InPlan: Whether this inventory item is in plan.
8358	InPlan bool `json:"inPlan,omitempty"`
8359
8360	// Kind: Identifies what kind of resource this is. Value: the fixed
8361	// string "dfareporting#inventoryItem".
8362	Kind string `json:"kind,omitempty"`
8363
8364	// LastModifiedInfo: Information about the most recent modification of
8365	// this inventory item.
8366	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
8367
8368	// Name: Name of this inventory item. For standalone inventory items,
8369	// this is the same name as that of its only ad slot. For group
8370	// inventory items, this can differ from the name of any of its ad
8371	// slots.
8372	Name string `json:"name,omitempty"`
8373
8374	// NegotiationChannelId: Negotiation channel ID of this inventory item.
8375	NegotiationChannelId int64 `json:"negotiationChannelId,omitempty,string"`
8376
8377	// OrderId: Order ID of this inventory item.
8378	OrderId int64 `json:"orderId,omitempty,string"`
8379
8380	// PlacementStrategyId: Placement strategy ID of this inventory item.
8381	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
8382
8383	// Pricing: Pricing of this inventory item.
8384	Pricing *Pricing `json:"pricing,omitempty"`
8385
8386	// ProjectId: Project ID of this inventory item.
8387	ProjectId int64 `json:"projectId,omitempty,string"`
8388
8389	// RfpId: RFP ID of this inventory item.
8390	RfpId int64 `json:"rfpId,omitempty,string"`
8391
8392	// SiteId: ID of the site this inventory item is associated with.
8393	SiteId int64 `json:"siteId,omitempty,string"`
8394
8395	// SubaccountId: Subaccount ID of this inventory item.
8396	SubaccountId int64 `json:"subaccountId,omitempty,string"`
8397
8398	// Type: Type of inventory item.
8399	//
8400	// Possible values:
8401	//   "PLANNING_PLACEMENT_TYPE_CREDIT"
8402	//   "PLANNING_PLACEMENT_TYPE_REGULAR"
8403	Type string `json:"type,omitempty"`
8404
8405	// ServerResponse contains the HTTP response code and headers from the
8406	// server.
8407	googleapi.ServerResponse `json:"-"`
8408
8409	// ForceSendFields is a list of field names (e.g. "AccountId") to
8410	// unconditionally include in API requests. By default, fields with
8411	// empty values are omitted from API requests. However, any non-pointer,
8412	// non-interface field appearing in ForceSendFields will be sent to the
8413	// server regardless of whether the field is empty or not. This may be
8414	// used to include empty fields in Patch requests.
8415	ForceSendFields []string `json:"-"`
8416
8417	// NullFields is a list of field names (e.g. "AccountId") to include in
8418	// API requests with the JSON null value. By default, fields with empty
8419	// values are omitted from API requests. However, any field with an
8420	// empty value appearing in NullFields will be sent to the server as
8421	// null. It is an error if a field in this list has a non-empty value.
8422	// This may be used to include null fields in Patch requests.
8423	NullFields []string `json:"-"`
8424}
8425
8426func (s *InventoryItem) MarshalJSON() ([]byte, error) {
8427	type NoMethod InventoryItem
8428	raw := NoMethod(*s)
8429	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8430}
8431
8432// InventoryItemsListResponse: Inventory item List Response
8433type InventoryItemsListResponse struct {
8434	// InventoryItems: Inventory item collection
8435	InventoryItems []*InventoryItem `json:"inventoryItems,omitempty"`
8436
8437	// Kind: Identifies what kind of resource this is. Value: the fixed
8438	// string "dfareporting#inventoryItemsListResponse".
8439	Kind string `json:"kind,omitempty"`
8440
8441	// NextPageToken: Pagination token to be used for the next list
8442	// operation.
8443	NextPageToken string `json:"nextPageToken,omitempty"`
8444
8445	// ServerResponse contains the HTTP response code and headers from the
8446	// server.
8447	googleapi.ServerResponse `json:"-"`
8448
8449	// ForceSendFields is a list of field names (e.g. "InventoryItems") to
8450	// unconditionally include in API requests. By default, fields with
8451	// empty values are omitted from API requests. However, any non-pointer,
8452	// non-interface field appearing in ForceSendFields will be sent to the
8453	// server regardless of whether the field is empty or not. This may be
8454	// used to include empty fields in Patch requests.
8455	ForceSendFields []string `json:"-"`
8456
8457	// NullFields is a list of field names (e.g. "InventoryItems") to
8458	// include in API requests with the JSON null value. By default, fields
8459	// with empty values are omitted from API requests. However, any field
8460	// with an empty value appearing in NullFields will be sent to the
8461	// server as null. It is an error if a field in this list has a
8462	// non-empty value. This may be used to include null fields in Patch
8463	// requests.
8464	NullFields []string `json:"-"`
8465}
8466
8467func (s *InventoryItemsListResponse) MarshalJSON() ([]byte, error) {
8468	type NoMethod InventoryItemsListResponse
8469	raw := NoMethod(*s)
8470	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8471}
8472
8473// KeyValueTargetingExpression: Key Value Targeting Expression.
8474type KeyValueTargetingExpression struct {
8475	// Expression: Keyword expression being targeted by the ad.
8476	Expression string `json:"expression,omitempty"`
8477
8478	// ForceSendFields is a list of field names (e.g. "Expression") to
8479	// unconditionally include in API requests. By default, fields with
8480	// empty values are omitted from API requests. However, any non-pointer,
8481	// non-interface field appearing in ForceSendFields will be sent to the
8482	// server regardless of whether the field is empty or not. This may be
8483	// used to include empty fields in Patch requests.
8484	ForceSendFields []string `json:"-"`
8485
8486	// NullFields is a list of field names (e.g. "Expression") to include in
8487	// API requests with the JSON null value. By default, fields with empty
8488	// values are omitted from API requests. However, any field with an
8489	// empty value appearing in NullFields will be sent to the server as
8490	// null. It is an error if a field in this list has a non-empty value.
8491	// This may be used to include null fields in Patch requests.
8492	NullFields []string `json:"-"`
8493}
8494
8495func (s *KeyValueTargetingExpression) MarshalJSON() ([]byte, error) {
8496	type NoMethod KeyValueTargetingExpression
8497	raw := NoMethod(*s)
8498	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8499}
8500
8501// LandingPage: Contains information about where a user's browser is
8502// taken after the user clicks an ad.
8503type LandingPage struct {
8504	// AdvertiserId: Advertiser ID of this landing page. This is a required
8505	// field.
8506	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
8507
8508	// Archived: Whether this landing page has been archived.
8509	Archived bool `json:"archived,omitempty"`
8510
8511	// DeepLinks: Links that will direct the user to a mobile app, if
8512	// installed.
8513	DeepLinks []*DeepLink `json:"deepLinks,omitempty"`
8514
8515	// Id: ID of this landing page. This is a read-only, auto-generated
8516	// field.
8517	Id int64 `json:"id,omitempty,string"`
8518
8519	// Kind: Identifies what kind of resource this is. Value: the fixed
8520	// string "dfareporting#landingPage".
8521	Kind string `json:"kind,omitempty"`
8522
8523	// Name: Name of this landing page. This is a required field. It must be
8524	// less than 256 characters long.
8525	Name string `json:"name,omitempty"`
8526
8527	// Url: URL of this landing page. This is a required field.
8528	Url string `json:"url,omitempty"`
8529
8530	// ServerResponse contains the HTTP response code and headers from the
8531	// server.
8532	googleapi.ServerResponse `json:"-"`
8533
8534	// ForceSendFields is a list of field names (e.g. "AdvertiserId") to
8535	// unconditionally include in API requests. By default, fields with
8536	// empty values are omitted from API requests. However, any non-pointer,
8537	// non-interface field appearing in ForceSendFields will be sent to the
8538	// server regardless of whether the field is empty or not. This may be
8539	// used to include empty fields in Patch requests.
8540	ForceSendFields []string `json:"-"`
8541
8542	// NullFields is a list of field names (e.g. "AdvertiserId") to include
8543	// in API requests with the JSON null value. By default, fields with
8544	// empty values are omitted from API requests. However, any field with
8545	// an empty value appearing in NullFields will be sent to the server as
8546	// null. It is an error if a field in this list has a non-empty value.
8547	// This may be used to include null fields in Patch requests.
8548	NullFields []string `json:"-"`
8549}
8550
8551func (s *LandingPage) MarshalJSON() ([]byte, error) {
8552	type NoMethod LandingPage
8553	raw := NoMethod(*s)
8554	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8555}
8556
8557// Language: Contains information about a language that can be targeted
8558// by ads.
8559type Language struct {
8560	// Id: Language ID of this language. This is the ID used for targeting
8561	// and generating reports.
8562	Id int64 `json:"id,omitempty,string"`
8563
8564	// Kind: Identifies what kind of resource this is. Value: the fixed
8565	// string "dfareporting#language".
8566	Kind string `json:"kind,omitempty"`
8567
8568	// LanguageCode: Format of language code is an ISO 639 two-letter
8569	// language code optionally followed by an underscore followed by an ISO
8570	// 3166 code. Examples are "en" for English or "zh_CN" for Simplified
8571	// Chinese.
8572	LanguageCode string `json:"languageCode,omitempty"`
8573
8574	// Name: Name of this language.
8575	Name string `json:"name,omitempty"`
8576
8577	// ForceSendFields is a list of field names (e.g. "Id") to
8578	// unconditionally include in API requests. By default, fields with
8579	// empty values are omitted from API requests. However, any non-pointer,
8580	// non-interface field appearing in ForceSendFields will be sent to the
8581	// server regardless of whether the field is empty or not. This may be
8582	// used to include empty fields in Patch requests.
8583	ForceSendFields []string `json:"-"`
8584
8585	// NullFields is a list of field names (e.g. "Id") to include in API
8586	// requests with the JSON null value. By default, fields with empty
8587	// values are omitted from API requests. However, any field with an
8588	// empty value appearing in NullFields will be sent to the server as
8589	// null. It is an error if a field in this list has a non-empty value.
8590	// This may be used to include null fields in Patch requests.
8591	NullFields []string `json:"-"`
8592}
8593
8594func (s *Language) MarshalJSON() ([]byte, error) {
8595	type NoMethod Language
8596	raw := NoMethod(*s)
8597	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8598}
8599
8600// LanguageTargeting: Language Targeting.
8601type LanguageTargeting struct {
8602	// Languages: Languages that this ad targets. For each language only
8603	// languageId is required. The other fields are populated automatically
8604	// when the ad is inserted or updated.
8605	Languages []*Language `json:"languages,omitempty"`
8606
8607	// ForceSendFields is a list of field names (e.g. "Languages") to
8608	// unconditionally include in API requests. By default, fields with
8609	// empty values are omitted from API requests. However, any non-pointer,
8610	// non-interface field appearing in ForceSendFields will be sent to the
8611	// server regardless of whether the field is empty or not. This may be
8612	// used to include empty fields in Patch requests.
8613	ForceSendFields []string `json:"-"`
8614
8615	// NullFields is a list of field names (e.g. "Languages") to include in
8616	// API requests with the JSON null value. By default, fields with empty
8617	// values are omitted from API requests. However, any field with an
8618	// empty value appearing in NullFields will be sent to the server as
8619	// null. It is an error if a field in this list has a non-empty value.
8620	// This may be used to include null fields in Patch requests.
8621	NullFields []string `json:"-"`
8622}
8623
8624func (s *LanguageTargeting) MarshalJSON() ([]byte, error) {
8625	type NoMethod LanguageTargeting
8626	raw := NoMethod(*s)
8627	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8628}
8629
8630// LanguagesListResponse: Language List Response
8631type LanguagesListResponse struct {
8632	// Kind: Identifies what kind of resource this is. Value: the fixed
8633	// string "dfareporting#languagesListResponse".
8634	Kind string `json:"kind,omitempty"`
8635
8636	// Languages: Language collection.
8637	Languages []*Language `json:"languages,omitempty"`
8638
8639	// ServerResponse contains the HTTP response code and headers from the
8640	// server.
8641	googleapi.ServerResponse `json:"-"`
8642
8643	// ForceSendFields is a list of field names (e.g. "Kind") to
8644	// unconditionally include in API requests. By default, fields with
8645	// empty values are omitted from API requests. However, any non-pointer,
8646	// non-interface field appearing in ForceSendFields will be sent to the
8647	// server regardless of whether the field is empty or not. This may be
8648	// used to include empty fields in Patch requests.
8649	ForceSendFields []string `json:"-"`
8650
8651	// NullFields is a list of field names (e.g. "Kind") to include in API
8652	// requests with the JSON null value. By default, fields with empty
8653	// values are omitted from API requests. However, any field with an
8654	// empty value appearing in NullFields will be sent to the server as
8655	// null. It is an error if a field in this list has a non-empty value.
8656	// This may be used to include null fields in Patch requests.
8657	NullFields []string `json:"-"`
8658}
8659
8660func (s *LanguagesListResponse) MarshalJSON() ([]byte, error) {
8661	type NoMethod LanguagesListResponse
8662	raw := NoMethod(*s)
8663	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8664}
8665
8666// LastModifiedInfo: Modification timestamp.
8667type LastModifiedInfo struct {
8668	// Time: Timestamp of the last change in milliseconds since epoch.
8669	Time int64 `json:"time,omitempty,string"`
8670
8671	// ForceSendFields is a list of field names (e.g. "Time") to
8672	// unconditionally include in API requests. By default, fields with
8673	// empty values are omitted from API requests. However, any non-pointer,
8674	// non-interface field appearing in ForceSendFields will be sent to the
8675	// server regardless of whether the field is empty or not. This may be
8676	// used to include empty fields in Patch requests.
8677	ForceSendFields []string `json:"-"`
8678
8679	// NullFields is a list of field names (e.g. "Time") to include in API
8680	// requests with the JSON null value. By default, fields with empty
8681	// values are omitted from API requests. However, any field with an
8682	// empty value appearing in NullFields will be sent to the server as
8683	// null. It is an error if a field in this list has a non-empty value.
8684	// This may be used to include null fields in Patch requests.
8685	NullFields []string `json:"-"`
8686}
8687
8688func (s *LastModifiedInfo) MarshalJSON() ([]byte, error) {
8689	type NoMethod LastModifiedInfo
8690	raw := NoMethod(*s)
8691	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8692}
8693
8694// ListPopulationClause: A group clause made up of list population terms
8695// representing constraints joined by ORs.
8696type ListPopulationClause struct {
8697	// Terms: Terms of this list population clause. Each clause is made up
8698	// of list population terms representing constraints and are joined by
8699	// ORs.
8700	Terms []*ListPopulationTerm `json:"terms,omitempty"`
8701
8702	// ForceSendFields is a list of field names (e.g. "Terms") to
8703	// unconditionally include in API requests. By default, fields with
8704	// empty values are omitted from API requests. However, any non-pointer,
8705	// non-interface field appearing in ForceSendFields will be sent to the
8706	// server regardless of whether the field is empty or not. This may be
8707	// used to include empty fields in Patch requests.
8708	ForceSendFields []string `json:"-"`
8709
8710	// NullFields is a list of field names (e.g. "Terms") to include in API
8711	// requests with the JSON null value. By default, fields with empty
8712	// values are omitted from API requests. However, any field with an
8713	// empty value appearing in NullFields will be sent to the server as
8714	// null. It is an error if a field in this list has a non-empty value.
8715	// This may be used to include null fields in Patch requests.
8716	NullFields []string `json:"-"`
8717}
8718
8719func (s *ListPopulationClause) MarshalJSON() ([]byte, error) {
8720	type NoMethod ListPopulationClause
8721	raw := NoMethod(*s)
8722	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8723}
8724
8725// ListPopulationRule: Remarketing List Population Rule.
8726type ListPopulationRule struct {
8727	// FloodlightActivityId: Floodlight activity ID associated with this
8728	// rule. This field can be left blank.
8729	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
8730
8731	// FloodlightActivityName: Name of floodlight activity associated with
8732	// this rule. This is a read-only, auto-generated field.
8733	FloodlightActivityName string `json:"floodlightActivityName,omitempty"`
8734
8735	// ListPopulationClauses: Clauses that make up this list population
8736	// rule. Clauses are joined by ANDs, and the clauses themselves are made
8737	// up of list population terms which are joined by ORs.
8738	ListPopulationClauses []*ListPopulationClause `json:"listPopulationClauses,omitempty"`
8739
8740	// ForceSendFields is a list of field names (e.g.
8741	// "FloodlightActivityId") to unconditionally include in API requests.
8742	// By default, fields with empty values are omitted from API requests.
8743	// However, any non-pointer, non-interface field appearing in
8744	// ForceSendFields will be sent to the server regardless of whether the
8745	// field is empty or not. This may be used to include empty fields in
8746	// Patch requests.
8747	ForceSendFields []string `json:"-"`
8748
8749	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
8750	// include in API requests with the JSON null value. By default, fields
8751	// with empty values are omitted from API requests. However, any field
8752	// with an empty value appearing in NullFields will be sent to the
8753	// server as null. It is an error if a field in this list has a
8754	// non-empty value. This may be used to include null fields in Patch
8755	// requests.
8756	NullFields []string `json:"-"`
8757}
8758
8759func (s *ListPopulationRule) MarshalJSON() ([]byte, error) {
8760	type NoMethod ListPopulationRule
8761	raw := NoMethod(*s)
8762	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8763}
8764
8765// ListPopulationTerm: Remarketing List Population Rule Term.
8766type ListPopulationTerm struct {
8767	// Contains: Will be true if the term should check if the user is in the
8768	// list and false if the term should check if the user is not in the
8769	// list. This field is only relevant when type is set to
8770	// LIST_MEMBERSHIP_TERM. False by default.
8771	Contains bool `json:"contains,omitempty"`
8772
8773	// Negation: Whether to negate the comparison result of this term during
8774	// rule evaluation. This field is only relevant when type is left unset
8775	// or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8776	Negation bool `json:"negation,omitempty"`
8777
8778	// Operator: Comparison operator of this term. This field is only
8779	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8780	// REFERRER_TERM.
8781	//
8782	// Possible values:
8783	//   "NUM_EQUALS"
8784	//   "NUM_GREATER_THAN"
8785	//   "NUM_GREATER_THAN_EQUAL"
8786	//   "NUM_LESS_THAN"
8787	//   "NUM_LESS_THAN_EQUAL"
8788	//   "STRING_CONTAINS"
8789	//   "STRING_EQUALS"
8790	Operator string `json:"operator,omitempty"`
8791
8792	// RemarketingListId: ID of the list in question. This field is only
8793	// relevant when type is set to LIST_MEMBERSHIP_TERM.
8794	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
8795
8796	// Type: List population term type determines the applicable fields in
8797	// this object. If left unset or set to CUSTOM_VARIABLE_TERM, then
8798	// variableName, variableFriendlyName, operator, value, and negation are
8799	// applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and
8800	// contains are applicable. If set to REFERRER_TERM then operator,
8801	// value, and negation are applicable.
8802	//
8803	// Possible values:
8804	//   "CUSTOM_VARIABLE_TERM"
8805	//   "LIST_MEMBERSHIP_TERM"
8806	//   "REFERRER_TERM"
8807	Type string `json:"type,omitempty"`
8808
8809	// Value: Literal to compare the variable to. This field is only
8810	// relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or
8811	// REFERRER_TERM.
8812	Value string `json:"value,omitempty"`
8813
8814	// VariableFriendlyName: Friendly name of this term's variable. This is
8815	// a read-only, auto-generated field. This field is only relevant when
8816	// type is left unset or set to CUSTOM_VARIABLE_TERM.
8817	VariableFriendlyName string `json:"variableFriendlyName,omitempty"`
8818
8819	// VariableName: Name of the variable (U1, U2, etc.) being compared in
8820	// this term. This field is only relevant when type is set to null,
8821	// CUSTOM_VARIABLE_TERM or REFERRER_TERM.
8822	VariableName string `json:"variableName,omitempty"`
8823
8824	// ForceSendFields is a list of field names (e.g. "Contains") to
8825	// unconditionally include in API requests. By default, fields with
8826	// empty values are omitted from API requests. However, any non-pointer,
8827	// non-interface field appearing in ForceSendFields will be sent to the
8828	// server regardless of whether the field is empty or not. This may be
8829	// used to include empty fields in Patch requests.
8830	ForceSendFields []string `json:"-"`
8831
8832	// NullFields is a list of field names (e.g. "Contains") to include in
8833	// API requests with the JSON null value. By default, fields with empty
8834	// values are omitted from API requests. However, any field with an
8835	// empty value appearing in NullFields will be sent to the server as
8836	// null. It is an error if a field in this list has a non-empty value.
8837	// This may be used to include null fields in Patch requests.
8838	NullFields []string `json:"-"`
8839}
8840
8841func (s *ListPopulationTerm) MarshalJSON() ([]byte, error) {
8842	type NoMethod ListPopulationTerm
8843	raw := NoMethod(*s)
8844	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8845}
8846
8847// ListTargetingExpression: Remarketing List Targeting Expression.
8848type ListTargetingExpression struct {
8849	// Expression: Expression describing which lists are being targeted by
8850	// the ad.
8851	Expression string `json:"expression,omitempty"`
8852
8853	// ForceSendFields is a list of field names (e.g. "Expression") to
8854	// unconditionally include in API requests. By default, fields with
8855	// empty values are omitted from API requests. However, any non-pointer,
8856	// non-interface field appearing in ForceSendFields will be sent to the
8857	// server regardless of whether the field is empty or not. This may be
8858	// used to include empty fields in Patch requests.
8859	ForceSendFields []string `json:"-"`
8860
8861	// NullFields is a list of field names (e.g. "Expression") to include in
8862	// API requests with the JSON null value. By default, fields with empty
8863	// values are omitted from API requests. However, any field with an
8864	// empty value appearing in NullFields will be sent to the server as
8865	// null. It is an error if a field in this list has a non-empty value.
8866	// This may be used to include null fields in Patch requests.
8867	NullFields []string `json:"-"`
8868}
8869
8870func (s *ListTargetingExpression) MarshalJSON() ([]byte, error) {
8871	type NoMethod ListTargetingExpression
8872	raw := NoMethod(*s)
8873	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8874}
8875
8876// LookbackConfiguration: Lookback configuration settings.
8877type LookbackConfiguration struct {
8878	// ClickDuration: Lookback window, in days, from the last time a given
8879	// user clicked on one of your ads. If you enter 0, clicks will not be
8880	// considered as triggering events for floodlight tracking. If you leave
8881	// this field blank, the default value for your account will be used.
8882	// Acceptable values are 0 to 90, inclusive.
8883	ClickDuration int64 `json:"clickDuration,omitempty"`
8884
8885	// PostImpressionActivitiesDuration: Lookback window, in days, from the
8886	// last time a given user viewed one of your ads. If you enter 0,
8887	// impressions will not be considered as triggering events for
8888	// floodlight tracking. If you leave this field blank, the default value
8889	// for your account will be used. Acceptable values are 0 to 90,
8890	// inclusive.
8891	PostImpressionActivitiesDuration int64 `json:"postImpressionActivitiesDuration,omitempty"`
8892
8893	// ForceSendFields is a list of field names (e.g. "ClickDuration") to
8894	// unconditionally include in API requests. By default, fields with
8895	// empty values are omitted from API requests. However, any non-pointer,
8896	// non-interface field appearing in ForceSendFields will be sent to the
8897	// server regardless of whether the field is empty or not. This may be
8898	// used to include empty fields in Patch requests.
8899	ForceSendFields []string `json:"-"`
8900
8901	// NullFields is a list of field names (e.g. "ClickDuration") to include
8902	// in API requests with the JSON null value. By default, fields with
8903	// empty values are omitted from API requests. However, any field with
8904	// an empty value appearing in NullFields will be sent to the server as
8905	// null. It is an error if a field in this list has a non-empty value.
8906	// This may be used to include null fields in Patch requests.
8907	NullFields []string `json:"-"`
8908}
8909
8910func (s *LookbackConfiguration) MarshalJSON() ([]byte, error) {
8911	type NoMethod LookbackConfiguration
8912	raw := NoMethod(*s)
8913	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8914}
8915
8916// Metric: Represents a metric.
8917type Metric struct {
8918	// Kind: The kind of resource this is, in this case dfareporting#metric.
8919	Kind string `json:"kind,omitempty"`
8920
8921	// Name: The metric name, e.g. dfa:impressions
8922	Name string `json:"name,omitempty"`
8923
8924	// ForceSendFields is a list of field names (e.g. "Kind") to
8925	// unconditionally include in API requests. By default, fields with
8926	// empty values are omitted from API requests. However, any non-pointer,
8927	// non-interface field appearing in ForceSendFields will be sent to the
8928	// server regardless of whether the field is empty or not. This may be
8929	// used to include empty fields in Patch requests.
8930	ForceSendFields []string `json:"-"`
8931
8932	// NullFields is a list of field names (e.g. "Kind") to include in API
8933	// requests with the JSON null value. By default, fields with empty
8934	// values are omitted from API requests. However, any field with an
8935	// empty value appearing in NullFields will be sent to the server as
8936	// null. It is an error if a field in this list has a non-empty value.
8937	// This may be used to include null fields in Patch requests.
8938	NullFields []string `json:"-"`
8939}
8940
8941func (s *Metric) MarshalJSON() ([]byte, error) {
8942	type NoMethod Metric
8943	raw := NoMethod(*s)
8944	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8945}
8946
8947// Metro: Contains information about a metro region that can be targeted
8948// by ads.
8949type Metro struct {
8950	// CountryCode: Country code of the country to which this metro region
8951	// belongs.
8952	CountryCode string `json:"countryCode,omitempty"`
8953
8954	// CountryDartId: DART ID of the country to which this metro region
8955	// belongs.
8956	CountryDartId int64 `json:"countryDartId,omitempty,string"`
8957
8958	// DartId: DART ID of this metro region.
8959	DartId int64 `json:"dartId,omitempty,string"`
8960
8961	// DmaId: DMA ID of this metro region. This is the ID used for targeting
8962	// and generating reports, and is equivalent to metro_code.
8963	DmaId int64 `json:"dmaId,omitempty,string"`
8964
8965	// Kind: Identifies what kind of resource this is. Value: the fixed
8966	// string "dfareporting#metro".
8967	Kind string `json:"kind,omitempty"`
8968
8969	// MetroCode: Metro code of this metro region. This is equivalent to
8970	// dma_id.
8971	MetroCode string `json:"metroCode,omitempty"`
8972
8973	// Name: Name of this metro region.
8974	Name string `json:"name,omitempty"`
8975
8976	// ForceSendFields is a list of field names (e.g. "CountryCode") to
8977	// unconditionally include in API requests. By default, fields with
8978	// empty values are omitted from API requests. However, any non-pointer,
8979	// non-interface field appearing in ForceSendFields will be sent to the
8980	// server regardless of whether the field is empty or not. This may be
8981	// used to include empty fields in Patch requests.
8982	ForceSendFields []string `json:"-"`
8983
8984	// NullFields is a list of field names (e.g. "CountryCode") to include
8985	// in API requests with the JSON null value. By default, fields with
8986	// empty values are omitted from API requests. However, any field with
8987	// an empty value appearing in NullFields will be sent to the server as
8988	// null. It is an error if a field in this list has a non-empty value.
8989	// This may be used to include null fields in Patch requests.
8990	NullFields []string `json:"-"`
8991}
8992
8993func (s *Metro) MarshalJSON() ([]byte, error) {
8994	type NoMethod Metro
8995	raw := NoMethod(*s)
8996	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
8997}
8998
8999// MetrosListResponse: Metro List Response
9000type MetrosListResponse struct {
9001	// Kind: Identifies what kind of resource this is. Value: the fixed
9002	// string "dfareporting#metrosListResponse".
9003	Kind string `json:"kind,omitempty"`
9004
9005	// Metros: Metro collection.
9006	Metros []*Metro `json:"metros,omitempty"`
9007
9008	// ServerResponse contains the HTTP response code and headers from the
9009	// server.
9010	googleapi.ServerResponse `json:"-"`
9011
9012	// ForceSendFields is a list of field names (e.g. "Kind") to
9013	// unconditionally include in API requests. By default, fields with
9014	// empty values are omitted from API requests. However, any non-pointer,
9015	// non-interface field appearing in ForceSendFields will be sent to the
9016	// server regardless of whether the field is empty or not. This may be
9017	// used to include empty fields in Patch requests.
9018	ForceSendFields []string `json:"-"`
9019
9020	// NullFields is a list of field names (e.g. "Kind") to include in API
9021	// requests with the JSON null value. By default, fields with empty
9022	// values are omitted from API requests. However, any field with an
9023	// empty value appearing in NullFields will be sent to the server as
9024	// null. It is an error if a field in this list has a non-empty value.
9025	// This may be used to include null fields in Patch requests.
9026	NullFields []string `json:"-"`
9027}
9028
9029func (s *MetrosListResponse) MarshalJSON() ([]byte, error) {
9030	type NoMethod MetrosListResponse
9031	raw := NoMethod(*s)
9032	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9033}
9034
9035// MobileApp: Contains information about a mobile app. Used as a landing
9036// page deep link.
9037type MobileApp struct {
9038	// Directory: Mobile app directory.
9039	//
9040	// Possible values:
9041	//   "APPLE_APP_STORE"
9042	//   "GOOGLE_PLAY_STORE"
9043	//   "UNKNOWN"
9044	Directory string `json:"directory,omitempty"`
9045
9046	// Id: ID of this mobile app.
9047	Id string `json:"id,omitempty"`
9048
9049	// Kind: Identifies what kind of resource this is. Value: the fixed
9050	// string "dfareporting#mobileApp".
9051	Kind string `json:"kind,omitempty"`
9052
9053	// PublisherName: Publisher name.
9054	PublisherName string `json:"publisherName,omitempty"`
9055
9056	// Title: Title of this mobile app.
9057	Title string `json:"title,omitempty"`
9058
9059	// ServerResponse contains the HTTP response code and headers from the
9060	// server.
9061	googleapi.ServerResponse `json:"-"`
9062
9063	// ForceSendFields is a list of field names (e.g. "Directory") to
9064	// unconditionally include in API requests. By default, fields with
9065	// empty values are omitted from API requests. However, any non-pointer,
9066	// non-interface field appearing in ForceSendFields will be sent to the
9067	// server regardless of whether the field is empty or not. This may be
9068	// used to include empty fields in Patch requests.
9069	ForceSendFields []string `json:"-"`
9070
9071	// NullFields is a list of field names (e.g. "Directory") to include in
9072	// API requests with the JSON null value. By default, fields with empty
9073	// values are omitted from API requests. However, any field with an
9074	// empty value appearing in NullFields will be sent to the server as
9075	// null. It is an error if a field in this list has a non-empty value.
9076	// This may be used to include null fields in Patch requests.
9077	NullFields []string `json:"-"`
9078}
9079
9080func (s *MobileApp) MarshalJSON() ([]byte, error) {
9081	type NoMethod MobileApp
9082	raw := NoMethod(*s)
9083	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9084}
9085
9086// MobileAppsListResponse: Mobile app List Response
9087type MobileAppsListResponse struct {
9088	// Kind: Identifies what kind of resource this is. Value: the fixed
9089	// string "dfareporting#mobileAppsListResponse".
9090	Kind string `json:"kind,omitempty"`
9091
9092	// MobileApps: Mobile apps collection.
9093	MobileApps []*MobileApp `json:"mobileApps,omitempty"`
9094
9095	// NextPageToken: Pagination token to be used for the next list
9096	// operation.
9097	NextPageToken string `json:"nextPageToken,omitempty"`
9098
9099	// ServerResponse contains the HTTP response code and headers from the
9100	// server.
9101	googleapi.ServerResponse `json:"-"`
9102
9103	// ForceSendFields is a list of field names (e.g. "Kind") to
9104	// unconditionally include in API requests. By default, fields with
9105	// empty values are omitted from API requests. However, any non-pointer,
9106	// non-interface field appearing in ForceSendFields will be sent to the
9107	// server regardless of whether the field is empty or not. This may be
9108	// used to include empty fields in Patch requests.
9109	ForceSendFields []string `json:"-"`
9110
9111	// NullFields is a list of field names (e.g. "Kind") to include in API
9112	// requests with the JSON null value. By default, fields with empty
9113	// values are omitted from API requests. However, any field with an
9114	// empty value appearing in NullFields will be sent to the server as
9115	// null. It is an error if a field in this list has a non-empty value.
9116	// This may be used to include null fields in Patch requests.
9117	NullFields []string `json:"-"`
9118}
9119
9120func (s *MobileAppsListResponse) MarshalJSON() ([]byte, error) {
9121	type NoMethod MobileAppsListResponse
9122	raw := NoMethod(*s)
9123	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9124}
9125
9126// MobileCarrier: Contains information about a mobile carrier that can
9127// be targeted by ads.
9128type MobileCarrier struct {
9129	// CountryCode: Country code of the country to which this mobile carrier
9130	// belongs.
9131	CountryCode string `json:"countryCode,omitempty"`
9132
9133	// CountryDartId: DART ID of the country to which this mobile carrier
9134	// belongs.
9135	CountryDartId int64 `json:"countryDartId,omitempty,string"`
9136
9137	// Id: ID of this mobile carrier.
9138	Id int64 `json:"id,omitempty,string"`
9139
9140	// Kind: Identifies what kind of resource this is. Value: the fixed
9141	// string "dfareporting#mobileCarrier".
9142	Kind string `json:"kind,omitempty"`
9143
9144	// Name: Name of this mobile carrier.
9145	Name string `json:"name,omitempty"`
9146
9147	// ServerResponse contains the HTTP response code and headers from the
9148	// server.
9149	googleapi.ServerResponse `json:"-"`
9150
9151	// ForceSendFields is a list of field names (e.g. "CountryCode") to
9152	// unconditionally include in API requests. By default, fields with
9153	// empty values are omitted from API requests. However, any non-pointer,
9154	// non-interface field appearing in ForceSendFields will be sent to the
9155	// server regardless of whether the field is empty or not. This may be
9156	// used to include empty fields in Patch requests.
9157	ForceSendFields []string `json:"-"`
9158
9159	// NullFields is a list of field names (e.g. "CountryCode") to include
9160	// in API requests with the JSON null value. By default, fields with
9161	// empty values are omitted from API requests. However, any field with
9162	// an empty value appearing in NullFields will be sent to the server as
9163	// null. It is an error if a field in this list has a non-empty value.
9164	// This may be used to include null fields in Patch requests.
9165	NullFields []string `json:"-"`
9166}
9167
9168func (s *MobileCarrier) MarshalJSON() ([]byte, error) {
9169	type NoMethod MobileCarrier
9170	raw := NoMethod(*s)
9171	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9172}
9173
9174// MobileCarriersListResponse: Mobile Carrier List Response
9175type MobileCarriersListResponse struct {
9176	// Kind: Identifies what kind of resource this is. Value: the fixed
9177	// string "dfareporting#mobileCarriersListResponse".
9178	Kind string `json:"kind,omitempty"`
9179
9180	// MobileCarriers: Mobile carrier collection.
9181	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
9182
9183	// ServerResponse contains the HTTP response code and headers from the
9184	// server.
9185	googleapi.ServerResponse `json:"-"`
9186
9187	// ForceSendFields is a list of field names (e.g. "Kind") to
9188	// unconditionally include in API requests. By default, fields with
9189	// empty values are omitted from API requests. However, any non-pointer,
9190	// non-interface field appearing in ForceSendFields will be sent to the
9191	// server regardless of whether the field is empty or not. This may be
9192	// used to include empty fields in Patch requests.
9193	ForceSendFields []string `json:"-"`
9194
9195	// NullFields is a list of field names (e.g. "Kind") to include in API
9196	// requests with the JSON null value. By default, fields with empty
9197	// values are omitted from API requests. However, any field with an
9198	// empty value appearing in NullFields will be sent to the server as
9199	// null. It is an error if a field in this list has a non-empty value.
9200	// This may be used to include null fields in Patch requests.
9201	NullFields []string `json:"-"`
9202}
9203
9204func (s *MobileCarriersListResponse) MarshalJSON() ([]byte, error) {
9205	type NoMethod MobileCarriersListResponse
9206	raw := NoMethod(*s)
9207	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9208}
9209
9210// ObjectFilter: Object Filter.
9211type ObjectFilter struct {
9212	// Kind: Identifies what kind of resource this is. Value: the fixed
9213	// string "dfareporting#objectFilter".
9214	Kind string `json:"kind,omitempty"`
9215
9216	// ObjectIds: Applicable when status is ASSIGNED. The user has access to
9217	// objects with these object IDs.
9218	ObjectIds googleapi.Int64s `json:"objectIds,omitempty"`
9219
9220	// Status: Status of the filter. NONE means the user has access to none
9221	// of the objects. ALL means the user has access to all objects.
9222	// ASSIGNED means the user has access to the objects with IDs in the
9223	// objectIds list.
9224	//
9225	// Possible values:
9226	//   "ALL"
9227	//   "ASSIGNED"
9228	//   "NONE"
9229	Status string `json:"status,omitempty"`
9230
9231	// ForceSendFields is a list of field names (e.g. "Kind") to
9232	// unconditionally include in API requests. By default, fields with
9233	// empty values are omitted from API requests. However, any non-pointer,
9234	// non-interface field appearing in ForceSendFields will be sent to the
9235	// server regardless of whether the field is empty or not. This may be
9236	// used to include empty fields in Patch requests.
9237	ForceSendFields []string `json:"-"`
9238
9239	// NullFields is a list of field names (e.g. "Kind") to include in API
9240	// requests with the JSON null value. By default, fields with empty
9241	// values are omitted from API requests. However, any field with an
9242	// empty value appearing in NullFields will be sent to the server as
9243	// null. It is an error if a field in this list has a non-empty value.
9244	// This may be used to include null fields in Patch requests.
9245	NullFields []string `json:"-"`
9246}
9247
9248func (s *ObjectFilter) MarshalJSON() ([]byte, error) {
9249	type NoMethod ObjectFilter
9250	raw := NoMethod(*s)
9251	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9252}
9253
9254// OffsetPosition: Offset Position.
9255type OffsetPosition struct {
9256	// Left: Offset distance from left side of an asset or a window.
9257	Left int64 `json:"left,omitempty"`
9258
9259	// Top: Offset distance from top side of an asset or a window.
9260	Top int64 `json:"top,omitempty"`
9261
9262	// ForceSendFields is a list of field names (e.g. "Left") to
9263	// unconditionally include in API requests. By default, fields with
9264	// empty values are omitted from API requests. However, any non-pointer,
9265	// non-interface field appearing in ForceSendFields will be sent to the
9266	// server regardless of whether the field is empty or not. This may be
9267	// used to include empty fields in Patch requests.
9268	ForceSendFields []string `json:"-"`
9269
9270	// NullFields is a list of field names (e.g. "Left") to include in API
9271	// requests with the JSON null value. By default, fields with empty
9272	// values are omitted from API requests. However, any field with an
9273	// empty value appearing in NullFields will be sent to the server as
9274	// null. It is an error if a field in this list has a non-empty value.
9275	// This may be used to include null fields in Patch requests.
9276	NullFields []string `json:"-"`
9277}
9278
9279func (s *OffsetPosition) MarshalJSON() ([]byte, error) {
9280	type NoMethod OffsetPosition
9281	raw := NoMethod(*s)
9282	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9283}
9284
9285// OmnitureSettings: Omniture Integration Settings.
9286type OmnitureSettings struct {
9287	// OmnitureCostDataEnabled: Whether placement cost data will be sent to
9288	// Omniture. This property can be enabled only if
9289	// omnitureIntegrationEnabled is true.
9290	OmnitureCostDataEnabled bool `json:"omnitureCostDataEnabled,omitempty"`
9291
9292	// OmnitureIntegrationEnabled: Whether Omniture integration is enabled.
9293	// This property can be enabled only when the "Advanced Ad Serving"
9294	// account setting is enabled.
9295	OmnitureIntegrationEnabled bool `json:"omnitureIntegrationEnabled,omitempty"`
9296
9297	// ForceSendFields is a list of field names (e.g.
9298	// "OmnitureCostDataEnabled") to unconditionally include in API
9299	// requests. By default, fields with empty values are omitted from API
9300	// requests. However, any non-pointer, non-interface field appearing in
9301	// ForceSendFields will be sent to the server regardless of whether the
9302	// field is empty or not. This may be used to include empty fields in
9303	// Patch requests.
9304	ForceSendFields []string `json:"-"`
9305
9306	// NullFields is a list of field names (e.g. "OmnitureCostDataEnabled")
9307	// to include in API requests with the JSON null value. By default,
9308	// fields with empty values are omitted from API requests. However, any
9309	// field with an empty value appearing in NullFields will be sent to the
9310	// server as null. It is an error if a field in this list has a
9311	// non-empty value. This may be used to include null fields in Patch
9312	// requests.
9313	NullFields []string `json:"-"`
9314}
9315
9316func (s *OmnitureSettings) MarshalJSON() ([]byte, error) {
9317	type NoMethod OmnitureSettings
9318	raw := NoMethod(*s)
9319	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9320}
9321
9322// OperatingSystem: Contains information about an operating system that
9323// can be targeted by ads.
9324type OperatingSystem struct {
9325	// DartId: DART ID of this operating system. This is the ID used for
9326	// targeting.
9327	DartId int64 `json:"dartId,omitempty,string"`
9328
9329	// Desktop: Whether this operating system is for desktop.
9330	Desktop bool `json:"desktop,omitempty"`
9331
9332	// Kind: Identifies what kind of resource this is. Value: the fixed
9333	// string "dfareporting#operatingSystem".
9334	Kind string `json:"kind,omitempty"`
9335
9336	// Mobile: Whether this operating system is for mobile.
9337	Mobile bool `json:"mobile,omitempty"`
9338
9339	// Name: Name of this operating system.
9340	Name string `json:"name,omitempty"`
9341
9342	// ServerResponse contains the HTTP response code and headers from the
9343	// server.
9344	googleapi.ServerResponse `json:"-"`
9345
9346	// ForceSendFields is a list of field names (e.g. "DartId") to
9347	// unconditionally include in API requests. By default, fields with
9348	// empty values are omitted from API requests. However, any non-pointer,
9349	// non-interface field appearing in ForceSendFields will be sent to the
9350	// server regardless of whether the field is empty or not. This may be
9351	// used to include empty fields in Patch requests.
9352	ForceSendFields []string `json:"-"`
9353
9354	// NullFields is a list of field names (e.g. "DartId") to include in API
9355	// requests with the JSON null value. By default, fields with empty
9356	// values are omitted from API requests. However, any field with an
9357	// empty value appearing in NullFields will be sent to the server as
9358	// null. It is an error if a field in this list has a non-empty value.
9359	// This may be used to include null fields in Patch requests.
9360	NullFields []string `json:"-"`
9361}
9362
9363func (s *OperatingSystem) MarshalJSON() ([]byte, error) {
9364	type NoMethod OperatingSystem
9365	raw := NoMethod(*s)
9366	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9367}
9368
9369// OperatingSystemVersion: Contains information about a particular
9370// version of an operating system that can be targeted by ads.
9371type OperatingSystemVersion struct {
9372	// Id: ID of this operating system version.
9373	Id int64 `json:"id,omitempty,string"`
9374
9375	// Kind: Identifies what kind of resource this is. Value: the fixed
9376	// string "dfareporting#operatingSystemVersion".
9377	Kind string `json:"kind,omitempty"`
9378
9379	// MajorVersion: Major version (leftmost number) of this operating
9380	// system version.
9381	MajorVersion string `json:"majorVersion,omitempty"`
9382
9383	// MinorVersion: Minor version (number after the first dot) of this
9384	// operating system version.
9385	MinorVersion string `json:"minorVersion,omitempty"`
9386
9387	// Name: Name of this operating system version.
9388	Name string `json:"name,omitempty"`
9389
9390	// OperatingSystem: Operating system of this operating system version.
9391	OperatingSystem *OperatingSystem `json:"operatingSystem,omitempty"`
9392
9393	// ServerResponse contains the HTTP response code and headers from the
9394	// server.
9395	googleapi.ServerResponse `json:"-"`
9396
9397	// ForceSendFields is a list of field names (e.g. "Id") to
9398	// unconditionally include in API requests. By default, fields with
9399	// empty values are omitted from API requests. However, any non-pointer,
9400	// non-interface field appearing in ForceSendFields will be sent to the
9401	// server regardless of whether the field is empty or not. This may be
9402	// used to include empty fields in Patch requests.
9403	ForceSendFields []string `json:"-"`
9404
9405	// NullFields is a list of field names (e.g. "Id") to include in API
9406	// requests with the JSON null value. By default, fields with empty
9407	// values are omitted from API requests. However, any field with an
9408	// empty value appearing in NullFields will be sent to the server as
9409	// null. It is an error if a field in this list has a non-empty value.
9410	// This may be used to include null fields in Patch requests.
9411	NullFields []string `json:"-"`
9412}
9413
9414func (s *OperatingSystemVersion) MarshalJSON() ([]byte, error) {
9415	type NoMethod OperatingSystemVersion
9416	raw := NoMethod(*s)
9417	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9418}
9419
9420// OperatingSystemVersionsListResponse: Operating System Version List
9421// Response
9422type OperatingSystemVersionsListResponse struct {
9423	// Kind: Identifies what kind of resource this is. Value: the fixed
9424	// string "dfareporting#operatingSystemVersionsListResponse".
9425	Kind string `json:"kind,omitempty"`
9426
9427	// OperatingSystemVersions: Operating system version collection.
9428	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
9429
9430	// ServerResponse contains the HTTP response code and headers from the
9431	// server.
9432	googleapi.ServerResponse `json:"-"`
9433
9434	// ForceSendFields is a list of field names (e.g. "Kind") to
9435	// unconditionally include in API requests. By default, fields with
9436	// empty values are omitted from API requests. However, any non-pointer,
9437	// non-interface field appearing in ForceSendFields will be sent to the
9438	// server regardless of whether the field is empty or not. This may be
9439	// used to include empty fields in Patch requests.
9440	ForceSendFields []string `json:"-"`
9441
9442	// NullFields is a list of field names (e.g. "Kind") to include in API
9443	// requests with the JSON null value. By default, fields with empty
9444	// values are omitted from API requests. However, any field with an
9445	// empty value appearing in NullFields will be sent to the server as
9446	// null. It is an error if a field in this list has a non-empty value.
9447	// This may be used to include null fields in Patch requests.
9448	NullFields []string `json:"-"`
9449}
9450
9451func (s *OperatingSystemVersionsListResponse) MarshalJSON() ([]byte, error) {
9452	type NoMethod OperatingSystemVersionsListResponse
9453	raw := NoMethod(*s)
9454	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9455}
9456
9457// OperatingSystemsListResponse: Operating System List Response
9458type OperatingSystemsListResponse struct {
9459	// Kind: Identifies what kind of resource this is. Value: the fixed
9460	// string "dfareporting#operatingSystemsListResponse".
9461	Kind string `json:"kind,omitempty"`
9462
9463	// OperatingSystems: Operating system collection.
9464	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
9465
9466	// ServerResponse contains the HTTP response code and headers from the
9467	// server.
9468	googleapi.ServerResponse `json:"-"`
9469
9470	// ForceSendFields is a list of field names (e.g. "Kind") to
9471	// unconditionally include in API requests. By default, fields with
9472	// empty values are omitted from API requests. However, any non-pointer,
9473	// non-interface field appearing in ForceSendFields will be sent to the
9474	// server regardless of whether the field is empty or not. This may be
9475	// used to include empty fields in Patch requests.
9476	ForceSendFields []string `json:"-"`
9477
9478	// NullFields is a list of field names (e.g. "Kind") to include in API
9479	// requests with the JSON null value. By default, fields with empty
9480	// values are omitted from API requests. However, any field with an
9481	// empty value appearing in NullFields will be sent to the server as
9482	// null. It is an error if a field in this list has a non-empty value.
9483	// This may be used to include null fields in Patch requests.
9484	NullFields []string `json:"-"`
9485}
9486
9487func (s *OperatingSystemsListResponse) MarshalJSON() ([]byte, error) {
9488	type NoMethod OperatingSystemsListResponse
9489	raw := NoMethod(*s)
9490	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9491}
9492
9493// OptimizationActivity: Creative optimization activity.
9494type OptimizationActivity struct {
9495	// FloodlightActivityId: Floodlight activity ID of this optimization
9496	// activity. This is a required field.
9497	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
9498
9499	// FloodlightActivityIdDimensionValue: Dimension value for the ID of the
9500	// floodlight activity. This is a read-only, auto-generated field.
9501	FloodlightActivityIdDimensionValue *DimensionValue `json:"floodlightActivityIdDimensionValue,omitempty"`
9502
9503	// Weight: Weight associated with this optimization. The weight assigned
9504	// will be understood in proportion to the weights assigned to the other
9505	// optimization activities. Value must be greater than or equal to 1.
9506	Weight int64 `json:"weight,omitempty"`
9507
9508	// ForceSendFields is a list of field names (e.g.
9509	// "FloodlightActivityId") to unconditionally include in API requests.
9510	// By default, fields with empty values are omitted from API requests.
9511	// However, any non-pointer, non-interface field appearing in
9512	// ForceSendFields will be sent to the server regardless of whether the
9513	// field is empty or not. This may be used to include empty fields in
9514	// Patch requests.
9515	ForceSendFields []string `json:"-"`
9516
9517	// NullFields is a list of field names (e.g. "FloodlightActivityId") to
9518	// include in API requests with the JSON null value. By default, fields
9519	// with empty values are omitted from API requests. However, any field
9520	// with an empty value appearing in NullFields will be sent to the
9521	// server as null. It is an error if a field in this list has a
9522	// non-empty value. This may be used to include null fields in Patch
9523	// requests.
9524	NullFields []string `json:"-"`
9525}
9526
9527func (s *OptimizationActivity) MarshalJSON() ([]byte, error) {
9528	type NoMethod OptimizationActivity
9529	raw := NoMethod(*s)
9530	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9531}
9532
9533// Order: Describes properties of a Planning order.
9534type Order struct {
9535	// AccountId: Account ID of this order.
9536	AccountId int64 `json:"accountId,omitempty,string"`
9537
9538	// AdvertiserId: Advertiser ID of this order.
9539	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9540
9541	// ApproverUserProfileIds: IDs for users that have to approve documents
9542	// created for this order.
9543	ApproverUserProfileIds googleapi.Int64s `json:"approverUserProfileIds,omitempty"`
9544
9545	// BuyerInvoiceId: Buyer invoice ID associated with this order.
9546	BuyerInvoiceId string `json:"buyerInvoiceId,omitempty"`
9547
9548	// BuyerOrganizationName: Name of the buyer organization.
9549	BuyerOrganizationName string `json:"buyerOrganizationName,omitempty"`
9550
9551	// Comments: Comments in this order.
9552	Comments string `json:"comments,omitempty"`
9553
9554	// Contacts: Contacts for this order.
9555	Contacts []*OrderContact `json:"contacts,omitempty"`
9556
9557	// Id: ID of this order. This is a read-only, auto-generated field.
9558	Id int64 `json:"id,omitempty,string"`
9559
9560	// Kind: Identifies what kind of resource this is. Value: the fixed
9561	// string "dfareporting#order".
9562	Kind string `json:"kind,omitempty"`
9563
9564	// LastModifiedInfo: Information about the most recent modification of
9565	// this order.
9566	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9567
9568	// Name: Name of this order.
9569	Name string `json:"name,omitempty"`
9570
9571	// Notes: Notes of this order.
9572	Notes string `json:"notes,omitempty"`
9573
9574	// PlanningTermId: ID of the terms and conditions template used in this
9575	// order.
9576	PlanningTermId int64 `json:"planningTermId,omitempty,string"`
9577
9578	// ProjectId: Project ID of this order.
9579	ProjectId int64 `json:"projectId,omitempty,string"`
9580
9581	// SellerOrderId: Seller order ID associated with this order.
9582	SellerOrderId string `json:"sellerOrderId,omitempty"`
9583
9584	// SellerOrganizationName: Name of the seller organization.
9585	SellerOrganizationName string `json:"sellerOrganizationName,omitempty"`
9586
9587	// SiteId: Site IDs this order is associated with.
9588	SiteId googleapi.Int64s `json:"siteId,omitempty"`
9589
9590	// SiteNames: Free-form site names this order is associated with.
9591	SiteNames []string `json:"siteNames,omitempty"`
9592
9593	// SubaccountId: Subaccount ID of this order.
9594	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9595
9596	// TermsAndConditions: Terms and conditions of this order.
9597	TermsAndConditions string `json:"termsAndConditions,omitempty"`
9598
9599	// ServerResponse contains the HTTP response code and headers from the
9600	// server.
9601	googleapi.ServerResponse `json:"-"`
9602
9603	// ForceSendFields is a list of field names (e.g. "AccountId") to
9604	// unconditionally include in API requests. By default, fields with
9605	// empty values are omitted from API requests. However, any non-pointer,
9606	// non-interface field appearing in ForceSendFields will be sent to the
9607	// server regardless of whether the field is empty or not. This may be
9608	// used to include empty fields in Patch requests.
9609	ForceSendFields []string `json:"-"`
9610
9611	// NullFields is a list of field names (e.g. "AccountId") to include in
9612	// API requests with the JSON null value. By default, fields with empty
9613	// values are omitted from API requests. However, any field with an
9614	// empty value appearing in NullFields will be sent to the server as
9615	// null. It is an error if a field in this list has a non-empty value.
9616	// This may be used to include null fields in Patch requests.
9617	NullFields []string `json:"-"`
9618}
9619
9620func (s *Order) MarshalJSON() ([]byte, error) {
9621	type NoMethod Order
9622	raw := NoMethod(*s)
9623	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9624}
9625
9626// OrderContact: Contact of an order.
9627type OrderContact struct {
9628	// ContactInfo: Free-form information about this contact. It could be
9629	// any information related to this contact in addition to type, title,
9630	// name, and signature user profile ID.
9631	ContactInfo string `json:"contactInfo,omitempty"`
9632
9633	// ContactName: Name of this contact.
9634	ContactName string `json:"contactName,omitempty"`
9635
9636	// ContactTitle: Title of this contact.
9637	ContactTitle string `json:"contactTitle,omitempty"`
9638
9639	// ContactType: Type of this contact.
9640	//
9641	// Possible values:
9642	//   "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT"
9643	//   "PLANNING_ORDER_CONTACT_BUYER_CONTACT"
9644	//   "PLANNING_ORDER_CONTACT_SELLER_CONTACT"
9645	ContactType string `json:"contactType,omitempty"`
9646
9647	// SignatureUserProfileId: ID of the user profile containing the
9648	// signature that will be embedded into order documents.
9649	SignatureUserProfileId int64 `json:"signatureUserProfileId,omitempty,string"`
9650
9651	// ForceSendFields is a list of field names (e.g. "ContactInfo") to
9652	// unconditionally include in API requests. By default, fields with
9653	// empty values are omitted from API requests. However, any non-pointer,
9654	// non-interface field appearing in ForceSendFields will be sent to the
9655	// server regardless of whether the field is empty or not. This may be
9656	// used to include empty fields in Patch requests.
9657	ForceSendFields []string `json:"-"`
9658
9659	// NullFields is a list of field names (e.g. "ContactInfo") to include
9660	// in API requests with the JSON null value. By default, fields with
9661	// empty values are omitted from API requests. However, any field with
9662	// an empty value appearing in NullFields will be sent to the server as
9663	// null. It is an error if a field in this list has a non-empty value.
9664	// This may be used to include null fields in Patch requests.
9665	NullFields []string `json:"-"`
9666}
9667
9668func (s *OrderContact) MarshalJSON() ([]byte, error) {
9669	type NoMethod OrderContact
9670	raw := NoMethod(*s)
9671	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9672}
9673
9674// OrderDocument: Contains properties of a Planning order document.
9675type OrderDocument struct {
9676	// AccountId: Account ID of this order document.
9677	AccountId int64 `json:"accountId,omitempty,string"`
9678
9679	// AdvertiserId: Advertiser ID of this order document.
9680	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9681
9682	// AmendedOrderDocumentId: The amended order document ID of this order
9683	// document. An order document can be created by optionally amending
9684	// another order document so that the change history can be preserved.
9685	AmendedOrderDocumentId int64 `json:"amendedOrderDocumentId,omitempty,string"`
9686
9687	// ApprovedByUserProfileIds: IDs of users who have approved this order
9688	// document.
9689	ApprovedByUserProfileIds googleapi.Int64s `json:"approvedByUserProfileIds,omitempty"`
9690
9691	// Cancelled: Whether this order document is cancelled.
9692	Cancelled bool `json:"cancelled,omitempty"`
9693
9694	// CreatedInfo: Information about the creation of this order document.
9695	CreatedInfo *LastModifiedInfo `json:"createdInfo,omitempty"`
9696
9697	// EffectiveDate: Effective date of this order document.
9698	EffectiveDate string `json:"effectiveDate,omitempty"`
9699
9700	// Id: ID of this order document.
9701	Id int64 `json:"id,omitempty,string"`
9702
9703	// Kind: Identifies what kind of resource this is. Value: the fixed
9704	// string "dfareporting#orderDocument".
9705	Kind string `json:"kind,omitempty"`
9706
9707	// LastSentRecipients: List of email addresses that received the last
9708	// sent document.
9709	LastSentRecipients []string `json:"lastSentRecipients,omitempty"`
9710
9711	// LastSentTime: Timestamp of the last email sent with this order
9712	// document.
9713	LastSentTime string `json:"lastSentTime,omitempty"`
9714
9715	// OrderId: ID of the order from which this order document is created.
9716	OrderId int64 `json:"orderId,omitempty,string"`
9717
9718	// ProjectId: Project ID of this order document.
9719	ProjectId int64 `json:"projectId,omitempty,string"`
9720
9721	// Signed: Whether this order document has been signed.
9722	Signed bool `json:"signed,omitempty"`
9723
9724	// SubaccountId: Subaccount ID of this order document.
9725	SubaccountId int64 `json:"subaccountId,omitempty,string"`
9726
9727	// Title: Title of this order document.
9728	Title string `json:"title,omitempty"`
9729
9730	// Type: Type of this order document
9731	//
9732	// Possible values:
9733	//   "PLANNING_ORDER_TYPE_CHANGE_ORDER"
9734	//   "PLANNING_ORDER_TYPE_INSERTION_ORDER"
9735	Type string `json:"type,omitempty"`
9736
9737	// ServerResponse contains the HTTP response code and headers from the
9738	// server.
9739	googleapi.ServerResponse `json:"-"`
9740
9741	// ForceSendFields is a list of field names (e.g. "AccountId") to
9742	// unconditionally include in API requests. By default, fields with
9743	// empty values are omitted from API requests. However, any non-pointer,
9744	// non-interface field appearing in ForceSendFields will be sent to the
9745	// server regardless of whether the field is empty or not. This may be
9746	// used to include empty fields in Patch requests.
9747	ForceSendFields []string `json:"-"`
9748
9749	// NullFields is a list of field names (e.g. "AccountId") to include in
9750	// API requests with the JSON null value. By default, fields with empty
9751	// values are omitted from API requests. However, any field with an
9752	// empty value appearing in NullFields will be sent to the server as
9753	// null. It is an error if a field in this list has a non-empty value.
9754	// This may be used to include null fields in Patch requests.
9755	NullFields []string `json:"-"`
9756}
9757
9758func (s *OrderDocument) MarshalJSON() ([]byte, error) {
9759	type NoMethod OrderDocument
9760	raw := NoMethod(*s)
9761	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9762}
9763
9764// OrderDocumentsListResponse: Order document List Response
9765type OrderDocumentsListResponse struct {
9766	// Kind: Identifies what kind of resource this is. Value: the fixed
9767	// string "dfareporting#orderDocumentsListResponse".
9768	Kind string `json:"kind,omitempty"`
9769
9770	// NextPageToken: Pagination token to be used for the next list
9771	// operation.
9772	NextPageToken string `json:"nextPageToken,omitempty"`
9773
9774	// OrderDocuments: Order document collection
9775	OrderDocuments []*OrderDocument `json:"orderDocuments,omitempty"`
9776
9777	// ServerResponse contains the HTTP response code and headers from the
9778	// server.
9779	googleapi.ServerResponse `json:"-"`
9780
9781	// ForceSendFields is a list of field names (e.g. "Kind") to
9782	// unconditionally include in API requests. By default, fields with
9783	// empty values are omitted from API requests. However, any non-pointer,
9784	// non-interface field appearing in ForceSendFields will be sent to the
9785	// server regardless of whether the field is empty or not. This may be
9786	// used to include empty fields in Patch requests.
9787	ForceSendFields []string `json:"-"`
9788
9789	// NullFields is a list of field names (e.g. "Kind") to include in API
9790	// requests with the JSON null value. By default, fields with empty
9791	// values are omitted from API requests. However, any field with an
9792	// empty value appearing in NullFields will be sent to the server as
9793	// null. It is an error if a field in this list has a non-empty value.
9794	// This may be used to include null fields in Patch requests.
9795	NullFields []string `json:"-"`
9796}
9797
9798func (s *OrderDocumentsListResponse) MarshalJSON() ([]byte, error) {
9799	type NoMethod OrderDocumentsListResponse
9800	raw := NoMethod(*s)
9801	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9802}
9803
9804// OrdersListResponse: Order List Response
9805type OrdersListResponse struct {
9806	// Kind: Identifies what kind of resource this is. Value: the fixed
9807	// string "dfareporting#ordersListResponse".
9808	Kind string `json:"kind,omitempty"`
9809
9810	// NextPageToken: Pagination token to be used for the next list
9811	// operation.
9812	NextPageToken string `json:"nextPageToken,omitempty"`
9813
9814	// Orders: Order collection.
9815	Orders []*Order `json:"orders,omitempty"`
9816
9817	// ServerResponse contains the HTTP response code and headers from the
9818	// server.
9819	googleapi.ServerResponse `json:"-"`
9820
9821	// ForceSendFields is a list of field names (e.g. "Kind") to
9822	// unconditionally include in API requests. By default, fields with
9823	// empty values are omitted from API requests. However, any non-pointer,
9824	// non-interface field appearing in ForceSendFields will be sent to the
9825	// server regardless of whether the field is empty or not. This may be
9826	// used to include empty fields in Patch requests.
9827	ForceSendFields []string `json:"-"`
9828
9829	// NullFields is a list of field names (e.g. "Kind") to include in API
9830	// requests with the JSON null value. By default, fields with empty
9831	// values are omitted from API requests. However, any field with an
9832	// empty value appearing in NullFields will be sent to the server as
9833	// null. It is an error if a field in this list has a non-empty value.
9834	// This may be used to include null fields in Patch requests.
9835	NullFields []string `json:"-"`
9836}
9837
9838func (s *OrdersListResponse) MarshalJSON() ([]byte, error) {
9839	type NoMethod OrdersListResponse
9840	raw := NoMethod(*s)
9841	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9842}
9843
9844// PathToConversionReportCompatibleFields: Represents fields that are
9845// compatible to be selected for a report of type "PATH_TO_CONVERSION".
9846type PathToConversionReportCompatibleFields struct {
9847	// ConversionDimensions: Conversion dimensions which are compatible to
9848	// be selected in the "conversionDimensions" section of the report.
9849	ConversionDimensions []*Dimension `json:"conversionDimensions,omitempty"`
9850
9851	// CustomFloodlightVariables: Custom floodlight variables which are
9852	// compatible to be selected in the "customFloodlightVariables" section
9853	// of the report.
9854	CustomFloodlightVariables []*Dimension `json:"customFloodlightVariables,omitempty"`
9855
9856	// Kind: The kind of resource this is, in this case
9857	// dfareporting#pathToConversionReportCompatibleFields.
9858	Kind string `json:"kind,omitempty"`
9859
9860	// Metrics: Metrics which are compatible to be selected in the
9861	// "metricNames" section of the report.
9862	Metrics []*Metric `json:"metrics,omitempty"`
9863
9864	// PerInteractionDimensions: Per-interaction dimensions which are
9865	// compatible to be selected in the "perInteractionDimensions" section
9866	// of the report.
9867	PerInteractionDimensions []*Dimension `json:"perInteractionDimensions,omitempty"`
9868
9869	// ForceSendFields is a list of field names (e.g.
9870	// "ConversionDimensions") to unconditionally include in API requests.
9871	// By default, fields with empty values are omitted from API requests.
9872	// However, any non-pointer, non-interface field appearing in
9873	// ForceSendFields will be sent to the server regardless of whether the
9874	// field is empty or not. This may be used to include empty fields in
9875	// Patch requests.
9876	ForceSendFields []string `json:"-"`
9877
9878	// NullFields is a list of field names (e.g. "ConversionDimensions") to
9879	// include in API requests with the JSON null value. By default, fields
9880	// with empty values are omitted from API requests. However, any field
9881	// with an empty value appearing in NullFields will be sent to the
9882	// server as null. It is an error if a field in this list has a
9883	// non-empty value. This may be used to include null fields in Patch
9884	// requests.
9885	NullFields []string `json:"-"`
9886}
9887
9888func (s *PathToConversionReportCompatibleFields) MarshalJSON() ([]byte, error) {
9889	type NoMethod PathToConversionReportCompatibleFields
9890	raw := NoMethod(*s)
9891	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
9892}
9893
9894// Placement: Contains properties of a placement.
9895type Placement struct {
9896	// AccountId: Account ID of this placement. This field can be left
9897	// blank.
9898	AccountId int64 `json:"accountId,omitempty,string"`
9899
9900	// AdBlockingOptOut: Whether this placement opts out of ad blocking.
9901	// When true, ad blocking is disabled for this placement. When false,
9902	// the campaign and site settings take effect.
9903	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
9904
9905	// AdditionalSizes: Additional sizes associated with this placement.
9906	// When inserting or updating a placement, only the size ID field is
9907	// used.
9908	AdditionalSizes []*Size `json:"additionalSizes,omitempty"`
9909
9910	// AdvertiserId: Advertiser ID of this placement. This field can be left
9911	// blank.
9912	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
9913
9914	// AdvertiserIdDimensionValue: Dimension value for the ID of the
9915	// advertiser. This is a read-only, auto-generated field.
9916	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
9917
9918	// Archived: Whether this placement is archived.
9919	Archived bool `json:"archived,omitempty"`
9920
9921	// CampaignId: Campaign ID of this placement. This field is a required
9922	// field on insertion.
9923	CampaignId int64 `json:"campaignId,omitempty,string"`
9924
9925	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
9926	// This is a read-only, auto-generated field.
9927	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
9928
9929	// Comment: Comments for this placement.
9930	Comment string `json:"comment,omitempty"`
9931
9932	// Compatibility: Placement compatibility. DISPLAY and
9933	// DISPLAY_INTERSTITIAL refer to rendering on desktop, on mobile devices
9934	// or in mobile apps for regular or interstitial ads respectively. APP
9935	// and APP_INTERSTITIAL are no longer allowed for new placement
9936	// insertions. Instead, use DISPLAY or DISPLAY_INTERSTITIAL.
9937	// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
9938	// with the VAST standard. This field is required on insertion.
9939	//
9940	// Possible values:
9941	//   "APP"
9942	//   "APP_INTERSTITIAL"
9943	//   "DISPLAY"
9944	//   "DISPLAY_INTERSTITIAL"
9945	//   "IN_STREAM_AUDIO"
9946	//   "IN_STREAM_VIDEO"
9947	Compatibility string `json:"compatibility,omitempty"`
9948
9949	// ContentCategoryId: ID of the content category assigned to this
9950	// placement.
9951	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
9952
9953	// CreateInfo: Information about the creation of this placement. This is
9954	// a read-only field.
9955	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
9956
9957	// DirectorySiteId: Directory site ID of this placement. On insert, you
9958	// must set either this field or the siteId field to specify the site
9959	// associated with this placement. This is a required field that is
9960	// read-only after insertion.
9961	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
9962
9963	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
9964	// directory site. This is a read-only, auto-generated field.
9965	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
9966
9967	// ExternalId: External ID for this placement.
9968	ExternalId string `json:"externalId,omitempty"`
9969
9970	// Id: ID of this placement. This is a read-only, auto-generated field.
9971	Id int64 `json:"id,omitempty,string"`
9972
9973	// IdDimensionValue: Dimension value for the ID of this placement. This
9974	// is a read-only, auto-generated field.
9975	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
9976
9977	// KeyName: Key name of this placement. This is a read-only,
9978	// auto-generated field.
9979	KeyName string `json:"keyName,omitempty"`
9980
9981	// Kind: Identifies what kind of resource this is. Value: the fixed
9982	// string "dfareporting#placement".
9983	Kind string `json:"kind,omitempty"`
9984
9985	// LastModifiedInfo: Information about the most recent modification of
9986	// this placement. This is a read-only field.
9987	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
9988
9989	// LookbackConfiguration: Lookback window settings for this placement.
9990	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
9991
9992	// Name: Name of this placement.This is a required field and must be
9993	// less than 256 characters long.
9994	Name string `json:"name,omitempty"`
9995
9996	// PaymentApproved: Whether payment was approved for this placement.
9997	// This is a read-only field relevant only to publisher-paid placements.
9998	PaymentApproved bool `json:"paymentApproved,omitempty"`
9999
10000	// PaymentSource: Payment source for this placement. This is a required
10001	// field that is read-only after insertion.
10002	//
10003	// Possible values:
10004	//   "PLACEMENT_AGENCY_PAID"
10005	//   "PLACEMENT_PUBLISHER_PAID"
10006	PaymentSource string `json:"paymentSource,omitempty"`
10007
10008	// PlacementGroupId: ID of this placement's group, if applicable.
10009	PlacementGroupId int64 `json:"placementGroupId,omitempty,string"`
10010
10011	// PlacementGroupIdDimensionValue: Dimension value for the ID of the
10012	// placement group. This is a read-only, auto-generated field.
10013	PlacementGroupIdDimensionValue *DimensionValue `json:"placementGroupIdDimensionValue,omitempty"`
10014
10015	// PlacementStrategyId: ID of the placement strategy assigned to this
10016	// placement.
10017	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
10018
10019	// PricingSchedule: Pricing schedule of this placement. This field is
10020	// required on insertion, specifically subfields startDate, endDate and
10021	// pricingType.
10022	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
10023
10024	// Primary: Whether this placement is the primary placement of a
10025	// roadblock (placement group). You cannot change this field from true
10026	// to false. Setting this field to true will automatically set the
10027	// primary field on the original primary placement of the roadblock to
10028	// false, and it will automatically set the roadblock's
10029	// primaryPlacementId field to the ID of this placement.
10030	Primary bool `json:"primary,omitempty"`
10031
10032	// PublisherUpdateInfo: Information about the last publisher update.
10033	// This is a read-only field.
10034	PublisherUpdateInfo *LastModifiedInfo `json:"publisherUpdateInfo,omitempty"`
10035
10036	// SiteId: Site ID associated with this placement. On insert, you must
10037	// set either this field or the directorySiteId field to specify the
10038	// site associated with this placement. This is a required field that is
10039	// read-only after insertion.
10040	SiteId int64 `json:"siteId,omitempty,string"`
10041
10042	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
10043	// a read-only, auto-generated field.
10044	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
10045
10046	// Size: Size associated with this placement. When inserting or updating
10047	// a placement, only the size ID field is used. This field is required
10048	// on insertion.
10049	Size *Size `json:"size,omitempty"`
10050
10051	// SslRequired: Whether creatives assigned to this placement must be
10052	// SSL-compliant.
10053	SslRequired bool `json:"sslRequired,omitempty"`
10054
10055	// Status: Third-party placement status.
10056	//
10057	// Possible values:
10058	//   "ACKNOWLEDGE_ACCEPTANCE"
10059	//   "ACKNOWLEDGE_REJECTION"
10060	//   "DRAFT"
10061	//   "PAYMENT_ACCEPTED"
10062	//   "PAYMENT_REJECTED"
10063	//   "PENDING_REVIEW"
10064	Status string `json:"status,omitempty"`
10065
10066	// SubaccountId: Subaccount ID of this placement. This field can be left
10067	// blank.
10068	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10069
10070	// TagFormats: Tag formats to generate for this placement. This field is
10071	// required on insertion.
10072	// Acceptable values are:
10073	// - "PLACEMENT_TAG_STANDARD"
10074	// - "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
10075	// - "PLACEMENT_TAG_IFRAME_ILAYER"
10076	// - "PLACEMENT_TAG_INTERNAL_REDIRECT"
10077	// - "PLACEMENT_TAG_JAVASCRIPT"
10078	// - "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
10079	// - "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
10080	// - "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
10081	// - "PLACEMENT_TAG_CLICK_COMMANDS"
10082	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
10083	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
10084	// - "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
10085	// - "PLACEMENT_TAG_TRACKING"
10086	// - "PLACEMENT_TAG_TRACKING_IFRAME"
10087	// - "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
10088	//
10089	// Possible values:
10090	//   "PLACEMENT_TAG_CLICK_COMMANDS"
10091	//   "PLACEMENT_TAG_IFRAME_ILAYER"
10092	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
10093	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
10094	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
10095	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
10096	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
10097	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
10098	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
10099	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
10100	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
10101	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
10102	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
10103	//   "PLACEMENT_TAG_JAVASCRIPT"
10104	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
10105	//   "PLACEMENT_TAG_STANDARD"
10106	//   "PLACEMENT_TAG_TRACKING"
10107	//   "PLACEMENT_TAG_TRACKING_IFRAME"
10108	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
10109	TagFormats []string `json:"tagFormats,omitempty"`
10110
10111	// TagSetting: Tag settings for this placement.
10112	TagSetting *TagSetting `json:"tagSetting,omitempty"`
10113
10114	// VideoActiveViewOptOut: Whether Verification and ActiveView are
10115	// disabled for in-stream video creatives for this placement. The same
10116	// setting videoActiveViewOptOut exists on the site level -- the opt out
10117	// occurs if either of these settings are true. These settings are
10118	// distinct from DirectorySites.settings.activeViewOptOut or
10119	// Sites.siteSettings.activeViewOptOut which only apply to display ads.
10120	// However, Accounts.activeViewOptOut opts out both video traffic, as
10121	// well as display ads, from Verification and ActiveView.
10122	VideoActiveViewOptOut bool `json:"videoActiveViewOptOut,omitempty"`
10123
10124	// VideoSettings: A collection of settings which affect video creatives
10125	// served through this placement. Applicable to placements with
10126	// IN_STREAM_VIDEO compatibility.
10127	VideoSettings *VideoSettings `json:"videoSettings,omitempty"`
10128
10129	// VpaidAdapterChoice: VPAID adapter setting for this placement.
10130	// Controls which VPAID format the measurement adapter will use for
10131	// in-stream video creatives assigned to this placement.
10132	//
10133	// Note: Flash is no longer supported. This field now defaults to HTML5
10134	// when the following values are provided: FLASH, BOTH.
10135	//
10136	// Possible values:
10137	//   "BOTH"
10138	//   "DEFAULT"
10139	//   "FLASH"
10140	//   "HTML5"
10141	VpaidAdapterChoice string `json:"vpaidAdapterChoice,omitempty"`
10142
10143	// ServerResponse contains the HTTP response code and headers from the
10144	// server.
10145	googleapi.ServerResponse `json:"-"`
10146
10147	// ForceSendFields is a list of field names (e.g. "AccountId") to
10148	// unconditionally include in API requests. By default, fields with
10149	// empty values are omitted from API requests. However, any non-pointer,
10150	// non-interface field appearing in ForceSendFields will be sent to the
10151	// server regardless of whether the field is empty or not. This may be
10152	// used to include empty fields in Patch requests.
10153	ForceSendFields []string `json:"-"`
10154
10155	// NullFields is a list of field names (e.g. "AccountId") to include in
10156	// API requests with the JSON null value. By default, fields with empty
10157	// values are omitted from API requests. However, any field with an
10158	// empty value appearing in NullFields will be sent to the server as
10159	// null. It is an error if a field in this list has a non-empty value.
10160	// This may be used to include null fields in Patch requests.
10161	NullFields []string `json:"-"`
10162}
10163
10164func (s *Placement) MarshalJSON() ([]byte, error) {
10165	type NoMethod Placement
10166	raw := NoMethod(*s)
10167	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10168}
10169
10170// PlacementAssignment: Placement Assignment.
10171type PlacementAssignment struct {
10172	// Active: Whether this placement assignment is active. When true, the
10173	// placement will be included in the ad's rotation.
10174	Active bool `json:"active,omitempty"`
10175
10176	// PlacementId: ID of the placement to be assigned. This is a required
10177	// field.
10178	PlacementId int64 `json:"placementId,omitempty,string"`
10179
10180	// PlacementIdDimensionValue: Dimension value for the ID of the
10181	// placement. This is a read-only, auto-generated field.
10182	PlacementIdDimensionValue *DimensionValue `json:"placementIdDimensionValue,omitempty"`
10183
10184	// SslRequired: Whether the placement to be assigned requires SSL. This
10185	// is a read-only field that is auto-generated when the ad is inserted
10186	// or updated.
10187	SslRequired bool `json:"sslRequired,omitempty"`
10188
10189	// ForceSendFields is a list of field names (e.g. "Active") to
10190	// unconditionally include in API requests. By default, fields with
10191	// empty values are omitted from API requests. However, any non-pointer,
10192	// non-interface field appearing in ForceSendFields will be sent to the
10193	// server regardless of whether the field is empty or not. This may be
10194	// used to include empty fields in Patch requests.
10195	ForceSendFields []string `json:"-"`
10196
10197	// NullFields is a list of field names (e.g. "Active") to include in API
10198	// requests with the JSON null value. By default, fields with empty
10199	// values are omitted from API requests. However, any field with an
10200	// empty value appearing in NullFields will be sent to the server as
10201	// null. It is an error if a field in this list has a non-empty value.
10202	// This may be used to include null fields in Patch requests.
10203	NullFields []string `json:"-"`
10204}
10205
10206func (s *PlacementAssignment) MarshalJSON() ([]byte, error) {
10207	type NoMethod PlacementAssignment
10208	raw := NoMethod(*s)
10209	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10210}
10211
10212// PlacementGroup: Contains properties of a package or roadblock.
10213type PlacementGroup struct {
10214	// AccountId: Account ID of this placement group. This is a read-only
10215	// field that can be left blank.
10216	AccountId int64 `json:"accountId,omitempty,string"`
10217
10218	// AdvertiserId: Advertiser ID of this placement group. This is a
10219	// required field on insertion.
10220	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
10221
10222	// AdvertiserIdDimensionValue: Dimension value for the ID of the
10223	// advertiser. This is a read-only, auto-generated field.
10224	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
10225
10226	// Archived: Whether this placement group is archived.
10227	Archived bool `json:"archived,omitempty"`
10228
10229	// CampaignId: Campaign ID of this placement group. This field is
10230	// required on insertion.
10231	CampaignId int64 `json:"campaignId,omitempty,string"`
10232
10233	// CampaignIdDimensionValue: Dimension value for the ID of the campaign.
10234	// This is a read-only, auto-generated field.
10235	CampaignIdDimensionValue *DimensionValue `json:"campaignIdDimensionValue,omitempty"`
10236
10237	// ChildPlacementIds: IDs of placements which are assigned to this
10238	// placement group. This is a read-only, auto-generated field.
10239	ChildPlacementIds googleapi.Int64s `json:"childPlacementIds,omitempty"`
10240
10241	// Comment: Comments for this placement group.
10242	Comment string `json:"comment,omitempty"`
10243
10244	// ContentCategoryId: ID of the content category assigned to this
10245	// placement group.
10246	ContentCategoryId int64 `json:"contentCategoryId,omitempty,string"`
10247
10248	// CreateInfo: Information about the creation of this placement group.
10249	// This is a read-only field.
10250	CreateInfo *LastModifiedInfo `json:"createInfo,omitempty"`
10251
10252	// DirectorySiteId: Directory site ID associated with this placement
10253	// group. On insert, you must set either this field or the site_id field
10254	// to specify the site associated with this placement group. This is a
10255	// required field that is read-only after insertion.
10256	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
10257
10258	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
10259	// directory site. This is a read-only, auto-generated field.
10260	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
10261
10262	// ExternalId: External ID for this placement.
10263	ExternalId string `json:"externalId,omitempty"`
10264
10265	// Id: ID of this placement group. This is a read-only, auto-generated
10266	// field.
10267	Id int64 `json:"id,omitempty,string"`
10268
10269	// IdDimensionValue: Dimension value for the ID of this placement group.
10270	// This is a read-only, auto-generated field.
10271	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
10272
10273	// Kind: Identifies what kind of resource this is. Value: the fixed
10274	// string "dfareporting#placementGroup".
10275	Kind string `json:"kind,omitempty"`
10276
10277	// LastModifiedInfo: Information about the most recent modification of
10278	// this placement group. This is a read-only field.
10279	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
10280
10281	// Name: Name of this placement group. This is a required field and must
10282	// be less than 256 characters long.
10283	Name string `json:"name,omitempty"`
10284
10285	// PlacementGroupType: Type of this placement group. A package is a
10286	// simple group of placements that acts as a single pricing point for a
10287	// group of tags. A roadblock is a group of placements that not only
10288	// acts as a single pricing point, but also assumes that all the tags in
10289	// it will be served at the same time. A roadblock requires one of its
10290	// assigned placements to be marked as primary for reporting. This field
10291	// is required on insertion.
10292	//
10293	// Possible values:
10294	//   "PLACEMENT_PACKAGE"
10295	//   "PLACEMENT_ROADBLOCK"
10296	PlacementGroupType string `json:"placementGroupType,omitempty"`
10297
10298	// PlacementStrategyId: ID of the placement strategy assigned to this
10299	// placement group.
10300	PlacementStrategyId int64 `json:"placementStrategyId,omitempty,string"`
10301
10302	// PricingSchedule: Pricing schedule of this placement group. This field
10303	// is required on insertion.
10304	PricingSchedule *PricingSchedule `json:"pricingSchedule,omitempty"`
10305
10306	// PrimaryPlacementId: ID of the primary placement, used to calculate
10307	// the media cost of a roadblock (placement group). Modifying this field
10308	// will automatically modify the primary field on all affected roadblock
10309	// child placements.
10310	PrimaryPlacementId int64 `json:"primaryPlacementId,omitempty,string"`
10311
10312	// PrimaryPlacementIdDimensionValue: Dimension value for the ID of the
10313	// primary placement. This is a read-only, auto-generated field.
10314	PrimaryPlacementIdDimensionValue *DimensionValue `json:"primaryPlacementIdDimensionValue,omitempty"`
10315
10316	// SiteId: Site ID associated with this placement group. On insert, you
10317	// must set either this field or the directorySiteId field to specify
10318	// the site associated with this placement group. This is a required
10319	// field that is read-only after insertion.
10320	SiteId int64 `json:"siteId,omitempty,string"`
10321
10322	// SiteIdDimensionValue: Dimension value for the ID of the site. This is
10323	// a read-only, auto-generated field.
10324	SiteIdDimensionValue *DimensionValue `json:"siteIdDimensionValue,omitempty"`
10325
10326	// SubaccountId: Subaccount ID of this placement group. This is a
10327	// read-only field that can be left blank.
10328	SubaccountId int64 `json:"subaccountId,omitempty,string"`
10329
10330	// ServerResponse contains the HTTP response code and headers from the
10331	// server.
10332	googleapi.ServerResponse `json:"-"`
10333
10334	// ForceSendFields is a list of field names (e.g. "AccountId") to
10335	// unconditionally include in API requests. By default, fields with
10336	// empty values are omitted from API requests. However, any non-pointer,
10337	// non-interface field appearing in ForceSendFields will be sent to the
10338	// server regardless of whether the field is empty or not. This may be
10339	// used to include empty fields in Patch requests.
10340	ForceSendFields []string `json:"-"`
10341
10342	// NullFields is a list of field names (e.g. "AccountId") to include in
10343	// API requests with the JSON null value. By default, fields with empty
10344	// values are omitted from API requests. However, any field with an
10345	// empty value appearing in NullFields will be sent to the server as
10346	// null. It is an error if a field in this list has a non-empty value.
10347	// This may be used to include null fields in Patch requests.
10348	NullFields []string `json:"-"`
10349}
10350
10351func (s *PlacementGroup) MarshalJSON() ([]byte, error) {
10352	type NoMethod PlacementGroup
10353	raw := NoMethod(*s)
10354	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10355}
10356
10357// PlacementGroupsListResponse: Placement Group List Response
10358type PlacementGroupsListResponse struct {
10359	// Kind: Identifies what kind of resource this is. Value: the fixed
10360	// string "dfareporting#placementGroupsListResponse".
10361	Kind string `json:"kind,omitempty"`
10362
10363	// NextPageToken: Pagination token to be used for the next list
10364	// operation.
10365	NextPageToken string `json:"nextPageToken,omitempty"`
10366
10367	// PlacementGroups: Placement group collection.
10368	PlacementGroups []*PlacementGroup `json:"placementGroups,omitempty"`
10369
10370	// ServerResponse contains the HTTP response code and headers from the
10371	// server.
10372	googleapi.ServerResponse `json:"-"`
10373
10374	// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") to include in API
10383	// 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 *PlacementGroupsListResponse) MarshalJSON() ([]byte, error) {
10392	type NoMethod PlacementGroupsListResponse
10393	raw := NoMethod(*s)
10394	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10395}
10396
10397// PlacementStrategiesListResponse: Placement Strategy List Response
10398type PlacementStrategiesListResponse struct {
10399	// Kind: Identifies what kind of resource this is. Value: the fixed
10400	// string "dfareporting#placementStrategiesListResponse".
10401	Kind string `json:"kind,omitempty"`
10402
10403	// NextPageToken: Pagination token to be used for the next list
10404	// operation.
10405	NextPageToken string `json:"nextPageToken,omitempty"`
10406
10407	// PlacementStrategies: Placement strategy collection.
10408	PlacementStrategies []*PlacementStrategy `json:"placementStrategies,omitempty"`
10409
10410	// ServerResponse contains the HTTP response code and headers from the
10411	// server.
10412	googleapi.ServerResponse `json:"-"`
10413
10414	// ForceSendFields is a list of field names (e.g. "Kind") to
10415	// unconditionally include in API requests. By default, fields with
10416	// empty values are omitted from API requests. However, any non-pointer,
10417	// non-interface field appearing in ForceSendFields will be sent to the
10418	// server regardless of whether the field is empty or not. This may be
10419	// used to include empty fields in Patch requests.
10420	ForceSendFields []string `json:"-"`
10421
10422	// NullFields is a list of field names (e.g. "Kind") to include in API
10423	// requests with the JSON null value. By default, fields with empty
10424	// values are omitted from API requests. However, any field with an
10425	// empty value appearing in NullFields will be sent to the server as
10426	// null. It is an error if a field in this list has a non-empty value.
10427	// This may be used to include null fields in Patch requests.
10428	NullFields []string `json:"-"`
10429}
10430
10431func (s *PlacementStrategiesListResponse) MarshalJSON() ([]byte, error) {
10432	type NoMethod PlacementStrategiesListResponse
10433	raw := NoMethod(*s)
10434	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10435}
10436
10437// PlacementStrategy: Contains properties of a placement strategy.
10438type PlacementStrategy struct {
10439	// AccountId: Account ID of this placement strategy.This is a read-only
10440	// field that can be left blank.
10441	AccountId int64 `json:"accountId,omitempty,string"`
10442
10443	// Id: ID of this placement strategy. This is a read-only,
10444	// auto-generated field.
10445	Id int64 `json:"id,omitempty,string"`
10446
10447	// Kind: Identifies what kind of resource this is. Value: the fixed
10448	// string "dfareporting#placementStrategy".
10449	Kind string `json:"kind,omitempty"`
10450
10451	// Name: Name of this placement strategy. This is a required field. It
10452	// must be less than 256 characters long and unique among placement
10453	// strategies of the same account.
10454	Name string `json:"name,omitempty"`
10455
10456	// ServerResponse contains the HTTP response code and headers from the
10457	// server.
10458	googleapi.ServerResponse `json:"-"`
10459
10460	// ForceSendFields is a list of field names (e.g. "AccountId") to
10461	// unconditionally include in API requests. By default, fields with
10462	// empty values are omitted from API requests. However, any non-pointer,
10463	// non-interface field appearing in ForceSendFields will be sent to the
10464	// server regardless of whether the field is empty or not. This may be
10465	// used to include empty fields in Patch requests.
10466	ForceSendFields []string `json:"-"`
10467
10468	// NullFields is a list of field names (e.g. "AccountId") to include in
10469	// API requests with the JSON null value. By default, fields with empty
10470	// values are omitted from API requests. However, any field with an
10471	// empty value appearing in NullFields will be sent to the server as
10472	// null. It is an error if a field in this list has a non-empty value.
10473	// This may be used to include null fields in Patch requests.
10474	NullFields []string `json:"-"`
10475}
10476
10477func (s *PlacementStrategy) MarshalJSON() ([]byte, error) {
10478	type NoMethod PlacementStrategy
10479	raw := NoMethod(*s)
10480	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10481}
10482
10483// PlacementTag: Placement Tag
10484type PlacementTag struct {
10485	// PlacementId: Placement ID
10486	PlacementId int64 `json:"placementId,omitempty,string"`
10487
10488	// TagDatas: Tags generated for this placement.
10489	TagDatas []*TagData `json:"tagDatas,omitempty"`
10490
10491	// ForceSendFields is a list of field names (e.g. "PlacementId") to
10492	// unconditionally include in API requests. By default, fields with
10493	// empty values are omitted from API requests. However, any non-pointer,
10494	// non-interface field appearing in ForceSendFields will be sent to the
10495	// server regardless of whether the field is empty or not. This may be
10496	// used to include empty fields in Patch requests.
10497	ForceSendFields []string `json:"-"`
10498
10499	// NullFields is a list of field names (e.g. "PlacementId") to include
10500	// in API requests with the JSON null value. By default, fields with
10501	// empty values are omitted from API requests. However, any field with
10502	// an empty value appearing in NullFields will be sent to the server as
10503	// null. It is an error if a field in this list has a non-empty value.
10504	// This may be used to include null fields in Patch requests.
10505	NullFields []string `json:"-"`
10506}
10507
10508func (s *PlacementTag) MarshalJSON() ([]byte, error) {
10509	type NoMethod PlacementTag
10510	raw := NoMethod(*s)
10511	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10512}
10513
10514// PlacementsGenerateTagsResponse: Placement GenerateTags Response
10515type PlacementsGenerateTagsResponse struct {
10516	// Kind: Identifies what kind of resource this is. Value: the fixed
10517	// string "dfareporting#placementsGenerateTagsResponse".
10518	Kind string `json:"kind,omitempty"`
10519
10520	// PlacementTags: Set of generated tags for the specified placements.
10521	PlacementTags []*PlacementTag `json:"placementTags,omitempty"`
10522
10523	// ServerResponse contains the HTTP response code and headers from the
10524	// server.
10525	googleapi.ServerResponse `json:"-"`
10526
10527	// ForceSendFields is a list of field names (e.g. "Kind") 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. "Kind") to include in API
10536	// requests with the JSON null value. By default, fields with empty
10537	// values are omitted from API requests. However, any field with an
10538	// 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 *PlacementsGenerateTagsResponse) MarshalJSON() ([]byte, error) {
10545	type NoMethod PlacementsGenerateTagsResponse
10546	raw := NoMethod(*s)
10547	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10548}
10549
10550// PlacementsListResponse: Placement List Response
10551type PlacementsListResponse struct {
10552	// Kind: Identifies what kind of resource this is. Value: the fixed
10553	// string "dfareporting#placementsListResponse".
10554	Kind string `json:"kind,omitempty"`
10555
10556	// NextPageToken: Pagination token to be used for the next list
10557	// operation.
10558	NextPageToken string `json:"nextPageToken,omitempty"`
10559
10560	// Placements: Placement collection.
10561	Placements []*Placement `json:"placements,omitempty"`
10562
10563	// ServerResponse contains the HTTP response code and headers from the
10564	// server.
10565	googleapi.ServerResponse `json:"-"`
10566
10567	// ForceSendFields is a list of field names (e.g. "Kind") to
10568	// unconditionally include in API requests. By default, fields with
10569	// empty values are omitted from API requests. However, any non-pointer,
10570	// non-interface field appearing in ForceSendFields will be sent to the
10571	// server regardless of whether the field is empty or not. This may be
10572	// used to include empty fields in Patch requests.
10573	ForceSendFields []string `json:"-"`
10574
10575	// NullFields is a list of field names (e.g. "Kind") to include in API
10576	// requests with the JSON null value. By default, fields with empty
10577	// values are omitted from API requests. However, any field with an
10578	// empty value appearing in NullFields will be sent to the server as
10579	// null. It is an error if a field in this list has a non-empty value.
10580	// This may be used to include null fields in Patch requests.
10581	NullFields []string `json:"-"`
10582}
10583
10584func (s *PlacementsListResponse) MarshalJSON() ([]byte, error) {
10585	type NoMethod PlacementsListResponse
10586	raw := NoMethod(*s)
10587	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10588}
10589
10590// PlatformType: Contains information about a platform type that can be
10591// targeted by ads.
10592type PlatformType struct {
10593	// Id: ID of this platform type.
10594	Id int64 `json:"id,omitempty,string"`
10595
10596	// Kind: Identifies what kind of resource this is. Value: the fixed
10597	// string "dfareporting#platformType".
10598	Kind string `json:"kind,omitempty"`
10599
10600	// Name: Name of this platform type.
10601	Name string `json:"name,omitempty"`
10602
10603	// ServerResponse contains the HTTP response code and headers from the
10604	// server.
10605	googleapi.ServerResponse `json:"-"`
10606
10607	// ForceSendFields is a list of field names (e.g. "Id") to
10608	// unconditionally include in API requests. By default, fields with
10609	// empty values are omitted from API requests. However, any non-pointer,
10610	// non-interface field appearing in ForceSendFields will be sent to the
10611	// server regardless of whether the field is empty or not. This may be
10612	// used to include empty fields in Patch requests.
10613	ForceSendFields []string `json:"-"`
10614
10615	// NullFields is a list of field names (e.g. "Id") to include in API
10616	// requests with the JSON null value. By default, fields with empty
10617	// values are omitted from API requests. However, any field with an
10618	// empty value appearing in NullFields will be sent to the server as
10619	// null. It is an error if a field in this list has a non-empty value.
10620	// This may be used to include null fields in Patch requests.
10621	NullFields []string `json:"-"`
10622}
10623
10624func (s *PlatformType) MarshalJSON() ([]byte, error) {
10625	type NoMethod PlatformType
10626	raw := NoMethod(*s)
10627	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10628}
10629
10630// PlatformTypesListResponse: Platform Type List Response
10631type PlatformTypesListResponse struct {
10632	// Kind: Identifies what kind of resource this is. Value: the fixed
10633	// string "dfareporting#platformTypesListResponse".
10634	Kind string `json:"kind,omitempty"`
10635
10636	// PlatformTypes: Platform type collection.
10637	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
10638
10639	// ServerResponse contains the HTTP response code and headers from the
10640	// server.
10641	googleapi.ServerResponse `json:"-"`
10642
10643	// ForceSendFields is a list of field names (e.g. "Kind") to
10644	// unconditionally include in API requests. By default, fields with
10645	// empty values are omitted from API requests. However, any non-pointer,
10646	// non-interface field appearing in ForceSendFields will be sent to the
10647	// server regardless of whether the field is empty or not. This may be
10648	// used to include empty fields in Patch requests.
10649	ForceSendFields []string `json:"-"`
10650
10651	// NullFields is a list of field names (e.g. "Kind") to include in API
10652	// requests with the JSON null value. By default, fields with empty
10653	// values are omitted from API requests. However, any field with an
10654	// empty value appearing in NullFields will be sent to the server as
10655	// null. It is an error if a field in this list has a non-empty value.
10656	// This may be used to include null fields in Patch requests.
10657	NullFields []string `json:"-"`
10658}
10659
10660func (s *PlatformTypesListResponse) MarshalJSON() ([]byte, error) {
10661	type NoMethod PlatformTypesListResponse
10662	raw := NoMethod(*s)
10663	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10664}
10665
10666// PopupWindowProperties: Popup Window Properties.
10667type PopupWindowProperties struct {
10668	// Dimension: Popup dimension for a creative. This is a read-only field.
10669	// Applicable to the following creative types: all RICH_MEDIA and all
10670	// VPAID
10671	Dimension *Size `json:"dimension,omitempty"`
10672
10673	// Offset: Upper-left corner coordinates of the popup window. Applicable
10674	// if positionType is COORDINATES.
10675	Offset *OffsetPosition `json:"offset,omitempty"`
10676
10677	// PositionType: Popup window position either centered or at specific
10678	// coordinate.
10679	//
10680	// Possible values:
10681	//   "CENTER"
10682	//   "COORDINATES"
10683	PositionType string `json:"positionType,omitempty"`
10684
10685	// ShowAddressBar: Whether to display the browser address bar.
10686	ShowAddressBar bool `json:"showAddressBar,omitempty"`
10687
10688	// ShowMenuBar: Whether to display the browser menu bar.
10689	ShowMenuBar bool `json:"showMenuBar,omitempty"`
10690
10691	// ShowScrollBar: Whether to display the browser scroll bar.
10692	ShowScrollBar bool `json:"showScrollBar,omitempty"`
10693
10694	// ShowStatusBar: Whether to display the browser status bar.
10695	ShowStatusBar bool `json:"showStatusBar,omitempty"`
10696
10697	// ShowToolBar: Whether to display the browser tool bar.
10698	ShowToolBar bool `json:"showToolBar,omitempty"`
10699
10700	// Title: Title of popup window.
10701	Title string `json:"title,omitempty"`
10702
10703	// ForceSendFields is a list of field names (e.g. "Dimension") to
10704	// unconditionally include in API requests. By default, fields with
10705	// empty values are omitted from API requests. However, any non-pointer,
10706	// non-interface field appearing in ForceSendFields will be sent to the
10707	// server regardless of whether the field is empty or not. This may be
10708	// used to include empty fields in Patch requests.
10709	ForceSendFields []string `json:"-"`
10710
10711	// NullFields is a list of field names (e.g. "Dimension") to include in
10712	// API requests with the JSON null value. By default, fields with empty
10713	// values are omitted from API requests. However, any field with an
10714	// empty value appearing in NullFields will be sent to the server as
10715	// null. It is an error if a field in this list has a non-empty value.
10716	// This may be used to include null fields in Patch requests.
10717	NullFields []string `json:"-"`
10718}
10719
10720func (s *PopupWindowProperties) MarshalJSON() ([]byte, error) {
10721	type NoMethod PopupWindowProperties
10722	raw := NoMethod(*s)
10723	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10724}
10725
10726// PostalCode: Contains information about a postal code that can be
10727// targeted by ads.
10728type PostalCode struct {
10729	// Code: Postal code. This is equivalent to the id field.
10730	Code string `json:"code,omitempty"`
10731
10732	// CountryCode: Country code of the country to which this postal code
10733	// belongs.
10734	CountryCode string `json:"countryCode,omitempty"`
10735
10736	// CountryDartId: DART ID of the country to which this postal code
10737	// belongs.
10738	CountryDartId int64 `json:"countryDartId,omitempty,string"`
10739
10740	// Id: ID of this postal code.
10741	Id string `json:"id,omitempty"`
10742
10743	// Kind: Identifies what kind of resource this is. Value: the fixed
10744	// string "dfareporting#postalCode".
10745	Kind string `json:"kind,omitempty"`
10746
10747	// ServerResponse contains the HTTP response code and headers from the
10748	// server.
10749	googleapi.ServerResponse `json:"-"`
10750
10751	// ForceSendFields is a list of field names (e.g. "Code") to
10752	// unconditionally include in API requests. By default, fields with
10753	// empty values are omitted from API requests. However, any non-pointer,
10754	// non-interface field appearing in ForceSendFields will be sent to the
10755	// server regardless of whether the field is empty or not. This may be
10756	// used to include empty fields in Patch requests.
10757	ForceSendFields []string `json:"-"`
10758
10759	// NullFields is a list of field names (e.g. "Code") to include in API
10760	// requests with the JSON null value. By default, fields with empty
10761	// values are omitted from API requests. However, any field with an
10762	// empty value appearing in NullFields will be sent to the server as
10763	// null. It is an error if a field in this list has a non-empty value.
10764	// This may be used to include null fields in Patch requests.
10765	NullFields []string `json:"-"`
10766}
10767
10768func (s *PostalCode) MarshalJSON() ([]byte, error) {
10769	type NoMethod PostalCode
10770	raw := NoMethod(*s)
10771	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10772}
10773
10774// PostalCodesListResponse: Postal Code List Response
10775type PostalCodesListResponse struct {
10776	// Kind: Identifies what kind of resource this is. Value: the fixed
10777	// string "dfareporting#postalCodesListResponse".
10778	Kind string `json:"kind,omitempty"`
10779
10780	// PostalCodes: Postal code collection.
10781	PostalCodes []*PostalCode `json:"postalCodes,omitempty"`
10782
10783	// ServerResponse contains the HTTP response code and headers from the
10784	// server.
10785	googleapi.ServerResponse `json:"-"`
10786
10787	// ForceSendFields is a list of field names (e.g. "Kind") to
10788	// unconditionally include in API requests. By default, fields with
10789	// empty values are omitted from API requests. However, any non-pointer,
10790	// non-interface field appearing in ForceSendFields will be sent to the
10791	// server regardless of whether the field is empty or not. This may be
10792	// used to include empty fields in Patch requests.
10793	ForceSendFields []string `json:"-"`
10794
10795	// NullFields is a list of field names (e.g. "Kind") to include in API
10796	// requests with the JSON null value. By default, fields with empty
10797	// values are omitted from API requests. However, any field with an
10798	// empty value appearing in NullFields will be sent to the server as
10799	// null. It is an error if a field in this list has a non-empty value.
10800	// This may be used to include null fields in Patch requests.
10801	NullFields []string `json:"-"`
10802}
10803
10804func (s *PostalCodesListResponse) MarshalJSON() ([]byte, error) {
10805	type NoMethod PostalCodesListResponse
10806	raw := NoMethod(*s)
10807	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10808}
10809
10810// Pricing: Pricing Information
10811type Pricing struct {
10812	// CapCostType: Cap cost type of this inventory item.
10813	//
10814	// Possible values:
10815	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE"
10816	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY"
10817	//   "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE"
10818	CapCostType string `json:"capCostType,omitempty"`
10819
10820	// EndDate: End date of this inventory item.
10821	EndDate string `json:"endDate,omitempty"`
10822
10823	// Flights: Flights of this inventory item. A flight (a.k.a. pricing
10824	// period) represents the inventory item pricing information for a
10825	// specific period of time.
10826	Flights []*Flight `json:"flights,omitempty"`
10827
10828	// GroupType: Group type of this inventory item if it represents a
10829	// placement group. Is null otherwise. There are two type of placement
10830	// groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of
10831	// inventory items that acts as a single pricing point for a group of
10832	// tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory
10833	// items that not only acts as a single pricing point, but also assumes
10834	// that all the tags in it will be served at the same time. A roadblock
10835	// requires one of its assigned inventory items to be marked as primary.
10836	//
10837	// Possible values:
10838	//   "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE"
10839	//   "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK"
10840	GroupType string `json:"groupType,omitempty"`
10841
10842	// PricingType: Pricing type of this inventory item.
10843	//
10844	// Possible values:
10845	//   "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS"
10846	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPA"
10847	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPC"
10848	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM"
10849	//   "PLANNING_PLACEMENT_PRICING_TYPE_CPM_ACTIVEVIEW"
10850	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS"
10851	//   "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10852	//   "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS"
10853	PricingType string `json:"pricingType,omitempty"`
10854
10855	// StartDate: Start date of this inventory item.
10856	StartDate string `json:"startDate,omitempty"`
10857
10858	// ForceSendFields is a list of field names (e.g. "CapCostType") to
10859	// unconditionally include in API requests. By default, fields with
10860	// empty values are omitted from API requests. However, any non-pointer,
10861	// non-interface field appearing in ForceSendFields will be sent to the
10862	// server regardless of whether the field is empty or not. This may be
10863	// used to include empty fields in Patch requests.
10864	ForceSendFields []string `json:"-"`
10865
10866	// NullFields is a list of field names (e.g. "CapCostType") to include
10867	// in API requests with the JSON null value. By default, fields with
10868	// empty values are omitted from API requests. However, any field with
10869	// an empty value appearing in NullFields will be sent to the server as
10870	// null. It is an error if a field in this list has a non-empty value.
10871	// This may be used to include null fields in Patch requests.
10872	NullFields []string `json:"-"`
10873}
10874
10875func (s *Pricing) MarshalJSON() ([]byte, error) {
10876	type NoMethod Pricing
10877	raw := NoMethod(*s)
10878	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10879}
10880
10881// PricingSchedule: Pricing Schedule
10882type PricingSchedule struct {
10883	// CapCostOption: Placement cap cost option.
10884	//
10885	// Possible values:
10886	//   "CAP_COST_CUMULATIVE"
10887	//   "CAP_COST_MONTHLY"
10888	//   "CAP_COST_NONE"
10889	CapCostOption string `json:"capCostOption,omitempty"`
10890
10891	// DisregardOverdelivery: Whether cap costs are ignored by ad serving.
10892	DisregardOverdelivery bool `json:"disregardOverdelivery,omitempty"`
10893
10894	// EndDate: Placement end date. This date must be later than, or the
10895	// same day as, the placement start date, but not later than the
10896	// campaign end date. If, for example, you set 6/25/2015 as both the
10897	// start and end dates, the effective placement date is just that day
10898	// only, 6/25/2015. The hours, minutes, and seconds of the end date
10899	// should not be set, as doing so will result in an error. This field is
10900	// required on insertion.
10901	EndDate string `json:"endDate,omitempty"`
10902
10903	// Flighted: Whether this placement is flighted. If true, pricing
10904	// periods will be computed automatically.
10905	Flighted bool `json:"flighted,omitempty"`
10906
10907	// FloodlightActivityId: Floodlight activity ID associated with this
10908	// placement. This field should be set when placement pricing type is
10909	// set to PRICING_TYPE_CPA.
10910	FloodlightActivityId int64 `json:"floodlightActivityId,omitempty,string"`
10911
10912	// PricingPeriods: Pricing periods for this placement.
10913	PricingPeriods []*PricingSchedulePricingPeriod `json:"pricingPeriods,omitempty"`
10914
10915	// PricingType: Placement pricing type. This field is required on
10916	// insertion.
10917	//
10918	// Possible values:
10919	//   "PRICING_TYPE_CPA"
10920	//   "PRICING_TYPE_CPC"
10921	//   "PRICING_TYPE_CPM"
10922	//   "PRICING_TYPE_CPM_ACTIVEVIEW"
10923	//   "PRICING_TYPE_FLAT_RATE_CLICKS"
10924	//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
10925	PricingType string `json:"pricingType,omitempty"`
10926
10927	// StartDate: Placement start date. This date must be later than, or the
10928	// same day as, the campaign start date. The hours, minutes, and seconds
10929	// of the start date should not be set, as doing so will result in an
10930	// error. This field is required on insertion.
10931	StartDate string `json:"startDate,omitempty"`
10932
10933	// TestingStartDate: Testing start date of this placement. The hours,
10934	// minutes, and seconds of the start date should not be set, as doing so
10935	// will result in an error.
10936	TestingStartDate string `json:"testingStartDate,omitempty"`
10937
10938	// ForceSendFields is a list of field names (e.g. "CapCostOption") to
10939	// unconditionally include in API requests. By default, fields with
10940	// empty values are omitted from API requests. However, any non-pointer,
10941	// non-interface field appearing in ForceSendFields will be sent to the
10942	// server regardless of whether the field is empty or not. This may be
10943	// used to include empty fields in Patch requests.
10944	ForceSendFields []string `json:"-"`
10945
10946	// NullFields is a list of field names (e.g. "CapCostOption") to include
10947	// in API requests with the JSON null value. By default, fields with
10948	// empty values are omitted from API requests. However, any field with
10949	// an empty value appearing in NullFields will be sent to the server as
10950	// null. It is an error if a field in this list has a non-empty value.
10951	// This may be used to include null fields in Patch requests.
10952	NullFields []string `json:"-"`
10953}
10954
10955func (s *PricingSchedule) MarshalJSON() ([]byte, error) {
10956	type NoMethod PricingSchedule
10957	raw := NoMethod(*s)
10958	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
10959}
10960
10961// PricingSchedulePricingPeriod: Pricing Period
10962type PricingSchedulePricingPeriod struct {
10963	// EndDate: Pricing period end date. This date must be later than, or
10964	// the same day as, the pricing period start date, but not later than
10965	// the placement end date. The period end date can be the same date as
10966	// the period start date. If, for example, you set 6/25/2015 as both the
10967	// start and end dates, the effective pricing period date is just that
10968	// day only, 6/25/2015. The hours, minutes, and seconds of the end date
10969	// should not be set, as doing so will result in an error.
10970	EndDate string `json:"endDate,omitempty"`
10971
10972	// PricingComment: Comments for this pricing period.
10973	PricingComment string `json:"pricingComment,omitempty"`
10974
10975	// RateOrCostNanos: Rate or cost of this pricing period in nanos (i.e.,
10976	// multipled by 1000000000). Acceptable values are 0 to
10977	// 1000000000000000000, inclusive.
10978	RateOrCostNanos int64 `json:"rateOrCostNanos,omitempty,string"`
10979
10980	// StartDate: Pricing period start date. This date must be later than,
10981	// or the same day as, the placement start date. The hours, minutes, and
10982	// seconds of the start date should not be set, as doing so will result
10983	// in an error.
10984	StartDate string `json:"startDate,omitempty"`
10985
10986	// Units: Units of this pricing period. Acceptable values are 0 to
10987	// 10000000000, inclusive.
10988	Units int64 `json:"units,omitempty,string"`
10989
10990	// ForceSendFields is a list of field names (e.g. "EndDate") to
10991	// unconditionally include in API requests. By default, fields with
10992	// empty values are omitted from API requests. However, any non-pointer,
10993	// non-interface field appearing in ForceSendFields will be sent to the
10994	// server regardless of whether the field is empty or not. This may be
10995	// used to include empty fields in Patch requests.
10996	ForceSendFields []string `json:"-"`
10997
10998	// NullFields is a list of field names (e.g. "EndDate") to include in
10999	// API requests with the JSON null value. By default, fields with empty
11000	// values are omitted from API requests. However, any field with an
11001	// empty value appearing in NullFields will be sent to the server as
11002	// null. It is an error if a field in this list has a non-empty value.
11003	// This may be used to include null fields in Patch requests.
11004	NullFields []string `json:"-"`
11005}
11006
11007func (s *PricingSchedulePricingPeriod) MarshalJSON() ([]byte, error) {
11008	type NoMethod PricingSchedulePricingPeriod
11009	raw := NoMethod(*s)
11010	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11011}
11012
11013// Project: Contains properties of a Planning project.
11014type Project struct {
11015	// AccountId: Account ID of this project.
11016	AccountId int64 `json:"accountId,omitempty,string"`
11017
11018	// AdvertiserId: Advertiser ID of this project.
11019	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11020
11021	// AudienceAgeGroup: Audience age group of this project.
11022	//
11023	// Possible values:
11024	//   "PLANNING_AUDIENCE_AGE_18_24"
11025	//   "PLANNING_AUDIENCE_AGE_25_34"
11026	//   "PLANNING_AUDIENCE_AGE_35_44"
11027	//   "PLANNING_AUDIENCE_AGE_45_54"
11028	//   "PLANNING_AUDIENCE_AGE_55_64"
11029	//   "PLANNING_AUDIENCE_AGE_65_OR_MORE"
11030	//   "PLANNING_AUDIENCE_AGE_UNKNOWN"
11031	AudienceAgeGroup string `json:"audienceAgeGroup,omitempty"`
11032
11033	// AudienceGender: Audience gender of this project.
11034	//
11035	// Possible values:
11036	//   "PLANNING_AUDIENCE_GENDER_FEMALE"
11037	//   "PLANNING_AUDIENCE_GENDER_MALE"
11038	AudienceGender string `json:"audienceGender,omitempty"`
11039
11040	// Budget: Budget of this project in the currency specified by the
11041	// current account. The value stored in this field represents only the
11042	// non-fractional amount. For example, for USD, the smallest value that
11043	// can be represented by this field is 1 US dollar.
11044	Budget int64 `json:"budget,omitempty,string"`
11045
11046	// ClientBillingCode: Client billing code of this project.
11047	ClientBillingCode string `json:"clientBillingCode,omitempty"`
11048
11049	// ClientName: Name of the project client.
11050	ClientName string `json:"clientName,omitempty"`
11051
11052	// EndDate: End date of the project.
11053	EndDate string `json:"endDate,omitempty"`
11054
11055	// Id: ID of this project. This is a read-only, auto-generated field.
11056	Id int64 `json:"id,omitempty,string"`
11057
11058	// Kind: Identifies what kind of resource this is. Value: the fixed
11059	// string "dfareporting#project".
11060	Kind string `json:"kind,omitempty"`
11061
11062	// LastModifiedInfo: Information about the most recent modification of
11063	// this project.
11064	LastModifiedInfo *LastModifiedInfo `json:"lastModifiedInfo,omitempty"`
11065
11066	// Name: Name of this project.
11067	Name string `json:"name,omitempty"`
11068
11069	// Overview: Overview of this project.
11070	Overview string `json:"overview,omitempty"`
11071
11072	// StartDate: Start date of the project.
11073	StartDate string `json:"startDate,omitempty"`
11074
11075	// SubaccountId: Subaccount ID of this project.
11076	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11077
11078	// TargetClicks: Number of clicks that the advertiser is targeting.
11079	TargetClicks int64 `json:"targetClicks,omitempty,string"`
11080
11081	// TargetConversions: Number of conversions that the advertiser is
11082	// targeting.
11083	TargetConversions int64 `json:"targetConversions,omitempty,string"`
11084
11085	// TargetCpaNanos: CPA that the advertiser is targeting.
11086	TargetCpaNanos int64 `json:"targetCpaNanos,omitempty,string"`
11087
11088	// TargetCpcNanos: CPC that the advertiser is targeting.
11089	TargetCpcNanos int64 `json:"targetCpcNanos,omitempty,string"`
11090
11091	// TargetCpmActiveViewNanos: vCPM from Active View that the advertiser
11092	// is targeting.
11093	TargetCpmActiveViewNanos int64 `json:"targetCpmActiveViewNanos,omitempty,string"`
11094
11095	// TargetCpmNanos: CPM that the advertiser is targeting.
11096	TargetCpmNanos int64 `json:"targetCpmNanos,omitempty,string"`
11097
11098	// TargetImpressions: Number of impressions that the advertiser is
11099	// targeting.
11100	TargetImpressions int64 `json:"targetImpressions,omitempty,string"`
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. "AccountId") 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. "AccountId") to include in
11115	// API 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 *Project) MarshalJSON() ([]byte, error) {
11124	type NoMethod Project
11125	raw := NoMethod(*s)
11126	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11127}
11128
11129// ProjectsListResponse: Project List Response
11130type ProjectsListResponse struct {
11131	// Kind: Identifies what kind of resource this is. Value: the fixed
11132	// string "dfareporting#projectsListResponse".
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	// Projects: Project collection.
11140	Projects []*Project `json:"projects,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 *ProjectsListResponse) MarshalJSON() ([]byte, error) {
11164	type NoMethod ProjectsListResponse
11165	raw := NoMethod(*s)
11166	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11167}
11168
11169// ReachReportCompatibleFields: Represents fields that are compatible to
11170// be selected for a report of type "REACH".
11171type ReachReportCompatibleFields struct {
11172	// DimensionFilters: Dimensions which are compatible to be selected in
11173	// the "dimensionFilters" section of the report.
11174	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
11175
11176	// Dimensions: Dimensions which are compatible to be selected in the
11177	// "dimensions" section of the report.
11178	Dimensions []*Dimension `json:"dimensions,omitempty"`
11179
11180	// Kind: The kind of resource this is, in this case
11181	// dfareporting#reachReportCompatibleFields.
11182	Kind string `json:"kind,omitempty"`
11183
11184	// Metrics: Metrics which are compatible to be selected in the
11185	// "metricNames" section of the report.
11186	Metrics []*Metric `json:"metrics,omitempty"`
11187
11188	// PivotedActivityMetrics: Metrics which are compatible to be selected
11189	// as activity metrics to pivot on in the "activities" section of the
11190	// report.
11191	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
11192
11193	// ReachByFrequencyMetrics: Metrics which are compatible to be selected
11194	// in the "reachByFrequencyMetricNames" section of the report.
11195	ReachByFrequencyMetrics []*Metric `json:"reachByFrequencyMetrics,omitempty"`
11196
11197	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
11198	// unconditionally include in API requests. By default, fields with
11199	// empty values are omitted from API requests. However, any non-pointer,
11200	// non-interface field appearing in ForceSendFields will be sent to the
11201	// server regardless of whether the field is empty or not. This may be
11202	// used to include empty fields in Patch requests.
11203	ForceSendFields []string `json:"-"`
11204
11205	// NullFields is a list of field names (e.g. "DimensionFilters") to
11206	// include in API requests with the JSON null value. By default, fields
11207	// with empty values are omitted from API requests. However, any field
11208	// with an empty value appearing in NullFields will be sent to the
11209	// server as null. It is an error if a field in this list has a
11210	// non-empty value. This may be used to include null fields in Patch
11211	// requests.
11212	NullFields []string `json:"-"`
11213}
11214
11215func (s *ReachReportCompatibleFields) MarshalJSON() ([]byte, error) {
11216	type NoMethod ReachReportCompatibleFields
11217	raw := NoMethod(*s)
11218	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11219}
11220
11221// Recipient: Represents a recipient.
11222type Recipient struct {
11223	// DeliveryType: The delivery type for the recipient.
11224	//
11225	// Possible values:
11226	//   "ATTACHMENT"
11227	//   "LINK"
11228	DeliveryType string `json:"deliveryType,omitempty"`
11229
11230	// Email: The email address of the recipient.
11231	Email string `json:"email,omitempty"`
11232
11233	// Kind: The kind of resource this is, in this case
11234	// dfareporting#recipient.
11235	Kind string `json:"kind,omitempty"`
11236
11237	// ForceSendFields is a list of field names (e.g. "DeliveryType") to
11238	// unconditionally include in API requests. By default, fields with
11239	// empty values are omitted from API requests. However, any non-pointer,
11240	// non-interface field appearing in ForceSendFields will be sent to the
11241	// server regardless of whether the field is empty or not. This may be
11242	// used to include empty fields in Patch requests.
11243	ForceSendFields []string `json:"-"`
11244
11245	// NullFields is a list of field names (e.g. "DeliveryType") to include
11246	// in API requests with the JSON null value. By default, fields with
11247	// empty values are omitted from API requests. However, any field with
11248	// an empty value appearing in NullFields will be sent to the server as
11249	// null. It is an error if a field in this list has a non-empty value.
11250	// This may be used to include null fields in Patch requests.
11251	NullFields []string `json:"-"`
11252}
11253
11254func (s *Recipient) MarshalJSON() ([]byte, error) {
11255	type NoMethod Recipient
11256	raw := NoMethod(*s)
11257	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11258}
11259
11260// Region: Contains information about a region that can be targeted by
11261// ads.
11262type Region struct {
11263	// CountryCode: Country code of the country to which this region
11264	// belongs.
11265	CountryCode string `json:"countryCode,omitempty"`
11266
11267	// CountryDartId: DART ID of the country to which this region belongs.
11268	CountryDartId int64 `json:"countryDartId,omitempty,string"`
11269
11270	// DartId: DART ID of this region.
11271	DartId int64 `json:"dartId,omitempty,string"`
11272
11273	// Kind: Identifies what kind of resource this is. Value: the fixed
11274	// string "dfareporting#region".
11275	Kind string `json:"kind,omitempty"`
11276
11277	// Name: Name of this region.
11278	Name string `json:"name,omitempty"`
11279
11280	// RegionCode: Region code.
11281	RegionCode string `json:"regionCode,omitempty"`
11282
11283	// ForceSendFields is a list of field names (e.g. "CountryCode") to
11284	// unconditionally include in API requests. By default, fields with
11285	// empty values are omitted from API requests. However, any non-pointer,
11286	// non-interface field appearing in ForceSendFields will be sent to the
11287	// server regardless of whether the field is empty or not. This may be
11288	// used to include empty fields in Patch requests.
11289	ForceSendFields []string `json:"-"`
11290
11291	// NullFields is a list of field names (e.g. "CountryCode") to include
11292	// in API requests with the JSON null value. By default, fields with
11293	// empty values are omitted from API requests. However, any field with
11294	// an empty value appearing in NullFields will be sent to the server as
11295	// null. It is an error if a field in this list has a non-empty value.
11296	// This may be used to include null fields in Patch requests.
11297	NullFields []string `json:"-"`
11298}
11299
11300func (s *Region) MarshalJSON() ([]byte, error) {
11301	type NoMethod Region
11302	raw := NoMethod(*s)
11303	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11304}
11305
11306// RegionsListResponse: Region List Response
11307type RegionsListResponse struct {
11308	// Kind: Identifies what kind of resource this is. Value: the fixed
11309	// string "dfareporting#regionsListResponse".
11310	Kind string `json:"kind,omitempty"`
11311
11312	// Regions: Region collection.
11313	Regions []*Region `json:"regions,omitempty"`
11314
11315	// ServerResponse contains the HTTP response code and headers from the
11316	// server.
11317	googleapi.ServerResponse `json:"-"`
11318
11319	// ForceSendFields is a list of field names (e.g. "Kind") to
11320	// unconditionally include in API requests. By default, fields with
11321	// empty values are omitted from API requests. However, any non-pointer,
11322	// non-interface field appearing in ForceSendFields will be sent to the
11323	// server regardless of whether the field is empty or not. This may be
11324	// used to include empty fields in Patch requests.
11325	ForceSendFields []string `json:"-"`
11326
11327	// NullFields is a list of field names (e.g. "Kind") to include in API
11328	// requests with the JSON null value. By default, fields with empty
11329	// values are omitted from API requests. However, any field with an
11330	// empty value appearing in NullFields will be sent to the server as
11331	// null. It is an error if a field in this list has a non-empty value.
11332	// This may be used to include null fields in Patch requests.
11333	NullFields []string `json:"-"`
11334}
11335
11336func (s *RegionsListResponse) MarshalJSON() ([]byte, error) {
11337	type NoMethod RegionsListResponse
11338	raw := NoMethod(*s)
11339	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11340}
11341
11342// RemarketingList: Contains properties of a remarketing list.
11343// Remarketing enables you to create lists of users who have performed
11344// specific actions on a site, then target ads to members of those
11345// lists. This resource can be used to manage remarketing lists that are
11346// owned by your advertisers. To see all remarketing lists that are
11347// visible to your advertisers, including those that are shared to your
11348// advertiser or account, use the TargetableRemarketingLists resource.
11349type RemarketingList struct {
11350	// AccountId: Account ID of this remarketing list. This is a read-only,
11351	// auto-generated field that is only returned in GET requests.
11352	AccountId int64 `json:"accountId,omitempty,string"`
11353
11354	// Active: Whether this remarketing list is active.
11355	Active bool `json:"active,omitempty"`
11356
11357	// AdvertiserId: Dimension value for the advertiser ID that owns this
11358	// remarketing list. This is a required field.
11359	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
11360
11361	// AdvertiserIdDimensionValue: Dimension value for the ID of the
11362	// advertiser. This is a read-only, auto-generated field.
11363	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
11364
11365	// Description: Remarketing list description.
11366	Description string `json:"description,omitempty"`
11367
11368	// Id: Remarketing list ID. This is a read-only, auto-generated field.
11369	Id int64 `json:"id,omitempty,string"`
11370
11371	// Kind: Identifies what kind of resource this is. Value: the fixed
11372	// string "dfareporting#remarketingList".
11373	Kind string `json:"kind,omitempty"`
11374
11375	// LifeSpan: Number of days that a user should remain in the remarketing
11376	// list without an impression. Acceptable values are 1 to 540,
11377	// inclusive.
11378	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
11379
11380	// ListPopulationRule: Rule used to populate the remarketing list with
11381	// users.
11382	ListPopulationRule *ListPopulationRule `json:"listPopulationRule,omitempty"`
11383
11384	// ListSize: Number of users currently in the list. This is a read-only
11385	// field.
11386	ListSize int64 `json:"listSize,omitempty,string"`
11387
11388	// ListSource: Product from which this remarketing list was originated.
11389	//
11390	// Possible values:
11391	//   "REMARKETING_LIST_SOURCE_ADX"
11392	//   "REMARKETING_LIST_SOURCE_DBM"
11393	//   "REMARKETING_LIST_SOURCE_DFA"
11394	//   "REMARKETING_LIST_SOURCE_DFP"
11395	//   "REMARKETING_LIST_SOURCE_DMP"
11396	//   "REMARKETING_LIST_SOURCE_GA"
11397	//   "REMARKETING_LIST_SOURCE_GPLUS"
11398	//   "REMARKETING_LIST_SOURCE_OTHER"
11399	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
11400	//   "REMARKETING_LIST_SOURCE_XFP"
11401	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
11402	ListSource string `json:"listSource,omitempty"`
11403
11404	// Name: Name of the remarketing list. This is a required field. Must be
11405	// no greater than 128 characters long.
11406	Name string `json:"name,omitempty"`
11407
11408	// SubaccountId: Subaccount ID of this remarketing list. This is a
11409	// read-only, auto-generated field that is only returned in GET
11410	// requests.
11411	SubaccountId int64 `json:"subaccountId,omitempty,string"`
11412
11413	// ServerResponse contains the HTTP response code and headers from the
11414	// server.
11415	googleapi.ServerResponse `json:"-"`
11416
11417	// ForceSendFields is a list of field names (e.g. "AccountId") to
11418	// unconditionally include in API requests. By default, fields with
11419	// empty values are omitted from API requests. However, any non-pointer,
11420	// non-interface field appearing in ForceSendFields will be sent to the
11421	// server regardless of whether the field is empty or not. This may be
11422	// used to include empty fields in Patch requests.
11423	ForceSendFields []string `json:"-"`
11424
11425	// NullFields is a list of field names (e.g. "AccountId") to include in
11426	// API requests with the JSON null value. By default, fields with empty
11427	// values are omitted from API requests. However, any field with an
11428	// empty value appearing in NullFields will be sent to the server as
11429	// null. It is an error if a field in this list has a non-empty value.
11430	// This may be used to include null fields in Patch requests.
11431	NullFields []string `json:"-"`
11432}
11433
11434func (s *RemarketingList) MarshalJSON() ([]byte, error) {
11435	type NoMethod RemarketingList
11436	raw := NoMethod(*s)
11437	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11438}
11439
11440// RemarketingListShare: Contains properties of a remarketing list's
11441// sharing information. Sharing allows other accounts or advertisers to
11442// target to your remarketing lists. This resource can be used to manage
11443// remarketing list sharing to other accounts and advertisers.
11444type RemarketingListShare struct {
11445	// Kind: Identifies what kind of resource this is. Value: the fixed
11446	// string "dfareporting#remarketingListShare".
11447	Kind string `json:"kind,omitempty"`
11448
11449	// RemarketingListId: Remarketing list ID. This is a read-only,
11450	// auto-generated field.
11451	RemarketingListId int64 `json:"remarketingListId,omitempty,string"`
11452
11453	// SharedAccountIds: Accounts that the remarketing list is shared with.
11454	SharedAccountIds googleapi.Int64s `json:"sharedAccountIds,omitempty"`
11455
11456	// SharedAdvertiserIds: Advertisers that the remarketing list is shared
11457	// with.
11458	SharedAdvertiserIds googleapi.Int64s `json:"sharedAdvertiserIds,omitempty"`
11459
11460	// ServerResponse contains the HTTP response code and headers from the
11461	// server.
11462	googleapi.ServerResponse `json:"-"`
11463
11464	// ForceSendFields is a list of field names (e.g. "Kind") to
11465	// unconditionally include in API requests. By default, fields with
11466	// empty values are omitted from API requests. However, any non-pointer,
11467	// non-interface field appearing in ForceSendFields will be sent to the
11468	// server regardless of whether the field is empty or not. This may be
11469	// used to include empty fields in Patch requests.
11470	ForceSendFields []string `json:"-"`
11471
11472	// NullFields is a list of field names (e.g. "Kind") to include in API
11473	// requests with the JSON null value. By default, fields with empty
11474	// values are omitted from API requests. However, any field with an
11475	// empty value appearing in NullFields will be sent to the server as
11476	// null. It is an error if a field in this list has a non-empty value.
11477	// This may be used to include null fields in Patch requests.
11478	NullFields []string `json:"-"`
11479}
11480
11481func (s *RemarketingListShare) MarshalJSON() ([]byte, error) {
11482	type NoMethod RemarketingListShare
11483	raw := NoMethod(*s)
11484	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11485}
11486
11487// RemarketingListsListResponse: Remarketing list response
11488type RemarketingListsListResponse struct {
11489	// Kind: Identifies what kind of resource this is. Value: the fixed
11490	// string "dfareporting#remarketingListsListResponse".
11491	Kind string `json:"kind,omitempty"`
11492
11493	// NextPageToken: Pagination token to be used for the next list
11494	// operation.
11495	NextPageToken string `json:"nextPageToken,omitempty"`
11496
11497	// RemarketingLists: Remarketing list collection.
11498	RemarketingLists []*RemarketingList `json:"remarketingLists,omitempty"`
11499
11500	// ServerResponse contains the HTTP response code and headers from the
11501	// server.
11502	googleapi.ServerResponse `json:"-"`
11503
11504	// ForceSendFields is a list of field names (e.g. "Kind") to
11505	// unconditionally include in API requests. By default, fields with
11506	// empty values are omitted from API requests. However, any non-pointer,
11507	// non-interface field appearing in ForceSendFields will be sent to the
11508	// server regardless of whether the field is empty or not. This may be
11509	// used to include empty fields in Patch requests.
11510	ForceSendFields []string `json:"-"`
11511
11512	// NullFields is a list of field names (e.g. "Kind") to include in API
11513	// requests with the JSON null value. By default, fields with empty
11514	// values are omitted from API requests. However, any field with an
11515	// empty value appearing in NullFields will be sent to the server as
11516	// null. It is an error if a field in this list has a non-empty value.
11517	// This may be used to include null fields in Patch requests.
11518	NullFields []string `json:"-"`
11519}
11520
11521func (s *RemarketingListsListResponse) MarshalJSON() ([]byte, error) {
11522	type NoMethod RemarketingListsListResponse
11523	raw := NoMethod(*s)
11524	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11525}
11526
11527// Report: Represents a Report resource.
11528type Report struct {
11529	// AccountId: The account ID to which this report belongs.
11530	AccountId int64 `json:"accountId,omitempty,string"`
11531
11532	// Criteria: The report criteria for a report of type "STANDARD".
11533	Criteria *ReportCriteria `json:"criteria,omitempty"`
11534
11535	// CrossDimensionReachCriteria: The report criteria for a report of type
11536	// "CROSS_DIMENSION_REACH".
11537	CrossDimensionReachCriteria *ReportCrossDimensionReachCriteria `json:"crossDimensionReachCriteria,omitempty"`
11538
11539	// Delivery: The report's email delivery settings.
11540	Delivery *ReportDelivery `json:"delivery,omitempty"`
11541
11542	// Etag: The eTag of this response for caching purposes.
11543	Etag string `json:"etag,omitempty"`
11544
11545	// FileName: The filename used when generating report files for this
11546	// report.
11547	FileName string `json:"fileName,omitempty"`
11548
11549	// FloodlightCriteria: The report criteria for a report of type
11550	// "FLOODLIGHT".
11551	FloodlightCriteria *ReportFloodlightCriteria `json:"floodlightCriteria,omitempty"`
11552
11553	// Format: The output format of the report. If not specified, default
11554	// format is "CSV". Note that the actual format in the completed report
11555	// file might differ if for instance the report's size exceeds the
11556	// format's capabilities. "CSV" will then be the fallback format.
11557	//
11558	// Possible values:
11559	//   "CSV"
11560	//   "EXCEL"
11561	Format string `json:"format,omitempty"`
11562
11563	// Id: The unique ID identifying this report resource.
11564	Id int64 `json:"id,omitempty,string"`
11565
11566	// Kind: The kind of resource this is, in this case dfareporting#report.
11567	Kind string `json:"kind,omitempty"`
11568
11569	// LastModifiedTime: The timestamp (in milliseconds since epoch) of when
11570	// this report was last modified.
11571	LastModifiedTime uint64 `json:"lastModifiedTime,omitempty,string"`
11572
11573	// Name: The name of the report.
11574	Name string `json:"name,omitempty"`
11575
11576	// OwnerProfileId: The user profile id of the owner of this report.
11577	OwnerProfileId int64 `json:"ownerProfileId,omitempty,string"`
11578
11579	// PathToConversionCriteria: The report criteria for a report of type
11580	// "PATH_TO_CONVERSION".
11581	PathToConversionCriteria *ReportPathToConversionCriteria `json:"pathToConversionCriteria,omitempty"`
11582
11583	// ReachCriteria: The report criteria for a report of type "REACH".
11584	ReachCriteria *ReportReachCriteria `json:"reachCriteria,omitempty"`
11585
11586	// Schedule: The report's schedule. Can only be set if the report's
11587	// 'dateRange' is a relative date range and the relative date range is
11588	// not "TODAY".
11589	Schedule *ReportSchedule `json:"schedule,omitempty"`
11590
11591	// SubAccountId: The subaccount ID to which this report belongs if
11592	// applicable.
11593	SubAccountId int64 `json:"subAccountId,omitempty,string"`
11594
11595	// Type: The type of the report.
11596	//
11597	// Possible values:
11598	//   "CROSS_DIMENSION_REACH"
11599	//   "FLOODLIGHT"
11600	//   "PATH_TO_CONVERSION"
11601	//   "REACH"
11602	//   "STANDARD"
11603	Type string `json:"type,omitempty"`
11604
11605	// ServerResponse contains the HTTP response code and headers from the
11606	// server.
11607	googleapi.ServerResponse `json:"-"`
11608
11609	// ForceSendFields is a list of field names (e.g. "AccountId") to
11610	// unconditionally include in API requests. By default, fields with
11611	// empty values are omitted from API requests. However, any non-pointer,
11612	// non-interface field appearing in ForceSendFields will be sent to the
11613	// server regardless of whether the field is empty or not. This may be
11614	// used to include empty fields in Patch requests.
11615	ForceSendFields []string `json:"-"`
11616
11617	// NullFields is a list of field names (e.g. "AccountId") to include in
11618	// API requests with the JSON null value. By default, fields with empty
11619	// values are omitted from API requests. However, any field with an
11620	// empty value appearing in NullFields will be sent to the server as
11621	// null. It is an error if a field in this list has a non-empty value.
11622	// This may be used to include null fields in Patch requests.
11623	NullFields []string `json:"-"`
11624}
11625
11626func (s *Report) MarshalJSON() ([]byte, error) {
11627	type NoMethod Report
11628	raw := NoMethod(*s)
11629	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11630}
11631
11632// ReportCriteria: The report criteria for a report of type "STANDARD".
11633type ReportCriteria struct {
11634	// Activities: Activity group.
11635	Activities *Activities `json:"activities,omitempty"`
11636
11637	// CustomRichMediaEvents: Custom Rich Media Events group.
11638	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
11639
11640	// DateRange: The date range for which this report should be run.
11641	DateRange *DateRange `json:"dateRange,omitempty"`
11642
11643	// DimensionFilters: The list of filters on which dimensions are
11644	// filtered.
11645	// Filters for different dimensions are ANDed, filters for the same
11646	// dimension are grouped together and ORed.
11647	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11648
11649	// Dimensions: The list of standard dimensions the report should
11650	// include.
11651	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11652
11653	// MetricNames: The list of names of metrics the report should include.
11654	MetricNames []string `json:"metricNames,omitempty"`
11655
11656	// ForceSendFields is a list of field names (e.g. "Activities") to
11657	// unconditionally include in API requests. By default, fields with
11658	// empty values are omitted from API requests. However, any non-pointer,
11659	// non-interface field appearing in ForceSendFields will be sent to the
11660	// server regardless of whether the field is empty or not. This may be
11661	// used to include empty fields in Patch requests.
11662	ForceSendFields []string `json:"-"`
11663
11664	// NullFields is a list of field names (e.g. "Activities") to include in
11665	// API requests with the JSON null value. By default, fields with empty
11666	// values are omitted from API requests. However, any field with an
11667	// empty value appearing in NullFields will be sent to the server as
11668	// null. It is an error if a field in this list has a non-empty value.
11669	// This may be used to include null fields in Patch requests.
11670	NullFields []string `json:"-"`
11671}
11672
11673func (s *ReportCriteria) MarshalJSON() ([]byte, error) {
11674	type NoMethod ReportCriteria
11675	raw := NoMethod(*s)
11676	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11677}
11678
11679// ReportCrossDimensionReachCriteria: The report criteria for a report
11680// of type "CROSS_DIMENSION_REACH".
11681type ReportCrossDimensionReachCriteria struct {
11682	// Breakdown: The list of dimensions the report should include.
11683	Breakdown []*SortedDimension `json:"breakdown,omitempty"`
11684
11685	// DateRange: The date range this report should be run for.
11686	DateRange *DateRange `json:"dateRange,omitempty"`
11687
11688	// Dimension: The dimension option.
11689	//
11690	// Possible values:
11691	//   "ADVERTISER"
11692	//   "CAMPAIGN"
11693	//   "SITE_BY_ADVERTISER"
11694	//   "SITE_BY_CAMPAIGN"
11695	Dimension string `json:"dimension,omitempty"`
11696
11697	// DimensionFilters: The list of filters on which dimensions are
11698	// filtered.
11699	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11700
11701	// MetricNames: The list of names of metrics the report should include.
11702	MetricNames []string `json:"metricNames,omitempty"`
11703
11704	// OverlapMetricNames: The list of names of overlap metrics the report
11705	// should include.
11706	OverlapMetricNames []string `json:"overlapMetricNames,omitempty"`
11707
11708	// Pivoted: Whether the report is pivoted or not. Defaults to true.
11709	Pivoted bool `json:"pivoted,omitempty"`
11710
11711	// ForceSendFields is a list of field names (e.g. "Breakdown") to
11712	// unconditionally include in API requests. By default, fields with
11713	// empty values are omitted from API requests. However, any non-pointer,
11714	// non-interface field appearing in ForceSendFields will be sent to the
11715	// server regardless of whether the field is empty or not. This may be
11716	// used to include empty fields in Patch requests.
11717	ForceSendFields []string `json:"-"`
11718
11719	// NullFields is a list of field names (e.g. "Breakdown") to include in
11720	// API requests with the JSON null value. By default, fields with empty
11721	// values are omitted from API requests. However, any field with an
11722	// empty value appearing in NullFields will be sent to the server as
11723	// null. It is an error if a field in this list has a non-empty value.
11724	// This may be used to include null fields in Patch requests.
11725	NullFields []string `json:"-"`
11726}
11727
11728func (s *ReportCrossDimensionReachCriteria) MarshalJSON() ([]byte, error) {
11729	type NoMethod ReportCrossDimensionReachCriteria
11730	raw := NoMethod(*s)
11731	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11732}
11733
11734// ReportDelivery: The report's email delivery settings.
11735type ReportDelivery struct {
11736	// EmailOwner: Whether the report should be emailed to the report owner.
11737	EmailOwner bool `json:"emailOwner,omitempty"`
11738
11739	// EmailOwnerDeliveryType: The type of delivery for the owner to
11740	// receive, if enabled.
11741	//
11742	// Possible values:
11743	//   "ATTACHMENT"
11744	//   "LINK"
11745	EmailOwnerDeliveryType string `json:"emailOwnerDeliveryType,omitempty"`
11746
11747	// Message: The message to be sent with each email.
11748	Message string `json:"message,omitempty"`
11749
11750	// Recipients: The list of recipients to which to email the report.
11751	Recipients []*Recipient `json:"recipients,omitempty"`
11752
11753	// ForceSendFields is a list of field names (e.g. "EmailOwner") to
11754	// unconditionally include in API requests. By default, fields with
11755	// empty values are omitted from API requests. However, any non-pointer,
11756	// non-interface field appearing in ForceSendFields will be sent to the
11757	// server regardless of whether the field is empty or not. This may be
11758	// used to include empty fields in Patch requests.
11759	ForceSendFields []string `json:"-"`
11760
11761	// NullFields is a list of field names (e.g. "EmailOwner") to include in
11762	// API requests with the JSON null value. By default, fields with empty
11763	// values are omitted from API requests. However, any field with an
11764	// empty value appearing in NullFields will be sent to the server as
11765	// null. It is an error if a field in this list has a non-empty value.
11766	// This may be used to include null fields in Patch requests.
11767	NullFields []string `json:"-"`
11768}
11769
11770func (s *ReportDelivery) MarshalJSON() ([]byte, error) {
11771	type NoMethod ReportDelivery
11772	raw := NoMethod(*s)
11773	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11774}
11775
11776// ReportFloodlightCriteria: The report criteria for a report of type
11777// "FLOODLIGHT".
11778type ReportFloodlightCriteria struct {
11779	// CustomRichMediaEvents: The list of custom rich media events to
11780	// include.
11781	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11782
11783	// DateRange: The date range this report should be run for.
11784	DateRange *DateRange `json:"dateRange,omitempty"`
11785
11786	// DimensionFilters: The list of filters on which dimensions are
11787	// filtered.
11788	// Filters for different dimensions are ANDed, filters for the same
11789	// dimension are grouped together and ORed.
11790	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
11791
11792	// Dimensions: The list of dimensions the report should include.
11793	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
11794
11795	// FloodlightConfigId: The floodlight ID for which to show data in this
11796	// report. All advertisers associated with that ID will automatically be
11797	// added. The dimension of the value needs to be
11798	// 'dfa:floodlightConfigId'.
11799	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11800
11801	// MetricNames: The list of names of metrics the report should include.
11802	MetricNames []string `json:"metricNames,omitempty"`
11803
11804	// ReportProperties: The properties of the report.
11805	ReportProperties *ReportFloodlightCriteriaReportProperties `json:"reportProperties,omitempty"`
11806
11807	// ForceSendFields is a list of field names (e.g.
11808	// "CustomRichMediaEvents") to unconditionally include in API requests.
11809	// By default, fields with empty values are omitted from API requests.
11810	// However, any non-pointer, non-interface field appearing in
11811	// ForceSendFields will be sent to the server regardless of whether the
11812	// field is empty or not. This may be used to include empty fields in
11813	// Patch requests.
11814	ForceSendFields []string `json:"-"`
11815
11816	// NullFields is a list of field names (e.g. "CustomRichMediaEvents") 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 *ReportFloodlightCriteria) MarshalJSON() ([]byte, error) {
11827	type NoMethod ReportFloodlightCriteria
11828	raw := NoMethod(*s)
11829	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11830}
11831
11832// ReportFloodlightCriteriaReportProperties: The properties of the
11833// report.
11834type ReportFloodlightCriteriaReportProperties struct {
11835	// IncludeAttributedIPConversions: Include conversions that have no
11836	// cookie, but do have an exposure path.
11837	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11838
11839	// IncludeUnattributedCookieConversions: Include conversions of users
11840	// with a DoubleClick cookie but without an exposure. That means the
11841	// user did not click or see an ad from the advertiser within the
11842	// Floodlight group, or that the interaction happened outside the
11843	// lookback window.
11844	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11845
11846	// IncludeUnattributedIPConversions: Include conversions that have no
11847	// associated cookies and no exposures. It’s therefore impossible to
11848	// know how the user was exposed to your ads during the lookback window
11849	// prior to a conversion.
11850	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11851
11852	// ForceSendFields is a list of field names (e.g.
11853	// "IncludeAttributedIPConversions") to unconditionally include in API
11854	// requests. By default, fields with empty values are omitted from API
11855	// requests. However, any non-pointer, non-interface field appearing in
11856	// ForceSendFields will be sent to the server regardless of whether the
11857	// field is empty or not. This may be used to include empty fields in
11858	// Patch requests.
11859	ForceSendFields []string `json:"-"`
11860
11861	// NullFields is a list of field names (e.g.
11862	// "IncludeAttributedIPConversions") to include in API requests with the
11863	// JSON null value. By default, fields with empty values are omitted
11864	// from API requests. However, any field with an empty value appearing
11865	// in NullFields will be sent to the server as null. It is an error if a
11866	// field in this list has a non-empty value. This may be used to include
11867	// null fields in Patch requests.
11868	NullFields []string `json:"-"`
11869}
11870
11871func (s *ReportFloodlightCriteriaReportProperties) MarshalJSON() ([]byte, error) {
11872	type NoMethod ReportFloodlightCriteriaReportProperties
11873	raw := NoMethod(*s)
11874	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11875}
11876
11877// ReportPathToConversionCriteria: The report criteria for a report of
11878// type "PATH_TO_CONVERSION".
11879type ReportPathToConversionCriteria struct {
11880	// ActivityFilters: The list of 'dfa:activity' values to filter on.
11881	ActivityFilters []*DimensionValue `json:"activityFilters,omitempty"`
11882
11883	// ConversionDimensions: The list of conversion dimensions the report
11884	// should include.
11885	ConversionDimensions []*SortedDimension `json:"conversionDimensions,omitempty"`
11886
11887	// CustomFloodlightVariables: The list of custom floodlight variables
11888	// the report should include.
11889	CustomFloodlightVariables []*SortedDimension `json:"customFloodlightVariables,omitempty"`
11890
11891	// CustomRichMediaEvents: The list of custom rich media events to
11892	// include.
11893	CustomRichMediaEvents []*DimensionValue `json:"customRichMediaEvents,omitempty"`
11894
11895	// DateRange: The date range this report should be run for.
11896	DateRange *DateRange `json:"dateRange,omitempty"`
11897
11898	// FloodlightConfigId: The floodlight ID for which to show data in this
11899	// report. All advertisers associated with that ID will automatically be
11900	// added. The dimension of the value needs to be
11901	// 'dfa:floodlightConfigId'.
11902	FloodlightConfigId *DimensionValue `json:"floodlightConfigId,omitempty"`
11903
11904	// MetricNames: The list of names of metrics the report should include.
11905	MetricNames []string `json:"metricNames,omitempty"`
11906
11907	// PerInteractionDimensions: The list of per interaction dimensions the
11908	// report should include.
11909	PerInteractionDimensions []*SortedDimension `json:"perInteractionDimensions,omitempty"`
11910
11911	// ReportProperties: The properties of the report.
11912	ReportProperties *ReportPathToConversionCriteriaReportProperties `json:"reportProperties,omitempty"`
11913
11914	// ForceSendFields is a list of field names (e.g. "ActivityFilters") to
11915	// unconditionally include in API requests. By default, fields with
11916	// empty values are omitted from API requests. However, any non-pointer,
11917	// non-interface field appearing in ForceSendFields will be sent to the
11918	// server regardless of whether the field is empty or not. This may be
11919	// used to include empty fields in Patch requests.
11920	ForceSendFields []string `json:"-"`
11921
11922	// NullFields is a list of field names (e.g. "ActivityFilters") to
11923	// include in API requests with the JSON null value. By default, fields
11924	// with empty values are omitted from API requests. However, any field
11925	// with an empty value appearing in NullFields will be sent to the
11926	// server as null. It is an error if a field in this list has a
11927	// non-empty value. This may be used to include null fields in Patch
11928	// requests.
11929	NullFields []string `json:"-"`
11930}
11931
11932func (s *ReportPathToConversionCriteria) MarshalJSON() ([]byte, error) {
11933	type NoMethod ReportPathToConversionCriteria
11934	raw := NoMethod(*s)
11935	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
11936}
11937
11938// ReportPathToConversionCriteriaReportProperties: The properties of the
11939// report.
11940type ReportPathToConversionCriteriaReportProperties struct {
11941	// ClicksLookbackWindow: DFA checks to see if a click interaction
11942	// occurred within the specified period of time before a conversion. By
11943	// default the value is pulled from Floodlight or you can manually enter
11944	// a custom value. Valid values: 1-90.
11945	ClicksLookbackWindow int64 `json:"clicksLookbackWindow,omitempty"`
11946
11947	// ImpressionsLookbackWindow: DFA checks to see if an impression
11948	// interaction occurred within the specified period of time before a
11949	// conversion. By default the value is pulled from Floodlight or you can
11950	// manually enter a custom value. Valid values: 1-90.
11951	ImpressionsLookbackWindow int64 `json:"impressionsLookbackWindow,omitempty"`
11952
11953	// IncludeAttributedIPConversions: Deprecated: has no effect.
11954	IncludeAttributedIPConversions bool `json:"includeAttributedIPConversions,omitempty"`
11955
11956	// IncludeUnattributedCookieConversions: Include conversions of users
11957	// with a DoubleClick cookie but without an exposure. That means the
11958	// user did not click or see an ad from the advertiser within the
11959	// Floodlight group, or that the interaction happened outside the
11960	// lookback window.
11961	IncludeUnattributedCookieConversions bool `json:"includeUnattributedCookieConversions,omitempty"`
11962
11963	// IncludeUnattributedIPConversions: Include conversions that have no
11964	// associated cookies and no exposures. It’s therefore impossible to
11965	// know how the user was exposed to your ads during the lookback window
11966	// prior to a conversion.
11967	IncludeUnattributedIPConversions bool `json:"includeUnattributedIPConversions,omitempty"`
11968
11969	// MaximumClickInteractions: The maximum number of click interactions to
11970	// include in the report. Advertisers currently paying for E2C reports
11971	// get up to 200 (100 clicks, 100 impressions). If another advertiser in
11972	// your network is paying for E2C, you can have up to 5 total exposures
11973	// per report.
11974	MaximumClickInteractions int64 `json:"maximumClickInteractions,omitempty"`
11975
11976	// MaximumImpressionInteractions: The maximum number of click
11977	// interactions to include in the report. Advertisers currently paying
11978	// for E2C reports get up to 200 (100 clicks, 100 impressions). If
11979	// another advertiser in your network is paying for E2C, you can have up
11980	// to 5 total exposures per report.
11981	MaximumImpressionInteractions int64 `json:"maximumImpressionInteractions,omitempty"`
11982
11983	// MaximumInteractionGap: The maximum amount of time that can take place
11984	// between interactions (clicks or impressions) by the same user. Valid
11985	// values: 1-90.
11986	MaximumInteractionGap int64 `json:"maximumInteractionGap,omitempty"`
11987
11988	// PivotOnInteractionPath: Enable pivoting on interaction path.
11989	PivotOnInteractionPath bool `json:"pivotOnInteractionPath,omitempty"`
11990
11991	// ForceSendFields is a list of field names (e.g.
11992	// "ClicksLookbackWindow") to unconditionally include in API requests.
11993	// By default, fields with empty values are omitted from API requests.
11994	// However, any non-pointer, non-interface field appearing in
11995	// ForceSendFields will be sent to the server regardless of whether the
11996	// field is empty or not. This may be used to include empty fields in
11997	// Patch requests.
11998	ForceSendFields []string `json:"-"`
11999
12000	// NullFields is a list of field names (e.g. "ClicksLookbackWindow") to
12001	// include in API requests with the JSON null value. By default, fields
12002	// with empty values are omitted from API requests. However, any field
12003	// with an empty value appearing in NullFields will be sent to the
12004	// server as null. It is an error if a field in this list has a
12005	// non-empty value. This may be used to include null fields in Patch
12006	// requests.
12007	NullFields []string `json:"-"`
12008}
12009
12010func (s *ReportPathToConversionCriteriaReportProperties) MarshalJSON() ([]byte, error) {
12011	type NoMethod ReportPathToConversionCriteriaReportProperties
12012	raw := NoMethod(*s)
12013	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12014}
12015
12016// ReportReachCriteria: The report criteria for a report of type
12017// "REACH".
12018type ReportReachCriteria struct {
12019	// Activities: Activity group.
12020	Activities *Activities `json:"activities,omitempty"`
12021
12022	// CustomRichMediaEvents: Custom Rich Media Events group.
12023	CustomRichMediaEvents *CustomRichMediaEvents `json:"customRichMediaEvents,omitempty"`
12024
12025	// DateRange: The date range this report should be run for.
12026	DateRange *DateRange `json:"dateRange,omitempty"`
12027
12028	// DimensionFilters: The list of filters on which dimensions are
12029	// filtered.
12030	// Filters for different dimensions are ANDed, filters for the same
12031	// dimension are grouped together and ORed.
12032	DimensionFilters []*DimensionValue `json:"dimensionFilters,omitempty"`
12033
12034	// Dimensions: The list of dimensions the report should include.
12035	Dimensions []*SortedDimension `json:"dimensions,omitempty"`
12036
12037	// EnableAllDimensionCombinations: Whether to enable all reach dimension
12038	// combinations in the report. Defaults to false. If enabled, the date
12039	// range of the report should be within the last 42 days.
12040	EnableAllDimensionCombinations bool `json:"enableAllDimensionCombinations,omitempty"`
12041
12042	// MetricNames: The list of names of metrics the report should include.
12043	MetricNames []string `json:"metricNames,omitempty"`
12044
12045	// ReachByFrequencyMetricNames: The list of names of  Reach By Frequency
12046	// metrics the report should include.
12047	ReachByFrequencyMetricNames []string `json:"reachByFrequencyMetricNames,omitempty"`
12048
12049	// ForceSendFields is a list of field names (e.g. "Activities") to
12050	// unconditionally include in API requests. By default, fields with
12051	// empty values are omitted from API requests. However, any non-pointer,
12052	// non-interface field appearing in ForceSendFields will be sent to the
12053	// server regardless of whether the field is empty or not. This may be
12054	// used to include empty fields in Patch requests.
12055	ForceSendFields []string `json:"-"`
12056
12057	// NullFields is a list of field names (e.g. "Activities") to include in
12058	// API requests with the JSON null value. By default, fields with empty
12059	// values are omitted from API requests. However, any field with an
12060	// empty value appearing in NullFields will be sent to the server as
12061	// null. It is an error if a field in this list has a non-empty value.
12062	// This may be used to include null fields in Patch requests.
12063	NullFields []string `json:"-"`
12064}
12065
12066func (s *ReportReachCriteria) MarshalJSON() ([]byte, error) {
12067	type NoMethod ReportReachCriteria
12068	raw := NoMethod(*s)
12069	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12070}
12071
12072// ReportSchedule: The report's schedule. Can only be set if the
12073// report's 'dateRange' is a relative date range and the relative date
12074// range is not "TODAY".
12075type ReportSchedule struct {
12076	// Active: Whether the schedule is active or not. Must be set to either
12077	// true or false.
12078	Active bool `json:"active,omitempty"`
12079
12080	// Every: Defines every how many days, weeks or months the report should
12081	// be run. Needs to be set when "repeats" is either "DAILY", "WEEKLY" or
12082	// "MONTHLY".
12083	Every int64 `json:"every,omitempty"`
12084
12085	// ExpirationDate: The expiration date when the scheduled report stops
12086	// running.
12087	ExpirationDate string `json:"expirationDate,omitempty"`
12088
12089	// Repeats: The interval for which the report is repeated. Note:
12090	// - "DAILY" also requires field "every" to be set.
12091	// - "WEEKLY" also requires fields "every" and "repeatsOnWeekDays" to be
12092	// set.
12093	// - "MONTHLY" also requires fields "every" and "runsOnDayOfMonth" to be
12094	// set.
12095	Repeats string `json:"repeats,omitempty"`
12096
12097	// RepeatsOnWeekDays: List of week days "WEEKLY" on which scheduled
12098	// reports should run.
12099	//
12100	// Possible values:
12101	//   "FRIDAY"
12102	//   "MONDAY"
12103	//   "SATURDAY"
12104	//   "SUNDAY"
12105	//   "THURSDAY"
12106	//   "TUESDAY"
12107	//   "WEDNESDAY"
12108	RepeatsOnWeekDays []string `json:"repeatsOnWeekDays,omitempty"`
12109
12110	// RunsOnDayOfMonth: Enum to define for "MONTHLY" scheduled reports
12111	// whether reports should be repeated on the same day of the month as
12112	// "startDate" or the same day of the week of the month.
12113	// Example: If 'startDate' is Monday, April 2nd 2012 (2012-04-02),
12114	// "DAY_OF_MONTH" would run subsequent reports on the 2nd of every
12115	// Month, and "WEEK_OF_MONTH" would run subsequent reports on the first
12116	// Monday of the month.
12117	//
12118	// Possible values:
12119	//   "DAY_OF_MONTH"
12120	//   "WEEK_OF_MONTH"
12121	RunsOnDayOfMonth string `json:"runsOnDayOfMonth,omitempty"`
12122
12123	// StartDate: Start date of date range for which scheduled reports
12124	// should be run.
12125	StartDate string `json:"startDate,omitempty"`
12126
12127	// ForceSendFields is a list of field names (e.g. "Active") to
12128	// unconditionally include in API requests. By default, fields with
12129	// empty values are omitted from API requests. However, any non-pointer,
12130	// non-interface field appearing in ForceSendFields will be sent to the
12131	// server regardless of whether the field is empty or not. This may be
12132	// used to include empty fields in Patch requests.
12133	ForceSendFields []string `json:"-"`
12134
12135	// NullFields is a list of field names (e.g. "Active") to include in API
12136	// requests with the JSON null value. By default, fields with empty
12137	// values are omitted from API requests. However, any field with an
12138	// empty value appearing in NullFields will be sent to the server as
12139	// null. It is an error if a field in this list has a non-empty value.
12140	// This may be used to include null fields in Patch requests.
12141	NullFields []string `json:"-"`
12142}
12143
12144func (s *ReportSchedule) MarshalJSON() ([]byte, error) {
12145	type NoMethod ReportSchedule
12146	raw := NoMethod(*s)
12147	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12148}
12149
12150// ReportCompatibleFields: Represents fields that are compatible to be
12151// selected for a report of type "STANDARD".
12152type ReportCompatibleFields struct {
12153	// DimensionFilters: Dimensions which are compatible to be selected in
12154	// the "dimensionFilters" section of the report.
12155	DimensionFilters []*Dimension `json:"dimensionFilters,omitempty"`
12156
12157	// Dimensions: Dimensions which are compatible to be selected in the
12158	// "dimensions" section of the report.
12159	Dimensions []*Dimension `json:"dimensions,omitempty"`
12160
12161	// Kind: The kind of resource this is, in this case
12162	// dfareporting#reportCompatibleFields.
12163	Kind string `json:"kind,omitempty"`
12164
12165	// Metrics: Metrics which are compatible to be selected in the
12166	// "metricNames" section of the report.
12167	Metrics []*Metric `json:"metrics,omitempty"`
12168
12169	// PivotedActivityMetrics: Metrics which are compatible to be selected
12170	// as activity metrics to pivot on in the "activities" section of the
12171	// report.
12172	PivotedActivityMetrics []*Metric `json:"pivotedActivityMetrics,omitempty"`
12173
12174	// ForceSendFields is a list of field names (e.g. "DimensionFilters") to
12175	// unconditionally include in API requests. By default, fields with
12176	// empty values are omitted from API requests. However, any non-pointer,
12177	// non-interface field appearing in ForceSendFields will be sent to the
12178	// server regardless of whether the field is empty or not. This may be
12179	// used to include empty fields in Patch requests.
12180	ForceSendFields []string `json:"-"`
12181
12182	// NullFields is a list of field names (e.g. "DimensionFilters") to
12183	// include in API requests with the JSON null value. By default, fields
12184	// with empty values are omitted from API requests. However, any field
12185	// with an empty value appearing in NullFields will be sent to the
12186	// server as null. It is an error if a field in this list has a
12187	// non-empty value. This may be used to include null fields in Patch
12188	// requests.
12189	NullFields []string `json:"-"`
12190}
12191
12192func (s *ReportCompatibleFields) MarshalJSON() ([]byte, error) {
12193	type NoMethod ReportCompatibleFields
12194	raw := NoMethod(*s)
12195	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12196}
12197
12198// ReportList: Represents the list of reports.
12199type ReportList struct {
12200	// Etag: The eTag of this response for caching purposes.
12201	Etag string `json:"etag,omitempty"`
12202
12203	// Items: The reports returned in this response.
12204	Items []*Report `json:"items,omitempty"`
12205
12206	// Kind: The kind of list this is, in this case dfareporting#reportList.
12207	Kind string `json:"kind,omitempty"`
12208
12209	// NextPageToken: Continuation token used to page through reports. To
12210	// retrieve the next page of results, set the next request's "pageToken"
12211	// to the value of this field. The page token is only valid for a
12212	// limited amount of time and should not be persisted.
12213	NextPageToken string `json:"nextPageToken,omitempty"`
12214
12215	// ServerResponse contains the HTTP response code and headers from the
12216	// server.
12217	googleapi.ServerResponse `json:"-"`
12218
12219	// ForceSendFields is a list of field names (e.g. "Etag") to
12220	// unconditionally include in API requests. By default, fields with
12221	// empty values are omitted from API requests. However, any non-pointer,
12222	// non-interface field appearing in ForceSendFields will be sent to the
12223	// server regardless of whether the field is empty or not. This may be
12224	// used to include empty fields in Patch requests.
12225	ForceSendFields []string `json:"-"`
12226
12227	// NullFields is a list of field names (e.g. "Etag") to include in API
12228	// requests with the JSON null value. By default, fields with empty
12229	// values are omitted from API requests. However, any field with an
12230	// empty value appearing in NullFields will be sent to the server as
12231	// null. It is an error if a field in this list has a non-empty value.
12232	// This may be used to include null fields in Patch requests.
12233	NullFields []string `json:"-"`
12234}
12235
12236func (s *ReportList) MarshalJSON() ([]byte, error) {
12237	type NoMethod ReportList
12238	raw := NoMethod(*s)
12239	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12240}
12241
12242// ReportsConfiguration: Reporting Configuration
12243type ReportsConfiguration struct {
12244	// ExposureToConversionEnabled: Whether the exposure to conversion
12245	// report is enabled. This report shows detailed pathway information on
12246	// up to 10 of the most recent ad exposures seen by a user before
12247	// converting.
12248	ExposureToConversionEnabled bool `json:"exposureToConversionEnabled,omitempty"`
12249
12250	// LookbackConfiguration: Default lookback windows for new advertisers
12251	// in this account.
12252	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
12253
12254	// ReportGenerationTimeZoneId: Report generation time zone ID of this
12255	// account. This is a required field that can only be changed by a
12256	// superuser.
12257	// Acceptable values are:
12258	//
12259	// - "1" for "America/New_York"
12260	// - "2" for "Europe/London"
12261	// - "3" for "Europe/Paris"
12262	// - "4" for "Africa/Johannesburg"
12263	// - "5" for "Asia/Jerusalem"
12264	// - "6" for "Asia/Shanghai"
12265	// - "7" for "Asia/Hong_Kong"
12266	// - "8" for "Asia/Tokyo"
12267	// - "9" for "Australia/Sydney"
12268	// - "10" for "Asia/Dubai"
12269	// - "11" for "America/Los_Angeles"
12270	// - "12" for "Pacific/Auckland"
12271	// - "13" for "America/Sao_Paulo"
12272	ReportGenerationTimeZoneId int64 `json:"reportGenerationTimeZoneId,omitempty,string"`
12273
12274	// ForceSendFields is a list of field names (e.g.
12275	// "ExposureToConversionEnabled") to unconditionally include in API
12276	// requests. By default, fields with empty values are omitted from API
12277	// requests. However, any non-pointer, non-interface field appearing in
12278	// ForceSendFields will be sent to the server regardless of whether the
12279	// field is empty or not. This may be used to include empty fields in
12280	// Patch requests.
12281	ForceSendFields []string `json:"-"`
12282
12283	// NullFields is a list of field names (e.g.
12284	// "ExposureToConversionEnabled") to include in API requests with the
12285	// JSON null value. By default, fields with empty values are omitted
12286	// from API requests. However, any field with an empty value appearing
12287	// in NullFields will be sent to the server as null. It is an error if a
12288	// field in this list has a non-empty value. This may be used to include
12289	// null fields in Patch requests.
12290	NullFields []string `json:"-"`
12291}
12292
12293func (s *ReportsConfiguration) MarshalJSON() ([]byte, error) {
12294	type NoMethod ReportsConfiguration
12295	raw := NoMethod(*s)
12296	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12297}
12298
12299// RichMediaExitOverride: Rich Media Exit Override.
12300type RichMediaExitOverride struct {
12301	// ClickThroughUrl: Click-through URL of this rich media exit override.
12302	// Applicable if the enabled field is set to true.
12303	ClickThroughUrl *ClickThroughUrl `json:"clickThroughUrl,omitempty"`
12304
12305	// Enabled: Whether to use the clickThroughUrl. If false, the
12306	// creative-level exit will be used.
12307	Enabled bool `json:"enabled,omitempty"`
12308
12309	// ExitId: ID for the override to refer to a specific exit in the
12310	// creative.
12311	ExitId int64 `json:"exitId,omitempty,string"`
12312
12313	// ForceSendFields is a list of field names (e.g. "ClickThroughUrl") to
12314	// unconditionally include in API requests. By default, fields with
12315	// empty values are omitted from API requests. However, any non-pointer,
12316	// non-interface field appearing in ForceSendFields will be sent to the
12317	// server regardless of whether the field is empty or not. This may be
12318	// used to include empty fields in Patch requests.
12319	ForceSendFields []string `json:"-"`
12320
12321	// NullFields is a list of field names (e.g. "ClickThroughUrl") to
12322	// include in API requests with the JSON null value. By default, fields
12323	// with empty values are omitted from API requests. However, any field
12324	// with an empty value appearing in NullFields will be sent to the
12325	// server as null. It is an error if a field in this list has a
12326	// non-empty value. This may be used to include null fields in Patch
12327	// requests.
12328	NullFields []string `json:"-"`
12329}
12330
12331func (s *RichMediaExitOverride) MarshalJSON() ([]byte, error) {
12332	type NoMethod RichMediaExitOverride
12333	raw := NoMethod(*s)
12334	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12335}
12336
12337// Rule: A rule associates an asset with a targeting template for
12338// asset-level targeting. Applicable to INSTREAM_VIDEO creatives.
12339type Rule struct {
12340	// AssetId: A creativeAssets[].id. This should refer to one of the
12341	// parent assets in this creative. This is a required field.
12342	AssetId int64 `json:"assetId,omitempty,string"`
12343
12344	// Name: A user-friendly name for this rule. This is a required field.
12345	Name string `json:"name,omitempty"`
12346
12347	// TargetingTemplateId: A targeting template ID. The targeting from the
12348	// targeting template will be used to determine whether this asset
12349	// should be served. This is a required field.
12350	TargetingTemplateId int64 `json:"targetingTemplateId,omitempty,string"`
12351
12352	// ForceSendFields is a list of field names (e.g. "AssetId") to
12353	// unconditionally include in API requests. By default, fields with
12354	// empty values are omitted from API requests. However, any non-pointer,
12355	// non-interface field appearing in ForceSendFields will be sent to the
12356	// server regardless of whether the field is empty or not. This may be
12357	// used to include empty fields in Patch requests.
12358	ForceSendFields []string `json:"-"`
12359
12360	// NullFields is a list of field names (e.g. "AssetId") to include in
12361	// API requests with the JSON null value. By default, fields with empty
12362	// values are omitted from API requests. However, any field with an
12363	// empty value appearing in NullFields will be sent to the server as
12364	// null. It is an error if a field in this list has a non-empty value.
12365	// This may be used to include null fields in Patch requests.
12366	NullFields []string `json:"-"`
12367}
12368
12369func (s *Rule) MarshalJSON() ([]byte, error) {
12370	type NoMethod Rule
12371	raw := NoMethod(*s)
12372	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12373}
12374
12375// Site: Contains properties of a site.
12376type Site struct {
12377	// AccountId: Account ID of this site. This is a read-only field that
12378	// can be left blank.
12379	AccountId int64 `json:"accountId,omitempty,string"`
12380
12381	// Approved: Whether this site is approved.
12382	Approved bool `json:"approved,omitempty"`
12383
12384	// DirectorySiteId: Directory site associated with this site. This is a
12385	// required field that is read-only after insertion.
12386	DirectorySiteId int64 `json:"directorySiteId,omitempty,string"`
12387
12388	// DirectorySiteIdDimensionValue: Dimension value for the ID of the
12389	// directory site. This is a read-only, auto-generated field.
12390	DirectorySiteIdDimensionValue *DimensionValue `json:"directorySiteIdDimensionValue,omitempty"`
12391
12392	// Id: ID of this site. This is a read-only, auto-generated field.
12393	Id int64 `json:"id,omitempty,string"`
12394
12395	// IdDimensionValue: Dimension value for the ID of this site. This is a
12396	// read-only, auto-generated field.
12397	IdDimensionValue *DimensionValue `json:"idDimensionValue,omitempty"`
12398
12399	// KeyName: Key name of this site. This is a read-only, auto-generated
12400	// field.
12401	KeyName string `json:"keyName,omitempty"`
12402
12403	// Kind: Identifies what kind of resource this is. Value: the fixed
12404	// string "dfareporting#site".
12405	Kind string `json:"kind,omitempty"`
12406
12407	// Name: Name of this site.This is a required field. Must be less than
12408	// 128 characters long. If this site is under a subaccount, the name
12409	// must be unique among sites of the same subaccount. Otherwise, this
12410	// site is a top-level site, and the name must be unique among top-level
12411	// sites of the same account.
12412	Name string `json:"name,omitempty"`
12413
12414	// SiteContacts: Site contacts.
12415	SiteContacts []*SiteContact `json:"siteContacts,omitempty"`
12416
12417	// SiteSettings: Site-wide settings.
12418	SiteSettings *SiteSettings `json:"siteSettings,omitempty"`
12419
12420	// SubaccountId: Subaccount ID of this site. This is a read-only field
12421	// that can be left blank.
12422	SubaccountId int64 `json:"subaccountId,omitempty,string"`
12423
12424	// ServerResponse contains the HTTP response code and headers from the
12425	// server.
12426	googleapi.ServerResponse `json:"-"`
12427
12428	// ForceSendFields is a list of field names (e.g. "AccountId") to
12429	// unconditionally include in API requests. By default, fields with
12430	// empty values are omitted from API requests. However, any non-pointer,
12431	// non-interface field appearing in ForceSendFields will be sent to the
12432	// server regardless of whether the field is empty or not. This may be
12433	// used to include empty fields in Patch requests.
12434	ForceSendFields []string `json:"-"`
12435
12436	// NullFields is a list of field names (e.g. "AccountId") to include in
12437	// API requests with the JSON null value. By default, fields with empty
12438	// values are omitted from API requests. However, any field with an
12439	// empty value appearing in NullFields will be sent to the server as
12440	// null. It is an error if a field in this list has a non-empty value.
12441	// This may be used to include null fields in Patch requests.
12442	NullFields []string `json:"-"`
12443}
12444
12445func (s *Site) MarshalJSON() ([]byte, error) {
12446	type NoMethod Site
12447	raw := NoMethod(*s)
12448	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12449}
12450
12451// SiteContact: Site Contact
12452type SiteContact struct {
12453	// Address: Address of this site contact.
12454	Address string `json:"address,omitempty"`
12455
12456	// ContactType: Site contact type.
12457	//
12458	// Possible values:
12459	//   "SALES_PERSON"
12460	//   "TRAFFICKER"
12461	ContactType string `json:"contactType,omitempty"`
12462
12463	// Email: Email address of this site contact. This is a required field.
12464	Email string `json:"email,omitempty"`
12465
12466	// FirstName: First name of this site contact.
12467	FirstName string `json:"firstName,omitempty"`
12468
12469	// Id: ID of this site contact. This is a read-only, auto-generated
12470	// field.
12471	Id int64 `json:"id,omitempty,string"`
12472
12473	// LastName: Last name of this site contact.
12474	LastName string `json:"lastName,omitempty"`
12475
12476	// Phone: Primary phone number of this site contact.
12477	Phone string `json:"phone,omitempty"`
12478
12479	// Title: Title or designation of this site contact.
12480	Title string `json:"title,omitempty"`
12481
12482	// ForceSendFields is a list of field names (e.g. "Address") to
12483	// unconditionally include in API requests. By default, fields with
12484	// empty values are omitted from API requests. However, any non-pointer,
12485	// non-interface field appearing in ForceSendFields will be sent to the
12486	// server regardless of whether the field is empty or not. This may be
12487	// used to include empty fields in Patch requests.
12488	ForceSendFields []string `json:"-"`
12489
12490	// NullFields is a list of field names (e.g. "Address") to include in
12491	// API requests with the JSON null value. By default, fields with empty
12492	// values are omitted from API requests. However, any field with an
12493	// empty value appearing in NullFields will be sent to the server as
12494	// null. It is an error if a field in this list has a non-empty value.
12495	// This may be used to include null fields in Patch requests.
12496	NullFields []string `json:"-"`
12497}
12498
12499func (s *SiteContact) MarshalJSON() ([]byte, error) {
12500	type NoMethod SiteContact
12501	raw := NoMethod(*s)
12502	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12503}
12504
12505// SiteSettings: Site Settings
12506type SiteSettings struct {
12507	// ActiveViewOptOut: Whether active view creatives are disabled for this
12508	// site.
12509	ActiveViewOptOut bool `json:"activeViewOptOut,omitempty"`
12510
12511	// AdBlockingOptOut: Whether this site opts out of ad blocking. When
12512	// true, ad blocking is disabled for all placements under the site,
12513	// regardless of the individual placement settings. When false, the
12514	// campaign and placement settings take effect.
12515	AdBlockingOptOut bool `json:"adBlockingOptOut,omitempty"`
12516
12517	// CreativeSettings: Site-wide creative settings.
12518	CreativeSettings *CreativeSettings `json:"creativeSettings,omitempty"`
12519
12520	// DisableNewCookie: Whether new cookies are disabled for this site.
12521	DisableNewCookie bool `json:"disableNewCookie,omitempty"`
12522
12523	// LookbackConfiguration: Lookback window settings for this site.
12524	LookbackConfiguration *LookbackConfiguration `json:"lookbackConfiguration,omitempty"`
12525
12526	// TagSetting: Configuration settings for dynamic and image floodlight
12527	// tags.
12528	TagSetting *TagSetting `json:"tagSetting,omitempty"`
12529
12530	// VideoActiveViewOptOutTemplate: Whether Verification and ActiveView
12531	// for in-stream video creatives are disabled by default for new
12532	// placements created under this site. This value will be used to
12533	// populate the placement.videoActiveViewOptOut field, when no value is
12534	// specified for the new placement.
12535	VideoActiveViewOptOutTemplate bool `json:"videoActiveViewOptOutTemplate,omitempty"`
12536
12537	// VpaidAdapterChoiceTemplate: Default VPAID adapter setting for new
12538	// placements created under this site. This value will be used to
12539	// populate the placements.vpaidAdapterChoice field, when no value is
12540	// specified for the new placement. Controls which VPAID format the
12541	// measurement adapter will use for in-stream video creatives assigned
12542	// to the placement. The publisher's specifications will typically
12543	// determine this setting. For VPAID creatives, the adapter format will
12544	// match the VPAID format (HTML5 VPAID creatives use the HTML5
12545	// adapter).
12546	//
12547	// Note: Flash is no longer supported. This field now defaults to HTML5
12548	// when the following values are provided: FLASH, BOTH.
12549	//
12550	// Possible values:
12551	//   "BOTH"
12552	//   "DEFAULT"
12553	//   "FLASH"
12554	//   "HTML5"
12555	VpaidAdapterChoiceTemplate string `json:"vpaidAdapterChoiceTemplate,omitempty"`
12556
12557	// ForceSendFields is a list of field names (e.g. "ActiveViewOptOut") to
12558	// unconditionally include in API requests. By default, fields with
12559	// empty values are omitted from API requests. However, any non-pointer,
12560	// non-interface field appearing in ForceSendFields will be sent to the
12561	// server regardless of whether the field is empty or not. This may be
12562	// used to include empty fields in Patch requests.
12563	ForceSendFields []string `json:"-"`
12564
12565	// NullFields is a list of field names (e.g. "ActiveViewOptOut") to
12566	// include in API requests with the JSON null value. By default, fields
12567	// with empty values are omitted from API requests. However, any field
12568	// with an empty value appearing in NullFields will be sent to the
12569	// server as null. It is an error if a field in this list has a
12570	// non-empty value. This may be used to include null fields in Patch
12571	// requests.
12572	NullFields []string `json:"-"`
12573}
12574
12575func (s *SiteSettings) MarshalJSON() ([]byte, error) {
12576	type NoMethod SiteSettings
12577	raw := NoMethod(*s)
12578	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12579}
12580
12581// SitesListResponse: Site List Response
12582type SitesListResponse struct {
12583	// Kind: Identifies what kind of resource this is. Value: the fixed
12584	// string "dfareporting#sitesListResponse".
12585	Kind string `json:"kind,omitempty"`
12586
12587	// NextPageToken: Pagination token to be used for the next list
12588	// operation.
12589	NextPageToken string `json:"nextPageToken,omitempty"`
12590
12591	// Sites: Site collection.
12592	Sites []*Site `json:"sites,omitempty"`
12593
12594	// ServerResponse contains the HTTP response code and headers from the
12595	// server.
12596	googleapi.ServerResponse `json:"-"`
12597
12598	// ForceSendFields is a list of field names (e.g. "Kind") to
12599	// unconditionally include in API requests. By default, fields with
12600	// empty values are omitted from API requests. However, any non-pointer,
12601	// non-interface field appearing in ForceSendFields will be sent to the
12602	// server regardless of whether the field is empty or not. This may be
12603	// used to include empty fields in Patch requests.
12604	ForceSendFields []string `json:"-"`
12605
12606	// NullFields is a list of field names (e.g. "Kind") to include in API
12607	// requests with the JSON null value. By default, fields with empty
12608	// values are omitted from API requests. However, any field with an
12609	// empty value appearing in NullFields will be sent to the server as
12610	// null. It is an error if a field in this list has a non-empty value.
12611	// This may be used to include null fields in Patch requests.
12612	NullFields []string `json:"-"`
12613}
12614
12615func (s *SitesListResponse) MarshalJSON() ([]byte, error) {
12616	type NoMethod SitesListResponse
12617	raw := NoMethod(*s)
12618	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12619}
12620
12621// Size: Represents the dimensions of ads, placements, creatives, or
12622// creative assets.
12623type Size struct {
12624	// Height: Height of this size. Acceptable values are 0 to 32767,
12625	// inclusive.
12626	Height int64 `json:"height,omitempty"`
12627
12628	// Iab: IAB standard size. This is a read-only, auto-generated field.
12629	Iab bool `json:"iab,omitempty"`
12630
12631	// Id: ID of this size. This is a read-only, auto-generated field.
12632	Id int64 `json:"id,omitempty,string"`
12633
12634	// Kind: Identifies what kind of resource this is. Value: the fixed
12635	// string "dfareporting#size".
12636	Kind string `json:"kind,omitempty"`
12637
12638	// Width: Width of this size. Acceptable values are 0 to 32767,
12639	// inclusive.
12640	Width int64 `json:"width,omitempty"`
12641
12642	// ServerResponse contains the HTTP response code and headers from the
12643	// server.
12644	googleapi.ServerResponse `json:"-"`
12645
12646	// ForceSendFields is a list of field names (e.g. "Height") to
12647	// unconditionally include in API requests. By default, fields with
12648	// empty values are omitted from API requests. However, any non-pointer,
12649	// non-interface field appearing in ForceSendFields will be sent to the
12650	// server regardless of whether the field is empty or not. This may be
12651	// used to include empty fields in Patch requests.
12652	ForceSendFields []string `json:"-"`
12653
12654	// NullFields is a list of field names (e.g. "Height") to include in API
12655	// requests with the JSON null value. By default, fields with empty
12656	// values are omitted from API requests. However, any field with an
12657	// empty value appearing in NullFields will be sent to the server as
12658	// null. It is an error if a field in this list has a non-empty value.
12659	// This may be used to include null fields in Patch requests.
12660	NullFields []string `json:"-"`
12661}
12662
12663func (s *Size) MarshalJSON() ([]byte, error) {
12664	type NoMethod Size
12665	raw := NoMethod(*s)
12666	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12667}
12668
12669// SizesListResponse: Size List Response
12670type SizesListResponse struct {
12671	// Kind: Identifies what kind of resource this is. Value: the fixed
12672	// string "dfareporting#sizesListResponse".
12673	Kind string `json:"kind,omitempty"`
12674
12675	// Sizes: Size collection.
12676	Sizes []*Size `json:"sizes,omitempty"`
12677
12678	// ServerResponse contains the HTTP response code and headers from the
12679	// server.
12680	googleapi.ServerResponse `json:"-"`
12681
12682	// ForceSendFields is a list of field names (e.g. "Kind") to
12683	// unconditionally include in API requests. By default, fields with
12684	// empty values are omitted from API requests. However, any non-pointer,
12685	// non-interface field appearing in ForceSendFields will be sent to the
12686	// server regardless of whether the field is empty or not. This may be
12687	// used to include empty fields in Patch requests.
12688	ForceSendFields []string `json:"-"`
12689
12690	// NullFields is a list of field names (e.g. "Kind") to include in API
12691	// requests with the JSON null value. By default, fields with empty
12692	// values are omitted from API requests. However, any field with an
12693	// empty value appearing in NullFields will be sent to the server as
12694	// null. It is an error if a field in this list has a non-empty value.
12695	// This may be used to include null fields in Patch requests.
12696	NullFields []string `json:"-"`
12697}
12698
12699func (s *SizesListResponse) MarshalJSON() ([]byte, error) {
12700	type NoMethod SizesListResponse
12701	raw := NoMethod(*s)
12702	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12703}
12704
12705// SkippableSetting: Skippable Settings
12706type SkippableSetting struct {
12707	// Kind: Identifies what kind of resource this is. Value: the fixed
12708	// string "dfareporting#skippableSetting".
12709	Kind string `json:"kind,omitempty"`
12710
12711	// ProgressOffset: Amount of time to play videos served to this
12712	// placement before counting a view. Applicable when skippable is true.
12713	ProgressOffset *VideoOffset `json:"progressOffset,omitempty"`
12714
12715	// SkipOffset: Amount of time to play videos served to this placement
12716	// before the skip button should appear. Applicable when skippable is
12717	// true.
12718	SkipOffset *VideoOffset `json:"skipOffset,omitempty"`
12719
12720	// Skippable: Whether the user can skip creatives served to this
12721	// placement.
12722	Skippable bool `json:"skippable,omitempty"`
12723
12724	// ForceSendFields is a list of field names (e.g. "Kind") to
12725	// unconditionally include in API requests. By default, fields with
12726	// empty values are omitted from API requests. However, any non-pointer,
12727	// non-interface field appearing in ForceSendFields will be sent to the
12728	// server regardless of whether the field is empty or not. This may be
12729	// used to include empty fields in Patch requests.
12730	ForceSendFields []string `json:"-"`
12731
12732	// NullFields is a list of field names (e.g. "Kind") to include in API
12733	// requests with the JSON null value. By default, fields with empty
12734	// values are omitted from API requests. However, any field with an
12735	// empty value appearing in NullFields will be sent to the server as
12736	// null. It is an error if a field in this list has a non-empty value.
12737	// This may be used to include null fields in Patch requests.
12738	NullFields []string `json:"-"`
12739}
12740
12741func (s *SkippableSetting) MarshalJSON() ([]byte, error) {
12742	type NoMethod SkippableSetting
12743	raw := NoMethod(*s)
12744	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12745}
12746
12747// SortedDimension: Represents a sorted dimension.
12748type SortedDimension struct {
12749	// Kind: The kind of resource this is, in this case
12750	// dfareporting#sortedDimension.
12751	Kind string `json:"kind,omitempty"`
12752
12753	// Name: The name of the dimension.
12754	Name string `json:"name,omitempty"`
12755
12756	// SortOrder: An optional sort order for the dimension column.
12757	//
12758	// Possible values:
12759	//   "ASCENDING"
12760	//   "DESCENDING"
12761	SortOrder string `json:"sortOrder,omitempty"`
12762
12763	// ForceSendFields is a list of field names (e.g. "Kind") to
12764	// unconditionally include in API requests. By default, fields with
12765	// empty values are omitted from API requests. However, any non-pointer,
12766	// non-interface field appearing in ForceSendFields will be sent to the
12767	// server regardless of whether the field is empty or not. This may be
12768	// used to include empty fields in Patch requests.
12769	ForceSendFields []string `json:"-"`
12770
12771	// NullFields is a list of field names (e.g. "Kind") to include in API
12772	// requests with the JSON null value. By default, fields with empty
12773	// values are omitted from API requests. However, any field with an
12774	// empty value appearing in NullFields will be sent to the server as
12775	// null. It is an error if a field in this list has a non-empty value.
12776	// This may be used to include null fields in Patch requests.
12777	NullFields []string `json:"-"`
12778}
12779
12780func (s *SortedDimension) MarshalJSON() ([]byte, error) {
12781	type NoMethod SortedDimension
12782	raw := NoMethod(*s)
12783	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12784}
12785
12786// Subaccount: Contains properties of a Campaign Manager subaccount.
12787type Subaccount struct {
12788	// AccountId: ID of the account that contains this subaccount. This is a
12789	// read-only field that can be left blank.
12790	AccountId int64 `json:"accountId,omitempty,string"`
12791
12792	// AvailablePermissionIds: IDs of the available user role permissions
12793	// for this subaccount.
12794	AvailablePermissionIds googleapi.Int64s `json:"availablePermissionIds,omitempty"`
12795
12796	// Id: ID of this subaccount. This is a read-only, auto-generated field.
12797	Id int64 `json:"id,omitempty,string"`
12798
12799	// Kind: Identifies what kind of resource this is. Value: the fixed
12800	// string "dfareporting#subaccount".
12801	Kind string `json:"kind,omitempty"`
12802
12803	// Name: Name of this subaccount. This is a required field. Must be less
12804	// than 128 characters long and be unique among subaccounts of the same
12805	// account.
12806	Name string `json:"name,omitempty"`
12807
12808	// ServerResponse contains the HTTP response code and headers from the
12809	// server.
12810	googleapi.ServerResponse `json:"-"`
12811
12812	// ForceSendFields is a list of field names (e.g. "AccountId") to
12813	// unconditionally include in API requests. By default, fields with
12814	// empty values are omitted from API requests. However, any non-pointer,
12815	// non-interface field appearing in ForceSendFields will be sent to the
12816	// server regardless of whether the field is empty or not. This may be
12817	// used to include empty fields in Patch requests.
12818	ForceSendFields []string `json:"-"`
12819
12820	// NullFields is a list of field names (e.g. "AccountId") to include in
12821	// API requests with the JSON null value. By default, fields with empty
12822	// values are omitted from API requests. However, any field with an
12823	// empty value appearing in NullFields will be sent to the server as
12824	// null. It is an error if a field in this list has a non-empty value.
12825	// This may be used to include null fields in Patch requests.
12826	NullFields []string `json:"-"`
12827}
12828
12829func (s *Subaccount) MarshalJSON() ([]byte, error) {
12830	type NoMethod Subaccount
12831	raw := NoMethod(*s)
12832	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12833}
12834
12835// SubaccountsListResponse: Subaccount List Response
12836type SubaccountsListResponse struct {
12837	// Kind: Identifies what kind of resource this is. Value: the fixed
12838	// string "dfareporting#subaccountsListResponse".
12839	Kind string `json:"kind,omitempty"`
12840
12841	// NextPageToken: Pagination token to be used for the next list
12842	// operation.
12843	NextPageToken string `json:"nextPageToken,omitempty"`
12844
12845	// Subaccounts: Subaccount collection.
12846	Subaccounts []*Subaccount `json:"subaccounts,omitempty"`
12847
12848	// ServerResponse contains the HTTP response code and headers from the
12849	// server.
12850	googleapi.ServerResponse `json:"-"`
12851
12852	// ForceSendFields is a list of field names (e.g. "Kind") to
12853	// unconditionally include in API requests. By default, fields with
12854	// empty values are omitted from API requests. However, any non-pointer,
12855	// non-interface field appearing in ForceSendFields will be sent to the
12856	// server regardless of whether the field is empty or not. This may be
12857	// used to include empty fields in Patch requests.
12858	ForceSendFields []string `json:"-"`
12859
12860	// NullFields is a list of field names (e.g. "Kind") to include in API
12861	// requests with the JSON null value. By default, fields with empty
12862	// values are omitted from API requests. However, any field with an
12863	// empty value appearing in NullFields will be sent to the server as
12864	// null. It is an error if a field in this list has a non-empty value.
12865	// This may be used to include null fields in Patch requests.
12866	NullFields []string `json:"-"`
12867}
12868
12869func (s *SubaccountsListResponse) MarshalJSON() ([]byte, error) {
12870	type NoMethod SubaccountsListResponse
12871	raw := NoMethod(*s)
12872	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12873}
12874
12875// TagData: Placement Tag Data
12876type TagData struct {
12877	// AdId: Ad associated with this placement tag. Applicable only when
12878	// format is PLACEMENT_TAG_TRACKING.
12879	AdId int64 `json:"adId,omitempty,string"`
12880
12881	// ClickTag: Tag string to record a click.
12882	ClickTag string `json:"clickTag,omitempty"`
12883
12884	// CreativeId: Creative associated with this placement tag. Applicable
12885	// only when format is PLACEMENT_TAG_TRACKING.
12886	CreativeId int64 `json:"creativeId,omitempty,string"`
12887
12888	// Format: TagData tag format of this tag.
12889	//
12890	// Possible values:
12891	//   "PLACEMENT_TAG_CLICK_COMMANDS"
12892	//   "PLACEMENT_TAG_IFRAME_ILAYER"
12893	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
12894	//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
12895	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
12896	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
12897	//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
12898	//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
12899	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
12900	//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
12901	//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
12902	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
12903	//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
12904	//   "PLACEMENT_TAG_JAVASCRIPT"
12905	//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
12906	//   "PLACEMENT_TAG_STANDARD"
12907	//   "PLACEMENT_TAG_TRACKING"
12908	//   "PLACEMENT_TAG_TRACKING_IFRAME"
12909	//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
12910	Format string `json:"format,omitempty"`
12911
12912	// ImpressionTag: Tag string for serving an ad.
12913	ImpressionTag string `json:"impressionTag,omitempty"`
12914
12915	// ForceSendFields is a list of field names (e.g. "AdId") to
12916	// unconditionally include in API requests. By default, fields with
12917	// empty values are omitted from API requests. However, any non-pointer,
12918	// non-interface field appearing in ForceSendFields will be sent to the
12919	// server regardless of whether the field is empty or not. This may be
12920	// used to include empty fields in Patch requests.
12921	ForceSendFields []string `json:"-"`
12922
12923	// NullFields is a list of field names (e.g. "AdId") to include in API
12924	// requests with the JSON null value. By default, fields with empty
12925	// values are omitted from API requests. However, any field with an
12926	// empty value appearing in NullFields will be sent to the server as
12927	// null. It is an error if a field in this list has a non-empty value.
12928	// This may be used to include null fields in Patch requests.
12929	NullFields []string `json:"-"`
12930}
12931
12932func (s *TagData) MarshalJSON() ([]byte, error) {
12933	type NoMethod TagData
12934	raw := NoMethod(*s)
12935	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12936}
12937
12938// TagSetting: Tag Settings
12939type TagSetting struct {
12940	// AdditionalKeyValues: Additional key-values to be included in tags.
12941	// Each key-value pair must be of the form key=value, and pairs must be
12942	// separated by a semicolon (;). Keys and values must not contain
12943	// commas. For example, id=2;color=red is a valid value for this field.
12944	AdditionalKeyValues string `json:"additionalKeyValues,omitempty"`
12945
12946	// IncludeClickThroughUrls: Whether static landing page URLs should be
12947	// included in the tags. This setting applies only to placements.
12948	IncludeClickThroughUrls bool `json:"includeClickThroughUrls,omitempty"`
12949
12950	// IncludeClickTracking: Whether click-tracking string should be
12951	// included in the tags.
12952	IncludeClickTracking bool `json:"includeClickTracking,omitempty"`
12953
12954	// KeywordOption: Option specifying how keywords are embedded in ad
12955	// tags. This setting can be used to specify whether keyword
12956	// placeholders are inserted in placement tags for this site. Publishers
12957	// can then add keywords to those placeholders.
12958	//
12959	// Possible values:
12960	//   "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD"
12961	//   "IGNORE"
12962	//   "PLACEHOLDER_WITH_LIST_OF_KEYWORDS"
12963	KeywordOption string `json:"keywordOption,omitempty"`
12964
12965	// ForceSendFields is a list of field names (e.g. "AdditionalKeyValues")
12966	// to unconditionally include in API requests. By default, fields with
12967	// empty values are omitted from API requests. However, any non-pointer,
12968	// non-interface field appearing in ForceSendFields will be sent to the
12969	// server regardless of whether the field is empty or not. This may be
12970	// used to include empty fields in Patch requests.
12971	ForceSendFields []string `json:"-"`
12972
12973	// NullFields is a list of field names (e.g. "AdditionalKeyValues") to
12974	// include in API requests with the JSON null value. By default, fields
12975	// with empty values are omitted from API requests. However, any field
12976	// with an empty value appearing in NullFields will be sent to the
12977	// server as null. It is an error if a field in this list has a
12978	// non-empty value. This may be used to include null fields in Patch
12979	// requests.
12980	NullFields []string `json:"-"`
12981}
12982
12983func (s *TagSetting) MarshalJSON() ([]byte, error) {
12984	type NoMethod TagSetting
12985	raw := NoMethod(*s)
12986	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
12987}
12988
12989// TagSettings: Dynamic and Image Tag Settings.
12990type TagSettings struct {
12991	// DynamicTagEnabled: Whether dynamic floodlight tags are enabled.
12992	DynamicTagEnabled bool `json:"dynamicTagEnabled,omitempty"`
12993
12994	// ImageTagEnabled: Whether image tags are enabled.
12995	ImageTagEnabled bool `json:"imageTagEnabled,omitempty"`
12996
12997	// ForceSendFields is a list of field names (e.g. "DynamicTagEnabled")
12998	// to unconditionally include in API requests. By default, fields with
12999	// empty values are omitted from API requests. However, any non-pointer,
13000	// non-interface field appearing in ForceSendFields will be sent to the
13001	// server regardless of whether the field is empty or not. This may be
13002	// used to include empty fields in Patch requests.
13003	ForceSendFields []string `json:"-"`
13004
13005	// NullFields is a list of field names (e.g. "DynamicTagEnabled") to
13006	// include in API requests with the JSON null value. By default, fields
13007	// with empty values are omitted from API requests. However, any field
13008	// with an empty value appearing in NullFields will be sent to the
13009	// server as null. It is an error if a field in this list has a
13010	// non-empty value. This may be used to include null fields in Patch
13011	// requests.
13012	NullFields []string `json:"-"`
13013}
13014
13015func (s *TagSettings) MarshalJSON() ([]byte, error) {
13016	type NoMethod TagSettings
13017	raw := NoMethod(*s)
13018	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13019}
13020
13021// TargetWindow: Target Window.
13022type TargetWindow struct {
13023	// CustomHtml: User-entered value.
13024	CustomHtml string `json:"customHtml,omitempty"`
13025
13026	// TargetWindowOption: Type of browser window for which the backup image
13027	// of the flash creative can be displayed.
13028	//
13029	// Possible values:
13030	//   "CURRENT_WINDOW"
13031	//   "CUSTOM"
13032	//   "NEW_WINDOW"
13033	TargetWindowOption string `json:"targetWindowOption,omitempty"`
13034
13035	// ForceSendFields is a list of field names (e.g. "CustomHtml") to
13036	// unconditionally include in API requests. By default, fields with
13037	// empty values are omitted from API requests. However, any non-pointer,
13038	// non-interface field appearing in ForceSendFields will be sent to the
13039	// server regardless of whether the field is empty or not. This may be
13040	// used to include empty fields in Patch requests.
13041	ForceSendFields []string `json:"-"`
13042
13043	// NullFields is a list of field names (e.g. "CustomHtml") to include in
13044	// API requests with the JSON null value. By default, fields with empty
13045	// values are omitted from API requests. However, any field with an
13046	// empty value appearing in NullFields will be sent to the server as
13047	// null. It is an error if a field in this list has a non-empty value.
13048	// This may be used to include null fields in Patch requests.
13049	NullFields []string `json:"-"`
13050}
13051
13052func (s *TargetWindow) MarshalJSON() ([]byte, error) {
13053	type NoMethod TargetWindow
13054	raw := NoMethod(*s)
13055	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13056}
13057
13058// TargetableRemarketingList: Contains properties of a targetable
13059// remarketing list. Remarketing enables you to create lists of users
13060// who have performed specific actions on a site, then target ads to
13061// members of those lists. This resource is a read-only view of a
13062// remarketing list to be used to faciliate targeting ads to specific
13063// lists. Remarketing lists that are owned by your advertisers and those
13064// that are shared to your advertisers or account are accessible via
13065// this resource. To manage remarketing lists that are owned by your
13066// advertisers, use the RemarketingLists resource.
13067type TargetableRemarketingList struct {
13068	// AccountId: Account ID of this remarketing list. This is a read-only,
13069	// auto-generated field that is only returned in GET requests.
13070	AccountId int64 `json:"accountId,omitempty,string"`
13071
13072	// Active: Whether this targetable remarketing list is active.
13073	Active bool `json:"active,omitempty"`
13074
13075	// AdvertiserId: Dimension value for the advertiser ID that owns this
13076	// targetable remarketing list.
13077	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13078
13079	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13080	// advertiser.
13081	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13082
13083	// Description: Targetable remarketing list description.
13084	Description string `json:"description,omitempty"`
13085
13086	// Id: Targetable remarketing list ID.
13087	Id int64 `json:"id,omitempty,string"`
13088
13089	// Kind: Identifies what kind of resource this is. Value: the fixed
13090	// string "dfareporting#targetableRemarketingList".
13091	Kind string `json:"kind,omitempty"`
13092
13093	// LifeSpan: Number of days that a user should remain in the targetable
13094	// remarketing list without an impression.
13095	LifeSpan int64 `json:"lifeSpan,omitempty,string"`
13096
13097	// ListSize: Number of users currently in the list. This is a read-only
13098	// field.
13099	ListSize int64 `json:"listSize,omitempty,string"`
13100
13101	// ListSource: Product from which this targetable remarketing list was
13102	// originated.
13103	//
13104	// Possible values:
13105	//   "REMARKETING_LIST_SOURCE_ADX"
13106	//   "REMARKETING_LIST_SOURCE_DBM"
13107	//   "REMARKETING_LIST_SOURCE_DFA"
13108	//   "REMARKETING_LIST_SOURCE_DFP"
13109	//   "REMARKETING_LIST_SOURCE_DMP"
13110	//   "REMARKETING_LIST_SOURCE_GA"
13111	//   "REMARKETING_LIST_SOURCE_GPLUS"
13112	//   "REMARKETING_LIST_SOURCE_OTHER"
13113	//   "REMARKETING_LIST_SOURCE_PLAY_STORE"
13114	//   "REMARKETING_LIST_SOURCE_XFP"
13115	//   "REMARKETING_LIST_SOURCE_YOUTUBE"
13116	ListSource string `json:"listSource,omitempty"`
13117
13118	// Name: Name of the targetable remarketing list. Is no greater than 128
13119	// characters long.
13120	Name string `json:"name,omitempty"`
13121
13122	// SubaccountId: Subaccount ID of this remarketing list. This is a
13123	// read-only, auto-generated field that is only returned in GET
13124	// requests.
13125	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13126
13127	// ServerResponse contains the HTTP response code and headers from the
13128	// server.
13129	googleapi.ServerResponse `json:"-"`
13130
13131	// ForceSendFields is a list of field names (e.g. "AccountId") to
13132	// unconditionally include in API requests. By default, fields with
13133	// empty values are omitted from API requests. However, any non-pointer,
13134	// non-interface field appearing in ForceSendFields will be sent to the
13135	// server regardless of whether the field is empty or not. This may be
13136	// used to include empty fields in Patch requests.
13137	ForceSendFields []string `json:"-"`
13138
13139	// NullFields is a list of field names (e.g. "AccountId") to include in
13140	// API requests with the JSON null value. By default, fields with empty
13141	// values are omitted from API requests. However, any field with an
13142	// empty value appearing in NullFields will be sent to the server as
13143	// null. It is an error if a field in this list has a non-empty value.
13144	// This may be used to include null fields in Patch requests.
13145	NullFields []string `json:"-"`
13146}
13147
13148func (s *TargetableRemarketingList) MarshalJSON() ([]byte, error) {
13149	type NoMethod TargetableRemarketingList
13150	raw := NoMethod(*s)
13151	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13152}
13153
13154// TargetableRemarketingListsListResponse: Targetable remarketing list
13155// response
13156type TargetableRemarketingListsListResponse struct {
13157	// Kind: Identifies what kind of resource this is. Value: the fixed
13158	// string "dfareporting#targetableRemarketingListsListResponse".
13159	Kind string `json:"kind,omitempty"`
13160
13161	// NextPageToken: Pagination token to be used for the next list
13162	// operation.
13163	NextPageToken string `json:"nextPageToken,omitempty"`
13164
13165	// TargetableRemarketingLists: Targetable remarketing list collection.
13166	TargetableRemarketingLists []*TargetableRemarketingList `json:"targetableRemarketingLists,omitempty"`
13167
13168	// ServerResponse contains the HTTP response code and headers from the
13169	// server.
13170	googleapi.ServerResponse `json:"-"`
13171
13172	// ForceSendFields is a list of field names (e.g. "Kind") to
13173	// unconditionally include in API requests. By default, fields with
13174	// empty values are omitted from API requests. However, any non-pointer,
13175	// non-interface field appearing in ForceSendFields will be sent to the
13176	// server regardless of whether the field is empty or not. This may be
13177	// used to include empty fields in Patch requests.
13178	ForceSendFields []string `json:"-"`
13179
13180	// NullFields is a list of field names (e.g. "Kind") to include in API
13181	// requests with the JSON null value. By default, fields with empty
13182	// values are omitted from API requests. However, any field with an
13183	// empty value appearing in NullFields will be sent to the server as
13184	// null. It is an error if a field in this list has a non-empty value.
13185	// This may be used to include null fields in Patch requests.
13186	NullFields []string `json:"-"`
13187}
13188
13189func (s *TargetableRemarketingListsListResponse) MarshalJSON() ([]byte, error) {
13190	type NoMethod TargetableRemarketingListsListResponse
13191	raw := NoMethod(*s)
13192	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13193}
13194
13195// TargetingTemplate: Contains properties of a targeting template. A
13196// targeting template encapsulates targeting information which can be
13197// reused across multiple ads.
13198type TargetingTemplate struct {
13199	// AccountId: Account ID of this targeting template. This field, if left
13200	// unset, will be auto-generated on insert and is read-only after
13201	// insert.
13202	AccountId int64 `json:"accountId,omitempty,string"`
13203
13204	// AdvertiserId: Advertiser ID of this targeting template. This is a
13205	// required field on insert and is read-only after insert.
13206	AdvertiserId int64 `json:"advertiserId,omitempty,string"`
13207
13208	// AdvertiserIdDimensionValue: Dimension value for the ID of the
13209	// advertiser. This is a read-only, auto-generated field.
13210	AdvertiserIdDimensionValue *DimensionValue `json:"advertiserIdDimensionValue,omitempty"`
13211
13212	// DayPartTargeting: Time and day targeting criteria.
13213	DayPartTargeting *DayPartTargeting `json:"dayPartTargeting,omitempty"`
13214
13215	// GeoTargeting: Geographical targeting criteria.
13216	GeoTargeting *GeoTargeting `json:"geoTargeting,omitempty"`
13217
13218	// Id: ID of this targeting template. This is a read-only,
13219	// auto-generated field.
13220	Id int64 `json:"id,omitempty,string"`
13221
13222	// KeyValueTargetingExpression: Key-value targeting criteria.
13223	KeyValueTargetingExpression *KeyValueTargetingExpression `json:"keyValueTargetingExpression,omitempty"`
13224
13225	// Kind: Identifies what kind of resource this is. Value: the fixed
13226	// string "dfareporting#targetingTemplate".
13227	Kind string `json:"kind,omitempty"`
13228
13229	// LanguageTargeting: Language targeting criteria.
13230	LanguageTargeting *LanguageTargeting `json:"languageTargeting,omitempty"`
13231
13232	// ListTargetingExpression: Remarketing list targeting criteria.
13233	ListTargetingExpression *ListTargetingExpression `json:"listTargetingExpression,omitempty"`
13234
13235	// Name: Name of this targeting template. This field is required. It
13236	// must be less than 256 characters long and unique within an
13237	// advertiser.
13238	Name string `json:"name,omitempty"`
13239
13240	// SubaccountId: Subaccount ID of this targeting template. This field,
13241	// if left unset, will be auto-generated on insert and is read-only
13242	// after insert.
13243	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13244
13245	// TechnologyTargeting: Technology platform targeting criteria.
13246	TechnologyTargeting *TechnologyTargeting `json:"technologyTargeting,omitempty"`
13247
13248	// ServerResponse contains the HTTP response code and headers from the
13249	// server.
13250	googleapi.ServerResponse `json:"-"`
13251
13252	// ForceSendFields is a list of field names (e.g. "AccountId") to
13253	// unconditionally include in API requests. By default, fields with
13254	// empty values are omitted from API requests. However, any non-pointer,
13255	// non-interface field appearing in ForceSendFields will be sent to the
13256	// server regardless of whether the field is empty or not. This may be
13257	// used to include empty fields in Patch requests.
13258	ForceSendFields []string `json:"-"`
13259
13260	// NullFields is a list of field names (e.g. "AccountId") to include in
13261	// API requests with the JSON null value. By default, fields with empty
13262	// values are omitted from API requests. However, any field with an
13263	// empty value appearing in NullFields will be sent to the server as
13264	// null. It is an error if a field in this list has a non-empty value.
13265	// This may be used to include null fields in Patch requests.
13266	NullFields []string `json:"-"`
13267}
13268
13269func (s *TargetingTemplate) MarshalJSON() ([]byte, error) {
13270	type NoMethod TargetingTemplate
13271	raw := NoMethod(*s)
13272	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13273}
13274
13275// TargetingTemplatesListResponse: Targeting Template List Response
13276type TargetingTemplatesListResponse struct {
13277	// Kind: Identifies what kind of resource this is. Value: the fixed
13278	// string "dfareporting#targetingTemplatesListResponse".
13279	Kind string `json:"kind,omitempty"`
13280
13281	// NextPageToken: Pagination token to be used for the next list
13282	// operation.
13283	NextPageToken string `json:"nextPageToken,omitempty"`
13284
13285	// TargetingTemplates: Targeting template collection.
13286	TargetingTemplates []*TargetingTemplate `json:"targetingTemplates,omitempty"`
13287
13288	// ServerResponse contains the HTTP response code and headers from the
13289	// server.
13290	googleapi.ServerResponse `json:"-"`
13291
13292	// ForceSendFields is a list of field names (e.g. "Kind") to
13293	// unconditionally include in API requests. By default, fields with
13294	// empty values are omitted from API requests. However, any non-pointer,
13295	// non-interface field appearing in ForceSendFields will be sent to the
13296	// server regardless of whether the field is empty or not. This may be
13297	// used to include empty fields in Patch requests.
13298	ForceSendFields []string `json:"-"`
13299
13300	// NullFields is a list of field names (e.g. "Kind") to include in API
13301	// requests with the JSON null value. By default, fields with empty
13302	// values are omitted from API requests. However, any field with an
13303	// empty value appearing in NullFields will be sent to the server as
13304	// null. It is an error if a field in this list has a non-empty value.
13305	// This may be used to include null fields in Patch requests.
13306	NullFields []string `json:"-"`
13307}
13308
13309func (s *TargetingTemplatesListResponse) MarshalJSON() ([]byte, error) {
13310	type NoMethod TargetingTemplatesListResponse
13311	raw := NoMethod(*s)
13312	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13313}
13314
13315// TechnologyTargeting: Technology Targeting.
13316type TechnologyTargeting struct {
13317	// Browsers: Browsers that this ad targets. For each browser either set
13318	// browserVersionId or dartId along with the version numbers. If both
13319	// are specified, only browserVersionId will be used. The other fields
13320	// are populated automatically when the ad is inserted or updated.
13321	Browsers []*Browser `json:"browsers,omitempty"`
13322
13323	// ConnectionTypes: Connection types that this ad targets. For each
13324	// connection type only id is required. The other fields are populated
13325	// automatically when the ad is inserted or updated.
13326	ConnectionTypes []*ConnectionType `json:"connectionTypes,omitempty"`
13327
13328	// MobileCarriers: Mobile carriers that this ad targets. For each mobile
13329	// carrier only id is required, and the other fields are populated
13330	// automatically when the ad is inserted or updated. If targeting a
13331	// mobile carrier, do not set targeting for any zip codes.
13332	MobileCarriers []*MobileCarrier `json:"mobileCarriers,omitempty"`
13333
13334	// OperatingSystemVersions: Operating system versions that this ad
13335	// targets. To target all versions, use operatingSystems. For each
13336	// operating system version, only id is required. The other fields are
13337	// populated automatically when the ad is inserted or updated. If
13338	// targeting an operating system version, do not set targeting for the
13339	// corresponding operating system in operatingSystems.
13340	OperatingSystemVersions []*OperatingSystemVersion `json:"operatingSystemVersions,omitempty"`
13341
13342	// OperatingSystems: Operating systems that this ad targets. To target
13343	// specific versions, use operatingSystemVersions. For each operating
13344	// system only dartId is required. The other fields are populated
13345	// automatically when the ad is inserted or updated. If targeting an
13346	// operating system, do not set targeting for operating system versions
13347	// for the same operating system.
13348	OperatingSystems []*OperatingSystem `json:"operatingSystems,omitempty"`
13349
13350	// PlatformTypes: Platform types that this ad targets. For example,
13351	// desktop, mobile, or tablet. For each platform type, only id is
13352	// required, and the other fields are populated automatically when the
13353	// ad is inserted or updated.
13354	PlatformTypes []*PlatformType `json:"platformTypes,omitempty"`
13355
13356	// ForceSendFields is a list of field names (e.g. "Browsers") to
13357	// unconditionally include in API requests. By default, fields with
13358	// empty values are omitted from API requests. However, any non-pointer,
13359	// non-interface field appearing in ForceSendFields will be sent to the
13360	// server regardless of whether the field is empty or not. This may be
13361	// used to include empty fields in Patch requests.
13362	ForceSendFields []string `json:"-"`
13363
13364	// NullFields is a list of field names (e.g. "Browsers") to include in
13365	// API requests with the JSON null value. By default, fields with empty
13366	// values are omitted from API requests. However, any field with an
13367	// empty value appearing in NullFields will be sent to the server as
13368	// null. It is an error if a field in this list has a non-empty value.
13369	// This may be used to include null fields in Patch requests.
13370	NullFields []string `json:"-"`
13371}
13372
13373func (s *TechnologyTargeting) MarshalJSON() ([]byte, error) {
13374	type NoMethod TechnologyTargeting
13375	raw := NoMethod(*s)
13376	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13377}
13378
13379// ThirdPartyAuthenticationToken: Third Party Authentication Token
13380type ThirdPartyAuthenticationToken struct {
13381	// Name: Name of the third-party authentication token.
13382	Name string `json:"name,omitempty"`
13383
13384	// Value: Value of the third-party authentication token. This is a
13385	// read-only, auto-generated field.
13386	Value string `json:"value,omitempty"`
13387
13388	// ForceSendFields is a list of field names (e.g. "Name") to
13389	// unconditionally include in API requests. By default, fields with
13390	// empty values are omitted from API requests. However, any non-pointer,
13391	// non-interface field appearing in ForceSendFields will be sent to the
13392	// server regardless of whether the field is empty or not. This may be
13393	// used to include empty fields in Patch requests.
13394	ForceSendFields []string `json:"-"`
13395
13396	// NullFields is a list of field names (e.g. "Name") to include in API
13397	// requests with the JSON null value. By default, fields with empty
13398	// values are omitted from API requests. However, any field with an
13399	// empty value appearing in NullFields will be sent to the server as
13400	// null. It is an error if a field in this list has a non-empty value.
13401	// This may be used to include null fields in Patch requests.
13402	NullFields []string `json:"-"`
13403}
13404
13405func (s *ThirdPartyAuthenticationToken) MarshalJSON() ([]byte, error) {
13406	type NoMethod ThirdPartyAuthenticationToken
13407	raw := NoMethod(*s)
13408	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13409}
13410
13411// ThirdPartyTrackingUrl: Third-party Tracking URL.
13412type ThirdPartyTrackingUrl struct {
13413	// ThirdPartyUrlType: Third-party URL type for in-stream video and
13414	// in-stream audio creatives.
13415	//
13416	// Possible values:
13417	//   "CLICK_TRACKING"
13418	//   "IMPRESSION"
13419	//   "RICH_MEDIA_BACKUP_IMPRESSION"
13420	//   "RICH_MEDIA_IMPRESSION"
13421	//   "RICH_MEDIA_RM_IMPRESSION"
13422	//   "SURVEY"
13423	//   "VIDEO_COMPLETE"
13424	//   "VIDEO_CUSTOM"
13425	//   "VIDEO_FIRST_QUARTILE"
13426	//   "VIDEO_FULLSCREEN"
13427	//   "VIDEO_MIDPOINT"
13428	//   "VIDEO_MUTE"
13429	//   "VIDEO_PAUSE"
13430	//   "VIDEO_PROGRESS"
13431	//   "VIDEO_REWIND"
13432	//   "VIDEO_SKIP"
13433	//   "VIDEO_START"
13434	//   "VIDEO_STOP"
13435	//   "VIDEO_THIRD_QUARTILE"
13436	ThirdPartyUrlType string `json:"thirdPartyUrlType,omitempty"`
13437
13438	// Url: URL for the specified third-party URL type.
13439	Url string `json:"url,omitempty"`
13440
13441	// ForceSendFields is a list of field names (e.g. "ThirdPartyUrlType")
13442	// to unconditionally include in API requests. By default, fields with
13443	// empty values are omitted from API requests. However, any non-pointer,
13444	// non-interface field appearing in ForceSendFields will be sent to the
13445	// server regardless of whether the field is empty or not. This may be
13446	// used to include empty fields in Patch requests.
13447	ForceSendFields []string `json:"-"`
13448
13449	// NullFields is a list of field names (e.g. "ThirdPartyUrlType") to
13450	// include in API requests with the JSON null value. By default, fields
13451	// with empty values are omitted from API requests. However, any field
13452	// with an empty value appearing in NullFields will be sent to the
13453	// server as null. It is an error if a field in this list has a
13454	// non-empty value. This may be used to include null fields in Patch
13455	// requests.
13456	NullFields []string `json:"-"`
13457}
13458
13459func (s *ThirdPartyTrackingUrl) MarshalJSON() ([]byte, error) {
13460	type NoMethod ThirdPartyTrackingUrl
13461	raw := NoMethod(*s)
13462	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13463}
13464
13465// TranscodeSetting: Transcode Settings
13466type TranscodeSetting struct {
13467	// EnabledVideoFormats: Whitelist of video formats to be served to this
13468	// placement. Set this list to null or empty to serve all video formats.
13469	EnabledVideoFormats []int64 `json:"enabledVideoFormats,omitempty"`
13470
13471	// Kind: Identifies what kind of resource this is. Value: the fixed
13472	// string "dfareporting#transcodeSetting".
13473	Kind string `json:"kind,omitempty"`
13474
13475	// ForceSendFields is a list of field names (e.g. "EnabledVideoFormats")
13476	// to unconditionally include in API requests. By default, fields with
13477	// empty values are omitted from API requests. However, any non-pointer,
13478	// non-interface field appearing in ForceSendFields will be sent to the
13479	// server regardless of whether the field is empty or not. This may be
13480	// used to include empty fields in Patch requests.
13481	ForceSendFields []string `json:"-"`
13482
13483	// NullFields is a list of field names (e.g. "EnabledVideoFormats") to
13484	// include in API requests with the JSON null value. By default, fields
13485	// with empty values are omitted from API requests. However, any field
13486	// with an empty value appearing in NullFields will be sent to the
13487	// server as null. It is an error if a field in this list has a
13488	// non-empty value. This may be used to include null fields in Patch
13489	// requests.
13490	NullFields []string `json:"-"`
13491}
13492
13493func (s *TranscodeSetting) MarshalJSON() ([]byte, error) {
13494	type NoMethod TranscodeSetting
13495	raw := NoMethod(*s)
13496	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13497}
13498
13499// UniversalAdId: A Universal Ad ID as per the VAST 4.0 spec. Applicable
13500// to the following creative types: INSTREAM_AUDIO, INSTREAM_VIDEO and
13501// VPAID.
13502type UniversalAdId struct {
13503	// Registry: Registry used for the Ad ID value.
13504	//
13505	// Possible values:
13506	//   "AD_ID.ORG"
13507	//   "CLEARCAST"
13508	//   "DCM"
13509	//   "OTHER"
13510	Registry string `json:"registry,omitempty"`
13511
13512	// Value: ID value for this creative. Only alphanumeric characters and
13513	// the following symbols are valid: "_/\-". Maximum length is 64
13514	// characters. Read only when registry is DCM.
13515	Value string `json:"value,omitempty"`
13516
13517	// ForceSendFields is a list of field names (e.g. "Registry") to
13518	// unconditionally include in API requests. By default, fields with
13519	// empty values are omitted from API requests. However, any non-pointer,
13520	// non-interface field appearing in ForceSendFields will be sent to the
13521	// server regardless of whether the field is empty or not. This may be
13522	// used to include empty fields in Patch requests.
13523	ForceSendFields []string `json:"-"`
13524
13525	// NullFields is a list of field names (e.g. "Registry") to include in
13526	// API requests with the JSON null value. By default, fields with empty
13527	// values are omitted from API requests. However, any field with an
13528	// empty value appearing in NullFields will be sent to the server as
13529	// null. It is an error if a field in this list has a non-empty value.
13530	// This may be used to include null fields in Patch requests.
13531	NullFields []string `json:"-"`
13532}
13533
13534func (s *UniversalAdId) MarshalJSON() ([]byte, error) {
13535	type NoMethod UniversalAdId
13536	raw := NoMethod(*s)
13537	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13538}
13539
13540// UserDefinedVariableConfiguration: User Defined Variable
13541// configuration.
13542type UserDefinedVariableConfiguration struct {
13543	// DataType: Data type for the variable. This is a required field.
13544	//
13545	// Possible values:
13546	//   "NUMBER"
13547	//   "STRING"
13548	DataType string `json:"dataType,omitempty"`
13549
13550	// ReportName: User-friendly name for the variable which will appear in
13551	// reports. This is a required field, must be less than 64 characters
13552	// long, and cannot contain the following characters: ""<>".
13553	ReportName string `json:"reportName,omitempty"`
13554
13555	// VariableType: Variable name in the tag. This is a required field.
13556	//
13557	// Possible values:
13558	//   "U1"
13559	//   "U10"
13560	//   "U100"
13561	//   "U11"
13562	//   "U12"
13563	//   "U13"
13564	//   "U14"
13565	//   "U15"
13566	//   "U16"
13567	//   "U17"
13568	//   "U18"
13569	//   "U19"
13570	//   "U2"
13571	//   "U20"
13572	//   "U21"
13573	//   "U22"
13574	//   "U23"
13575	//   "U24"
13576	//   "U25"
13577	//   "U26"
13578	//   "U27"
13579	//   "U28"
13580	//   "U29"
13581	//   "U3"
13582	//   "U30"
13583	//   "U31"
13584	//   "U32"
13585	//   "U33"
13586	//   "U34"
13587	//   "U35"
13588	//   "U36"
13589	//   "U37"
13590	//   "U38"
13591	//   "U39"
13592	//   "U4"
13593	//   "U40"
13594	//   "U41"
13595	//   "U42"
13596	//   "U43"
13597	//   "U44"
13598	//   "U45"
13599	//   "U46"
13600	//   "U47"
13601	//   "U48"
13602	//   "U49"
13603	//   "U5"
13604	//   "U50"
13605	//   "U51"
13606	//   "U52"
13607	//   "U53"
13608	//   "U54"
13609	//   "U55"
13610	//   "U56"
13611	//   "U57"
13612	//   "U58"
13613	//   "U59"
13614	//   "U6"
13615	//   "U60"
13616	//   "U61"
13617	//   "U62"
13618	//   "U63"
13619	//   "U64"
13620	//   "U65"
13621	//   "U66"
13622	//   "U67"
13623	//   "U68"
13624	//   "U69"
13625	//   "U7"
13626	//   "U70"
13627	//   "U71"
13628	//   "U72"
13629	//   "U73"
13630	//   "U74"
13631	//   "U75"
13632	//   "U76"
13633	//   "U77"
13634	//   "U78"
13635	//   "U79"
13636	//   "U8"
13637	//   "U80"
13638	//   "U81"
13639	//   "U82"
13640	//   "U83"
13641	//   "U84"
13642	//   "U85"
13643	//   "U86"
13644	//   "U87"
13645	//   "U88"
13646	//   "U89"
13647	//   "U9"
13648	//   "U90"
13649	//   "U91"
13650	//   "U92"
13651	//   "U93"
13652	//   "U94"
13653	//   "U95"
13654	//   "U96"
13655	//   "U97"
13656	//   "U98"
13657	//   "U99"
13658	VariableType string `json:"variableType,omitempty"`
13659
13660	// ForceSendFields is a list of field names (e.g. "DataType") to
13661	// unconditionally include in API requests. By default, fields with
13662	// empty values are omitted from API requests. However, any non-pointer,
13663	// non-interface field appearing in ForceSendFields will be sent to the
13664	// server regardless of whether the field is empty or not. This may be
13665	// used to include empty fields in Patch requests.
13666	ForceSendFields []string `json:"-"`
13667
13668	// NullFields is a list of field names (e.g. "DataType") to include in
13669	// API requests with the JSON null value. By default, fields with empty
13670	// values are omitted from API requests. However, any field with an
13671	// empty value appearing in NullFields will be sent to the server as
13672	// null. It is an error if a field in this list has a non-empty value.
13673	// This may be used to include null fields in Patch requests.
13674	NullFields []string `json:"-"`
13675}
13676
13677func (s *UserDefinedVariableConfiguration) MarshalJSON() ([]byte, error) {
13678	type NoMethod UserDefinedVariableConfiguration
13679	raw := NoMethod(*s)
13680	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13681}
13682
13683// UserProfile: Represents a UserProfile resource.
13684type UserProfile struct {
13685	// AccountId: The account ID to which this profile belongs.
13686	AccountId int64 `json:"accountId,omitempty,string"`
13687
13688	// AccountName: The account name this profile belongs to.
13689	AccountName string `json:"accountName,omitempty"`
13690
13691	// Etag: The eTag of this response for caching purposes.
13692	Etag string `json:"etag,omitempty"`
13693
13694	// Kind: The kind of resource this is, in this case
13695	// dfareporting#userProfile.
13696	Kind string `json:"kind,omitempty"`
13697
13698	// ProfileId: The unique ID of the user profile.
13699	ProfileId int64 `json:"profileId,omitempty,string"`
13700
13701	// SubAccountId: The sub account ID this profile belongs to if
13702	// applicable.
13703	SubAccountId int64 `json:"subAccountId,omitempty,string"`
13704
13705	// SubAccountName: The sub account name this profile belongs to if
13706	// applicable.
13707	SubAccountName string `json:"subAccountName,omitempty"`
13708
13709	// UserName: The user name.
13710	UserName string `json:"userName,omitempty"`
13711
13712	// ServerResponse contains the HTTP response code and headers from the
13713	// server.
13714	googleapi.ServerResponse `json:"-"`
13715
13716	// ForceSendFields is a list of field names (e.g. "AccountId") to
13717	// unconditionally include in API requests. By default, fields with
13718	// empty values are omitted from API requests. However, any non-pointer,
13719	// non-interface field appearing in ForceSendFields will be sent to the
13720	// server regardless of whether the field is empty or not. This may be
13721	// used to include empty fields in Patch requests.
13722	ForceSendFields []string `json:"-"`
13723
13724	// NullFields is a list of field names (e.g. "AccountId") to include in
13725	// API requests with the JSON null value. By default, fields with empty
13726	// values are omitted from API requests. However, any field with an
13727	// empty value appearing in NullFields will be sent to the server as
13728	// null. It is an error if a field in this list has a non-empty value.
13729	// This may be used to include null fields in Patch requests.
13730	NullFields []string `json:"-"`
13731}
13732
13733func (s *UserProfile) MarshalJSON() ([]byte, error) {
13734	type NoMethod UserProfile
13735	raw := NoMethod(*s)
13736	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13737}
13738
13739// UserProfileList: Represents the list of user profiles.
13740type UserProfileList struct {
13741	// Etag: The eTag of this response for caching purposes.
13742	Etag string `json:"etag,omitempty"`
13743
13744	// Items: The user profiles returned in this response.
13745	Items []*UserProfile `json:"items,omitempty"`
13746
13747	// Kind: The kind of list this is, in this case
13748	// dfareporting#userProfileList.
13749	Kind string `json:"kind,omitempty"`
13750
13751	// ServerResponse contains the HTTP response code and headers from the
13752	// server.
13753	googleapi.ServerResponse `json:"-"`
13754
13755	// ForceSendFields is a list of field names (e.g. "Etag") to
13756	// unconditionally include in API requests. By default, fields with
13757	// empty values are omitted from API requests. However, any non-pointer,
13758	// non-interface field appearing in ForceSendFields will be sent to the
13759	// server regardless of whether the field is empty or not. This may be
13760	// used to include empty fields in Patch requests.
13761	ForceSendFields []string `json:"-"`
13762
13763	// NullFields is a list of field names (e.g. "Etag") to include in API
13764	// requests with the JSON null value. By default, fields with empty
13765	// values are omitted from API requests. However, any field with an
13766	// empty value appearing in NullFields will be sent to the server as
13767	// null. It is an error if a field in this list has a non-empty value.
13768	// This may be used to include null fields in Patch requests.
13769	NullFields []string `json:"-"`
13770}
13771
13772func (s *UserProfileList) MarshalJSON() ([]byte, error) {
13773	type NoMethod UserProfileList
13774	raw := NoMethod(*s)
13775	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13776}
13777
13778// UserRole: Contains properties of auser role, which is used to manage
13779// user access.
13780type UserRole struct {
13781	// AccountId: Account ID of this user role. This is a read-only field
13782	// that can be left blank.
13783	AccountId int64 `json:"accountId,omitempty,string"`
13784
13785	// DefaultUserRole: Whether this is a default user role. Default user
13786	// roles are created by the system for the account/subaccount and cannot
13787	// be modified or deleted. Each default user role comes with a basic set
13788	// of preassigned permissions.
13789	DefaultUserRole bool `json:"defaultUserRole,omitempty"`
13790
13791	// Id: ID of this user role. This is a read-only, auto-generated field.
13792	Id int64 `json:"id,omitempty,string"`
13793
13794	// Kind: Identifies what kind of resource this is. Value: the fixed
13795	// string "dfareporting#userRole".
13796	Kind string `json:"kind,omitempty"`
13797
13798	// Name: Name of this user role. This is a required field. Must be less
13799	// than 256 characters long. If this user role is under a subaccount,
13800	// the name must be unique among sites of the same subaccount.
13801	// Otherwise, this user role is a top-level user role, and the name must
13802	// be unique among top-level user roles of the same account.
13803	Name string `json:"name,omitempty"`
13804
13805	// ParentUserRoleId: ID of the user role that this user role is based on
13806	// or copied from. This is a required field.
13807	ParentUserRoleId int64 `json:"parentUserRoleId,omitempty,string"`
13808
13809	// Permissions: List of permissions associated with this user role.
13810	Permissions []*UserRolePermission `json:"permissions,omitempty"`
13811
13812	// SubaccountId: Subaccount ID of this user role. This is a read-only
13813	// field that can be left blank.
13814	SubaccountId int64 `json:"subaccountId,omitempty,string"`
13815
13816	// ServerResponse contains the HTTP response code and headers from the
13817	// server.
13818	googleapi.ServerResponse `json:"-"`
13819
13820	// ForceSendFields is a list of field names (e.g. "AccountId") to
13821	// unconditionally include in API requests. By default, fields with
13822	// empty values are omitted from API requests. However, any non-pointer,
13823	// non-interface field appearing in ForceSendFields will be sent to the
13824	// server regardless of whether the field is empty or not. This may be
13825	// used to include empty fields in Patch requests.
13826	ForceSendFields []string `json:"-"`
13827
13828	// NullFields is a list of field names (e.g. "AccountId") to include in
13829	// API requests with the JSON null value. By default, fields with empty
13830	// values are omitted from API requests. However, any field with an
13831	// empty value appearing in NullFields will be sent to the server as
13832	// null. It is an error if a field in this list has a non-empty value.
13833	// This may be used to include null fields in Patch requests.
13834	NullFields []string `json:"-"`
13835}
13836
13837func (s *UserRole) MarshalJSON() ([]byte, error) {
13838	type NoMethod UserRole
13839	raw := NoMethod(*s)
13840	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13841}
13842
13843// UserRolePermission: Contains properties of a user role permission.
13844type UserRolePermission struct {
13845	// Availability: Levels of availability for a user role permission.
13846	//
13847	// Possible values:
13848	//   "ACCOUNT_ALWAYS"
13849	//   "ACCOUNT_BY_DEFAULT"
13850	//   "NOT_AVAILABLE_BY_DEFAULT"
13851	//   "SUBACCOUNT_AND_ACCOUNT_ALWAYS"
13852	//   "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT"
13853	Availability string `json:"availability,omitempty"`
13854
13855	// Id: ID of this user role permission.
13856	Id int64 `json:"id,omitempty,string"`
13857
13858	// Kind: Identifies what kind of resource this is. Value: the fixed
13859	// string "dfareporting#userRolePermission".
13860	Kind string `json:"kind,omitempty"`
13861
13862	// Name: Name of this user role permission.
13863	Name string `json:"name,omitempty"`
13864
13865	// PermissionGroupId: ID of the permission group that this user role
13866	// permission belongs to.
13867	PermissionGroupId int64 `json:"permissionGroupId,omitempty,string"`
13868
13869	// ServerResponse contains the HTTP response code and headers from the
13870	// server.
13871	googleapi.ServerResponse `json:"-"`
13872
13873	// ForceSendFields is a list of field names (e.g. "Availability") to
13874	// unconditionally include in API requests. By default, fields with
13875	// empty values are omitted from API requests. However, any non-pointer,
13876	// non-interface field appearing in ForceSendFields will be sent to the
13877	// server regardless of whether the field is empty or not. This may be
13878	// used to include empty fields in Patch requests.
13879	ForceSendFields []string `json:"-"`
13880
13881	// NullFields is a list of field names (e.g. "Availability") to include
13882	// in API requests with the JSON null value. By default, fields with
13883	// empty values are omitted from API requests. However, any field with
13884	// an empty value appearing in NullFields will be sent to the server as
13885	// null. It is an error if a field in this list has a non-empty value.
13886	// This may be used to include null fields in Patch requests.
13887	NullFields []string `json:"-"`
13888}
13889
13890func (s *UserRolePermission) MarshalJSON() ([]byte, error) {
13891	type NoMethod UserRolePermission
13892	raw := NoMethod(*s)
13893	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13894}
13895
13896// UserRolePermissionGroup: Represents a grouping of related user role
13897// permissions.
13898type UserRolePermissionGroup struct {
13899	// Id: ID of this user role permission.
13900	Id int64 `json:"id,omitempty,string"`
13901
13902	// Kind: Identifies what kind of resource this is. Value: the fixed
13903	// string "dfareporting#userRolePermissionGroup".
13904	Kind string `json:"kind,omitempty"`
13905
13906	// Name: Name of this user role permission group.
13907	Name string `json:"name,omitempty"`
13908
13909	// ServerResponse contains the HTTP response code and headers from the
13910	// server.
13911	googleapi.ServerResponse `json:"-"`
13912
13913	// ForceSendFields is a list of field names (e.g. "Id") to
13914	// unconditionally include in API requests. By default, fields with
13915	// empty values are omitted from API requests. However, any non-pointer,
13916	// non-interface field appearing in ForceSendFields will be sent to the
13917	// server regardless of whether the field is empty or not. This may be
13918	// used to include empty fields in Patch requests.
13919	ForceSendFields []string `json:"-"`
13920
13921	// NullFields is a list of field names (e.g. "Id") to include in API
13922	// requests with the JSON null value. By default, fields with empty
13923	// values are omitted from API requests. However, any field with an
13924	// empty value appearing in NullFields will be sent to the server as
13925	// null. It is an error if a field in this list has a non-empty value.
13926	// This may be used to include null fields in Patch requests.
13927	NullFields []string `json:"-"`
13928}
13929
13930func (s *UserRolePermissionGroup) MarshalJSON() ([]byte, error) {
13931	type NoMethod UserRolePermissionGroup
13932	raw := NoMethod(*s)
13933	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13934}
13935
13936// UserRolePermissionGroupsListResponse: User Role Permission Group List
13937// Response
13938type UserRolePermissionGroupsListResponse struct {
13939	// Kind: Identifies what kind of resource this is. Value: the fixed
13940	// string "dfareporting#userRolePermissionGroupsListResponse".
13941	Kind string `json:"kind,omitempty"`
13942
13943	// UserRolePermissionGroups: User role permission group collection.
13944	UserRolePermissionGroups []*UserRolePermissionGroup `json:"userRolePermissionGroups,omitempty"`
13945
13946	// ServerResponse contains the HTTP response code and headers from the
13947	// server.
13948	googleapi.ServerResponse `json:"-"`
13949
13950	// ForceSendFields is a list of field names (e.g. "Kind") to
13951	// unconditionally include in API requests. By default, fields with
13952	// empty values are omitted from API requests. However, any non-pointer,
13953	// non-interface field appearing in ForceSendFields will be sent to the
13954	// server regardless of whether the field is empty or not. This may be
13955	// used to include empty fields in Patch requests.
13956	ForceSendFields []string `json:"-"`
13957
13958	// NullFields is a list of field names (e.g. "Kind") to include in API
13959	// requests with the JSON null value. By default, fields with empty
13960	// values are omitted from API requests. However, any field with an
13961	// empty value appearing in NullFields will be sent to the server as
13962	// null. It is an error if a field in this list has a non-empty value.
13963	// This may be used to include null fields in Patch requests.
13964	NullFields []string `json:"-"`
13965}
13966
13967func (s *UserRolePermissionGroupsListResponse) MarshalJSON() ([]byte, error) {
13968	type NoMethod UserRolePermissionGroupsListResponse
13969	raw := NoMethod(*s)
13970	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
13971}
13972
13973// UserRolePermissionsListResponse: User Role Permission List Response
13974type UserRolePermissionsListResponse struct {
13975	// Kind: Identifies what kind of resource this is. Value: the fixed
13976	// string "dfareporting#userRolePermissionsListResponse".
13977	Kind string `json:"kind,omitempty"`
13978
13979	// UserRolePermissions: User role permission collection.
13980	UserRolePermissions []*UserRolePermission `json:"userRolePermissions,omitempty"`
13981
13982	// ServerResponse contains the HTTP response code and headers from the
13983	// server.
13984	googleapi.ServerResponse `json:"-"`
13985
13986	// ForceSendFields is a list of field names (e.g. "Kind") to
13987	// unconditionally include in API requests. By default, fields with
13988	// empty values are omitted from API requests. However, any non-pointer,
13989	// non-interface field appearing in ForceSendFields will be sent to the
13990	// server regardless of whether the field is empty or not. This may be
13991	// used to include empty fields in Patch requests.
13992	ForceSendFields []string `json:"-"`
13993
13994	// NullFields is a list of field names (e.g. "Kind") to include in API
13995	// requests with the JSON null value. By default, fields with empty
13996	// values are omitted from API requests. However, any field with an
13997	// empty value appearing in NullFields will be sent to the server as
13998	// null. It is an error if a field in this list has a non-empty value.
13999	// This may be used to include null fields in Patch requests.
14000	NullFields []string `json:"-"`
14001}
14002
14003func (s *UserRolePermissionsListResponse) MarshalJSON() ([]byte, error) {
14004	type NoMethod UserRolePermissionsListResponse
14005	raw := NoMethod(*s)
14006	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14007}
14008
14009// UserRolesListResponse: User Role List Response
14010type UserRolesListResponse struct {
14011	// Kind: Identifies what kind of resource this is. Value: the fixed
14012	// string "dfareporting#userRolesListResponse".
14013	Kind string `json:"kind,omitempty"`
14014
14015	// NextPageToken: Pagination token to be used for the next list
14016	// operation.
14017	NextPageToken string `json:"nextPageToken,omitempty"`
14018
14019	// UserRoles: User role collection.
14020	UserRoles []*UserRole `json:"userRoles,omitempty"`
14021
14022	// ServerResponse contains the HTTP response code and headers from the
14023	// server.
14024	googleapi.ServerResponse `json:"-"`
14025
14026	// ForceSendFields is a list of field names (e.g. "Kind") to
14027	// unconditionally include in API requests. By default, fields with
14028	// empty values are omitted from API requests. However, any non-pointer,
14029	// non-interface field appearing in ForceSendFields will be sent to the
14030	// server regardless of whether the field is empty or not. This may be
14031	// used to include empty fields in Patch requests.
14032	ForceSendFields []string `json:"-"`
14033
14034	// NullFields is a list of field names (e.g. "Kind") to include in API
14035	// requests with the JSON null value. By default, fields with empty
14036	// values are omitted from API requests. However, any field with an
14037	// empty value appearing in NullFields will be sent to the server as
14038	// null. It is an error if a field in this list has a non-empty value.
14039	// This may be used to include null fields in Patch requests.
14040	NullFields []string `json:"-"`
14041}
14042
14043func (s *UserRolesListResponse) MarshalJSON() ([]byte, error) {
14044	type NoMethod UserRolesListResponse
14045	raw := NoMethod(*s)
14046	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14047}
14048
14049// VideoFormat: Contains information about supported video formats.
14050type VideoFormat struct {
14051	// FileType: File type of the video format.
14052	//
14053	// Possible values:
14054	//   "FLV"
14055	//   "M3U8"
14056	//   "MP4"
14057	//   "THREEGPP"
14058	//   "WEBM"
14059	FileType string `json:"fileType,omitempty"`
14060
14061	// Id: ID of the video format.
14062	Id int64 `json:"id,omitempty"`
14063
14064	// Kind: Identifies what kind of resource this is. Value: the fixed
14065	// string "dfareporting#videoFormat".
14066	Kind string `json:"kind,omitempty"`
14067
14068	// Resolution: The resolution of this video format.
14069	Resolution *Size `json:"resolution,omitempty"`
14070
14071	// TargetBitRate: The target bit rate of this video format.
14072	TargetBitRate int64 `json:"targetBitRate,omitempty"`
14073
14074	// ServerResponse contains the HTTP response code and headers from the
14075	// server.
14076	googleapi.ServerResponse `json:"-"`
14077
14078	// ForceSendFields is a list of field names (e.g. "FileType") to
14079	// unconditionally include in API requests. By default, fields with
14080	// empty values are omitted from API requests. However, any non-pointer,
14081	// non-interface field appearing in ForceSendFields will be sent to the
14082	// server regardless of whether the field is empty or not. This may be
14083	// used to include empty fields in Patch requests.
14084	ForceSendFields []string `json:"-"`
14085
14086	// NullFields is a list of field names (e.g. "FileType") to include in
14087	// API requests with the JSON null value. By default, fields with empty
14088	// values are omitted from API requests. However, any field with an
14089	// empty value appearing in NullFields will be sent to the server as
14090	// null. It is an error if a field in this list has a non-empty value.
14091	// This may be used to include null fields in Patch requests.
14092	NullFields []string `json:"-"`
14093}
14094
14095func (s *VideoFormat) MarshalJSON() ([]byte, error) {
14096	type NoMethod VideoFormat
14097	raw := NoMethod(*s)
14098	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14099}
14100
14101// VideoFormatsListResponse: Video Format List Response
14102type VideoFormatsListResponse struct {
14103	// Kind: Identifies what kind of resource this is. Value: the fixed
14104	// string "dfareporting#videoFormatsListResponse".
14105	Kind string `json:"kind,omitempty"`
14106
14107	// VideoFormats: Video format collection.
14108	VideoFormats []*VideoFormat `json:"videoFormats,omitempty"`
14109
14110	// ServerResponse contains the HTTP response code and headers from the
14111	// server.
14112	googleapi.ServerResponse `json:"-"`
14113
14114	// ForceSendFields is a list of field names (e.g. "Kind") to
14115	// unconditionally include in API requests. By default, fields with
14116	// empty values are omitted from API requests. However, any non-pointer,
14117	// non-interface field appearing in ForceSendFields will be sent to the
14118	// server regardless of whether the field is empty or not. This may be
14119	// used to include empty fields in Patch requests.
14120	ForceSendFields []string `json:"-"`
14121
14122	// NullFields is a list of field names (e.g. "Kind") to include in API
14123	// requests with the JSON null value. By default, fields with empty
14124	// values are omitted from API requests. However, any field with an
14125	// empty value appearing in NullFields will be sent to the server as
14126	// null. It is an error if a field in this list has a non-empty value.
14127	// This may be used to include null fields in Patch requests.
14128	NullFields []string `json:"-"`
14129}
14130
14131func (s *VideoFormatsListResponse) MarshalJSON() ([]byte, error) {
14132	type NoMethod VideoFormatsListResponse
14133	raw := NoMethod(*s)
14134	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14135}
14136
14137// VideoOffset: Video Offset
14138type VideoOffset struct {
14139	// OffsetPercentage: Duration, as a percentage of video duration. Do not
14140	// set when offsetSeconds is set. Acceptable values are 0 to 100,
14141	// inclusive.
14142	OffsetPercentage int64 `json:"offsetPercentage,omitempty"`
14143
14144	// OffsetSeconds: Duration, in seconds. Do not set when offsetPercentage
14145	// is set. Acceptable values are 0 to 86399, inclusive.
14146	OffsetSeconds int64 `json:"offsetSeconds,omitempty"`
14147
14148	// ForceSendFields is a list of field names (e.g. "OffsetPercentage") to
14149	// unconditionally include in API requests. By default, fields with
14150	// empty values are omitted from API requests. However, any non-pointer,
14151	// non-interface field appearing in ForceSendFields will be sent to the
14152	// server regardless of whether the field is empty or not. This may be
14153	// used to include empty fields in Patch requests.
14154	ForceSendFields []string `json:"-"`
14155
14156	// NullFields is a list of field names (e.g. "OffsetPercentage") to
14157	// include in API requests with the JSON null value. By default, fields
14158	// with empty values are omitted from API requests. However, any field
14159	// with an empty value appearing in NullFields will be sent to the
14160	// server as null. It is an error if a field in this list has a
14161	// non-empty value. This may be used to include null fields in Patch
14162	// requests.
14163	NullFields []string `json:"-"`
14164}
14165
14166func (s *VideoOffset) MarshalJSON() ([]byte, error) {
14167	type NoMethod VideoOffset
14168	raw := NoMethod(*s)
14169	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14170}
14171
14172// VideoSettings: Video Settings
14173type VideoSettings struct {
14174	// CompanionSettings: Settings for the companion creatives of video
14175	// creatives served to this placement.
14176	CompanionSettings *CompanionSetting `json:"companionSettings,omitempty"`
14177
14178	// Kind: Identifies what kind of resource this is. Value: the fixed
14179	// string "dfareporting#videoSettings".
14180	Kind string `json:"kind,omitempty"`
14181
14182	// Orientation: Orientation of a video placement. If this value is set,
14183	// placement will return assets matching the specified orientation.
14184	//
14185	// Possible values:
14186	//   "ANY"
14187	//   "LANDSCAPE"
14188	//   "PORTRAIT"
14189	Orientation string `json:"orientation,omitempty"`
14190
14191	// SkippableSettings: Settings for the skippability of video creatives
14192	// served to this placement. If this object is provided, the
14193	// creative-level skippable settings will be overridden.
14194	SkippableSettings *SkippableSetting `json:"skippableSettings,omitempty"`
14195
14196	// TranscodeSettings: Settings for the transcodes of video creatives
14197	// served to this placement. If this object is provided, the
14198	// creative-level transcode settings will be overridden.
14199	TranscodeSettings *TranscodeSetting `json:"transcodeSettings,omitempty"`
14200
14201	// ForceSendFields is a list of field names (e.g. "CompanionSettings")
14202	// to unconditionally include in API requests. By default, fields with
14203	// empty values are omitted from API requests. However, any non-pointer,
14204	// non-interface field appearing in ForceSendFields will be sent to the
14205	// server regardless of whether the field is empty or not. This may be
14206	// used to include empty fields in Patch requests.
14207	ForceSendFields []string `json:"-"`
14208
14209	// NullFields is a list of field names (e.g. "CompanionSettings") to
14210	// include in API requests with the JSON null value. By default, fields
14211	// with empty values are omitted from API requests. However, any field
14212	// with an empty value appearing in NullFields will be sent to the
14213	// server as null. It is an error if a field in this list has a
14214	// non-empty value. This may be used to include null fields in Patch
14215	// requests.
14216	NullFields []string `json:"-"`
14217}
14218
14219func (s *VideoSettings) MarshalJSON() ([]byte, error) {
14220	type NoMethod VideoSettings
14221	raw := NoMethod(*s)
14222	return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
14223}
14224
14225// method id "dfareporting.accountActiveAdSummaries.get":
14226
14227type AccountActiveAdSummariesGetCall struct {
14228	s                *Service
14229	profileId        int64
14230	summaryAccountId int64
14231	urlParams_       gensupport.URLParams
14232	ifNoneMatch_     string
14233	ctx_             context.Context
14234	header_          http.Header
14235}
14236
14237// Get: Gets the account's active ad summary by account ID.
14238func (r *AccountActiveAdSummariesService) Get(profileId int64, summaryAccountId int64) *AccountActiveAdSummariesGetCall {
14239	c := &AccountActiveAdSummariesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14240	c.profileId = profileId
14241	c.summaryAccountId = summaryAccountId
14242	return c
14243}
14244
14245// Fields allows partial responses to be retrieved. See
14246// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14247// for more information.
14248func (c *AccountActiveAdSummariesGetCall) Fields(s ...googleapi.Field) *AccountActiveAdSummariesGetCall {
14249	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14250	return c
14251}
14252
14253// IfNoneMatch sets the optional parameter which makes the operation
14254// fail if the object's ETag matches the given value. This is useful for
14255// getting updates only after the object has changed since the last
14256// request. Use googleapi.IsNotModified to check whether the response
14257// error from Do is the result of In-None-Match.
14258func (c *AccountActiveAdSummariesGetCall) IfNoneMatch(entityTag string) *AccountActiveAdSummariesGetCall {
14259	c.ifNoneMatch_ = entityTag
14260	return c
14261}
14262
14263// Context sets the context to be used in this call's Do method. Any
14264// pending HTTP request will be aborted if the provided context is
14265// canceled.
14266func (c *AccountActiveAdSummariesGetCall) Context(ctx context.Context) *AccountActiveAdSummariesGetCall {
14267	c.ctx_ = ctx
14268	return c
14269}
14270
14271// Header returns an http.Header that can be modified by the caller to
14272// add HTTP headers to the request.
14273func (c *AccountActiveAdSummariesGetCall) Header() http.Header {
14274	if c.header_ == nil {
14275		c.header_ = make(http.Header)
14276	}
14277	return c.header_
14278}
14279
14280func (c *AccountActiveAdSummariesGetCall) doRequest(alt string) (*http.Response, error) {
14281	reqHeaders := make(http.Header)
14282	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14283	for k, v := range c.header_ {
14284		reqHeaders[k] = v
14285	}
14286	reqHeaders.Set("User-Agent", c.s.userAgent())
14287	if c.ifNoneMatch_ != "" {
14288		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14289	}
14290	var body io.Reader = nil
14291	c.urlParams_.Set("alt", alt)
14292	c.urlParams_.Set("prettyPrint", "false")
14293	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}")
14294	urls += "?" + c.urlParams_.Encode()
14295	req, err := http.NewRequest("GET", urls, body)
14296	if err != nil {
14297		return nil, err
14298	}
14299	req.Header = reqHeaders
14300	googleapi.Expand(req.URL, map[string]string{
14301		"profileId":        strconv.FormatInt(c.profileId, 10),
14302		"summaryAccountId": strconv.FormatInt(c.summaryAccountId, 10),
14303	})
14304	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14305}
14306
14307// Do executes the "dfareporting.accountActiveAdSummaries.get" call.
14308// Exactly one of *AccountActiveAdSummary or error will be non-nil. Any
14309// non-2xx status code is an error. Response headers are in either
14310// *AccountActiveAdSummary.ServerResponse.Header or (if a response was
14311// returned at all) in error.(*googleapi.Error).Header. Use
14312// googleapi.IsNotModified to check whether the returned error was
14313// because http.StatusNotModified was returned.
14314func (c *AccountActiveAdSummariesGetCall) Do(opts ...googleapi.CallOption) (*AccountActiveAdSummary, error) {
14315	gensupport.SetOptions(c.urlParams_, opts...)
14316	res, err := c.doRequest("json")
14317	if res != nil && res.StatusCode == http.StatusNotModified {
14318		if res.Body != nil {
14319			res.Body.Close()
14320		}
14321		return nil, &googleapi.Error{
14322			Code:   res.StatusCode,
14323			Header: res.Header,
14324		}
14325	}
14326	if err != nil {
14327		return nil, err
14328	}
14329	defer googleapi.CloseBody(res)
14330	if err := googleapi.CheckResponse(res); err != nil {
14331		return nil, err
14332	}
14333	ret := &AccountActiveAdSummary{
14334		ServerResponse: googleapi.ServerResponse{
14335			Header:         res.Header,
14336			HTTPStatusCode: res.StatusCode,
14337		},
14338	}
14339	target := &ret
14340	if err := gensupport.DecodeResponse(target, res); err != nil {
14341		return nil, err
14342	}
14343	return ret, nil
14344	// {
14345	//   "description": "Gets the account's active ad summary by account ID.",
14346	//   "httpMethod": "GET",
14347	//   "id": "dfareporting.accountActiveAdSummaries.get",
14348	//   "parameterOrder": [
14349	//     "profileId",
14350	//     "summaryAccountId"
14351	//   ],
14352	//   "parameters": {
14353	//     "profileId": {
14354	//       "description": "User profile ID associated with this request.",
14355	//       "format": "int64",
14356	//       "location": "path",
14357	//       "required": true,
14358	//       "type": "string"
14359	//     },
14360	//     "summaryAccountId": {
14361	//       "description": "Account ID.",
14362	//       "format": "int64",
14363	//       "location": "path",
14364	//       "required": true,
14365	//       "type": "string"
14366	//     }
14367	//   },
14368	//   "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}",
14369	//   "response": {
14370	//     "$ref": "AccountActiveAdSummary"
14371	//   },
14372	//   "scopes": [
14373	//     "https://www.googleapis.com/auth/dfatrafficking"
14374	//   ]
14375	// }
14376
14377}
14378
14379// method id "dfareporting.accountPermissionGroups.get":
14380
14381type AccountPermissionGroupsGetCall struct {
14382	s            *Service
14383	profileId    int64
14384	id           int64
14385	urlParams_   gensupport.URLParams
14386	ifNoneMatch_ string
14387	ctx_         context.Context
14388	header_      http.Header
14389}
14390
14391// Get: Gets one account permission group by ID.
14392func (r *AccountPermissionGroupsService) Get(profileId int64, id int64) *AccountPermissionGroupsGetCall {
14393	c := &AccountPermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14394	c.profileId = profileId
14395	c.id = id
14396	return c
14397}
14398
14399// Fields allows partial responses to be retrieved. See
14400// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14401// for more information.
14402func (c *AccountPermissionGroupsGetCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsGetCall {
14403	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14404	return c
14405}
14406
14407// IfNoneMatch sets the optional parameter which makes the operation
14408// fail if the object's ETag matches the given value. This is useful for
14409// getting updates only after the object has changed since the last
14410// request. Use googleapi.IsNotModified to check whether the response
14411// error from Do is the result of In-None-Match.
14412func (c *AccountPermissionGroupsGetCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsGetCall {
14413	c.ifNoneMatch_ = entityTag
14414	return c
14415}
14416
14417// Context sets the context to be used in this call's Do method. Any
14418// pending HTTP request will be aborted if the provided context is
14419// canceled.
14420func (c *AccountPermissionGroupsGetCall) Context(ctx context.Context) *AccountPermissionGroupsGetCall {
14421	c.ctx_ = ctx
14422	return c
14423}
14424
14425// Header returns an http.Header that can be modified by the caller to
14426// add HTTP headers to the request.
14427func (c *AccountPermissionGroupsGetCall) Header() http.Header {
14428	if c.header_ == nil {
14429		c.header_ = make(http.Header)
14430	}
14431	return c.header_
14432}
14433
14434func (c *AccountPermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
14435	reqHeaders := make(http.Header)
14436	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14437	for k, v := range c.header_ {
14438		reqHeaders[k] = v
14439	}
14440	reqHeaders.Set("User-Agent", c.s.userAgent())
14441	if c.ifNoneMatch_ != "" {
14442		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14443	}
14444	var body io.Reader = nil
14445	c.urlParams_.Set("alt", alt)
14446	c.urlParams_.Set("prettyPrint", "false")
14447	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups/{id}")
14448	urls += "?" + c.urlParams_.Encode()
14449	req, err := http.NewRequest("GET", urls, body)
14450	if err != nil {
14451		return nil, err
14452	}
14453	req.Header = reqHeaders
14454	googleapi.Expand(req.URL, map[string]string{
14455		"profileId": strconv.FormatInt(c.profileId, 10),
14456		"id":        strconv.FormatInt(c.id, 10),
14457	})
14458	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14459}
14460
14461// Do executes the "dfareporting.accountPermissionGroups.get" call.
14462// Exactly one of *AccountPermissionGroup or error will be non-nil. Any
14463// non-2xx status code is an error. Response headers are in either
14464// *AccountPermissionGroup.ServerResponse.Header or (if a response was
14465// returned at all) in error.(*googleapi.Error).Header. Use
14466// googleapi.IsNotModified to check whether the returned error was
14467// because http.StatusNotModified was returned.
14468func (c *AccountPermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroup, error) {
14469	gensupport.SetOptions(c.urlParams_, opts...)
14470	res, err := c.doRequest("json")
14471	if res != nil && res.StatusCode == http.StatusNotModified {
14472		if res.Body != nil {
14473			res.Body.Close()
14474		}
14475		return nil, &googleapi.Error{
14476			Code:   res.StatusCode,
14477			Header: res.Header,
14478		}
14479	}
14480	if err != nil {
14481		return nil, err
14482	}
14483	defer googleapi.CloseBody(res)
14484	if err := googleapi.CheckResponse(res); err != nil {
14485		return nil, err
14486	}
14487	ret := &AccountPermissionGroup{
14488		ServerResponse: googleapi.ServerResponse{
14489			Header:         res.Header,
14490			HTTPStatusCode: res.StatusCode,
14491		},
14492	}
14493	target := &ret
14494	if err := gensupport.DecodeResponse(target, res); err != nil {
14495		return nil, err
14496	}
14497	return ret, nil
14498	// {
14499	//   "description": "Gets one account permission group by ID.",
14500	//   "httpMethod": "GET",
14501	//   "id": "dfareporting.accountPermissionGroups.get",
14502	//   "parameterOrder": [
14503	//     "profileId",
14504	//     "id"
14505	//   ],
14506	//   "parameters": {
14507	//     "id": {
14508	//       "description": "Account permission group ID.",
14509	//       "format": "int64",
14510	//       "location": "path",
14511	//       "required": true,
14512	//       "type": "string"
14513	//     },
14514	//     "profileId": {
14515	//       "description": "User profile ID associated with this request.",
14516	//       "format": "int64",
14517	//       "location": "path",
14518	//       "required": true,
14519	//       "type": "string"
14520	//     }
14521	//   },
14522	//   "path": "userprofiles/{profileId}/accountPermissionGroups/{id}",
14523	//   "response": {
14524	//     "$ref": "AccountPermissionGroup"
14525	//   },
14526	//   "scopes": [
14527	//     "https://www.googleapis.com/auth/dfatrafficking"
14528	//   ]
14529	// }
14530
14531}
14532
14533// method id "dfareporting.accountPermissionGroups.list":
14534
14535type AccountPermissionGroupsListCall struct {
14536	s            *Service
14537	profileId    int64
14538	urlParams_   gensupport.URLParams
14539	ifNoneMatch_ string
14540	ctx_         context.Context
14541	header_      http.Header
14542}
14543
14544// List: Retrieves the list of account permission groups.
14545func (r *AccountPermissionGroupsService) List(profileId int64) *AccountPermissionGroupsListCall {
14546	c := &AccountPermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14547	c.profileId = profileId
14548	return c
14549}
14550
14551// Fields allows partial responses to be retrieved. See
14552// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14553// for more information.
14554func (c *AccountPermissionGroupsListCall) Fields(s ...googleapi.Field) *AccountPermissionGroupsListCall {
14555	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14556	return c
14557}
14558
14559// IfNoneMatch sets the optional parameter which makes the operation
14560// fail if the object's ETag matches the given value. This is useful for
14561// getting updates only after the object has changed since the last
14562// request. Use googleapi.IsNotModified to check whether the response
14563// error from Do is the result of In-None-Match.
14564func (c *AccountPermissionGroupsListCall) IfNoneMatch(entityTag string) *AccountPermissionGroupsListCall {
14565	c.ifNoneMatch_ = entityTag
14566	return c
14567}
14568
14569// Context sets the context to be used in this call's Do method. Any
14570// pending HTTP request will be aborted if the provided context is
14571// canceled.
14572func (c *AccountPermissionGroupsListCall) Context(ctx context.Context) *AccountPermissionGroupsListCall {
14573	c.ctx_ = ctx
14574	return c
14575}
14576
14577// Header returns an http.Header that can be modified by the caller to
14578// add HTTP headers to the request.
14579func (c *AccountPermissionGroupsListCall) Header() http.Header {
14580	if c.header_ == nil {
14581		c.header_ = make(http.Header)
14582	}
14583	return c.header_
14584}
14585
14586func (c *AccountPermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
14587	reqHeaders := make(http.Header)
14588	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14589	for k, v := range c.header_ {
14590		reqHeaders[k] = v
14591	}
14592	reqHeaders.Set("User-Agent", c.s.userAgent())
14593	if c.ifNoneMatch_ != "" {
14594		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14595	}
14596	var body io.Reader = nil
14597	c.urlParams_.Set("alt", alt)
14598	c.urlParams_.Set("prettyPrint", "false")
14599	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissionGroups")
14600	urls += "?" + c.urlParams_.Encode()
14601	req, err := http.NewRequest("GET", urls, body)
14602	if err != nil {
14603		return nil, err
14604	}
14605	req.Header = reqHeaders
14606	googleapi.Expand(req.URL, map[string]string{
14607		"profileId": strconv.FormatInt(c.profileId, 10),
14608	})
14609	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14610}
14611
14612// Do executes the "dfareporting.accountPermissionGroups.list" call.
14613// Exactly one of *AccountPermissionGroupsListResponse or error will be
14614// non-nil. Any non-2xx status code is an error. Response headers are in
14615// either *AccountPermissionGroupsListResponse.ServerResponse.Header or
14616// (if a response was returned at all) in
14617// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
14618// whether the returned error was because http.StatusNotModified was
14619// returned.
14620func (c *AccountPermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionGroupsListResponse, error) {
14621	gensupport.SetOptions(c.urlParams_, opts...)
14622	res, err := c.doRequest("json")
14623	if res != nil && res.StatusCode == http.StatusNotModified {
14624		if res.Body != nil {
14625			res.Body.Close()
14626		}
14627		return nil, &googleapi.Error{
14628			Code:   res.StatusCode,
14629			Header: res.Header,
14630		}
14631	}
14632	if err != nil {
14633		return nil, err
14634	}
14635	defer googleapi.CloseBody(res)
14636	if err := googleapi.CheckResponse(res); err != nil {
14637		return nil, err
14638	}
14639	ret := &AccountPermissionGroupsListResponse{
14640		ServerResponse: googleapi.ServerResponse{
14641			Header:         res.Header,
14642			HTTPStatusCode: res.StatusCode,
14643		},
14644	}
14645	target := &ret
14646	if err := gensupport.DecodeResponse(target, res); err != nil {
14647		return nil, err
14648	}
14649	return ret, nil
14650	// {
14651	//   "description": "Retrieves the list of account permission groups.",
14652	//   "httpMethod": "GET",
14653	//   "id": "dfareporting.accountPermissionGroups.list",
14654	//   "parameterOrder": [
14655	//     "profileId"
14656	//   ],
14657	//   "parameters": {
14658	//     "profileId": {
14659	//       "description": "User profile ID associated with this request.",
14660	//       "format": "int64",
14661	//       "location": "path",
14662	//       "required": true,
14663	//       "type": "string"
14664	//     }
14665	//   },
14666	//   "path": "userprofiles/{profileId}/accountPermissionGroups",
14667	//   "response": {
14668	//     "$ref": "AccountPermissionGroupsListResponse"
14669	//   },
14670	//   "scopes": [
14671	//     "https://www.googleapis.com/auth/dfatrafficking"
14672	//   ]
14673	// }
14674
14675}
14676
14677// method id "dfareporting.accountPermissions.get":
14678
14679type AccountPermissionsGetCall struct {
14680	s            *Service
14681	profileId    int64
14682	id           int64
14683	urlParams_   gensupport.URLParams
14684	ifNoneMatch_ string
14685	ctx_         context.Context
14686	header_      http.Header
14687}
14688
14689// Get: Gets one account permission by ID.
14690func (r *AccountPermissionsService) Get(profileId int64, id int64) *AccountPermissionsGetCall {
14691	c := &AccountPermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14692	c.profileId = profileId
14693	c.id = id
14694	return c
14695}
14696
14697// Fields allows partial responses to be retrieved. See
14698// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14699// for more information.
14700func (c *AccountPermissionsGetCall) Fields(s ...googleapi.Field) *AccountPermissionsGetCall {
14701	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14702	return c
14703}
14704
14705// IfNoneMatch sets the optional parameter which makes the operation
14706// fail if the object's ETag matches the given value. This is useful for
14707// getting updates only after the object has changed since the last
14708// request. Use googleapi.IsNotModified to check whether the response
14709// error from Do is the result of In-None-Match.
14710func (c *AccountPermissionsGetCall) IfNoneMatch(entityTag string) *AccountPermissionsGetCall {
14711	c.ifNoneMatch_ = entityTag
14712	return c
14713}
14714
14715// Context sets the context to be used in this call's Do method. Any
14716// pending HTTP request will be aborted if the provided context is
14717// canceled.
14718func (c *AccountPermissionsGetCall) Context(ctx context.Context) *AccountPermissionsGetCall {
14719	c.ctx_ = ctx
14720	return c
14721}
14722
14723// Header returns an http.Header that can be modified by the caller to
14724// add HTTP headers to the request.
14725func (c *AccountPermissionsGetCall) Header() http.Header {
14726	if c.header_ == nil {
14727		c.header_ = make(http.Header)
14728	}
14729	return c.header_
14730}
14731
14732func (c *AccountPermissionsGetCall) doRequest(alt string) (*http.Response, error) {
14733	reqHeaders := make(http.Header)
14734	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14735	for k, v := range c.header_ {
14736		reqHeaders[k] = v
14737	}
14738	reqHeaders.Set("User-Agent", c.s.userAgent())
14739	if c.ifNoneMatch_ != "" {
14740		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14741	}
14742	var body io.Reader = nil
14743	c.urlParams_.Set("alt", alt)
14744	c.urlParams_.Set("prettyPrint", "false")
14745	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions/{id}")
14746	urls += "?" + c.urlParams_.Encode()
14747	req, err := http.NewRequest("GET", urls, body)
14748	if err != nil {
14749		return nil, err
14750	}
14751	req.Header = reqHeaders
14752	googleapi.Expand(req.URL, map[string]string{
14753		"profileId": strconv.FormatInt(c.profileId, 10),
14754		"id":        strconv.FormatInt(c.id, 10),
14755	})
14756	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14757}
14758
14759// Do executes the "dfareporting.accountPermissions.get" call.
14760// Exactly one of *AccountPermission or error will be non-nil. Any
14761// non-2xx status code is an error. Response headers are in either
14762// *AccountPermission.ServerResponse.Header or (if a response was
14763// returned at all) in error.(*googleapi.Error).Header. Use
14764// googleapi.IsNotModified to check whether the returned error was
14765// because http.StatusNotModified was returned.
14766func (c *AccountPermissionsGetCall) Do(opts ...googleapi.CallOption) (*AccountPermission, error) {
14767	gensupport.SetOptions(c.urlParams_, opts...)
14768	res, err := c.doRequest("json")
14769	if res != nil && res.StatusCode == http.StatusNotModified {
14770		if res.Body != nil {
14771			res.Body.Close()
14772		}
14773		return nil, &googleapi.Error{
14774			Code:   res.StatusCode,
14775			Header: res.Header,
14776		}
14777	}
14778	if err != nil {
14779		return nil, err
14780	}
14781	defer googleapi.CloseBody(res)
14782	if err := googleapi.CheckResponse(res); err != nil {
14783		return nil, err
14784	}
14785	ret := &AccountPermission{
14786		ServerResponse: googleapi.ServerResponse{
14787			Header:         res.Header,
14788			HTTPStatusCode: res.StatusCode,
14789		},
14790	}
14791	target := &ret
14792	if err := gensupport.DecodeResponse(target, res); err != nil {
14793		return nil, err
14794	}
14795	return ret, nil
14796	// {
14797	//   "description": "Gets one account permission by ID.",
14798	//   "httpMethod": "GET",
14799	//   "id": "dfareporting.accountPermissions.get",
14800	//   "parameterOrder": [
14801	//     "profileId",
14802	//     "id"
14803	//   ],
14804	//   "parameters": {
14805	//     "id": {
14806	//       "description": "Account permission ID.",
14807	//       "format": "int64",
14808	//       "location": "path",
14809	//       "required": true,
14810	//       "type": "string"
14811	//     },
14812	//     "profileId": {
14813	//       "description": "User profile ID associated with this request.",
14814	//       "format": "int64",
14815	//       "location": "path",
14816	//       "required": true,
14817	//       "type": "string"
14818	//     }
14819	//   },
14820	//   "path": "userprofiles/{profileId}/accountPermissions/{id}",
14821	//   "response": {
14822	//     "$ref": "AccountPermission"
14823	//   },
14824	//   "scopes": [
14825	//     "https://www.googleapis.com/auth/dfatrafficking"
14826	//   ]
14827	// }
14828
14829}
14830
14831// method id "dfareporting.accountPermissions.list":
14832
14833type AccountPermissionsListCall struct {
14834	s            *Service
14835	profileId    int64
14836	urlParams_   gensupport.URLParams
14837	ifNoneMatch_ string
14838	ctx_         context.Context
14839	header_      http.Header
14840}
14841
14842// List: Retrieves the list of account permissions.
14843func (r *AccountPermissionsService) List(profileId int64) *AccountPermissionsListCall {
14844	c := &AccountPermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14845	c.profileId = profileId
14846	return c
14847}
14848
14849// Fields allows partial responses to be retrieved. See
14850// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14851// for more information.
14852func (c *AccountPermissionsListCall) Fields(s ...googleapi.Field) *AccountPermissionsListCall {
14853	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14854	return c
14855}
14856
14857// IfNoneMatch sets the optional parameter which makes the operation
14858// fail if the object's ETag matches the given value. This is useful for
14859// getting updates only after the object has changed since the last
14860// request. Use googleapi.IsNotModified to check whether the response
14861// error from Do is the result of In-None-Match.
14862func (c *AccountPermissionsListCall) IfNoneMatch(entityTag string) *AccountPermissionsListCall {
14863	c.ifNoneMatch_ = entityTag
14864	return c
14865}
14866
14867// Context sets the context to be used in this call's Do method. Any
14868// pending HTTP request will be aborted if the provided context is
14869// canceled.
14870func (c *AccountPermissionsListCall) Context(ctx context.Context) *AccountPermissionsListCall {
14871	c.ctx_ = ctx
14872	return c
14873}
14874
14875// Header returns an http.Header that can be modified by the caller to
14876// add HTTP headers to the request.
14877func (c *AccountPermissionsListCall) Header() http.Header {
14878	if c.header_ == nil {
14879		c.header_ = make(http.Header)
14880	}
14881	return c.header_
14882}
14883
14884func (c *AccountPermissionsListCall) doRequest(alt string) (*http.Response, error) {
14885	reqHeaders := make(http.Header)
14886	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
14887	for k, v := range c.header_ {
14888		reqHeaders[k] = v
14889	}
14890	reqHeaders.Set("User-Agent", c.s.userAgent())
14891	if c.ifNoneMatch_ != "" {
14892		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
14893	}
14894	var body io.Reader = nil
14895	c.urlParams_.Set("alt", alt)
14896	c.urlParams_.Set("prettyPrint", "false")
14897	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountPermissions")
14898	urls += "?" + c.urlParams_.Encode()
14899	req, err := http.NewRequest("GET", urls, body)
14900	if err != nil {
14901		return nil, err
14902	}
14903	req.Header = reqHeaders
14904	googleapi.Expand(req.URL, map[string]string{
14905		"profileId": strconv.FormatInt(c.profileId, 10),
14906	})
14907	return gensupport.SendRequest(c.ctx_, c.s.client, req)
14908}
14909
14910// Do executes the "dfareporting.accountPermissions.list" call.
14911// Exactly one of *AccountPermissionsListResponse or error will be
14912// non-nil. Any non-2xx status code is an error. Response headers are in
14913// either *AccountPermissionsListResponse.ServerResponse.Header or (if a
14914// response was returned at all) in error.(*googleapi.Error).Header. Use
14915// googleapi.IsNotModified to check whether the returned error was
14916// because http.StatusNotModified was returned.
14917func (c *AccountPermissionsListCall) Do(opts ...googleapi.CallOption) (*AccountPermissionsListResponse, error) {
14918	gensupport.SetOptions(c.urlParams_, opts...)
14919	res, err := c.doRequest("json")
14920	if res != nil && res.StatusCode == http.StatusNotModified {
14921		if res.Body != nil {
14922			res.Body.Close()
14923		}
14924		return nil, &googleapi.Error{
14925			Code:   res.StatusCode,
14926			Header: res.Header,
14927		}
14928	}
14929	if err != nil {
14930		return nil, err
14931	}
14932	defer googleapi.CloseBody(res)
14933	if err := googleapi.CheckResponse(res); err != nil {
14934		return nil, err
14935	}
14936	ret := &AccountPermissionsListResponse{
14937		ServerResponse: googleapi.ServerResponse{
14938			Header:         res.Header,
14939			HTTPStatusCode: res.StatusCode,
14940		},
14941	}
14942	target := &ret
14943	if err := gensupport.DecodeResponse(target, res); err != nil {
14944		return nil, err
14945	}
14946	return ret, nil
14947	// {
14948	//   "description": "Retrieves the list of account permissions.",
14949	//   "httpMethod": "GET",
14950	//   "id": "dfareporting.accountPermissions.list",
14951	//   "parameterOrder": [
14952	//     "profileId"
14953	//   ],
14954	//   "parameters": {
14955	//     "profileId": {
14956	//       "description": "User profile ID associated with this request.",
14957	//       "format": "int64",
14958	//       "location": "path",
14959	//       "required": true,
14960	//       "type": "string"
14961	//     }
14962	//   },
14963	//   "path": "userprofiles/{profileId}/accountPermissions",
14964	//   "response": {
14965	//     "$ref": "AccountPermissionsListResponse"
14966	//   },
14967	//   "scopes": [
14968	//     "https://www.googleapis.com/auth/dfatrafficking"
14969	//   ]
14970	// }
14971
14972}
14973
14974// method id "dfareporting.accountUserProfiles.get":
14975
14976type AccountUserProfilesGetCall struct {
14977	s            *Service
14978	profileId    int64
14979	id           int64
14980	urlParams_   gensupport.URLParams
14981	ifNoneMatch_ string
14982	ctx_         context.Context
14983	header_      http.Header
14984}
14985
14986// Get: Gets one account user profile by ID.
14987func (r *AccountUserProfilesService) Get(profileId int64, id int64) *AccountUserProfilesGetCall {
14988	c := &AccountUserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
14989	c.profileId = profileId
14990	c.id = id
14991	return c
14992}
14993
14994// Fields allows partial responses to be retrieved. See
14995// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
14996// for more information.
14997func (c *AccountUserProfilesGetCall) Fields(s ...googleapi.Field) *AccountUserProfilesGetCall {
14998	c.urlParams_.Set("fields", googleapi.CombineFields(s))
14999	return c
15000}
15001
15002// IfNoneMatch sets the optional parameter which makes the operation
15003// fail if the object's ETag matches the given value. This is useful for
15004// getting updates only after the object has changed since the last
15005// request. Use googleapi.IsNotModified to check whether the response
15006// error from Do is the result of In-None-Match.
15007func (c *AccountUserProfilesGetCall) IfNoneMatch(entityTag string) *AccountUserProfilesGetCall {
15008	c.ifNoneMatch_ = entityTag
15009	return c
15010}
15011
15012// Context sets the context to be used in this call's Do method. Any
15013// pending HTTP request will be aborted if the provided context is
15014// canceled.
15015func (c *AccountUserProfilesGetCall) Context(ctx context.Context) *AccountUserProfilesGetCall {
15016	c.ctx_ = ctx
15017	return c
15018}
15019
15020// Header returns an http.Header that can be modified by the caller to
15021// add HTTP headers to the request.
15022func (c *AccountUserProfilesGetCall) Header() http.Header {
15023	if c.header_ == nil {
15024		c.header_ = make(http.Header)
15025	}
15026	return c.header_
15027}
15028
15029func (c *AccountUserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
15030	reqHeaders := make(http.Header)
15031	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15032	for k, v := range c.header_ {
15033		reqHeaders[k] = v
15034	}
15035	reqHeaders.Set("User-Agent", c.s.userAgent())
15036	if c.ifNoneMatch_ != "" {
15037		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15038	}
15039	var body io.Reader = nil
15040	c.urlParams_.Set("alt", alt)
15041	c.urlParams_.Set("prettyPrint", "false")
15042	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles/{id}")
15043	urls += "?" + c.urlParams_.Encode()
15044	req, err := http.NewRequest("GET", urls, body)
15045	if err != nil {
15046		return nil, err
15047	}
15048	req.Header = reqHeaders
15049	googleapi.Expand(req.URL, map[string]string{
15050		"profileId": strconv.FormatInt(c.profileId, 10),
15051		"id":        strconv.FormatInt(c.id, 10),
15052	})
15053	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15054}
15055
15056// Do executes the "dfareporting.accountUserProfiles.get" call.
15057// Exactly one of *AccountUserProfile or error will be non-nil. Any
15058// non-2xx status code is an error. Response headers are in either
15059// *AccountUserProfile.ServerResponse.Header or (if a response was
15060// returned at all) in error.(*googleapi.Error).Header. Use
15061// googleapi.IsNotModified to check whether the returned error was
15062// because http.StatusNotModified was returned.
15063func (c *AccountUserProfilesGetCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15064	gensupport.SetOptions(c.urlParams_, opts...)
15065	res, err := c.doRequest("json")
15066	if res != nil && res.StatusCode == http.StatusNotModified {
15067		if res.Body != nil {
15068			res.Body.Close()
15069		}
15070		return nil, &googleapi.Error{
15071			Code:   res.StatusCode,
15072			Header: res.Header,
15073		}
15074	}
15075	if err != nil {
15076		return nil, err
15077	}
15078	defer googleapi.CloseBody(res)
15079	if err := googleapi.CheckResponse(res); err != nil {
15080		return nil, err
15081	}
15082	ret := &AccountUserProfile{
15083		ServerResponse: googleapi.ServerResponse{
15084			Header:         res.Header,
15085			HTTPStatusCode: res.StatusCode,
15086		},
15087	}
15088	target := &ret
15089	if err := gensupport.DecodeResponse(target, res); err != nil {
15090		return nil, err
15091	}
15092	return ret, nil
15093	// {
15094	//   "description": "Gets one account user profile by ID.",
15095	//   "httpMethod": "GET",
15096	//   "id": "dfareporting.accountUserProfiles.get",
15097	//   "parameterOrder": [
15098	//     "profileId",
15099	//     "id"
15100	//   ],
15101	//   "parameters": {
15102	//     "id": {
15103	//       "description": "User profile ID.",
15104	//       "format": "int64",
15105	//       "location": "path",
15106	//       "required": true,
15107	//       "type": "string"
15108	//     },
15109	//     "profileId": {
15110	//       "description": "User profile ID associated with this request.",
15111	//       "format": "int64",
15112	//       "location": "path",
15113	//       "required": true,
15114	//       "type": "string"
15115	//     }
15116	//   },
15117	//   "path": "userprofiles/{profileId}/accountUserProfiles/{id}",
15118	//   "response": {
15119	//     "$ref": "AccountUserProfile"
15120	//   },
15121	//   "scopes": [
15122	//     "https://www.googleapis.com/auth/dfatrafficking"
15123	//   ]
15124	// }
15125
15126}
15127
15128// method id "dfareporting.accountUserProfiles.insert":
15129
15130type AccountUserProfilesInsertCall struct {
15131	s                  *Service
15132	profileId          int64
15133	accountuserprofile *AccountUserProfile
15134	urlParams_         gensupport.URLParams
15135	ctx_               context.Context
15136	header_            http.Header
15137}
15138
15139// Insert: Inserts a new account user profile.
15140func (r *AccountUserProfilesService) Insert(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesInsertCall {
15141	c := &AccountUserProfilesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15142	c.profileId = profileId
15143	c.accountuserprofile = accountuserprofile
15144	return c
15145}
15146
15147// Fields allows partial responses to be retrieved. See
15148// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15149// for more information.
15150func (c *AccountUserProfilesInsertCall) Fields(s ...googleapi.Field) *AccountUserProfilesInsertCall {
15151	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15152	return c
15153}
15154
15155// Context sets the context to be used in this call's Do method. Any
15156// pending HTTP request will be aborted if the provided context is
15157// canceled.
15158func (c *AccountUserProfilesInsertCall) Context(ctx context.Context) *AccountUserProfilesInsertCall {
15159	c.ctx_ = ctx
15160	return c
15161}
15162
15163// Header returns an http.Header that can be modified by the caller to
15164// add HTTP headers to the request.
15165func (c *AccountUserProfilesInsertCall) Header() http.Header {
15166	if c.header_ == nil {
15167		c.header_ = make(http.Header)
15168	}
15169	return c.header_
15170}
15171
15172func (c *AccountUserProfilesInsertCall) doRequest(alt string) (*http.Response, error) {
15173	reqHeaders := make(http.Header)
15174	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15175	for k, v := range c.header_ {
15176		reqHeaders[k] = v
15177	}
15178	reqHeaders.Set("User-Agent", c.s.userAgent())
15179	var body io.Reader = nil
15180	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15181	if err != nil {
15182		return nil, err
15183	}
15184	reqHeaders.Set("Content-Type", "application/json")
15185	c.urlParams_.Set("alt", alt)
15186	c.urlParams_.Set("prettyPrint", "false")
15187	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15188	urls += "?" + c.urlParams_.Encode()
15189	req, err := http.NewRequest("POST", urls, body)
15190	if err != nil {
15191		return nil, err
15192	}
15193	req.Header = reqHeaders
15194	googleapi.Expand(req.URL, map[string]string{
15195		"profileId": strconv.FormatInt(c.profileId, 10),
15196	})
15197	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15198}
15199
15200// Do executes the "dfareporting.accountUserProfiles.insert" call.
15201// Exactly one of *AccountUserProfile or error will be non-nil. Any
15202// non-2xx status code is an error. Response headers are in either
15203// *AccountUserProfile.ServerResponse.Header or (if a response was
15204// returned at all) in error.(*googleapi.Error).Header. Use
15205// googleapi.IsNotModified to check whether the returned error was
15206// because http.StatusNotModified was returned.
15207func (c *AccountUserProfilesInsertCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15208	gensupport.SetOptions(c.urlParams_, opts...)
15209	res, err := c.doRequest("json")
15210	if res != nil && res.StatusCode == http.StatusNotModified {
15211		if res.Body != nil {
15212			res.Body.Close()
15213		}
15214		return nil, &googleapi.Error{
15215			Code:   res.StatusCode,
15216			Header: res.Header,
15217		}
15218	}
15219	if err != nil {
15220		return nil, err
15221	}
15222	defer googleapi.CloseBody(res)
15223	if err := googleapi.CheckResponse(res); err != nil {
15224		return nil, err
15225	}
15226	ret := &AccountUserProfile{
15227		ServerResponse: googleapi.ServerResponse{
15228			Header:         res.Header,
15229			HTTPStatusCode: res.StatusCode,
15230		},
15231	}
15232	target := &ret
15233	if err := gensupport.DecodeResponse(target, res); err != nil {
15234		return nil, err
15235	}
15236	return ret, nil
15237	// {
15238	//   "description": "Inserts a new account user profile.",
15239	//   "httpMethod": "POST",
15240	//   "id": "dfareporting.accountUserProfiles.insert",
15241	//   "parameterOrder": [
15242	//     "profileId"
15243	//   ],
15244	//   "parameters": {
15245	//     "profileId": {
15246	//       "description": "User profile ID associated with this request.",
15247	//       "format": "int64",
15248	//       "location": "path",
15249	//       "required": true,
15250	//       "type": "string"
15251	//     }
15252	//   },
15253	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15254	//   "request": {
15255	//     "$ref": "AccountUserProfile"
15256	//   },
15257	//   "response": {
15258	//     "$ref": "AccountUserProfile"
15259	//   },
15260	//   "scopes": [
15261	//     "https://www.googleapis.com/auth/dfatrafficking"
15262	//   ]
15263	// }
15264
15265}
15266
15267// method id "dfareporting.accountUserProfiles.list":
15268
15269type AccountUserProfilesListCall struct {
15270	s            *Service
15271	profileId    int64
15272	urlParams_   gensupport.URLParams
15273	ifNoneMatch_ string
15274	ctx_         context.Context
15275	header_      http.Header
15276}
15277
15278// List: Retrieves a list of account user profiles, possibly filtered.
15279// This method supports paging.
15280func (r *AccountUserProfilesService) List(profileId int64) *AccountUserProfilesListCall {
15281	c := &AccountUserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15282	c.profileId = profileId
15283	return c
15284}
15285
15286// Active sets the optional parameter "active": Select only active user
15287// profiles.
15288func (c *AccountUserProfilesListCall) Active(active bool) *AccountUserProfilesListCall {
15289	c.urlParams_.Set("active", fmt.Sprint(active))
15290	return c
15291}
15292
15293// Ids sets the optional parameter "ids": Select only user profiles with
15294// these IDs.
15295func (c *AccountUserProfilesListCall) Ids(ids ...int64) *AccountUserProfilesListCall {
15296	var ids_ []string
15297	for _, v := range ids {
15298		ids_ = append(ids_, fmt.Sprint(v))
15299	}
15300	c.urlParams_.SetMulti("ids", ids_)
15301	return c
15302}
15303
15304// MaxResults sets the optional parameter "maxResults": Maximum number
15305// of results to return.
15306func (c *AccountUserProfilesListCall) MaxResults(maxResults int64) *AccountUserProfilesListCall {
15307	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
15308	return c
15309}
15310
15311// PageToken sets the optional parameter "pageToken": Value of the
15312// nextPageToken from the previous result page.
15313func (c *AccountUserProfilesListCall) PageToken(pageToken string) *AccountUserProfilesListCall {
15314	c.urlParams_.Set("pageToken", pageToken)
15315	return c
15316}
15317
15318// SearchString sets the optional parameter "searchString": Allows
15319// searching for objects by name, ID or email. Wildcards (*) are
15320// allowed. For example, "user profile*2015" will return objects with
15321// names like "user profile June 2015", "user profile April 2015", or
15322// simply "user profile 2015". Most of the searches also add wildcards
15323// implicitly at the start and the end of the search string. For
15324// example, a search string of "user profile" will match objects with
15325// name "my user profile", "user profile 2015", or simply "user
15326// profile".
15327func (c *AccountUserProfilesListCall) SearchString(searchString string) *AccountUserProfilesListCall {
15328	c.urlParams_.Set("searchString", searchString)
15329	return c
15330}
15331
15332// SortField sets the optional parameter "sortField": Field by which to
15333// sort the list.
15334//
15335// Possible values:
15336//   "ID" (default)
15337//   "NAME"
15338func (c *AccountUserProfilesListCall) SortField(sortField string) *AccountUserProfilesListCall {
15339	c.urlParams_.Set("sortField", sortField)
15340	return c
15341}
15342
15343// SortOrder sets the optional parameter "sortOrder": Order of sorted
15344// results.
15345//
15346// Possible values:
15347//   "ASCENDING" (default)
15348//   "DESCENDING"
15349func (c *AccountUserProfilesListCall) SortOrder(sortOrder string) *AccountUserProfilesListCall {
15350	c.urlParams_.Set("sortOrder", sortOrder)
15351	return c
15352}
15353
15354// SubaccountId sets the optional parameter "subaccountId": Select only
15355// user profiles with the specified subaccount ID.
15356func (c *AccountUserProfilesListCall) SubaccountId(subaccountId int64) *AccountUserProfilesListCall {
15357	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
15358	return c
15359}
15360
15361// UserRoleId sets the optional parameter "userRoleId": Select only user
15362// profiles with the specified user role ID.
15363func (c *AccountUserProfilesListCall) UserRoleId(userRoleId int64) *AccountUserProfilesListCall {
15364	c.urlParams_.Set("userRoleId", fmt.Sprint(userRoleId))
15365	return c
15366}
15367
15368// Fields allows partial responses to be retrieved. See
15369// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15370// for more information.
15371func (c *AccountUserProfilesListCall) Fields(s ...googleapi.Field) *AccountUserProfilesListCall {
15372	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15373	return c
15374}
15375
15376// IfNoneMatch sets the optional parameter which makes the operation
15377// fail if the object's ETag matches the given value. This is useful for
15378// getting updates only after the object has changed since the last
15379// request. Use googleapi.IsNotModified to check whether the response
15380// error from Do is the result of In-None-Match.
15381func (c *AccountUserProfilesListCall) IfNoneMatch(entityTag string) *AccountUserProfilesListCall {
15382	c.ifNoneMatch_ = entityTag
15383	return c
15384}
15385
15386// Context sets the context to be used in this call's Do method. Any
15387// pending HTTP request will be aborted if the provided context is
15388// canceled.
15389func (c *AccountUserProfilesListCall) Context(ctx context.Context) *AccountUserProfilesListCall {
15390	c.ctx_ = ctx
15391	return c
15392}
15393
15394// Header returns an http.Header that can be modified by the caller to
15395// add HTTP headers to the request.
15396func (c *AccountUserProfilesListCall) Header() http.Header {
15397	if c.header_ == nil {
15398		c.header_ = make(http.Header)
15399	}
15400	return c.header_
15401}
15402
15403func (c *AccountUserProfilesListCall) doRequest(alt string) (*http.Response, error) {
15404	reqHeaders := make(http.Header)
15405	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15406	for k, v := range c.header_ {
15407		reqHeaders[k] = v
15408	}
15409	reqHeaders.Set("User-Agent", c.s.userAgent())
15410	if c.ifNoneMatch_ != "" {
15411		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15412	}
15413	var body io.Reader = nil
15414	c.urlParams_.Set("alt", alt)
15415	c.urlParams_.Set("prettyPrint", "false")
15416	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15417	urls += "?" + c.urlParams_.Encode()
15418	req, err := http.NewRequest("GET", urls, body)
15419	if err != nil {
15420		return nil, err
15421	}
15422	req.Header = reqHeaders
15423	googleapi.Expand(req.URL, map[string]string{
15424		"profileId": strconv.FormatInt(c.profileId, 10),
15425	})
15426	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15427}
15428
15429// Do executes the "dfareporting.accountUserProfiles.list" call.
15430// Exactly one of *AccountUserProfilesListResponse or error will be
15431// non-nil. Any non-2xx status code is an error. Response headers are in
15432// either *AccountUserProfilesListResponse.ServerResponse.Header or (if
15433// a response was returned at all) in error.(*googleapi.Error).Header.
15434// Use googleapi.IsNotModified to check whether the returned error was
15435// because http.StatusNotModified was returned.
15436func (c *AccountUserProfilesListCall) Do(opts ...googleapi.CallOption) (*AccountUserProfilesListResponse, error) {
15437	gensupport.SetOptions(c.urlParams_, opts...)
15438	res, err := c.doRequest("json")
15439	if res != nil && res.StatusCode == http.StatusNotModified {
15440		if res.Body != nil {
15441			res.Body.Close()
15442		}
15443		return nil, &googleapi.Error{
15444			Code:   res.StatusCode,
15445			Header: res.Header,
15446		}
15447	}
15448	if err != nil {
15449		return nil, err
15450	}
15451	defer googleapi.CloseBody(res)
15452	if err := googleapi.CheckResponse(res); err != nil {
15453		return nil, err
15454	}
15455	ret := &AccountUserProfilesListResponse{
15456		ServerResponse: googleapi.ServerResponse{
15457			Header:         res.Header,
15458			HTTPStatusCode: res.StatusCode,
15459		},
15460	}
15461	target := &ret
15462	if err := gensupport.DecodeResponse(target, res); err != nil {
15463		return nil, err
15464	}
15465	return ret, nil
15466	// {
15467	//   "description": "Retrieves a list of account user profiles, possibly filtered. This method supports paging.",
15468	//   "httpMethod": "GET",
15469	//   "id": "dfareporting.accountUserProfiles.list",
15470	//   "parameterOrder": [
15471	//     "profileId"
15472	//   ],
15473	//   "parameters": {
15474	//     "active": {
15475	//       "description": "Select only active user profiles.",
15476	//       "location": "query",
15477	//       "type": "boolean"
15478	//     },
15479	//     "ids": {
15480	//       "description": "Select only user profiles with these IDs.",
15481	//       "format": "int64",
15482	//       "location": "query",
15483	//       "repeated": true,
15484	//       "type": "string"
15485	//     },
15486	//     "maxResults": {
15487	//       "default": "1000",
15488	//       "description": "Maximum number of results to return.",
15489	//       "format": "int32",
15490	//       "location": "query",
15491	//       "maximum": "1000",
15492	//       "minimum": "0",
15493	//       "type": "integer"
15494	//     },
15495	//     "pageToken": {
15496	//       "description": "Value of the nextPageToken from the previous result page.",
15497	//       "location": "query",
15498	//       "type": "string"
15499	//     },
15500	//     "profileId": {
15501	//       "description": "User profile ID associated with this request.",
15502	//       "format": "int64",
15503	//       "location": "path",
15504	//       "required": true,
15505	//       "type": "string"
15506	//     },
15507	//     "searchString": {
15508	//       "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\".",
15509	//       "location": "query",
15510	//       "type": "string"
15511	//     },
15512	//     "sortField": {
15513	//       "default": "ID",
15514	//       "description": "Field by which to sort the list.",
15515	//       "enum": [
15516	//         "ID",
15517	//         "NAME"
15518	//       ],
15519	//       "enumDescriptions": [
15520	//         "",
15521	//         ""
15522	//       ],
15523	//       "location": "query",
15524	//       "type": "string"
15525	//     },
15526	//     "sortOrder": {
15527	//       "default": "ASCENDING",
15528	//       "description": "Order of sorted results.",
15529	//       "enum": [
15530	//         "ASCENDING",
15531	//         "DESCENDING"
15532	//       ],
15533	//       "enumDescriptions": [
15534	//         "",
15535	//         ""
15536	//       ],
15537	//       "location": "query",
15538	//       "type": "string"
15539	//     },
15540	//     "subaccountId": {
15541	//       "description": "Select only user profiles with the specified subaccount ID.",
15542	//       "format": "int64",
15543	//       "location": "query",
15544	//       "type": "string"
15545	//     },
15546	//     "userRoleId": {
15547	//       "description": "Select only user profiles with the specified user role ID.",
15548	//       "format": "int64",
15549	//       "location": "query",
15550	//       "type": "string"
15551	//     }
15552	//   },
15553	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15554	//   "response": {
15555	//     "$ref": "AccountUserProfilesListResponse"
15556	//   },
15557	//   "scopes": [
15558	//     "https://www.googleapis.com/auth/dfatrafficking"
15559	//   ]
15560	// }
15561
15562}
15563
15564// Pages invokes f for each page of results.
15565// A non-nil error returned from f will halt the iteration.
15566// The provided context supersedes any context provided to the Context method.
15567func (c *AccountUserProfilesListCall) Pages(ctx context.Context, f func(*AccountUserProfilesListResponse) error) error {
15568	c.ctx_ = ctx
15569	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
15570	for {
15571		x, err := c.Do()
15572		if err != nil {
15573			return err
15574		}
15575		if err := f(x); err != nil {
15576			return err
15577		}
15578		if x.NextPageToken == "" {
15579			return nil
15580		}
15581		c.PageToken(x.NextPageToken)
15582	}
15583}
15584
15585// method id "dfareporting.accountUserProfiles.patch":
15586
15587type AccountUserProfilesPatchCall struct {
15588	s                  *Service
15589	profileId          int64
15590	accountuserprofile *AccountUserProfile
15591	urlParams_         gensupport.URLParams
15592	ctx_               context.Context
15593	header_            http.Header
15594}
15595
15596// Patch: Updates an existing account user profile. This method supports
15597// patch semantics.
15598func (r *AccountUserProfilesService) Patch(profileId int64, id int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesPatchCall {
15599	c := &AccountUserProfilesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15600	c.profileId = profileId
15601	c.urlParams_.Set("id", fmt.Sprint(id))
15602	c.accountuserprofile = accountuserprofile
15603	return c
15604}
15605
15606// Fields allows partial responses to be retrieved. See
15607// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15608// for more information.
15609func (c *AccountUserProfilesPatchCall) Fields(s ...googleapi.Field) *AccountUserProfilesPatchCall {
15610	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15611	return c
15612}
15613
15614// Context sets the context to be used in this call's Do method. Any
15615// pending HTTP request will be aborted if the provided context is
15616// canceled.
15617func (c *AccountUserProfilesPatchCall) Context(ctx context.Context) *AccountUserProfilesPatchCall {
15618	c.ctx_ = ctx
15619	return c
15620}
15621
15622// Header returns an http.Header that can be modified by the caller to
15623// add HTTP headers to the request.
15624func (c *AccountUserProfilesPatchCall) Header() http.Header {
15625	if c.header_ == nil {
15626		c.header_ = make(http.Header)
15627	}
15628	return c.header_
15629}
15630
15631func (c *AccountUserProfilesPatchCall) doRequest(alt string) (*http.Response, error) {
15632	reqHeaders := make(http.Header)
15633	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15634	for k, v := range c.header_ {
15635		reqHeaders[k] = v
15636	}
15637	reqHeaders.Set("User-Agent", c.s.userAgent())
15638	var body io.Reader = nil
15639	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15640	if err != nil {
15641		return nil, err
15642	}
15643	reqHeaders.Set("Content-Type", "application/json")
15644	c.urlParams_.Set("alt", alt)
15645	c.urlParams_.Set("prettyPrint", "false")
15646	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15647	urls += "?" + c.urlParams_.Encode()
15648	req, err := http.NewRequest("PATCH", urls, body)
15649	if err != nil {
15650		return nil, err
15651	}
15652	req.Header = reqHeaders
15653	googleapi.Expand(req.URL, map[string]string{
15654		"profileId": strconv.FormatInt(c.profileId, 10),
15655	})
15656	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15657}
15658
15659// Do executes the "dfareporting.accountUserProfiles.patch" call.
15660// Exactly one of *AccountUserProfile or error will be non-nil. Any
15661// non-2xx status code is an error. Response headers are in either
15662// *AccountUserProfile.ServerResponse.Header or (if a response was
15663// returned at all) in error.(*googleapi.Error).Header. Use
15664// googleapi.IsNotModified to check whether the returned error was
15665// because http.StatusNotModified was returned.
15666func (c *AccountUserProfilesPatchCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15667	gensupport.SetOptions(c.urlParams_, opts...)
15668	res, err := c.doRequest("json")
15669	if res != nil && res.StatusCode == http.StatusNotModified {
15670		if res.Body != nil {
15671			res.Body.Close()
15672		}
15673		return nil, &googleapi.Error{
15674			Code:   res.StatusCode,
15675			Header: res.Header,
15676		}
15677	}
15678	if err != nil {
15679		return nil, err
15680	}
15681	defer googleapi.CloseBody(res)
15682	if err := googleapi.CheckResponse(res); err != nil {
15683		return nil, err
15684	}
15685	ret := &AccountUserProfile{
15686		ServerResponse: googleapi.ServerResponse{
15687			Header:         res.Header,
15688			HTTPStatusCode: res.StatusCode,
15689		},
15690	}
15691	target := &ret
15692	if err := gensupport.DecodeResponse(target, res); err != nil {
15693		return nil, err
15694	}
15695	return ret, nil
15696	// {
15697	//   "description": "Updates an existing account user profile. This method supports patch semantics.",
15698	//   "httpMethod": "PATCH",
15699	//   "id": "dfareporting.accountUserProfiles.patch",
15700	//   "parameterOrder": [
15701	//     "profileId",
15702	//     "id"
15703	//   ],
15704	//   "parameters": {
15705	//     "id": {
15706	//       "description": "User profile ID.",
15707	//       "format": "int64",
15708	//       "location": "query",
15709	//       "required": true,
15710	//       "type": "string"
15711	//     },
15712	//     "profileId": {
15713	//       "description": "User profile ID associated with this request.",
15714	//       "format": "int64",
15715	//       "location": "path",
15716	//       "required": true,
15717	//       "type": "string"
15718	//     }
15719	//   },
15720	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15721	//   "request": {
15722	//     "$ref": "AccountUserProfile"
15723	//   },
15724	//   "response": {
15725	//     "$ref": "AccountUserProfile"
15726	//   },
15727	//   "scopes": [
15728	//     "https://www.googleapis.com/auth/dfatrafficking"
15729	//   ]
15730	// }
15731
15732}
15733
15734// method id "dfareporting.accountUserProfiles.update":
15735
15736type AccountUserProfilesUpdateCall struct {
15737	s                  *Service
15738	profileId          int64
15739	accountuserprofile *AccountUserProfile
15740	urlParams_         gensupport.URLParams
15741	ctx_               context.Context
15742	header_            http.Header
15743}
15744
15745// Update: Updates an existing account user profile.
15746func (r *AccountUserProfilesService) Update(profileId int64, accountuserprofile *AccountUserProfile) *AccountUserProfilesUpdateCall {
15747	c := &AccountUserProfilesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15748	c.profileId = profileId
15749	c.accountuserprofile = accountuserprofile
15750	return c
15751}
15752
15753// Fields allows partial responses to be retrieved. See
15754// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15755// for more information.
15756func (c *AccountUserProfilesUpdateCall) Fields(s ...googleapi.Field) *AccountUserProfilesUpdateCall {
15757	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15758	return c
15759}
15760
15761// Context sets the context to be used in this call's Do method. Any
15762// pending HTTP request will be aborted if the provided context is
15763// canceled.
15764func (c *AccountUserProfilesUpdateCall) Context(ctx context.Context) *AccountUserProfilesUpdateCall {
15765	c.ctx_ = ctx
15766	return c
15767}
15768
15769// Header returns an http.Header that can be modified by the caller to
15770// add HTTP headers to the request.
15771func (c *AccountUserProfilesUpdateCall) Header() http.Header {
15772	if c.header_ == nil {
15773		c.header_ = make(http.Header)
15774	}
15775	return c.header_
15776}
15777
15778func (c *AccountUserProfilesUpdateCall) doRequest(alt string) (*http.Response, error) {
15779	reqHeaders := make(http.Header)
15780	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15781	for k, v := range c.header_ {
15782		reqHeaders[k] = v
15783	}
15784	reqHeaders.Set("User-Agent", c.s.userAgent())
15785	var body io.Reader = nil
15786	body, err := googleapi.WithoutDataWrapper.JSONReader(c.accountuserprofile)
15787	if err != nil {
15788		return nil, err
15789	}
15790	reqHeaders.Set("Content-Type", "application/json")
15791	c.urlParams_.Set("alt", alt)
15792	c.urlParams_.Set("prettyPrint", "false")
15793	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accountUserProfiles")
15794	urls += "?" + c.urlParams_.Encode()
15795	req, err := http.NewRequest("PUT", urls, body)
15796	if err != nil {
15797		return nil, err
15798	}
15799	req.Header = reqHeaders
15800	googleapi.Expand(req.URL, map[string]string{
15801		"profileId": strconv.FormatInt(c.profileId, 10),
15802	})
15803	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15804}
15805
15806// Do executes the "dfareporting.accountUserProfiles.update" call.
15807// Exactly one of *AccountUserProfile or error will be non-nil. Any
15808// non-2xx status code is an error. Response headers are in either
15809// *AccountUserProfile.ServerResponse.Header or (if a response was
15810// returned at all) in error.(*googleapi.Error).Header. Use
15811// googleapi.IsNotModified to check whether the returned error was
15812// because http.StatusNotModified was returned.
15813func (c *AccountUserProfilesUpdateCall) Do(opts ...googleapi.CallOption) (*AccountUserProfile, error) {
15814	gensupport.SetOptions(c.urlParams_, opts...)
15815	res, err := c.doRequest("json")
15816	if res != nil && res.StatusCode == http.StatusNotModified {
15817		if res.Body != nil {
15818			res.Body.Close()
15819		}
15820		return nil, &googleapi.Error{
15821			Code:   res.StatusCode,
15822			Header: res.Header,
15823		}
15824	}
15825	if err != nil {
15826		return nil, err
15827	}
15828	defer googleapi.CloseBody(res)
15829	if err := googleapi.CheckResponse(res); err != nil {
15830		return nil, err
15831	}
15832	ret := &AccountUserProfile{
15833		ServerResponse: googleapi.ServerResponse{
15834			Header:         res.Header,
15835			HTTPStatusCode: res.StatusCode,
15836		},
15837	}
15838	target := &ret
15839	if err := gensupport.DecodeResponse(target, res); err != nil {
15840		return nil, err
15841	}
15842	return ret, nil
15843	// {
15844	//   "description": "Updates an existing account user profile.",
15845	//   "httpMethod": "PUT",
15846	//   "id": "dfareporting.accountUserProfiles.update",
15847	//   "parameterOrder": [
15848	//     "profileId"
15849	//   ],
15850	//   "parameters": {
15851	//     "profileId": {
15852	//       "description": "User profile ID associated with this request.",
15853	//       "format": "int64",
15854	//       "location": "path",
15855	//       "required": true,
15856	//       "type": "string"
15857	//     }
15858	//   },
15859	//   "path": "userprofiles/{profileId}/accountUserProfiles",
15860	//   "request": {
15861	//     "$ref": "AccountUserProfile"
15862	//   },
15863	//   "response": {
15864	//     "$ref": "AccountUserProfile"
15865	//   },
15866	//   "scopes": [
15867	//     "https://www.googleapis.com/auth/dfatrafficking"
15868	//   ]
15869	// }
15870
15871}
15872
15873// method id "dfareporting.accounts.get":
15874
15875type AccountsGetCall struct {
15876	s            *Service
15877	profileId    int64
15878	id           int64
15879	urlParams_   gensupport.URLParams
15880	ifNoneMatch_ string
15881	ctx_         context.Context
15882	header_      http.Header
15883}
15884
15885// Get: Gets one account by ID.
15886func (r *AccountsService) Get(profileId int64, id int64) *AccountsGetCall {
15887	c := &AccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
15888	c.profileId = profileId
15889	c.id = id
15890	return c
15891}
15892
15893// Fields allows partial responses to be retrieved. See
15894// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
15895// for more information.
15896func (c *AccountsGetCall) Fields(s ...googleapi.Field) *AccountsGetCall {
15897	c.urlParams_.Set("fields", googleapi.CombineFields(s))
15898	return c
15899}
15900
15901// IfNoneMatch sets the optional parameter which makes the operation
15902// fail if the object's ETag matches the given value. This is useful for
15903// getting updates only after the object has changed since the last
15904// request. Use googleapi.IsNotModified to check whether the response
15905// error from Do is the result of In-None-Match.
15906func (c *AccountsGetCall) IfNoneMatch(entityTag string) *AccountsGetCall {
15907	c.ifNoneMatch_ = entityTag
15908	return c
15909}
15910
15911// Context sets the context to be used in this call's Do method. Any
15912// pending HTTP request will be aborted if the provided context is
15913// canceled.
15914func (c *AccountsGetCall) Context(ctx context.Context) *AccountsGetCall {
15915	c.ctx_ = ctx
15916	return c
15917}
15918
15919// Header returns an http.Header that can be modified by the caller to
15920// add HTTP headers to the request.
15921func (c *AccountsGetCall) Header() http.Header {
15922	if c.header_ == nil {
15923		c.header_ = make(http.Header)
15924	}
15925	return c.header_
15926}
15927
15928func (c *AccountsGetCall) doRequest(alt string) (*http.Response, error) {
15929	reqHeaders := make(http.Header)
15930	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
15931	for k, v := range c.header_ {
15932		reqHeaders[k] = v
15933	}
15934	reqHeaders.Set("User-Agent", c.s.userAgent())
15935	if c.ifNoneMatch_ != "" {
15936		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
15937	}
15938	var body io.Reader = nil
15939	c.urlParams_.Set("alt", alt)
15940	c.urlParams_.Set("prettyPrint", "false")
15941	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts/{id}")
15942	urls += "?" + c.urlParams_.Encode()
15943	req, err := http.NewRequest("GET", urls, body)
15944	if err != nil {
15945		return nil, err
15946	}
15947	req.Header = reqHeaders
15948	googleapi.Expand(req.URL, map[string]string{
15949		"profileId": strconv.FormatInt(c.profileId, 10),
15950		"id":        strconv.FormatInt(c.id, 10),
15951	})
15952	return gensupport.SendRequest(c.ctx_, c.s.client, req)
15953}
15954
15955// Do executes the "dfareporting.accounts.get" call.
15956// Exactly one of *Account or error will be non-nil. Any non-2xx status
15957// code is an error. Response headers are in either
15958// *Account.ServerResponse.Header or (if a response was returned at all)
15959// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
15960// check whether the returned error was because http.StatusNotModified
15961// was returned.
15962func (c *AccountsGetCall) Do(opts ...googleapi.CallOption) (*Account, error) {
15963	gensupport.SetOptions(c.urlParams_, opts...)
15964	res, err := c.doRequest("json")
15965	if res != nil && res.StatusCode == http.StatusNotModified {
15966		if res.Body != nil {
15967			res.Body.Close()
15968		}
15969		return nil, &googleapi.Error{
15970			Code:   res.StatusCode,
15971			Header: res.Header,
15972		}
15973	}
15974	if err != nil {
15975		return nil, err
15976	}
15977	defer googleapi.CloseBody(res)
15978	if err := googleapi.CheckResponse(res); err != nil {
15979		return nil, err
15980	}
15981	ret := &Account{
15982		ServerResponse: googleapi.ServerResponse{
15983			Header:         res.Header,
15984			HTTPStatusCode: res.StatusCode,
15985		},
15986	}
15987	target := &ret
15988	if err := gensupport.DecodeResponse(target, res); err != nil {
15989		return nil, err
15990	}
15991	return ret, nil
15992	// {
15993	//   "description": "Gets one account by ID.",
15994	//   "httpMethod": "GET",
15995	//   "id": "dfareporting.accounts.get",
15996	//   "parameterOrder": [
15997	//     "profileId",
15998	//     "id"
15999	//   ],
16000	//   "parameters": {
16001	//     "id": {
16002	//       "description": "Account ID.",
16003	//       "format": "int64",
16004	//       "location": "path",
16005	//       "required": true,
16006	//       "type": "string"
16007	//     },
16008	//     "profileId": {
16009	//       "description": "User profile ID associated with this request.",
16010	//       "format": "int64",
16011	//       "location": "path",
16012	//       "required": true,
16013	//       "type": "string"
16014	//     }
16015	//   },
16016	//   "path": "userprofiles/{profileId}/accounts/{id}",
16017	//   "response": {
16018	//     "$ref": "Account"
16019	//   },
16020	//   "scopes": [
16021	//     "https://www.googleapis.com/auth/dfatrafficking"
16022	//   ]
16023	// }
16024
16025}
16026
16027// method id "dfareporting.accounts.list":
16028
16029type AccountsListCall struct {
16030	s            *Service
16031	profileId    int64
16032	urlParams_   gensupport.URLParams
16033	ifNoneMatch_ string
16034	ctx_         context.Context
16035	header_      http.Header
16036}
16037
16038// List: Retrieves the list of accounts, possibly filtered. This method
16039// supports paging.
16040func (r *AccountsService) List(profileId int64) *AccountsListCall {
16041	c := &AccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16042	c.profileId = profileId
16043	return c
16044}
16045
16046// Active sets the optional parameter "active": Select only active
16047// accounts. Don't set this field to select both active and non-active
16048// accounts.
16049func (c *AccountsListCall) Active(active bool) *AccountsListCall {
16050	c.urlParams_.Set("active", fmt.Sprint(active))
16051	return c
16052}
16053
16054// Ids sets the optional parameter "ids": Select only accounts with
16055// these IDs.
16056func (c *AccountsListCall) Ids(ids ...int64) *AccountsListCall {
16057	var ids_ []string
16058	for _, v := range ids {
16059		ids_ = append(ids_, fmt.Sprint(v))
16060	}
16061	c.urlParams_.SetMulti("ids", ids_)
16062	return c
16063}
16064
16065// MaxResults sets the optional parameter "maxResults": Maximum number
16066// of results to return.
16067func (c *AccountsListCall) MaxResults(maxResults int64) *AccountsListCall {
16068	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
16069	return c
16070}
16071
16072// PageToken sets the optional parameter "pageToken": Value of the
16073// nextPageToken from the previous result page.
16074func (c *AccountsListCall) PageToken(pageToken string) *AccountsListCall {
16075	c.urlParams_.Set("pageToken", pageToken)
16076	return c
16077}
16078
16079// SearchString sets the optional parameter "searchString": Allows
16080// searching for objects by name or ID. Wildcards (*) are allowed. For
16081// example, "account*2015" will return objects with names like "account
16082// June 2015", "account April 2015", or simply "account 2015". Most of
16083// the searches also add wildcards implicitly at the start and the end
16084// of the search string. For example, a search string of "account" will
16085// match objects with name "my account", "account 2015", or simply
16086// "account".
16087func (c *AccountsListCall) SearchString(searchString string) *AccountsListCall {
16088	c.urlParams_.Set("searchString", searchString)
16089	return c
16090}
16091
16092// SortField sets the optional parameter "sortField": Field by which to
16093// sort the list.
16094//
16095// Possible values:
16096//   "ID" (default)
16097//   "NAME"
16098func (c *AccountsListCall) SortField(sortField string) *AccountsListCall {
16099	c.urlParams_.Set("sortField", sortField)
16100	return c
16101}
16102
16103// SortOrder sets the optional parameter "sortOrder": Order of sorted
16104// results.
16105//
16106// Possible values:
16107//   "ASCENDING" (default)
16108//   "DESCENDING"
16109func (c *AccountsListCall) SortOrder(sortOrder string) *AccountsListCall {
16110	c.urlParams_.Set("sortOrder", sortOrder)
16111	return c
16112}
16113
16114// Fields allows partial responses to be retrieved. See
16115// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16116// for more information.
16117func (c *AccountsListCall) Fields(s ...googleapi.Field) *AccountsListCall {
16118	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16119	return c
16120}
16121
16122// IfNoneMatch sets the optional parameter which makes the operation
16123// fail if the object's ETag matches the given value. This is useful for
16124// getting updates only after the object has changed since the last
16125// request. Use googleapi.IsNotModified to check whether the response
16126// error from Do is the result of In-None-Match.
16127func (c *AccountsListCall) IfNoneMatch(entityTag string) *AccountsListCall {
16128	c.ifNoneMatch_ = entityTag
16129	return c
16130}
16131
16132// Context sets the context to be used in this call's Do method. Any
16133// pending HTTP request will be aborted if the provided context is
16134// canceled.
16135func (c *AccountsListCall) Context(ctx context.Context) *AccountsListCall {
16136	c.ctx_ = ctx
16137	return c
16138}
16139
16140// Header returns an http.Header that can be modified by the caller to
16141// add HTTP headers to the request.
16142func (c *AccountsListCall) Header() http.Header {
16143	if c.header_ == nil {
16144		c.header_ = make(http.Header)
16145	}
16146	return c.header_
16147}
16148
16149func (c *AccountsListCall) doRequest(alt string) (*http.Response, error) {
16150	reqHeaders := make(http.Header)
16151	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16152	for k, v := range c.header_ {
16153		reqHeaders[k] = v
16154	}
16155	reqHeaders.Set("User-Agent", c.s.userAgent())
16156	if c.ifNoneMatch_ != "" {
16157		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16158	}
16159	var body io.Reader = nil
16160	c.urlParams_.Set("alt", alt)
16161	c.urlParams_.Set("prettyPrint", "false")
16162	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16163	urls += "?" + c.urlParams_.Encode()
16164	req, err := http.NewRequest("GET", urls, body)
16165	if err != nil {
16166		return nil, err
16167	}
16168	req.Header = reqHeaders
16169	googleapi.Expand(req.URL, map[string]string{
16170		"profileId": strconv.FormatInt(c.profileId, 10),
16171	})
16172	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16173}
16174
16175// Do executes the "dfareporting.accounts.list" call.
16176// Exactly one of *AccountsListResponse or error will be non-nil. Any
16177// non-2xx status code is an error. Response headers are in either
16178// *AccountsListResponse.ServerResponse.Header or (if a response was
16179// returned at all) in error.(*googleapi.Error).Header. Use
16180// googleapi.IsNotModified to check whether the returned error was
16181// because http.StatusNotModified was returned.
16182func (c *AccountsListCall) Do(opts ...googleapi.CallOption) (*AccountsListResponse, error) {
16183	gensupport.SetOptions(c.urlParams_, opts...)
16184	res, err := c.doRequest("json")
16185	if res != nil && res.StatusCode == http.StatusNotModified {
16186		if res.Body != nil {
16187			res.Body.Close()
16188		}
16189		return nil, &googleapi.Error{
16190			Code:   res.StatusCode,
16191			Header: res.Header,
16192		}
16193	}
16194	if err != nil {
16195		return nil, err
16196	}
16197	defer googleapi.CloseBody(res)
16198	if err := googleapi.CheckResponse(res); err != nil {
16199		return nil, err
16200	}
16201	ret := &AccountsListResponse{
16202		ServerResponse: googleapi.ServerResponse{
16203			Header:         res.Header,
16204			HTTPStatusCode: res.StatusCode,
16205		},
16206	}
16207	target := &ret
16208	if err := gensupport.DecodeResponse(target, res); err != nil {
16209		return nil, err
16210	}
16211	return ret, nil
16212	// {
16213	//   "description": "Retrieves the list of accounts, possibly filtered. This method supports paging.",
16214	//   "httpMethod": "GET",
16215	//   "id": "dfareporting.accounts.list",
16216	//   "parameterOrder": [
16217	//     "profileId"
16218	//   ],
16219	//   "parameters": {
16220	//     "active": {
16221	//       "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.",
16222	//       "location": "query",
16223	//       "type": "boolean"
16224	//     },
16225	//     "ids": {
16226	//       "description": "Select only accounts with these IDs.",
16227	//       "format": "int64",
16228	//       "location": "query",
16229	//       "repeated": true,
16230	//       "type": "string"
16231	//     },
16232	//     "maxResults": {
16233	//       "default": "1000",
16234	//       "description": "Maximum number of results to return.",
16235	//       "format": "int32",
16236	//       "location": "query",
16237	//       "maximum": "1000",
16238	//       "minimum": "0",
16239	//       "type": "integer"
16240	//     },
16241	//     "pageToken": {
16242	//       "description": "Value of the nextPageToken from the previous result page.",
16243	//       "location": "query",
16244	//       "type": "string"
16245	//     },
16246	//     "profileId": {
16247	//       "description": "User profile ID associated with this request.",
16248	//       "format": "int64",
16249	//       "location": "path",
16250	//       "required": true,
16251	//       "type": "string"
16252	//     },
16253	//     "searchString": {
16254	//       "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\".",
16255	//       "location": "query",
16256	//       "type": "string"
16257	//     },
16258	//     "sortField": {
16259	//       "default": "ID",
16260	//       "description": "Field by which to sort the list.",
16261	//       "enum": [
16262	//         "ID",
16263	//         "NAME"
16264	//       ],
16265	//       "enumDescriptions": [
16266	//         "",
16267	//         ""
16268	//       ],
16269	//       "location": "query",
16270	//       "type": "string"
16271	//     },
16272	//     "sortOrder": {
16273	//       "default": "ASCENDING",
16274	//       "description": "Order of sorted results.",
16275	//       "enum": [
16276	//         "ASCENDING",
16277	//         "DESCENDING"
16278	//       ],
16279	//       "enumDescriptions": [
16280	//         "",
16281	//         ""
16282	//       ],
16283	//       "location": "query",
16284	//       "type": "string"
16285	//     }
16286	//   },
16287	//   "path": "userprofiles/{profileId}/accounts",
16288	//   "response": {
16289	//     "$ref": "AccountsListResponse"
16290	//   },
16291	//   "scopes": [
16292	//     "https://www.googleapis.com/auth/dfatrafficking"
16293	//   ]
16294	// }
16295
16296}
16297
16298// Pages invokes f for each page of results.
16299// A non-nil error returned from f will halt the iteration.
16300// The provided context supersedes any context provided to the Context method.
16301func (c *AccountsListCall) Pages(ctx context.Context, f func(*AccountsListResponse) error) error {
16302	c.ctx_ = ctx
16303	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
16304	for {
16305		x, err := c.Do()
16306		if err != nil {
16307			return err
16308		}
16309		if err := f(x); err != nil {
16310			return err
16311		}
16312		if x.NextPageToken == "" {
16313			return nil
16314		}
16315		c.PageToken(x.NextPageToken)
16316	}
16317}
16318
16319// method id "dfareporting.accounts.patch":
16320
16321type AccountsPatchCall struct {
16322	s          *Service
16323	profileId  int64
16324	account    *Account
16325	urlParams_ gensupport.URLParams
16326	ctx_       context.Context
16327	header_    http.Header
16328}
16329
16330// Patch: Updates an existing account. This method supports patch
16331// semantics.
16332func (r *AccountsService) Patch(profileId int64, id int64, account *Account) *AccountsPatchCall {
16333	c := &AccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16334	c.profileId = profileId
16335	c.urlParams_.Set("id", fmt.Sprint(id))
16336	c.account = account
16337	return c
16338}
16339
16340// Fields allows partial responses to be retrieved. See
16341// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16342// for more information.
16343func (c *AccountsPatchCall) Fields(s ...googleapi.Field) *AccountsPatchCall {
16344	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16345	return c
16346}
16347
16348// Context sets the context to be used in this call's Do method. Any
16349// pending HTTP request will be aborted if the provided context is
16350// canceled.
16351func (c *AccountsPatchCall) Context(ctx context.Context) *AccountsPatchCall {
16352	c.ctx_ = ctx
16353	return c
16354}
16355
16356// Header returns an http.Header that can be modified by the caller to
16357// add HTTP headers to the request.
16358func (c *AccountsPatchCall) Header() http.Header {
16359	if c.header_ == nil {
16360		c.header_ = make(http.Header)
16361	}
16362	return c.header_
16363}
16364
16365func (c *AccountsPatchCall) doRequest(alt string) (*http.Response, error) {
16366	reqHeaders := make(http.Header)
16367	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16368	for k, v := range c.header_ {
16369		reqHeaders[k] = v
16370	}
16371	reqHeaders.Set("User-Agent", c.s.userAgent())
16372	var body io.Reader = nil
16373	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16374	if err != nil {
16375		return nil, err
16376	}
16377	reqHeaders.Set("Content-Type", "application/json")
16378	c.urlParams_.Set("alt", alt)
16379	c.urlParams_.Set("prettyPrint", "false")
16380	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16381	urls += "?" + c.urlParams_.Encode()
16382	req, err := http.NewRequest("PATCH", urls, body)
16383	if err != nil {
16384		return nil, err
16385	}
16386	req.Header = reqHeaders
16387	googleapi.Expand(req.URL, map[string]string{
16388		"profileId": strconv.FormatInt(c.profileId, 10),
16389	})
16390	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16391}
16392
16393// Do executes the "dfareporting.accounts.patch" call.
16394// Exactly one of *Account or error will be non-nil. Any non-2xx status
16395// code is an error. Response headers are in either
16396// *Account.ServerResponse.Header or (if a response was returned at all)
16397// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16398// check whether the returned error was because http.StatusNotModified
16399// was returned.
16400func (c *AccountsPatchCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16401	gensupport.SetOptions(c.urlParams_, opts...)
16402	res, err := c.doRequest("json")
16403	if res != nil && res.StatusCode == http.StatusNotModified {
16404		if res.Body != nil {
16405			res.Body.Close()
16406		}
16407		return nil, &googleapi.Error{
16408			Code:   res.StatusCode,
16409			Header: res.Header,
16410		}
16411	}
16412	if err != nil {
16413		return nil, err
16414	}
16415	defer googleapi.CloseBody(res)
16416	if err := googleapi.CheckResponse(res); err != nil {
16417		return nil, err
16418	}
16419	ret := &Account{
16420		ServerResponse: googleapi.ServerResponse{
16421			Header:         res.Header,
16422			HTTPStatusCode: res.StatusCode,
16423		},
16424	}
16425	target := &ret
16426	if err := gensupport.DecodeResponse(target, res); err != nil {
16427		return nil, err
16428	}
16429	return ret, nil
16430	// {
16431	//   "description": "Updates an existing account. This method supports patch semantics.",
16432	//   "httpMethod": "PATCH",
16433	//   "id": "dfareporting.accounts.patch",
16434	//   "parameterOrder": [
16435	//     "profileId",
16436	//     "id"
16437	//   ],
16438	//   "parameters": {
16439	//     "id": {
16440	//       "description": "Account ID.",
16441	//       "format": "int64",
16442	//       "location": "query",
16443	//       "required": true,
16444	//       "type": "string"
16445	//     },
16446	//     "profileId": {
16447	//       "description": "User profile ID associated with this request.",
16448	//       "format": "int64",
16449	//       "location": "path",
16450	//       "required": true,
16451	//       "type": "string"
16452	//     }
16453	//   },
16454	//   "path": "userprofiles/{profileId}/accounts",
16455	//   "request": {
16456	//     "$ref": "Account"
16457	//   },
16458	//   "response": {
16459	//     "$ref": "Account"
16460	//   },
16461	//   "scopes": [
16462	//     "https://www.googleapis.com/auth/dfatrafficking"
16463	//   ]
16464	// }
16465
16466}
16467
16468// method id "dfareporting.accounts.update":
16469
16470type AccountsUpdateCall struct {
16471	s          *Service
16472	profileId  int64
16473	account    *Account
16474	urlParams_ gensupport.URLParams
16475	ctx_       context.Context
16476	header_    http.Header
16477}
16478
16479// Update: Updates an existing account.
16480func (r *AccountsService) Update(profileId int64, account *Account) *AccountsUpdateCall {
16481	c := &AccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16482	c.profileId = profileId
16483	c.account = account
16484	return c
16485}
16486
16487// Fields allows partial responses to be retrieved. See
16488// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16489// for more information.
16490func (c *AccountsUpdateCall) Fields(s ...googleapi.Field) *AccountsUpdateCall {
16491	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16492	return c
16493}
16494
16495// Context sets the context to be used in this call's Do method. Any
16496// pending HTTP request will be aborted if the provided context is
16497// canceled.
16498func (c *AccountsUpdateCall) Context(ctx context.Context) *AccountsUpdateCall {
16499	c.ctx_ = ctx
16500	return c
16501}
16502
16503// Header returns an http.Header that can be modified by the caller to
16504// add HTTP headers to the request.
16505func (c *AccountsUpdateCall) Header() http.Header {
16506	if c.header_ == nil {
16507		c.header_ = make(http.Header)
16508	}
16509	return c.header_
16510}
16511
16512func (c *AccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
16513	reqHeaders := make(http.Header)
16514	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16515	for k, v := range c.header_ {
16516		reqHeaders[k] = v
16517	}
16518	reqHeaders.Set("User-Agent", c.s.userAgent())
16519	var body io.Reader = nil
16520	body, err := googleapi.WithoutDataWrapper.JSONReader(c.account)
16521	if err != nil {
16522		return nil, err
16523	}
16524	reqHeaders.Set("Content-Type", "application/json")
16525	c.urlParams_.Set("alt", alt)
16526	c.urlParams_.Set("prettyPrint", "false")
16527	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/accounts")
16528	urls += "?" + c.urlParams_.Encode()
16529	req, err := http.NewRequest("PUT", urls, body)
16530	if err != nil {
16531		return nil, err
16532	}
16533	req.Header = reqHeaders
16534	googleapi.Expand(req.URL, map[string]string{
16535		"profileId": strconv.FormatInt(c.profileId, 10),
16536	})
16537	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16538}
16539
16540// Do executes the "dfareporting.accounts.update" call.
16541// Exactly one of *Account or error will be non-nil. Any non-2xx status
16542// code is an error. Response headers are in either
16543// *Account.ServerResponse.Header or (if a response was returned at all)
16544// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
16545// check whether the returned error was because http.StatusNotModified
16546// was returned.
16547func (c *AccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Account, error) {
16548	gensupport.SetOptions(c.urlParams_, opts...)
16549	res, err := c.doRequest("json")
16550	if res != nil && res.StatusCode == http.StatusNotModified {
16551		if res.Body != nil {
16552			res.Body.Close()
16553		}
16554		return nil, &googleapi.Error{
16555			Code:   res.StatusCode,
16556			Header: res.Header,
16557		}
16558	}
16559	if err != nil {
16560		return nil, err
16561	}
16562	defer googleapi.CloseBody(res)
16563	if err := googleapi.CheckResponse(res); err != nil {
16564		return nil, err
16565	}
16566	ret := &Account{
16567		ServerResponse: googleapi.ServerResponse{
16568			Header:         res.Header,
16569			HTTPStatusCode: res.StatusCode,
16570		},
16571	}
16572	target := &ret
16573	if err := gensupport.DecodeResponse(target, res); err != nil {
16574		return nil, err
16575	}
16576	return ret, nil
16577	// {
16578	//   "description": "Updates an existing account.",
16579	//   "httpMethod": "PUT",
16580	//   "id": "dfareporting.accounts.update",
16581	//   "parameterOrder": [
16582	//     "profileId"
16583	//   ],
16584	//   "parameters": {
16585	//     "profileId": {
16586	//       "description": "User profile ID associated with this request.",
16587	//       "format": "int64",
16588	//       "location": "path",
16589	//       "required": true,
16590	//       "type": "string"
16591	//     }
16592	//   },
16593	//   "path": "userprofiles/{profileId}/accounts",
16594	//   "request": {
16595	//     "$ref": "Account"
16596	//   },
16597	//   "response": {
16598	//     "$ref": "Account"
16599	//   },
16600	//   "scopes": [
16601	//     "https://www.googleapis.com/auth/dfatrafficking"
16602	//   ]
16603	// }
16604
16605}
16606
16607// method id "dfareporting.ads.get":
16608
16609type AdsGetCall struct {
16610	s            *Service
16611	profileId    int64
16612	id           int64
16613	urlParams_   gensupport.URLParams
16614	ifNoneMatch_ string
16615	ctx_         context.Context
16616	header_      http.Header
16617}
16618
16619// Get: Gets one ad by ID.
16620func (r *AdsService) Get(profileId int64, id int64) *AdsGetCall {
16621	c := &AdsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16622	c.profileId = profileId
16623	c.id = id
16624	return c
16625}
16626
16627// Fields allows partial responses to be retrieved. See
16628// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16629// for more information.
16630func (c *AdsGetCall) Fields(s ...googleapi.Field) *AdsGetCall {
16631	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16632	return c
16633}
16634
16635// IfNoneMatch sets the optional parameter which makes the operation
16636// fail if the object's ETag matches the given value. This is useful for
16637// getting updates only after the object has changed since the last
16638// request. Use googleapi.IsNotModified to check whether the response
16639// error from Do is the result of In-None-Match.
16640func (c *AdsGetCall) IfNoneMatch(entityTag string) *AdsGetCall {
16641	c.ifNoneMatch_ = entityTag
16642	return c
16643}
16644
16645// Context sets the context to be used in this call's Do method. Any
16646// pending HTTP request will be aborted if the provided context is
16647// canceled.
16648func (c *AdsGetCall) Context(ctx context.Context) *AdsGetCall {
16649	c.ctx_ = ctx
16650	return c
16651}
16652
16653// Header returns an http.Header that can be modified by the caller to
16654// add HTTP headers to the request.
16655func (c *AdsGetCall) Header() http.Header {
16656	if c.header_ == nil {
16657		c.header_ = make(http.Header)
16658	}
16659	return c.header_
16660}
16661
16662func (c *AdsGetCall) doRequest(alt string) (*http.Response, error) {
16663	reqHeaders := make(http.Header)
16664	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16665	for k, v := range c.header_ {
16666		reqHeaders[k] = v
16667	}
16668	reqHeaders.Set("User-Agent", c.s.userAgent())
16669	if c.ifNoneMatch_ != "" {
16670		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
16671	}
16672	var body io.Reader = nil
16673	c.urlParams_.Set("alt", alt)
16674	c.urlParams_.Set("prettyPrint", "false")
16675	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads/{id}")
16676	urls += "?" + c.urlParams_.Encode()
16677	req, err := http.NewRequest("GET", urls, body)
16678	if err != nil {
16679		return nil, err
16680	}
16681	req.Header = reqHeaders
16682	googleapi.Expand(req.URL, map[string]string{
16683		"profileId": strconv.FormatInt(c.profileId, 10),
16684		"id":        strconv.FormatInt(c.id, 10),
16685	})
16686	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16687}
16688
16689// Do executes the "dfareporting.ads.get" call.
16690// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16691// is an error. Response headers are in either *Ad.ServerResponse.Header
16692// or (if a response was returned at all) in
16693// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16694// whether the returned error was because http.StatusNotModified was
16695// returned.
16696func (c *AdsGetCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16697	gensupport.SetOptions(c.urlParams_, opts...)
16698	res, err := c.doRequest("json")
16699	if res != nil && res.StatusCode == http.StatusNotModified {
16700		if res.Body != nil {
16701			res.Body.Close()
16702		}
16703		return nil, &googleapi.Error{
16704			Code:   res.StatusCode,
16705			Header: res.Header,
16706		}
16707	}
16708	if err != nil {
16709		return nil, err
16710	}
16711	defer googleapi.CloseBody(res)
16712	if err := googleapi.CheckResponse(res); err != nil {
16713		return nil, err
16714	}
16715	ret := &Ad{
16716		ServerResponse: googleapi.ServerResponse{
16717			Header:         res.Header,
16718			HTTPStatusCode: res.StatusCode,
16719		},
16720	}
16721	target := &ret
16722	if err := gensupport.DecodeResponse(target, res); err != nil {
16723		return nil, err
16724	}
16725	return ret, nil
16726	// {
16727	//   "description": "Gets one ad by ID.",
16728	//   "httpMethod": "GET",
16729	//   "id": "dfareporting.ads.get",
16730	//   "parameterOrder": [
16731	//     "profileId",
16732	//     "id"
16733	//   ],
16734	//   "parameters": {
16735	//     "id": {
16736	//       "description": "Ad ID.",
16737	//       "format": "int64",
16738	//       "location": "path",
16739	//       "required": true,
16740	//       "type": "string"
16741	//     },
16742	//     "profileId": {
16743	//       "description": "User profile ID associated with this request.",
16744	//       "format": "int64",
16745	//       "location": "path",
16746	//       "required": true,
16747	//       "type": "string"
16748	//     }
16749	//   },
16750	//   "path": "userprofiles/{profileId}/ads/{id}",
16751	//   "response": {
16752	//     "$ref": "Ad"
16753	//   },
16754	//   "scopes": [
16755	//     "https://www.googleapis.com/auth/dfatrafficking"
16756	//   ]
16757	// }
16758
16759}
16760
16761// method id "dfareporting.ads.insert":
16762
16763type AdsInsertCall struct {
16764	s          *Service
16765	profileId  int64
16766	ad         *Ad
16767	urlParams_ gensupport.URLParams
16768	ctx_       context.Context
16769	header_    http.Header
16770}
16771
16772// Insert: Inserts a new ad.
16773func (r *AdsService) Insert(profileId int64, ad *Ad) *AdsInsertCall {
16774	c := &AdsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16775	c.profileId = profileId
16776	c.ad = ad
16777	return c
16778}
16779
16780// Fields allows partial responses to be retrieved. See
16781// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
16782// for more information.
16783func (c *AdsInsertCall) Fields(s ...googleapi.Field) *AdsInsertCall {
16784	c.urlParams_.Set("fields", googleapi.CombineFields(s))
16785	return c
16786}
16787
16788// Context sets the context to be used in this call's Do method. Any
16789// pending HTTP request will be aborted if the provided context is
16790// canceled.
16791func (c *AdsInsertCall) Context(ctx context.Context) *AdsInsertCall {
16792	c.ctx_ = ctx
16793	return c
16794}
16795
16796// Header returns an http.Header that can be modified by the caller to
16797// add HTTP headers to the request.
16798func (c *AdsInsertCall) Header() http.Header {
16799	if c.header_ == nil {
16800		c.header_ = make(http.Header)
16801	}
16802	return c.header_
16803}
16804
16805func (c *AdsInsertCall) doRequest(alt string) (*http.Response, error) {
16806	reqHeaders := make(http.Header)
16807	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
16808	for k, v := range c.header_ {
16809		reqHeaders[k] = v
16810	}
16811	reqHeaders.Set("User-Agent", c.s.userAgent())
16812	var body io.Reader = nil
16813	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
16814	if err != nil {
16815		return nil, err
16816	}
16817	reqHeaders.Set("Content-Type", "application/json")
16818	c.urlParams_.Set("alt", alt)
16819	c.urlParams_.Set("prettyPrint", "false")
16820	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
16821	urls += "?" + c.urlParams_.Encode()
16822	req, err := http.NewRequest("POST", urls, body)
16823	if err != nil {
16824		return nil, err
16825	}
16826	req.Header = reqHeaders
16827	googleapi.Expand(req.URL, map[string]string{
16828		"profileId": strconv.FormatInt(c.profileId, 10),
16829	})
16830	return gensupport.SendRequest(c.ctx_, c.s.client, req)
16831}
16832
16833// Do executes the "dfareporting.ads.insert" call.
16834// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
16835// is an error. Response headers are in either *Ad.ServerResponse.Header
16836// or (if a response was returned at all) in
16837// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
16838// whether the returned error was because http.StatusNotModified was
16839// returned.
16840func (c *AdsInsertCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
16841	gensupport.SetOptions(c.urlParams_, opts...)
16842	res, err := c.doRequest("json")
16843	if res != nil && res.StatusCode == http.StatusNotModified {
16844		if res.Body != nil {
16845			res.Body.Close()
16846		}
16847		return nil, &googleapi.Error{
16848			Code:   res.StatusCode,
16849			Header: res.Header,
16850		}
16851	}
16852	if err != nil {
16853		return nil, err
16854	}
16855	defer googleapi.CloseBody(res)
16856	if err := googleapi.CheckResponse(res); err != nil {
16857		return nil, err
16858	}
16859	ret := &Ad{
16860		ServerResponse: googleapi.ServerResponse{
16861			Header:         res.Header,
16862			HTTPStatusCode: res.StatusCode,
16863		},
16864	}
16865	target := &ret
16866	if err := gensupport.DecodeResponse(target, res); err != nil {
16867		return nil, err
16868	}
16869	return ret, nil
16870	// {
16871	//   "description": "Inserts a new ad.",
16872	//   "httpMethod": "POST",
16873	//   "id": "dfareporting.ads.insert",
16874	//   "parameterOrder": [
16875	//     "profileId"
16876	//   ],
16877	//   "parameters": {
16878	//     "profileId": {
16879	//       "description": "User profile ID associated with this request.",
16880	//       "format": "int64",
16881	//       "location": "path",
16882	//       "required": true,
16883	//       "type": "string"
16884	//     }
16885	//   },
16886	//   "path": "userprofiles/{profileId}/ads",
16887	//   "request": {
16888	//     "$ref": "Ad"
16889	//   },
16890	//   "response": {
16891	//     "$ref": "Ad"
16892	//   },
16893	//   "scopes": [
16894	//     "https://www.googleapis.com/auth/dfatrafficking"
16895	//   ]
16896	// }
16897
16898}
16899
16900// method id "dfareporting.ads.list":
16901
16902type AdsListCall struct {
16903	s            *Service
16904	profileId    int64
16905	urlParams_   gensupport.URLParams
16906	ifNoneMatch_ string
16907	ctx_         context.Context
16908	header_      http.Header
16909}
16910
16911// List: Retrieves a list of ads, possibly filtered. This method
16912// supports paging.
16913func (r *AdsService) List(profileId int64) *AdsListCall {
16914	c := &AdsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
16915	c.profileId = profileId
16916	return c
16917}
16918
16919// Active sets the optional parameter "active": Select only active ads.
16920func (c *AdsListCall) Active(active bool) *AdsListCall {
16921	c.urlParams_.Set("active", fmt.Sprint(active))
16922	return c
16923}
16924
16925// AdvertiserId sets the optional parameter "advertiserId": Select only
16926// ads with this advertiser ID.
16927func (c *AdsListCall) AdvertiserId(advertiserId int64) *AdsListCall {
16928	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
16929	return c
16930}
16931
16932// Archived sets the optional parameter "archived": Select only archived
16933// ads.
16934func (c *AdsListCall) Archived(archived bool) *AdsListCall {
16935	c.urlParams_.Set("archived", fmt.Sprint(archived))
16936	return c
16937}
16938
16939// AudienceSegmentIds sets the optional parameter "audienceSegmentIds":
16940// Select only ads with these audience segment IDs.
16941func (c *AdsListCall) AudienceSegmentIds(audienceSegmentIds ...int64) *AdsListCall {
16942	var audienceSegmentIds_ []string
16943	for _, v := range audienceSegmentIds {
16944		audienceSegmentIds_ = append(audienceSegmentIds_, fmt.Sprint(v))
16945	}
16946	c.urlParams_.SetMulti("audienceSegmentIds", audienceSegmentIds_)
16947	return c
16948}
16949
16950// CampaignIds sets the optional parameter "campaignIds": Select only
16951// ads with these campaign IDs.
16952func (c *AdsListCall) CampaignIds(campaignIds ...int64) *AdsListCall {
16953	var campaignIds_ []string
16954	for _, v := range campaignIds {
16955		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
16956	}
16957	c.urlParams_.SetMulti("campaignIds", campaignIds_)
16958	return c
16959}
16960
16961// Compatibility sets the optional parameter "compatibility": Select
16962// default ads with the specified compatibility. Applicable when type is
16963// AD_SERVING_DEFAULT_AD. DISPLAY and DISPLAY_INTERSTITIAL refer to
16964// rendering either on desktop or on mobile devices for regular or
16965// interstitial ads, respectively. APP and APP_INTERSTITIAL are for
16966// rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an
16967// in-stream video ads developed with the VAST standard.
16968//
16969// Possible values:
16970//   "APP"
16971//   "APP_INTERSTITIAL"
16972//   "DISPLAY"
16973//   "DISPLAY_INTERSTITIAL"
16974//   "IN_STREAM_AUDIO"
16975//   "IN_STREAM_VIDEO"
16976func (c *AdsListCall) Compatibility(compatibility string) *AdsListCall {
16977	c.urlParams_.Set("compatibility", compatibility)
16978	return c
16979}
16980
16981// CreativeIds sets the optional parameter "creativeIds": Select only
16982// ads with these creative IDs assigned.
16983func (c *AdsListCall) CreativeIds(creativeIds ...int64) *AdsListCall {
16984	var creativeIds_ []string
16985	for _, v := range creativeIds {
16986		creativeIds_ = append(creativeIds_, fmt.Sprint(v))
16987	}
16988	c.urlParams_.SetMulti("creativeIds", creativeIds_)
16989	return c
16990}
16991
16992// CreativeOptimizationConfigurationIds sets the optional parameter
16993// "creativeOptimizationConfigurationIds": Select only ads with these
16994// creative optimization configuration IDs.
16995func (c *AdsListCall) CreativeOptimizationConfigurationIds(creativeOptimizationConfigurationIds ...int64) *AdsListCall {
16996	var creativeOptimizationConfigurationIds_ []string
16997	for _, v := range creativeOptimizationConfigurationIds {
16998		creativeOptimizationConfigurationIds_ = append(creativeOptimizationConfigurationIds_, fmt.Sprint(v))
16999	}
17000	c.urlParams_.SetMulti("creativeOptimizationConfigurationIds", creativeOptimizationConfigurationIds_)
17001	return c
17002}
17003
17004// DynamicClickTracker sets the optional parameter
17005// "dynamicClickTracker": Select only dynamic click trackers. Applicable
17006// when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click
17007// trackers. If false, select static click trackers. Leave unset to
17008// select both.
17009func (c *AdsListCall) DynamicClickTracker(dynamicClickTracker bool) *AdsListCall {
17010	c.urlParams_.Set("dynamicClickTracker", fmt.Sprint(dynamicClickTracker))
17011	return c
17012}
17013
17014// Ids sets the optional parameter "ids": Select only ads with these
17015// IDs.
17016func (c *AdsListCall) Ids(ids ...int64) *AdsListCall {
17017	var ids_ []string
17018	for _, v := range ids {
17019		ids_ = append(ids_, fmt.Sprint(v))
17020	}
17021	c.urlParams_.SetMulti("ids", ids_)
17022	return c
17023}
17024
17025// LandingPageIds sets the optional parameter "landingPageIds": Select
17026// only ads with these landing page IDs.
17027func (c *AdsListCall) LandingPageIds(landingPageIds ...int64) *AdsListCall {
17028	var landingPageIds_ []string
17029	for _, v := range landingPageIds {
17030		landingPageIds_ = append(landingPageIds_, fmt.Sprint(v))
17031	}
17032	c.urlParams_.SetMulti("landingPageIds", landingPageIds_)
17033	return c
17034}
17035
17036// MaxResults sets the optional parameter "maxResults": Maximum number
17037// of results to return.
17038func (c *AdsListCall) MaxResults(maxResults int64) *AdsListCall {
17039	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
17040	return c
17041}
17042
17043// OverriddenEventTagId sets the optional parameter
17044// "overriddenEventTagId": Select only ads with this event tag override
17045// ID.
17046func (c *AdsListCall) OverriddenEventTagId(overriddenEventTagId int64) *AdsListCall {
17047	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
17048	return c
17049}
17050
17051// PageToken sets the optional parameter "pageToken": Value of the
17052// nextPageToken from the previous result page.
17053func (c *AdsListCall) PageToken(pageToken string) *AdsListCall {
17054	c.urlParams_.Set("pageToken", pageToken)
17055	return c
17056}
17057
17058// PlacementIds sets the optional parameter "placementIds": Select only
17059// ads with these placement IDs assigned.
17060func (c *AdsListCall) PlacementIds(placementIds ...int64) *AdsListCall {
17061	var placementIds_ []string
17062	for _, v := range placementIds {
17063		placementIds_ = append(placementIds_, fmt.Sprint(v))
17064	}
17065	c.urlParams_.SetMulti("placementIds", placementIds_)
17066	return c
17067}
17068
17069// RemarketingListIds sets the optional parameter "remarketingListIds":
17070// Select only ads whose list targeting expression use these remarketing
17071// list IDs.
17072func (c *AdsListCall) RemarketingListIds(remarketingListIds ...int64) *AdsListCall {
17073	var remarketingListIds_ []string
17074	for _, v := range remarketingListIds {
17075		remarketingListIds_ = append(remarketingListIds_, fmt.Sprint(v))
17076	}
17077	c.urlParams_.SetMulti("remarketingListIds", remarketingListIds_)
17078	return c
17079}
17080
17081// SearchString sets the optional parameter "searchString": Allows
17082// searching for objects by name or ID. Wildcards (*) are allowed. For
17083// example, "ad*2015" will return objects with names like "ad June
17084// 2015", "ad April 2015", or simply "ad 2015". Most of the searches
17085// also add wildcards implicitly at the start and the end of the search
17086// string. For example, a search string of "ad" will match objects with
17087// name "my ad", "ad 2015", or simply "ad".
17088func (c *AdsListCall) SearchString(searchString string) *AdsListCall {
17089	c.urlParams_.Set("searchString", searchString)
17090	return c
17091}
17092
17093// SizeIds sets the optional parameter "sizeIds": Select only ads with
17094// these size IDs.
17095func (c *AdsListCall) SizeIds(sizeIds ...int64) *AdsListCall {
17096	var sizeIds_ []string
17097	for _, v := range sizeIds {
17098		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
17099	}
17100	c.urlParams_.SetMulti("sizeIds", sizeIds_)
17101	return c
17102}
17103
17104// SortField sets the optional parameter "sortField": Field by which to
17105// sort the list.
17106//
17107// Possible values:
17108//   "ID" (default)
17109//   "NAME"
17110func (c *AdsListCall) SortField(sortField string) *AdsListCall {
17111	c.urlParams_.Set("sortField", sortField)
17112	return c
17113}
17114
17115// SortOrder sets the optional parameter "sortOrder": Order of sorted
17116// results.
17117//
17118// Possible values:
17119//   "ASCENDING" (default)
17120//   "DESCENDING"
17121func (c *AdsListCall) SortOrder(sortOrder string) *AdsListCall {
17122	c.urlParams_.Set("sortOrder", sortOrder)
17123	return c
17124}
17125
17126// SslCompliant sets the optional parameter "sslCompliant": Select only
17127// ads that are SSL-compliant.
17128func (c *AdsListCall) SslCompliant(sslCompliant bool) *AdsListCall {
17129	c.urlParams_.Set("sslCompliant", fmt.Sprint(sslCompliant))
17130	return c
17131}
17132
17133// SslRequired sets the optional parameter "sslRequired": Select only
17134// ads that require SSL.
17135func (c *AdsListCall) SslRequired(sslRequired bool) *AdsListCall {
17136	c.urlParams_.Set("sslRequired", fmt.Sprint(sslRequired))
17137	return c
17138}
17139
17140// Type sets the optional parameter "type": Select only ads with these
17141// types.
17142//
17143// Possible values:
17144//   "AD_SERVING_CLICK_TRACKER"
17145//   "AD_SERVING_DEFAULT_AD"
17146//   "AD_SERVING_STANDARD_AD"
17147//   "AD_SERVING_TRACKING"
17148func (c *AdsListCall) Type(type_ ...string) *AdsListCall {
17149	c.urlParams_.SetMulti("type", append([]string{}, type_...))
17150	return c
17151}
17152
17153// Fields allows partial responses to be retrieved. See
17154// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17155// for more information.
17156func (c *AdsListCall) Fields(s ...googleapi.Field) *AdsListCall {
17157	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17158	return c
17159}
17160
17161// IfNoneMatch sets the optional parameter which makes the operation
17162// fail if the object's ETag matches the given value. This is useful for
17163// getting updates only after the object has changed since the last
17164// request. Use googleapi.IsNotModified to check whether the response
17165// error from Do is the result of In-None-Match.
17166func (c *AdsListCall) IfNoneMatch(entityTag string) *AdsListCall {
17167	c.ifNoneMatch_ = entityTag
17168	return c
17169}
17170
17171// Context sets the context to be used in this call's Do method. Any
17172// pending HTTP request will be aborted if the provided context is
17173// canceled.
17174func (c *AdsListCall) Context(ctx context.Context) *AdsListCall {
17175	c.ctx_ = ctx
17176	return c
17177}
17178
17179// Header returns an http.Header that can be modified by the caller to
17180// add HTTP headers to the request.
17181func (c *AdsListCall) Header() http.Header {
17182	if c.header_ == nil {
17183		c.header_ = make(http.Header)
17184	}
17185	return c.header_
17186}
17187
17188func (c *AdsListCall) doRequest(alt string) (*http.Response, error) {
17189	reqHeaders := make(http.Header)
17190	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17191	for k, v := range c.header_ {
17192		reqHeaders[k] = v
17193	}
17194	reqHeaders.Set("User-Agent", c.s.userAgent())
17195	if c.ifNoneMatch_ != "" {
17196		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17197	}
17198	var body io.Reader = nil
17199	c.urlParams_.Set("alt", alt)
17200	c.urlParams_.Set("prettyPrint", "false")
17201	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17202	urls += "?" + c.urlParams_.Encode()
17203	req, err := http.NewRequest("GET", urls, body)
17204	if err != nil {
17205		return nil, err
17206	}
17207	req.Header = reqHeaders
17208	googleapi.Expand(req.URL, map[string]string{
17209		"profileId": strconv.FormatInt(c.profileId, 10),
17210	})
17211	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17212}
17213
17214// Do executes the "dfareporting.ads.list" call.
17215// Exactly one of *AdsListResponse or error will be non-nil. Any non-2xx
17216// status code is an error. Response headers are in either
17217// *AdsListResponse.ServerResponse.Header or (if a response was returned
17218// at all) in error.(*googleapi.Error).Header. Use
17219// googleapi.IsNotModified to check whether the returned error was
17220// because http.StatusNotModified was returned.
17221func (c *AdsListCall) Do(opts ...googleapi.CallOption) (*AdsListResponse, error) {
17222	gensupport.SetOptions(c.urlParams_, opts...)
17223	res, err := c.doRequest("json")
17224	if res != nil && res.StatusCode == http.StatusNotModified {
17225		if res.Body != nil {
17226			res.Body.Close()
17227		}
17228		return nil, &googleapi.Error{
17229			Code:   res.StatusCode,
17230			Header: res.Header,
17231		}
17232	}
17233	if err != nil {
17234		return nil, err
17235	}
17236	defer googleapi.CloseBody(res)
17237	if err := googleapi.CheckResponse(res); err != nil {
17238		return nil, err
17239	}
17240	ret := &AdsListResponse{
17241		ServerResponse: googleapi.ServerResponse{
17242			Header:         res.Header,
17243			HTTPStatusCode: res.StatusCode,
17244		},
17245	}
17246	target := &ret
17247	if err := gensupport.DecodeResponse(target, res); err != nil {
17248		return nil, err
17249	}
17250	return ret, nil
17251	// {
17252	//   "description": "Retrieves a list of ads, possibly filtered. This method supports paging.",
17253	//   "httpMethod": "GET",
17254	//   "id": "dfareporting.ads.list",
17255	//   "parameterOrder": [
17256	//     "profileId"
17257	//   ],
17258	//   "parameters": {
17259	//     "active": {
17260	//       "description": "Select only active ads.",
17261	//       "location": "query",
17262	//       "type": "boolean"
17263	//     },
17264	//     "advertiserId": {
17265	//       "description": "Select only ads with this advertiser ID.",
17266	//       "format": "int64",
17267	//       "location": "query",
17268	//       "type": "string"
17269	//     },
17270	//     "archived": {
17271	//       "description": "Select only archived ads.",
17272	//       "location": "query",
17273	//       "type": "boolean"
17274	//     },
17275	//     "audienceSegmentIds": {
17276	//       "description": "Select only ads with these audience segment IDs.",
17277	//       "format": "int64",
17278	//       "location": "query",
17279	//       "repeated": true,
17280	//       "type": "string"
17281	//     },
17282	//     "campaignIds": {
17283	//       "description": "Select only ads with these campaign IDs.",
17284	//       "format": "int64",
17285	//       "location": "query",
17286	//       "repeated": true,
17287	//       "type": "string"
17288	//     },
17289	//     "compatibility": {
17290	//       "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.",
17291	//       "enum": [
17292	//         "APP",
17293	//         "APP_INTERSTITIAL",
17294	//         "DISPLAY",
17295	//         "DISPLAY_INTERSTITIAL",
17296	//         "IN_STREAM_AUDIO",
17297	//         "IN_STREAM_VIDEO"
17298	//       ],
17299	//       "enumDescriptions": [
17300	//         "",
17301	//         "",
17302	//         "",
17303	//         "",
17304	//         "",
17305	//         ""
17306	//       ],
17307	//       "location": "query",
17308	//       "type": "string"
17309	//     },
17310	//     "creativeIds": {
17311	//       "description": "Select only ads with these creative IDs assigned.",
17312	//       "format": "int64",
17313	//       "location": "query",
17314	//       "repeated": true,
17315	//       "type": "string"
17316	//     },
17317	//     "creativeOptimizationConfigurationIds": {
17318	//       "description": "Select only ads with these creative optimization configuration IDs.",
17319	//       "format": "int64",
17320	//       "location": "query",
17321	//       "repeated": true,
17322	//       "type": "string"
17323	//     },
17324	//     "dynamicClickTracker": {
17325	//       "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.",
17326	//       "location": "query",
17327	//       "type": "boolean"
17328	//     },
17329	//     "ids": {
17330	//       "description": "Select only ads with these IDs.",
17331	//       "format": "int64",
17332	//       "location": "query",
17333	//       "repeated": true,
17334	//       "type": "string"
17335	//     },
17336	//     "landingPageIds": {
17337	//       "description": "Select only ads with these landing page IDs.",
17338	//       "format": "int64",
17339	//       "location": "query",
17340	//       "repeated": true,
17341	//       "type": "string"
17342	//     },
17343	//     "maxResults": {
17344	//       "default": "1000",
17345	//       "description": "Maximum number of results to return.",
17346	//       "format": "int32",
17347	//       "location": "query",
17348	//       "maximum": "1000",
17349	//       "minimum": "0",
17350	//       "type": "integer"
17351	//     },
17352	//     "overriddenEventTagId": {
17353	//       "description": "Select only ads with this event tag override ID.",
17354	//       "format": "int64",
17355	//       "location": "query",
17356	//       "type": "string"
17357	//     },
17358	//     "pageToken": {
17359	//       "description": "Value of the nextPageToken from the previous result page.",
17360	//       "location": "query",
17361	//       "type": "string"
17362	//     },
17363	//     "placementIds": {
17364	//       "description": "Select only ads with these placement IDs assigned.",
17365	//       "format": "int64",
17366	//       "location": "query",
17367	//       "repeated": true,
17368	//       "type": "string"
17369	//     },
17370	//     "profileId": {
17371	//       "description": "User profile ID associated with this request.",
17372	//       "format": "int64",
17373	//       "location": "path",
17374	//       "required": true,
17375	//       "type": "string"
17376	//     },
17377	//     "remarketingListIds": {
17378	//       "description": "Select only ads whose list targeting expression use these remarketing list IDs.",
17379	//       "format": "int64",
17380	//       "location": "query",
17381	//       "repeated": true,
17382	//       "type": "string"
17383	//     },
17384	//     "searchString": {
17385	//       "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\".",
17386	//       "location": "query",
17387	//       "type": "string"
17388	//     },
17389	//     "sizeIds": {
17390	//       "description": "Select only ads with these size IDs.",
17391	//       "format": "int64",
17392	//       "location": "query",
17393	//       "repeated": true,
17394	//       "type": "string"
17395	//     },
17396	//     "sortField": {
17397	//       "default": "ID",
17398	//       "description": "Field by which to sort the list.",
17399	//       "enum": [
17400	//         "ID",
17401	//         "NAME"
17402	//       ],
17403	//       "enumDescriptions": [
17404	//         "",
17405	//         ""
17406	//       ],
17407	//       "location": "query",
17408	//       "type": "string"
17409	//     },
17410	//     "sortOrder": {
17411	//       "default": "ASCENDING",
17412	//       "description": "Order of sorted results.",
17413	//       "enum": [
17414	//         "ASCENDING",
17415	//         "DESCENDING"
17416	//       ],
17417	//       "enumDescriptions": [
17418	//         "",
17419	//         ""
17420	//       ],
17421	//       "location": "query",
17422	//       "type": "string"
17423	//     },
17424	//     "sslCompliant": {
17425	//       "description": "Select only ads that are SSL-compliant.",
17426	//       "location": "query",
17427	//       "type": "boolean"
17428	//     },
17429	//     "sslRequired": {
17430	//       "description": "Select only ads that require SSL.",
17431	//       "location": "query",
17432	//       "type": "boolean"
17433	//     },
17434	//     "type": {
17435	//       "description": "Select only ads with these types.",
17436	//       "enum": [
17437	//         "AD_SERVING_CLICK_TRACKER",
17438	//         "AD_SERVING_DEFAULT_AD",
17439	//         "AD_SERVING_STANDARD_AD",
17440	//         "AD_SERVING_TRACKING"
17441	//       ],
17442	//       "enumDescriptions": [
17443	//         "",
17444	//         "",
17445	//         "",
17446	//         ""
17447	//       ],
17448	//       "location": "query",
17449	//       "repeated": true,
17450	//       "type": "string"
17451	//     }
17452	//   },
17453	//   "path": "userprofiles/{profileId}/ads",
17454	//   "response": {
17455	//     "$ref": "AdsListResponse"
17456	//   },
17457	//   "scopes": [
17458	//     "https://www.googleapis.com/auth/dfatrafficking"
17459	//   ]
17460	// }
17461
17462}
17463
17464// Pages invokes f for each page of results.
17465// A non-nil error returned from f will halt the iteration.
17466// The provided context supersedes any context provided to the Context method.
17467func (c *AdsListCall) Pages(ctx context.Context, f func(*AdsListResponse) error) error {
17468	c.ctx_ = ctx
17469	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
17470	for {
17471		x, err := c.Do()
17472		if err != nil {
17473			return err
17474		}
17475		if err := f(x); err != nil {
17476			return err
17477		}
17478		if x.NextPageToken == "" {
17479			return nil
17480		}
17481		c.PageToken(x.NextPageToken)
17482	}
17483}
17484
17485// method id "dfareporting.ads.patch":
17486
17487type AdsPatchCall struct {
17488	s          *Service
17489	profileId  int64
17490	ad         *Ad
17491	urlParams_ gensupport.URLParams
17492	ctx_       context.Context
17493	header_    http.Header
17494}
17495
17496// Patch: Updates an existing ad. This method supports patch semantics.
17497func (r *AdsService) Patch(profileId int64, id int64, ad *Ad) *AdsPatchCall {
17498	c := &AdsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17499	c.profileId = profileId
17500	c.urlParams_.Set("id", fmt.Sprint(id))
17501	c.ad = ad
17502	return c
17503}
17504
17505// Fields allows partial responses to be retrieved. See
17506// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17507// for more information.
17508func (c *AdsPatchCall) Fields(s ...googleapi.Field) *AdsPatchCall {
17509	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17510	return c
17511}
17512
17513// Context sets the context to be used in this call's Do method. Any
17514// pending HTTP request will be aborted if the provided context is
17515// canceled.
17516func (c *AdsPatchCall) Context(ctx context.Context) *AdsPatchCall {
17517	c.ctx_ = ctx
17518	return c
17519}
17520
17521// Header returns an http.Header that can be modified by the caller to
17522// add HTTP headers to the request.
17523func (c *AdsPatchCall) Header() http.Header {
17524	if c.header_ == nil {
17525		c.header_ = make(http.Header)
17526	}
17527	return c.header_
17528}
17529
17530func (c *AdsPatchCall) doRequest(alt string) (*http.Response, error) {
17531	reqHeaders := make(http.Header)
17532	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17533	for k, v := range c.header_ {
17534		reqHeaders[k] = v
17535	}
17536	reqHeaders.Set("User-Agent", c.s.userAgent())
17537	var body io.Reader = nil
17538	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17539	if err != nil {
17540		return nil, err
17541	}
17542	reqHeaders.Set("Content-Type", "application/json")
17543	c.urlParams_.Set("alt", alt)
17544	c.urlParams_.Set("prettyPrint", "false")
17545	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17546	urls += "?" + c.urlParams_.Encode()
17547	req, err := http.NewRequest("PATCH", urls, body)
17548	if err != nil {
17549		return nil, err
17550	}
17551	req.Header = reqHeaders
17552	googleapi.Expand(req.URL, map[string]string{
17553		"profileId": strconv.FormatInt(c.profileId, 10),
17554	})
17555	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17556}
17557
17558// Do executes the "dfareporting.ads.patch" call.
17559// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17560// is an error. Response headers are in either *Ad.ServerResponse.Header
17561// or (if a response was returned at all) in
17562// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17563// whether the returned error was because http.StatusNotModified was
17564// returned.
17565func (c *AdsPatchCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17566	gensupport.SetOptions(c.urlParams_, opts...)
17567	res, err := c.doRequest("json")
17568	if res != nil && res.StatusCode == http.StatusNotModified {
17569		if res.Body != nil {
17570			res.Body.Close()
17571		}
17572		return nil, &googleapi.Error{
17573			Code:   res.StatusCode,
17574			Header: res.Header,
17575		}
17576	}
17577	if err != nil {
17578		return nil, err
17579	}
17580	defer googleapi.CloseBody(res)
17581	if err := googleapi.CheckResponse(res); err != nil {
17582		return nil, err
17583	}
17584	ret := &Ad{
17585		ServerResponse: googleapi.ServerResponse{
17586			Header:         res.Header,
17587			HTTPStatusCode: res.StatusCode,
17588		},
17589	}
17590	target := &ret
17591	if err := gensupport.DecodeResponse(target, res); err != nil {
17592		return nil, err
17593	}
17594	return ret, nil
17595	// {
17596	//   "description": "Updates an existing ad. This method supports patch semantics.",
17597	//   "httpMethod": "PATCH",
17598	//   "id": "dfareporting.ads.patch",
17599	//   "parameterOrder": [
17600	//     "profileId",
17601	//     "id"
17602	//   ],
17603	//   "parameters": {
17604	//     "id": {
17605	//       "description": "Ad ID.",
17606	//       "format": "int64",
17607	//       "location": "query",
17608	//       "required": true,
17609	//       "type": "string"
17610	//     },
17611	//     "profileId": {
17612	//       "description": "User profile ID associated with this request.",
17613	//       "format": "int64",
17614	//       "location": "path",
17615	//       "required": true,
17616	//       "type": "string"
17617	//     }
17618	//   },
17619	//   "path": "userprofiles/{profileId}/ads",
17620	//   "request": {
17621	//     "$ref": "Ad"
17622	//   },
17623	//   "response": {
17624	//     "$ref": "Ad"
17625	//   },
17626	//   "scopes": [
17627	//     "https://www.googleapis.com/auth/dfatrafficking"
17628	//   ]
17629	// }
17630
17631}
17632
17633// method id "dfareporting.ads.update":
17634
17635type AdsUpdateCall struct {
17636	s          *Service
17637	profileId  int64
17638	ad         *Ad
17639	urlParams_ gensupport.URLParams
17640	ctx_       context.Context
17641	header_    http.Header
17642}
17643
17644// Update: Updates an existing ad.
17645func (r *AdsService) Update(profileId int64, ad *Ad) *AdsUpdateCall {
17646	c := &AdsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17647	c.profileId = profileId
17648	c.ad = ad
17649	return c
17650}
17651
17652// Fields allows partial responses to be retrieved. See
17653// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17654// for more information.
17655func (c *AdsUpdateCall) Fields(s ...googleapi.Field) *AdsUpdateCall {
17656	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17657	return c
17658}
17659
17660// Context sets the context to be used in this call's Do method. Any
17661// pending HTTP request will be aborted if the provided context is
17662// canceled.
17663func (c *AdsUpdateCall) Context(ctx context.Context) *AdsUpdateCall {
17664	c.ctx_ = ctx
17665	return c
17666}
17667
17668// Header returns an http.Header that can be modified by the caller to
17669// add HTTP headers to the request.
17670func (c *AdsUpdateCall) Header() http.Header {
17671	if c.header_ == nil {
17672		c.header_ = make(http.Header)
17673	}
17674	return c.header_
17675}
17676
17677func (c *AdsUpdateCall) doRequest(alt string) (*http.Response, error) {
17678	reqHeaders := make(http.Header)
17679	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17680	for k, v := range c.header_ {
17681		reqHeaders[k] = v
17682	}
17683	reqHeaders.Set("User-Agent", c.s.userAgent())
17684	var body io.Reader = nil
17685	body, err := googleapi.WithoutDataWrapper.JSONReader(c.ad)
17686	if err != nil {
17687		return nil, err
17688	}
17689	reqHeaders.Set("Content-Type", "application/json")
17690	c.urlParams_.Set("alt", alt)
17691	c.urlParams_.Set("prettyPrint", "false")
17692	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/ads")
17693	urls += "?" + c.urlParams_.Encode()
17694	req, err := http.NewRequest("PUT", urls, body)
17695	if err != nil {
17696		return nil, err
17697	}
17698	req.Header = reqHeaders
17699	googleapi.Expand(req.URL, map[string]string{
17700		"profileId": strconv.FormatInt(c.profileId, 10),
17701	})
17702	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17703}
17704
17705// Do executes the "dfareporting.ads.update" call.
17706// Exactly one of *Ad or error will be non-nil. Any non-2xx status code
17707// is an error. Response headers are in either *Ad.ServerResponse.Header
17708// or (if a response was returned at all) in
17709// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
17710// whether the returned error was because http.StatusNotModified was
17711// returned.
17712func (c *AdsUpdateCall) Do(opts ...googleapi.CallOption) (*Ad, error) {
17713	gensupport.SetOptions(c.urlParams_, opts...)
17714	res, err := c.doRequest("json")
17715	if res != nil && res.StatusCode == http.StatusNotModified {
17716		if res.Body != nil {
17717			res.Body.Close()
17718		}
17719		return nil, &googleapi.Error{
17720			Code:   res.StatusCode,
17721			Header: res.Header,
17722		}
17723	}
17724	if err != nil {
17725		return nil, err
17726	}
17727	defer googleapi.CloseBody(res)
17728	if err := googleapi.CheckResponse(res); err != nil {
17729		return nil, err
17730	}
17731	ret := &Ad{
17732		ServerResponse: googleapi.ServerResponse{
17733			Header:         res.Header,
17734			HTTPStatusCode: res.StatusCode,
17735		},
17736	}
17737	target := &ret
17738	if err := gensupport.DecodeResponse(target, res); err != nil {
17739		return nil, err
17740	}
17741	return ret, nil
17742	// {
17743	//   "description": "Updates an existing ad.",
17744	//   "httpMethod": "PUT",
17745	//   "id": "dfareporting.ads.update",
17746	//   "parameterOrder": [
17747	//     "profileId"
17748	//   ],
17749	//   "parameters": {
17750	//     "profileId": {
17751	//       "description": "User profile ID associated with this request.",
17752	//       "format": "int64",
17753	//       "location": "path",
17754	//       "required": true,
17755	//       "type": "string"
17756	//     }
17757	//   },
17758	//   "path": "userprofiles/{profileId}/ads",
17759	//   "request": {
17760	//     "$ref": "Ad"
17761	//   },
17762	//   "response": {
17763	//     "$ref": "Ad"
17764	//   },
17765	//   "scopes": [
17766	//     "https://www.googleapis.com/auth/dfatrafficking"
17767	//   ]
17768	// }
17769
17770}
17771
17772// method id "dfareporting.advertiserGroups.delete":
17773
17774type AdvertiserGroupsDeleteCall struct {
17775	s          *Service
17776	profileId  int64
17777	id         int64
17778	urlParams_ gensupport.URLParams
17779	ctx_       context.Context
17780	header_    http.Header
17781}
17782
17783// Delete: Deletes an existing advertiser group.
17784func (r *AdvertiserGroupsService) Delete(profileId int64, id int64) *AdvertiserGroupsDeleteCall {
17785	c := &AdvertiserGroupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17786	c.profileId = profileId
17787	c.id = id
17788	return c
17789}
17790
17791// Fields allows partial responses to be retrieved. See
17792// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17793// for more information.
17794func (c *AdvertiserGroupsDeleteCall) Fields(s ...googleapi.Field) *AdvertiserGroupsDeleteCall {
17795	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17796	return c
17797}
17798
17799// Context sets the context to be used in this call's Do method. Any
17800// pending HTTP request will be aborted if the provided context is
17801// canceled.
17802func (c *AdvertiserGroupsDeleteCall) Context(ctx context.Context) *AdvertiserGroupsDeleteCall {
17803	c.ctx_ = ctx
17804	return c
17805}
17806
17807// Header returns an http.Header that can be modified by the caller to
17808// add HTTP headers to the request.
17809func (c *AdvertiserGroupsDeleteCall) Header() http.Header {
17810	if c.header_ == nil {
17811		c.header_ = make(http.Header)
17812	}
17813	return c.header_
17814}
17815
17816func (c *AdvertiserGroupsDeleteCall) doRequest(alt string) (*http.Response, error) {
17817	reqHeaders := make(http.Header)
17818	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17819	for k, v := range c.header_ {
17820		reqHeaders[k] = v
17821	}
17822	reqHeaders.Set("User-Agent", c.s.userAgent())
17823	var body io.Reader = nil
17824	c.urlParams_.Set("alt", alt)
17825	c.urlParams_.Set("prettyPrint", "false")
17826	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17827	urls += "?" + c.urlParams_.Encode()
17828	req, err := http.NewRequest("DELETE", urls, body)
17829	if err != nil {
17830		return nil, err
17831	}
17832	req.Header = reqHeaders
17833	googleapi.Expand(req.URL, map[string]string{
17834		"profileId": strconv.FormatInt(c.profileId, 10),
17835		"id":        strconv.FormatInt(c.id, 10),
17836	})
17837	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17838}
17839
17840// Do executes the "dfareporting.advertiserGroups.delete" call.
17841func (c *AdvertiserGroupsDeleteCall) Do(opts ...googleapi.CallOption) error {
17842	gensupport.SetOptions(c.urlParams_, opts...)
17843	res, err := c.doRequest("json")
17844	if err != nil {
17845		return err
17846	}
17847	defer googleapi.CloseBody(res)
17848	if err := googleapi.CheckResponse(res); err != nil {
17849		return err
17850	}
17851	return nil
17852	// {
17853	//   "description": "Deletes an existing advertiser group.",
17854	//   "httpMethod": "DELETE",
17855	//   "id": "dfareporting.advertiserGroups.delete",
17856	//   "parameterOrder": [
17857	//     "profileId",
17858	//     "id"
17859	//   ],
17860	//   "parameters": {
17861	//     "id": {
17862	//       "description": "Advertiser group ID.",
17863	//       "format": "int64",
17864	//       "location": "path",
17865	//       "required": true,
17866	//       "type": "string"
17867	//     },
17868	//     "profileId": {
17869	//       "description": "User profile ID associated with this request.",
17870	//       "format": "int64",
17871	//       "location": "path",
17872	//       "required": true,
17873	//       "type": "string"
17874	//     }
17875	//   },
17876	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
17877	//   "scopes": [
17878	//     "https://www.googleapis.com/auth/dfatrafficking"
17879	//   ]
17880	// }
17881
17882}
17883
17884// method id "dfareporting.advertiserGroups.get":
17885
17886type AdvertiserGroupsGetCall struct {
17887	s            *Service
17888	profileId    int64
17889	id           int64
17890	urlParams_   gensupport.URLParams
17891	ifNoneMatch_ string
17892	ctx_         context.Context
17893	header_      http.Header
17894}
17895
17896// Get: Gets one advertiser group by ID.
17897func (r *AdvertiserGroupsService) Get(profileId int64, id int64) *AdvertiserGroupsGetCall {
17898	c := &AdvertiserGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
17899	c.profileId = profileId
17900	c.id = id
17901	return c
17902}
17903
17904// Fields allows partial responses to be retrieved. See
17905// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
17906// for more information.
17907func (c *AdvertiserGroupsGetCall) Fields(s ...googleapi.Field) *AdvertiserGroupsGetCall {
17908	c.urlParams_.Set("fields", googleapi.CombineFields(s))
17909	return c
17910}
17911
17912// IfNoneMatch sets the optional parameter which makes the operation
17913// fail if the object's ETag matches the given value. This is useful for
17914// getting updates only after the object has changed since the last
17915// request. Use googleapi.IsNotModified to check whether the response
17916// error from Do is the result of In-None-Match.
17917func (c *AdvertiserGroupsGetCall) IfNoneMatch(entityTag string) *AdvertiserGroupsGetCall {
17918	c.ifNoneMatch_ = entityTag
17919	return c
17920}
17921
17922// Context sets the context to be used in this call's Do method. Any
17923// pending HTTP request will be aborted if the provided context is
17924// canceled.
17925func (c *AdvertiserGroupsGetCall) Context(ctx context.Context) *AdvertiserGroupsGetCall {
17926	c.ctx_ = ctx
17927	return c
17928}
17929
17930// Header returns an http.Header that can be modified by the caller to
17931// add HTTP headers to the request.
17932func (c *AdvertiserGroupsGetCall) Header() http.Header {
17933	if c.header_ == nil {
17934		c.header_ = make(http.Header)
17935	}
17936	return c.header_
17937}
17938
17939func (c *AdvertiserGroupsGetCall) doRequest(alt string) (*http.Response, error) {
17940	reqHeaders := make(http.Header)
17941	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
17942	for k, v := range c.header_ {
17943		reqHeaders[k] = v
17944	}
17945	reqHeaders.Set("User-Agent", c.s.userAgent())
17946	if c.ifNoneMatch_ != "" {
17947		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
17948	}
17949	var body io.Reader = nil
17950	c.urlParams_.Set("alt", alt)
17951	c.urlParams_.Set("prettyPrint", "false")
17952	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups/{id}")
17953	urls += "?" + c.urlParams_.Encode()
17954	req, err := http.NewRequest("GET", urls, body)
17955	if err != nil {
17956		return nil, err
17957	}
17958	req.Header = reqHeaders
17959	googleapi.Expand(req.URL, map[string]string{
17960		"profileId": strconv.FormatInt(c.profileId, 10),
17961		"id":        strconv.FormatInt(c.id, 10),
17962	})
17963	return gensupport.SendRequest(c.ctx_, c.s.client, req)
17964}
17965
17966// Do executes the "dfareporting.advertiserGroups.get" call.
17967// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
17968// status code is an error. Response headers are in either
17969// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
17970// at all) in error.(*googleapi.Error).Header. Use
17971// googleapi.IsNotModified to check whether the returned error was
17972// because http.StatusNotModified was returned.
17973func (c *AdvertiserGroupsGetCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
17974	gensupport.SetOptions(c.urlParams_, opts...)
17975	res, err := c.doRequest("json")
17976	if res != nil && res.StatusCode == http.StatusNotModified {
17977		if res.Body != nil {
17978			res.Body.Close()
17979		}
17980		return nil, &googleapi.Error{
17981			Code:   res.StatusCode,
17982			Header: res.Header,
17983		}
17984	}
17985	if err != nil {
17986		return nil, err
17987	}
17988	defer googleapi.CloseBody(res)
17989	if err := googleapi.CheckResponse(res); err != nil {
17990		return nil, err
17991	}
17992	ret := &AdvertiserGroup{
17993		ServerResponse: googleapi.ServerResponse{
17994			Header:         res.Header,
17995			HTTPStatusCode: res.StatusCode,
17996		},
17997	}
17998	target := &ret
17999	if err := gensupport.DecodeResponse(target, res); err != nil {
18000		return nil, err
18001	}
18002	return ret, nil
18003	// {
18004	//   "description": "Gets one advertiser group by ID.",
18005	//   "httpMethod": "GET",
18006	//   "id": "dfareporting.advertiserGroups.get",
18007	//   "parameterOrder": [
18008	//     "profileId",
18009	//     "id"
18010	//   ],
18011	//   "parameters": {
18012	//     "id": {
18013	//       "description": "Advertiser group ID.",
18014	//       "format": "int64",
18015	//       "location": "path",
18016	//       "required": true,
18017	//       "type": "string"
18018	//     },
18019	//     "profileId": {
18020	//       "description": "User profile ID associated with this request.",
18021	//       "format": "int64",
18022	//       "location": "path",
18023	//       "required": true,
18024	//       "type": "string"
18025	//     }
18026	//   },
18027	//   "path": "userprofiles/{profileId}/advertiserGroups/{id}",
18028	//   "response": {
18029	//     "$ref": "AdvertiserGroup"
18030	//   },
18031	//   "scopes": [
18032	//     "https://www.googleapis.com/auth/dfatrafficking"
18033	//   ]
18034	// }
18035
18036}
18037
18038// method id "dfareporting.advertiserGroups.insert":
18039
18040type AdvertiserGroupsInsertCall struct {
18041	s               *Service
18042	profileId       int64
18043	advertisergroup *AdvertiserGroup
18044	urlParams_      gensupport.URLParams
18045	ctx_            context.Context
18046	header_         http.Header
18047}
18048
18049// Insert: Inserts a new advertiser group.
18050func (r *AdvertiserGroupsService) Insert(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsInsertCall {
18051	c := &AdvertiserGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18052	c.profileId = profileId
18053	c.advertisergroup = advertisergroup
18054	return c
18055}
18056
18057// Fields allows partial responses to be retrieved. See
18058// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18059// for more information.
18060func (c *AdvertiserGroupsInsertCall) Fields(s ...googleapi.Field) *AdvertiserGroupsInsertCall {
18061	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18062	return c
18063}
18064
18065// Context sets the context to be used in this call's Do method. Any
18066// pending HTTP request will be aborted if the provided context is
18067// canceled.
18068func (c *AdvertiserGroupsInsertCall) Context(ctx context.Context) *AdvertiserGroupsInsertCall {
18069	c.ctx_ = ctx
18070	return c
18071}
18072
18073// Header returns an http.Header that can be modified by the caller to
18074// add HTTP headers to the request.
18075func (c *AdvertiserGroupsInsertCall) Header() http.Header {
18076	if c.header_ == nil {
18077		c.header_ = make(http.Header)
18078	}
18079	return c.header_
18080}
18081
18082func (c *AdvertiserGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
18083	reqHeaders := make(http.Header)
18084	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18085	for k, v := range c.header_ {
18086		reqHeaders[k] = v
18087	}
18088	reqHeaders.Set("User-Agent", c.s.userAgent())
18089	var body io.Reader = nil
18090	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18091	if err != nil {
18092		return nil, err
18093	}
18094	reqHeaders.Set("Content-Type", "application/json")
18095	c.urlParams_.Set("alt", alt)
18096	c.urlParams_.Set("prettyPrint", "false")
18097	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18098	urls += "?" + c.urlParams_.Encode()
18099	req, err := http.NewRequest("POST", urls, body)
18100	if err != nil {
18101		return nil, err
18102	}
18103	req.Header = reqHeaders
18104	googleapi.Expand(req.URL, map[string]string{
18105		"profileId": strconv.FormatInt(c.profileId, 10),
18106	})
18107	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18108}
18109
18110// Do executes the "dfareporting.advertiserGroups.insert" call.
18111// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18112// status code is an error. Response headers are in either
18113// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18114// at all) in error.(*googleapi.Error).Header. Use
18115// googleapi.IsNotModified to check whether the returned error was
18116// because http.StatusNotModified was returned.
18117func (c *AdvertiserGroupsInsertCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18118	gensupport.SetOptions(c.urlParams_, opts...)
18119	res, err := c.doRequest("json")
18120	if res != nil && res.StatusCode == http.StatusNotModified {
18121		if res.Body != nil {
18122			res.Body.Close()
18123		}
18124		return nil, &googleapi.Error{
18125			Code:   res.StatusCode,
18126			Header: res.Header,
18127		}
18128	}
18129	if err != nil {
18130		return nil, err
18131	}
18132	defer googleapi.CloseBody(res)
18133	if err := googleapi.CheckResponse(res); err != nil {
18134		return nil, err
18135	}
18136	ret := &AdvertiserGroup{
18137		ServerResponse: googleapi.ServerResponse{
18138			Header:         res.Header,
18139			HTTPStatusCode: res.StatusCode,
18140		},
18141	}
18142	target := &ret
18143	if err := gensupport.DecodeResponse(target, res); err != nil {
18144		return nil, err
18145	}
18146	return ret, nil
18147	// {
18148	//   "description": "Inserts a new advertiser group.",
18149	//   "httpMethod": "POST",
18150	//   "id": "dfareporting.advertiserGroups.insert",
18151	//   "parameterOrder": [
18152	//     "profileId"
18153	//   ],
18154	//   "parameters": {
18155	//     "profileId": {
18156	//       "description": "User profile ID associated with this request.",
18157	//       "format": "int64",
18158	//       "location": "path",
18159	//       "required": true,
18160	//       "type": "string"
18161	//     }
18162	//   },
18163	//   "path": "userprofiles/{profileId}/advertiserGroups",
18164	//   "request": {
18165	//     "$ref": "AdvertiserGroup"
18166	//   },
18167	//   "response": {
18168	//     "$ref": "AdvertiserGroup"
18169	//   },
18170	//   "scopes": [
18171	//     "https://www.googleapis.com/auth/dfatrafficking"
18172	//   ]
18173	// }
18174
18175}
18176
18177// method id "dfareporting.advertiserGroups.list":
18178
18179type AdvertiserGroupsListCall struct {
18180	s            *Service
18181	profileId    int64
18182	urlParams_   gensupport.URLParams
18183	ifNoneMatch_ string
18184	ctx_         context.Context
18185	header_      http.Header
18186}
18187
18188// List: Retrieves a list of advertiser groups, possibly filtered. This
18189// method supports paging.
18190func (r *AdvertiserGroupsService) List(profileId int64) *AdvertiserGroupsListCall {
18191	c := &AdvertiserGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18192	c.profileId = profileId
18193	return c
18194}
18195
18196// Ids sets the optional parameter "ids": Select only advertiser groups
18197// with these IDs.
18198func (c *AdvertiserGroupsListCall) Ids(ids ...int64) *AdvertiserGroupsListCall {
18199	var ids_ []string
18200	for _, v := range ids {
18201		ids_ = append(ids_, fmt.Sprint(v))
18202	}
18203	c.urlParams_.SetMulti("ids", ids_)
18204	return c
18205}
18206
18207// MaxResults sets the optional parameter "maxResults": Maximum number
18208// of results to return.
18209func (c *AdvertiserGroupsListCall) MaxResults(maxResults int64) *AdvertiserGroupsListCall {
18210	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
18211	return c
18212}
18213
18214// PageToken sets the optional parameter "pageToken": Value of the
18215// nextPageToken from the previous result page.
18216func (c *AdvertiserGroupsListCall) PageToken(pageToken string) *AdvertiserGroupsListCall {
18217	c.urlParams_.Set("pageToken", pageToken)
18218	return c
18219}
18220
18221// SearchString sets the optional parameter "searchString": Allows
18222// searching for objects by name or ID. Wildcards (*) are allowed. For
18223// example, "advertiser*2015" will return objects with names like
18224// "advertiser group June 2015", "advertiser group April 2015", or
18225// simply "advertiser group 2015". Most of the searches also add
18226// wildcards implicitly at the start and the end of the search string.
18227// For example, a search string of "advertisergroup" will match objects
18228// with name "my advertisergroup", "advertisergroup 2015", or simply
18229// "advertisergroup".
18230func (c *AdvertiserGroupsListCall) SearchString(searchString string) *AdvertiserGroupsListCall {
18231	c.urlParams_.Set("searchString", searchString)
18232	return c
18233}
18234
18235// SortField sets the optional parameter "sortField": Field by which to
18236// sort the list.
18237//
18238// Possible values:
18239//   "ID" (default)
18240//   "NAME"
18241func (c *AdvertiserGroupsListCall) SortField(sortField string) *AdvertiserGroupsListCall {
18242	c.urlParams_.Set("sortField", sortField)
18243	return c
18244}
18245
18246// SortOrder sets the optional parameter "sortOrder": Order of sorted
18247// results.
18248//
18249// Possible values:
18250//   "ASCENDING" (default)
18251//   "DESCENDING"
18252func (c *AdvertiserGroupsListCall) SortOrder(sortOrder string) *AdvertiserGroupsListCall {
18253	c.urlParams_.Set("sortOrder", sortOrder)
18254	return c
18255}
18256
18257// Fields allows partial responses to be retrieved. See
18258// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18259// for more information.
18260func (c *AdvertiserGroupsListCall) Fields(s ...googleapi.Field) *AdvertiserGroupsListCall {
18261	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18262	return c
18263}
18264
18265// IfNoneMatch sets the optional parameter which makes the operation
18266// fail if the object's ETag matches the given value. This is useful for
18267// getting updates only after the object has changed since the last
18268// request. Use googleapi.IsNotModified to check whether the response
18269// error from Do is the result of In-None-Match.
18270func (c *AdvertiserGroupsListCall) IfNoneMatch(entityTag string) *AdvertiserGroupsListCall {
18271	c.ifNoneMatch_ = entityTag
18272	return c
18273}
18274
18275// Context sets the context to be used in this call's Do method. Any
18276// pending HTTP request will be aborted if the provided context is
18277// canceled.
18278func (c *AdvertiserGroupsListCall) Context(ctx context.Context) *AdvertiserGroupsListCall {
18279	c.ctx_ = ctx
18280	return c
18281}
18282
18283// Header returns an http.Header that can be modified by the caller to
18284// add HTTP headers to the request.
18285func (c *AdvertiserGroupsListCall) Header() http.Header {
18286	if c.header_ == nil {
18287		c.header_ = make(http.Header)
18288	}
18289	return c.header_
18290}
18291
18292func (c *AdvertiserGroupsListCall) doRequest(alt string) (*http.Response, error) {
18293	reqHeaders := make(http.Header)
18294	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18295	for k, v := range c.header_ {
18296		reqHeaders[k] = v
18297	}
18298	reqHeaders.Set("User-Agent", c.s.userAgent())
18299	if c.ifNoneMatch_ != "" {
18300		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18301	}
18302	var body io.Reader = nil
18303	c.urlParams_.Set("alt", alt)
18304	c.urlParams_.Set("prettyPrint", "false")
18305	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18306	urls += "?" + c.urlParams_.Encode()
18307	req, err := http.NewRequest("GET", urls, body)
18308	if err != nil {
18309		return nil, err
18310	}
18311	req.Header = reqHeaders
18312	googleapi.Expand(req.URL, map[string]string{
18313		"profileId": strconv.FormatInt(c.profileId, 10),
18314	})
18315	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18316}
18317
18318// Do executes the "dfareporting.advertiserGroups.list" call.
18319// Exactly one of *AdvertiserGroupsListResponse or error will be
18320// non-nil. Any non-2xx status code is an error. Response headers are in
18321// either *AdvertiserGroupsListResponse.ServerResponse.Header or (if a
18322// response was returned at all) in error.(*googleapi.Error).Header. Use
18323// googleapi.IsNotModified to check whether the returned error was
18324// because http.StatusNotModified was returned.
18325func (c *AdvertiserGroupsListCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroupsListResponse, error) {
18326	gensupport.SetOptions(c.urlParams_, opts...)
18327	res, err := c.doRequest("json")
18328	if res != nil && res.StatusCode == http.StatusNotModified {
18329		if res.Body != nil {
18330			res.Body.Close()
18331		}
18332		return nil, &googleapi.Error{
18333			Code:   res.StatusCode,
18334			Header: res.Header,
18335		}
18336	}
18337	if err != nil {
18338		return nil, err
18339	}
18340	defer googleapi.CloseBody(res)
18341	if err := googleapi.CheckResponse(res); err != nil {
18342		return nil, err
18343	}
18344	ret := &AdvertiserGroupsListResponse{
18345		ServerResponse: googleapi.ServerResponse{
18346			Header:         res.Header,
18347			HTTPStatusCode: res.StatusCode,
18348		},
18349	}
18350	target := &ret
18351	if err := gensupport.DecodeResponse(target, res); err != nil {
18352		return nil, err
18353	}
18354	return ret, nil
18355	// {
18356	//   "description": "Retrieves a list of advertiser groups, possibly filtered. This method supports paging.",
18357	//   "httpMethod": "GET",
18358	//   "id": "dfareporting.advertiserGroups.list",
18359	//   "parameterOrder": [
18360	//     "profileId"
18361	//   ],
18362	//   "parameters": {
18363	//     "ids": {
18364	//       "description": "Select only advertiser groups with these IDs.",
18365	//       "format": "int64",
18366	//       "location": "query",
18367	//       "repeated": true,
18368	//       "type": "string"
18369	//     },
18370	//     "maxResults": {
18371	//       "default": "1000",
18372	//       "description": "Maximum number of results to return.",
18373	//       "format": "int32",
18374	//       "location": "query",
18375	//       "maximum": "1000",
18376	//       "minimum": "0",
18377	//       "type": "integer"
18378	//     },
18379	//     "pageToken": {
18380	//       "description": "Value of the nextPageToken from the previous result page.",
18381	//       "location": "query",
18382	//       "type": "string"
18383	//     },
18384	//     "profileId": {
18385	//       "description": "User profile ID associated with this request.",
18386	//       "format": "int64",
18387	//       "location": "path",
18388	//       "required": true,
18389	//       "type": "string"
18390	//     },
18391	//     "searchString": {
18392	//       "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\".",
18393	//       "location": "query",
18394	//       "type": "string"
18395	//     },
18396	//     "sortField": {
18397	//       "default": "ID",
18398	//       "description": "Field by which to sort the list.",
18399	//       "enum": [
18400	//         "ID",
18401	//         "NAME"
18402	//       ],
18403	//       "enumDescriptions": [
18404	//         "",
18405	//         ""
18406	//       ],
18407	//       "location": "query",
18408	//       "type": "string"
18409	//     },
18410	//     "sortOrder": {
18411	//       "default": "ASCENDING",
18412	//       "description": "Order of sorted results.",
18413	//       "enum": [
18414	//         "ASCENDING",
18415	//         "DESCENDING"
18416	//       ],
18417	//       "enumDescriptions": [
18418	//         "",
18419	//         ""
18420	//       ],
18421	//       "location": "query",
18422	//       "type": "string"
18423	//     }
18424	//   },
18425	//   "path": "userprofiles/{profileId}/advertiserGroups",
18426	//   "response": {
18427	//     "$ref": "AdvertiserGroupsListResponse"
18428	//   },
18429	//   "scopes": [
18430	//     "https://www.googleapis.com/auth/dfatrafficking"
18431	//   ]
18432	// }
18433
18434}
18435
18436// Pages invokes f for each page of results.
18437// A non-nil error returned from f will halt the iteration.
18438// The provided context supersedes any context provided to the Context method.
18439func (c *AdvertiserGroupsListCall) Pages(ctx context.Context, f func(*AdvertiserGroupsListResponse) error) error {
18440	c.ctx_ = ctx
18441	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
18442	for {
18443		x, err := c.Do()
18444		if err != nil {
18445			return err
18446		}
18447		if err := f(x); err != nil {
18448			return err
18449		}
18450		if x.NextPageToken == "" {
18451			return nil
18452		}
18453		c.PageToken(x.NextPageToken)
18454	}
18455}
18456
18457// method id "dfareporting.advertiserGroups.patch":
18458
18459type AdvertiserGroupsPatchCall struct {
18460	s               *Service
18461	profileId       int64
18462	advertisergroup *AdvertiserGroup
18463	urlParams_      gensupport.URLParams
18464	ctx_            context.Context
18465	header_         http.Header
18466}
18467
18468// Patch: Updates an existing advertiser group. This method supports
18469// patch semantics.
18470func (r *AdvertiserGroupsService) Patch(profileId int64, id int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsPatchCall {
18471	c := &AdvertiserGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18472	c.profileId = profileId
18473	c.urlParams_.Set("id", fmt.Sprint(id))
18474	c.advertisergroup = advertisergroup
18475	return c
18476}
18477
18478// Fields allows partial responses to be retrieved. See
18479// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18480// for more information.
18481func (c *AdvertiserGroupsPatchCall) Fields(s ...googleapi.Field) *AdvertiserGroupsPatchCall {
18482	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18483	return c
18484}
18485
18486// Context sets the context to be used in this call's Do method. Any
18487// pending HTTP request will be aborted if the provided context is
18488// canceled.
18489func (c *AdvertiserGroupsPatchCall) Context(ctx context.Context) *AdvertiserGroupsPatchCall {
18490	c.ctx_ = ctx
18491	return c
18492}
18493
18494// Header returns an http.Header that can be modified by the caller to
18495// add HTTP headers to the request.
18496func (c *AdvertiserGroupsPatchCall) Header() http.Header {
18497	if c.header_ == nil {
18498		c.header_ = make(http.Header)
18499	}
18500	return c.header_
18501}
18502
18503func (c *AdvertiserGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
18504	reqHeaders := make(http.Header)
18505	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18506	for k, v := range c.header_ {
18507		reqHeaders[k] = v
18508	}
18509	reqHeaders.Set("User-Agent", c.s.userAgent())
18510	var body io.Reader = nil
18511	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18512	if err != nil {
18513		return nil, err
18514	}
18515	reqHeaders.Set("Content-Type", "application/json")
18516	c.urlParams_.Set("alt", alt)
18517	c.urlParams_.Set("prettyPrint", "false")
18518	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18519	urls += "?" + c.urlParams_.Encode()
18520	req, err := http.NewRequest("PATCH", urls, body)
18521	if err != nil {
18522		return nil, err
18523	}
18524	req.Header = reqHeaders
18525	googleapi.Expand(req.URL, map[string]string{
18526		"profileId": strconv.FormatInt(c.profileId, 10),
18527	})
18528	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18529}
18530
18531// Do executes the "dfareporting.advertiserGroups.patch" call.
18532// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18533// status code is an error. Response headers are in either
18534// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18535// at all) in error.(*googleapi.Error).Header. Use
18536// googleapi.IsNotModified to check whether the returned error was
18537// because http.StatusNotModified was returned.
18538func (c *AdvertiserGroupsPatchCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18539	gensupport.SetOptions(c.urlParams_, opts...)
18540	res, err := c.doRequest("json")
18541	if res != nil && res.StatusCode == http.StatusNotModified {
18542		if res.Body != nil {
18543			res.Body.Close()
18544		}
18545		return nil, &googleapi.Error{
18546			Code:   res.StatusCode,
18547			Header: res.Header,
18548		}
18549	}
18550	if err != nil {
18551		return nil, err
18552	}
18553	defer googleapi.CloseBody(res)
18554	if err := googleapi.CheckResponse(res); err != nil {
18555		return nil, err
18556	}
18557	ret := &AdvertiserGroup{
18558		ServerResponse: googleapi.ServerResponse{
18559			Header:         res.Header,
18560			HTTPStatusCode: res.StatusCode,
18561		},
18562	}
18563	target := &ret
18564	if err := gensupport.DecodeResponse(target, res); err != nil {
18565		return nil, err
18566	}
18567	return ret, nil
18568	// {
18569	//   "description": "Updates an existing advertiser group. This method supports patch semantics.",
18570	//   "httpMethod": "PATCH",
18571	//   "id": "dfareporting.advertiserGroups.patch",
18572	//   "parameterOrder": [
18573	//     "profileId",
18574	//     "id"
18575	//   ],
18576	//   "parameters": {
18577	//     "id": {
18578	//       "description": "Advertiser group ID.",
18579	//       "format": "int64",
18580	//       "location": "query",
18581	//       "required": true,
18582	//       "type": "string"
18583	//     },
18584	//     "profileId": {
18585	//       "description": "User profile ID associated with this request.",
18586	//       "format": "int64",
18587	//       "location": "path",
18588	//       "required": true,
18589	//       "type": "string"
18590	//     }
18591	//   },
18592	//   "path": "userprofiles/{profileId}/advertiserGroups",
18593	//   "request": {
18594	//     "$ref": "AdvertiserGroup"
18595	//   },
18596	//   "response": {
18597	//     "$ref": "AdvertiserGroup"
18598	//   },
18599	//   "scopes": [
18600	//     "https://www.googleapis.com/auth/dfatrafficking"
18601	//   ]
18602	// }
18603
18604}
18605
18606// method id "dfareporting.advertiserGroups.update":
18607
18608type AdvertiserGroupsUpdateCall struct {
18609	s               *Service
18610	profileId       int64
18611	advertisergroup *AdvertiserGroup
18612	urlParams_      gensupport.URLParams
18613	ctx_            context.Context
18614	header_         http.Header
18615}
18616
18617// Update: Updates an existing advertiser group.
18618func (r *AdvertiserGroupsService) Update(profileId int64, advertisergroup *AdvertiserGroup) *AdvertiserGroupsUpdateCall {
18619	c := &AdvertiserGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18620	c.profileId = profileId
18621	c.advertisergroup = advertisergroup
18622	return c
18623}
18624
18625// Fields allows partial responses to be retrieved. See
18626// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18627// for more information.
18628func (c *AdvertiserGroupsUpdateCall) Fields(s ...googleapi.Field) *AdvertiserGroupsUpdateCall {
18629	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18630	return c
18631}
18632
18633// Context sets the context to be used in this call's Do method. Any
18634// pending HTTP request will be aborted if the provided context is
18635// canceled.
18636func (c *AdvertiserGroupsUpdateCall) Context(ctx context.Context) *AdvertiserGroupsUpdateCall {
18637	c.ctx_ = ctx
18638	return c
18639}
18640
18641// Header returns an http.Header that can be modified by the caller to
18642// add HTTP headers to the request.
18643func (c *AdvertiserGroupsUpdateCall) Header() http.Header {
18644	if c.header_ == nil {
18645		c.header_ = make(http.Header)
18646	}
18647	return c.header_
18648}
18649
18650func (c *AdvertiserGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
18651	reqHeaders := make(http.Header)
18652	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18653	for k, v := range c.header_ {
18654		reqHeaders[k] = v
18655	}
18656	reqHeaders.Set("User-Agent", c.s.userAgent())
18657	var body io.Reader = nil
18658	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertisergroup)
18659	if err != nil {
18660		return nil, err
18661	}
18662	reqHeaders.Set("Content-Type", "application/json")
18663	c.urlParams_.Set("alt", alt)
18664	c.urlParams_.Set("prettyPrint", "false")
18665	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserGroups")
18666	urls += "?" + c.urlParams_.Encode()
18667	req, err := http.NewRequest("PUT", urls, body)
18668	if err != nil {
18669		return nil, err
18670	}
18671	req.Header = reqHeaders
18672	googleapi.Expand(req.URL, map[string]string{
18673		"profileId": strconv.FormatInt(c.profileId, 10),
18674	})
18675	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18676}
18677
18678// Do executes the "dfareporting.advertiserGroups.update" call.
18679// Exactly one of *AdvertiserGroup or error will be non-nil. Any non-2xx
18680// status code is an error. Response headers are in either
18681// *AdvertiserGroup.ServerResponse.Header or (if a response was returned
18682// at all) in error.(*googleapi.Error).Header. Use
18683// googleapi.IsNotModified to check whether the returned error was
18684// because http.StatusNotModified was returned.
18685func (c *AdvertiserGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*AdvertiserGroup, error) {
18686	gensupport.SetOptions(c.urlParams_, opts...)
18687	res, err := c.doRequest("json")
18688	if res != nil && res.StatusCode == http.StatusNotModified {
18689		if res.Body != nil {
18690			res.Body.Close()
18691		}
18692		return nil, &googleapi.Error{
18693			Code:   res.StatusCode,
18694			Header: res.Header,
18695		}
18696	}
18697	if err != nil {
18698		return nil, err
18699	}
18700	defer googleapi.CloseBody(res)
18701	if err := googleapi.CheckResponse(res); err != nil {
18702		return nil, err
18703	}
18704	ret := &AdvertiserGroup{
18705		ServerResponse: googleapi.ServerResponse{
18706			Header:         res.Header,
18707			HTTPStatusCode: res.StatusCode,
18708		},
18709	}
18710	target := &ret
18711	if err := gensupport.DecodeResponse(target, res); err != nil {
18712		return nil, err
18713	}
18714	return ret, nil
18715	// {
18716	//   "description": "Updates an existing advertiser group.",
18717	//   "httpMethod": "PUT",
18718	//   "id": "dfareporting.advertiserGroups.update",
18719	//   "parameterOrder": [
18720	//     "profileId"
18721	//   ],
18722	//   "parameters": {
18723	//     "profileId": {
18724	//       "description": "User profile ID associated with this request.",
18725	//       "format": "int64",
18726	//       "location": "path",
18727	//       "required": true,
18728	//       "type": "string"
18729	//     }
18730	//   },
18731	//   "path": "userprofiles/{profileId}/advertiserGroups",
18732	//   "request": {
18733	//     "$ref": "AdvertiserGroup"
18734	//   },
18735	//   "response": {
18736	//     "$ref": "AdvertiserGroup"
18737	//   },
18738	//   "scopes": [
18739	//     "https://www.googleapis.com/auth/dfatrafficking"
18740	//   ]
18741	// }
18742
18743}
18744
18745// method id "dfareporting.advertiserLandingPages.get":
18746
18747type AdvertiserLandingPagesGetCall struct {
18748	s            *Service
18749	profileId    int64
18750	id           int64
18751	urlParams_   gensupport.URLParams
18752	ifNoneMatch_ string
18753	ctx_         context.Context
18754	header_      http.Header
18755}
18756
18757// Get: Gets one landing page by ID.
18758func (r *AdvertiserLandingPagesService) Get(profileId int64, id int64) *AdvertiserLandingPagesGetCall {
18759	c := &AdvertiserLandingPagesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18760	c.profileId = profileId
18761	c.id = id
18762	return c
18763}
18764
18765// Fields allows partial responses to be retrieved. See
18766// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18767// for more information.
18768func (c *AdvertiserLandingPagesGetCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesGetCall {
18769	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18770	return c
18771}
18772
18773// IfNoneMatch sets the optional parameter which makes the operation
18774// fail if the object's ETag matches the given value. This is useful for
18775// getting updates only after the object has changed since the last
18776// request. Use googleapi.IsNotModified to check whether the response
18777// error from Do is the result of In-None-Match.
18778func (c *AdvertiserLandingPagesGetCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesGetCall {
18779	c.ifNoneMatch_ = entityTag
18780	return c
18781}
18782
18783// Context sets the context to be used in this call's Do method. Any
18784// pending HTTP request will be aborted if the provided context is
18785// canceled.
18786func (c *AdvertiserLandingPagesGetCall) Context(ctx context.Context) *AdvertiserLandingPagesGetCall {
18787	c.ctx_ = ctx
18788	return c
18789}
18790
18791// Header returns an http.Header that can be modified by the caller to
18792// add HTTP headers to the request.
18793func (c *AdvertiserLandingPagesGetCall) Header() http.Header {
18794	if c.header_ == nil {
18795		c.header_ = make(http.Header)
18796	}
18797	return c.header_
18798}
18799
18800func (c *AdvertiserLandingPagesGetCall) doRequest(alt string) (*http.Response, error) {
18801	reqHeaders := make(http.Header)
18802	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18803	for k, v := range c.header_ {
18804		reqHeaders[k] = v
18805	}
18806	reqHeaders.Set("User-Agent", c.s.userAgent())
18807	if c.ifNoneMatch_ != "" {
18808		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
18809	}
18810	var body io.Reader = nil
18811	c.urlParams_.Set("alt", alt)
18812	c.urlParams_.Set("prettyPrint", "false")
18813	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages/{id}")
18814	urls += "?" + c.urlParams_.Encode()
18815	req, err := http.NewRequest("GET", urls, body)
18816	if err != nil {
18817		return nil, err
18818	}
18819	req.Header = reqHeaders
18820	googleapi.Expand(req.URL, map[string]string{
18821		"profileId": strconv.FormatInt(c.profileId, 10),
18822		"id":        strconv.FormatInt(c.id, 10),
18823	})
18824	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18825}
18826
18827// Do executes the "dfareporting.advertiserLandingPages.get" call.
18828// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18829// status code is an error. Response headers are in either
18830// *LandingPage.ServerResponse.Header or (if a response was returned at
18831// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18832// to check whether the returned error was because
18833// http.StatusNotModified was returned.
18834func (c *AdvertiserLandingPagesGetCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18835	gensupport.SetOptions(c.urlParams_, opts...)
18836	res, err := c.doRequest("json")
18837	if res != nil && res.StatusCode == http.StatusNotModified {
18838		if res.Body != nil {
18839			res.Body.Close()
18840		}
18841		return nil, &googleapi.Error{
18842			Code:   res.StatusCode,
18843			Header: res.Header,
18844		}
18845	}
18846	if err != nil {
18847		return nil, err
18848	}
18849	defer googleapi.CloseBody(res)
18850	if err := googleapi.CheckResponse(res); err != nil {
18851		return nil, err
18852	}
18853	ret := &LandingPage{
18854		ServerResponse: googleapi.ServerResponse{
18855			Header:         res.Header,
18856			HTTPStatusCode: res.StatusCode,
18857		},
18858	}
18859	target := &ret
18860	if err := gensupport.DecodeResponse(target, res); err != nil {
18861		return nil, err
18862	}
18863	return ret, nil
18864	// {
18865	//   "description": "Gets one landing page by ID.",
18866	//   "httpMethod": "GET",
18867	//   "id": "dfareporting.advertiserLandingPages.get",
18868	//   "parameterOrder": [
18869	//     "profileId",
18870	//     "id"
18871	//   ],
18872	//   "parameters": {
18873	//     "id": {
18874	//       "description": "Landing page ID.",
18875	//       "format": "int64",
18876	//       "location": "path",
18877	//       "required": true,
18878	//       "type": "string"
18879	//     },
18880	//     "profileId": {
18881	//       "description": "User profile ID associated with this request.",
18882	//       "format": "int64",
18883	//       "location": "path",
18884	//       "required": true,
18885	//       "type": "string"
18886	//     }
18887	//   },
18888	//   "path": "userprofiles/{profileId}/advertiserLandingPages/{id}",
18889	//   "response": {
18890	//     "$ref": "LandingPage"
18891	//   },
18892	//   "scopes": [
18893	//     "https://www.googleapis.com/auth/dfatrafficking"
18894	//   ]
18895	// }
18896
18897}
18898
18899// method id "dfareporting.advertiserLandingPages.insert":
18900
18901type AdvertiserLandingPagesInsertCall struct {
18902	s           *Service
18903	profileId   int64
18904	landingpage *LandingPage
18905	urlParams_  gensupport.URLParams
18906	ctx_        context.Context
18907	header_     http.Header
18908}
18909
18910// Insert: Inserts a new landing page.
18911func (r *AdvertiserLandingPagesService) Insert(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesInsertCall {
18912	c := &AdvertiserLandingPagesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
18913	c.profileId = profileId
18914	c.landingpage = landingpage
18915	return c
18916}
18917
18918// Fields allows partial responses to be retrieved. See
18919// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
18920// for more information.
18921func (c *AdvertiserLandingPagesInsertCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesInsertCall {
18922	c.urlParams_.Set("fields", googleapi.CombineFields(s))
18923	return c
18924}
18925
18926// Context sets the context to be used in this call's Do method. Any
18927// pending HTTP request will be aborted if the provided context is
18928// canceled.
18929func (c *AdvertiserLandingPagesInsertCall) Context(ctx context.Context) *AdvertiserLandingPagesInsertCall {
18930	c.ctx_ = ctx
18931	return c
18932}
18933
18934// Header returns an http.Header that can be modified by the caller to
18935// add HTTP headers to the request.
18936func (c *AdvertiserLandingPagesInsertCall) Header() http.Header {
18937	if c.header_ == nil {
18938		c.header_ = make(http.Header)
18939	}
18940	return c.header_
18941}
18942
18943func (c *AdvertiserLandingPagesInsertCall) doRequest(alt string) (*http.Response, error) {
18944	reqHeaders := make(http.Header)
18945	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
18946	for k, v := range c.header_ {
18947		reqHeaders[k] = v
18948	}
18949	reqHeaders.Set("User-Agent", c.s.userAgent())
18950	var body io.Reader = nil
18951	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
18952	if err != nil {
18953		return nil, err
18954	}
18955	reqHeaders.Set("Content-Type", "application/json")
18956	c.urlParams_.Set("alt", alt)
18957	c.urlParams_.Set("prettyPrint", "false")
18958	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
18959	urls += "?" + c.urlParams_.Encode()
18960	req, err := http.NewRequest("POST", urls, body)
18961	if err != nil {
18962		return nil, err
18963	}
18964	req.Header = reqHeaders
18965	googleapi.Expand(req.URL, map[string]string{
18966		"profileId": strconv.FormatInt(c.profileId, 10),
18967	})
18968	return gensupport.SendRequest(c.ctx_, c.s.client, req)
18969}
18970
18971// Do executes the "dfareporting.advertiserLandingPages.insert" call.
18972// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
18973// status code is an error. Response headers are in either
18974// *LandingPage.ServerResponse.Header or (if a response was returned at
18975// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
18976// to check whether the returned error was because
18977// http.StatusNotModified was returned.
18978func (c *AdvertiserLandingPagesInsertCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
18979	gensupport.SetOptions(c.urlParams_, opts...)
18980	res, err := c.doRequest("json")
18981	if res != nil && res.StatusCode == http.StatusNotModified {
18982		if res.Body != nil {
18983			res.Body.Close()
18984		}
18985		return nil, &googleapi.Error{
18986			Code:   res.StatusCode,
18987			Header: res.Header,
18988		}
18989	}
18990	if err != nil {
18991		return nil, err
18992	}
18993	defer googleapi.CloseBody(res)
18994	if err := googleapi.CheckResponse(res); err != nil {
18995		return nil, err
18996	}
18997	ret := &LandingPage{
18998		ServerResponse: googleapi.ServerResponse{
18999			Header:         res.Header,
19000			HTTPStatusCode: res.StatusCode,
19001		},
19002	}
19003	target := &ret
19004	if err := gensupport.DecodeResponse(target, res); err != nil {
19005		return nil, err
19006	}
19007	return ret, nil
19008	// {
19009	//   "description": "Inserts a new landing page.",
19010	//   "httpMethod": "POST",
19011	//   "id": "dfareporting.advertiserLandingPages.insert",
19012	//   "parameterOrder": [
19013	//     "profileId"
19014	//   ],
19015	//   "parameters": {
19016	//     "profileId": {
19017	//       "description": "User profile ID associated with this request.",
19018	//       "format": "int64",
19019	//       "location": "path",
19020	//       "required": true,
19021	//       "type": "string"
19022	//     }
19023	//   },
19024	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19025	//   "request": {
19026	//     "$ref": "LandingPage"
19027	//   },
19028	//   "response": {
19029	//     "$ref": "LandingPage"
19030	//   },
19031	//   "scopes": [
19032	//     "https://www.googleapis.com/auth/dfatrafficking"
19033	//   ]
19034	// }
19035
19036}
19037
19038// method id "dfareporting.advertiserLandingPages.list":
19039
19040type AdvertiserLandingPagesListCall struct {
19041	s            *Service
19042	profileId    int64
19043	urlParams_   gensupport.URLParams
19044	ifNoneMatch_ string
19045	ctx_         context.Context
19046	header_      http.Header
19047}
19048
19049// List: Retrieves a list of landing pages.
19050func (r *AdvertiserLandingPagesService) List(profileId int64) *AdvertiserLandingPagesListCall {
19051	c := &AdvertiserLandingPagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19052	c.profileId = profileId
19053	return c
19054}
19055
19056// AdvertiserIds sets the optional parameter "advertiserIds": Select
19057// only landing pages that belong to these advertisers.
19058func (c *AdvertiserLandingPagesListCall) AdvertiserIds(advertiserIds ...int64) *AdvertiserLandingPagesListCall {
19059	var advertiserIds_ []string
19060	for _, v := range advertiserIds {
19061		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
19062	}
19063	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
19064	return c
19065}
19066
19067// Archived sets the optional parameter "archived": Select only archived
19068// landing pages. Don't set this field to select both archived and
19069// non-archived landing pages.
19070func (c *AdvertiserLandingPagesListCall) Archived(archived bool) *AdvertiserLandingPagesListCall {
19071	c.urlParams_.Set("archived", fmt.Sprint(archived))
19072	return c
19073}
19074
19075// CampaignIds sets the optional parameter "campaignIds": Select only
19076// landing pages that are associated with these campaigns.
19077func (c *AdvertiserLandingPagesListCall) CampaignIds(campaignIds ...int64) *AdvertiserLandingPagesListCall {
19078	var campaignIds_ []string
19079	for _, v := range campaignIds {
19080		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
19081	}
19082	c.urlParams_.SetMulti("campaignIds", campaignIds_)
19083	return c
19084}
19085
19086// Ids sets the optional parameter "ids": Select only landing pages with
19087// these IDs.
19088func (c *AdvertiserLandingPagesListCall) Ids(ids ...int64) *AdvertiserLandingPagesListCall {
19089	var ids_ []string
19090	for _, v := range ids {
19091		ids_ = append(ids_, fmt.Sprint(v))
19092	}
19093	c.urlParams_.SetMulti("ids", ids_)
19094	return c
19095}
19096
19097// MaxResults sets the optional parameter "maxResults": Maximum number
19098// of results to return.
19099func (c *AdvertiserLandingPagesListCall) MaxResults(maxResults int64) *AdvertiserLandingPagesListCall {
19100	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
19101	return c
19102}
19103
19104// PageToken sets the optional parameter "pageToken": Value of the
19105// nextPageToken from the previous result page.
19106func (c *AdvertiserLandingPagesListCall) PageToken(pageToken string) *AdvertiserLandingPagesListCall {
19107	c.urlParams_.Set("pageToken", pageToken)
19108	return c
19109}
19110
19111// SearchString sets the optional parameter "searchString": Allows
19112// searching for landing pages by name or ID. Wildcards (*) are allowed.
19113// For example, "landingpage*2017" will return landing pages with names
19114// like "landingpage July 2017", "landingpage March 2017", or simply
19115// "landingpage 2017". Most of the searches also add wildcards
19116// implicitly at the start and the end of the search string. For
19117// example, a search string of "landingpage" will match campaigns with
19118// name "my landingpage", "landingpage 2015", or simply "landingpage".
19119func (c *AdvertiserLandingPagesListCall) SearchString(searchString string) *AdvertiserLandingPagesListCall {
19120	c.urlParams_.Set("searchString", searchString)
19121	return c
19122}
19123
19124// SortField sets the optional parameter "sortField": Field by which to
19125// sort the list.
19126//
19127// Possible values:
19128//   "ID" (default)
19129//   "NAME"
19130func (c *AdvertiserLandingPagesListCall) SortField(sortField string) *AdvertiserLandingPagesListCall {
19131	c.urlParams_.Set("sortField", sortField)
19132	return c
19133}
19134
19135// SortOrder sets the optional parameter "sortOrder": Order of sorted
19136// results.
19137//
19138// Possible values:
19139//   "ASCENDING" (default)
19140//   "DESCENDING"
19141func (c *AdvertiserLandingPagesListCall) SortOrder(sortOrder string) *AdvertiserLandingPagesListCall {
19142	c.urlParams_.Set("sortOrder", sortOrder)
19143	return c
19144}
19145
19146// SubaccountId sets the optional parameter "subaccountId": Select only
19147// landing pages that belong to this subaccount.
19148func (c *AdvertiserLandingPagesListCall) SubaccountId(subaccountId int64) *AdvertiserLandingPagesListCall {
19149	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
19150	return c
19151}
19152
19153// Fields allows partial responses to be retrieved. See
19154// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19155// for more information.
19156func (c *AdvertiserLandingPagesListCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesListCall {
19157	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19158	return c
19159}
19160
19161// IfNoneMatch sets the optional parameter which makes the operation
19162// fail if the object's ETag matches the given value. This is useful for
19163// getting updates only after the object has changed since the last
19164// request. Use googleapi.IsNotModified to check whether the response
19165// error from Do is the result of In-None-Match.
19166func (c *AdvertiserLandingPagesListCall) IfNoneMatch(entityTag string) *AdvertiserLandingPagesListCall {
19167	c.ifNoneMatch_ = entityTag
19168	return c
19169}
19170
19171// Context sets the context to be used in this call's Do method. Any
19172// pending HTTP request will be aborted if the provided context is
19173// canceled.
19174func (c *AdvertiserLandingPagesListCall) Context(ctx context.Context) *AdvertiserLandingPagesListCall {
19175	c.ctx_ = ctx
19176	return c
19177}
19178
19179// Header returns an http.Header that can be modified by the caller to
19180// add HTTP headers to the request.
19181func (c *AdvertiserLandingPagesListCall) Header() http.Header {
19182	if c.header_ == nil {
19183		c.header_ = make(http.Header)
19184	}
19185	return c.header_
19186}
19187
19188func (c *AdvertiserLandingPagesListCall) doRequest(alt string) (*http.Response, error) {
19189	reqHeaders := make(http.Header)
19190	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19191	for k, v := range c.header_ {
19192		reqHeaders[k] = v
19193	}
19194	reqHeaders.Set("User-Agent", c.s.userAgent())
19195	if c.ifNoneMatch_ != "" {
19196		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19197	}
19198	var body io.Reader = nil
19199	c.urlParams_.Set("alt", alt)
19200	c.urlParams_.Set("prettyPrint", "false")
19201	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19202	urls += "?" + c.urlParams_.Encode()
19203	req, err := http.NewRequest("GET", urls, body)
19204	if err != nil {
19205		return nil, err
19206	}
19207	req.Header = reqHeaders
19208	googleapi.Expand(req.URL, map[string]string{
19209		"profileId": strconv.FormatInt(c.profileId, 10),
19210	})
19211	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19212}
19213
19214// Do executes the "dfareporting.advertiserLandingPages.list" call.
19215// Exactly one of *AdvertiserLandingPagesListResponse or error will be
19216// non-nil. Any non-2xx status code is an error. Response headers are in
19217// either *AdvertiserLandingPagesListResponse.ServerResponse.Header or
19218// (if a response was returned at all) in
19219// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
19220// whether the returned error was because http.StatusNotModified was
19221// returned.
19222func (c *AdvertiserLandingPagesListCall) Do(opts ...googleapi.CallOption) (*AdvertiserLandingPagesListResponse, error) {
19223	gensupport.SetOptions(c.urlParams_, opts...)
19224	res, err := c.doRequest("json")
19225	if res != nil && res.StatusCode == http.StatusNotModified {
19226		if res.Body != nil {
19227			res.Body.Close()
19228		}
19229		return nil, &googleapi.Error{
19230			Code:   res.StatusCode,
19231			Header: res.Header,
19232		}
19233	}
19234	if err != nil {
19235		return nil, err
19236	}
19237	defer googleapi.CloseBody(res)
19238	if err := googleapi.CheckResponse(res); err != nil {
19239		return nil, err
19240	}
19241	ret := &AdvertiserLandingPagesListResponse{
19242		ServerResponse: googleapi.ServerResponse{
19243			Header:         res.Header,
19244			HTTPStatusCode: res.StatusCode,
19245		},
19246	}
19247	target := &ret
19248	if err := gensupport.DecodeResponse(target, res); err != nil {
19249		return nil, err
19250	}
19251	return ret, nil
19252	// {
19253	//   "description": "Retrieves a list of landing pages.",
19254	//   "httpMethod": "GET",
19255	//   "id": "dfareporting.advertiserLandingPages.list",
19256	//   "parameterOrder": [
19257	//     "profileId"
19258	//   ],
19259	//   "parameters": {
19260	//     "advertiserIds": {
19261	//       "description": "Select only landing pages that belong to these advertisers.",
19262	//       "format": "int64",
19263	//       "location": "query",
19264	//       "repeated": true,
19265	//       "type": "string"
19266	//     },
19267	//     "archived": {
19268	//       "description": "Select only archived landing pages. Don't set this field to select both archived and non-archived landing pages.",
19269	//       "location": "query",
19270	//       "type": "boolean"
19271	//     },
19272	//     "campaignIds": {
19273	//       "description": "Select only landing pages that are associated with these campaigns.",
19274	//       "format": "int64",
19275	//       "location": "query",
19276	//       "repeated": true,
19277	//       "type": "string"
19278	//     },
19279	//     "ids": {
19280	//       "description": "Select only landing pages with these IDs.",
19281	//       "format": "int64",
19282	//       "location": "query",
19283	//       "repeated": true,
19284	//       "type": "string"
19285	//     },
19286	//     "maxResults": {
19287	//       "default": "1000",
19288	//       "description": "Maximum number of results to return.",
19289	//       "format": "int32",
19290	//       "location": "query",
19291	//       "maximum": "1000",
19292	//       "minimum": "0",
19293	//       "type": "integer"
19294	//     },
19295	//     "pageToken": {
19296	//       "description": "Value of the nextPageToken from the previous result page.",
19297	//       "location": "query",
19298	//       "type": "string"
19299	//     },
19300	//     "profileId": {
19301	//       "description": "User profile ID associated with this request.",
19302	//       "format": "int64",
19303	//       "location": "path",
19304	//       "required": true,
19305	//       "type": "string"
19306	//     },
19307	//     "searchString": {
19308	//       "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\".",
19309	//       "location": "query",
19310	//       "type": "string"
19311	//     },
19312	//     "sortField": {
19313	//       "default": "ID",
19314	//       "description": "Field by which to sort the list.",
19315	//       "enum": [
19316	//         "ID",
19317	//         "NAME"
19318	//       ],
19319	//       "enumDescriptions": [
19320	//         "",
19321	//         ""
19322	//       ],
19323	//       "location": "query",
19324	//       "type": "string"
19325	//     },
19326	//     "sortOrder": {
19327	//       "default": "ASCENDING",
19328	//       "description": "Order of sorted results.",
19329	//       "enum": [
19330	//         "ASCENDING",
19331	//         "DESCENDING"
19332	//       ],
19333	//       "enumDescriptions": [
19334	//         "",
19335	//         ""
19336	//       ],
19337	//       "location": "query",
19338	//       "type": "string"
19339	//     },
19340	//     "subaccountId": {
19341	//       "description": "Select only landing pages that belong to this subaccount.",
19342	//       "format": "int64",
19343	//       "location": "query",
19344	//       "type": "string"
19345	//     }
19346	//   },
19347	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19348	//   "response": {
19349	//     "$ref": "AdvertiserLandingPagesListResponse"
19350	//   },
19351	//   "scopes": [
19352	//     "https://www.googleapis.com/auth/dfatrafficking"
19353	//   ]
19354	// }
19355
19356}
19357
19358// Pages invokes f for each page of results.
19359// A non-nil error returned from f will halt the iteration.
19360// The provided context supersedes any context provided to the Context method.
19361func (c *AdvertiserLandingPagesListCall) Pages(ctx context.Context, f func(*AdvertiserLandingPagesListResponse) error) error {
19362	c.ctx_ = ctx
19363	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
19364	for {
19365		x, err := c.Do()
19366		if err != nil {
19367			return err
19368		}
19369		if err := f(x); err != nil {
19370			return err
19371		}
19372		if x.NextPageToken == "" {
19373			return nil
19374		}
19375		c.PageToken(x.NextPageToken)
19376	}
19377}
19378
19379// method id "dfareporting.advertiserLandingPages.patch":
19380
19381type AdvertiserLandingPagesPatchCall struct {
19382	s           *Service
19383	profileId   int64
19384	landingpage *LandingPage
19385	urlParams_  gensupport.URLParams
19386	ctx_        context.Context
19387	header_     http.Header
19388}
19389
19390// Patch: Updates an existing landing page. This method supports patch
19391// semantics.
19392func (r *AdvertiserLandingPagesService) Patch(profileId int64, id int64, landingpage *LandingPage) *AdvertiserLandingPagesPatchCall {
19393	c := &AdvertiserLandingPagesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19394	c.profileId = profileId
19395	c.urlParams_.Set("id", fmt.Sprint(id))
19396	c.landingpage = landingpage
19397	return c
19398}
19399
19400// Fields allows partial responses to be retrieved. See
19401// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19402// for more information.
19403func (c *AdvertiserLandingPagesPatchCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesPatchCall {
19404	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19405	return c
19406}
19407
19408// Context sets the context to be used in this call's Do method. Any
19409// pending HTTP request will be aborted if the provided context is
19410// canceled.
19411func (c *AdvertiserLandingPagesPatchCall) Context(ctx context.Context) *AdvertiserLandingPagesPatchCall {
19412	c.ctx_ = ctx
19413	return c
19414}
19415
19416// Header returns an http.Header that can be modified by the caller to
19417// add HTTP headers to the request.
19418func (c *AdvertiserLandingPagesPatchCall) Header() http.Header {
19419	if c.header_ == nil {
19420		c.header_ = make(http.Header)
19421	}
19422	return c.header_
19423}
19424
19425func (c *AdvertiserLandingPagesPatchCall) doRequest(alt string) (*http.Response, error) {
19426	reqHeaders := make(http.Header)
19427	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19428	for k, v := range c.header_ {
19429		reqHeaders[k] = v
19430	}
19431	reqHeaders.Set("User-Agent", c.s.userAgent())
19432	var body io.Reader = nil
19433	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19434	if err != nil {
19435		return nil, err
19436	}
19437	reqHeaders.Set("Content-Type", "application/json")
19438	c.urlParams_.Set("alt", alt)
19439	c.urlParams_.Set("prettyPrint", "false")
19440	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19441	urls += "?" + c.urlParams_.Encode()
19442	req, err := http.NewRequest("PATCH", urls, body)
19443	if err != nil {
19444		return nil, err
19445	}
19446	req.Header = reqHeaders
19447	googleapi.Expand(req.URL, map[string]string{
19448		"profileId": strconv.FormatInt(c.profileId, 10),
19449	})
19450	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19451}
19452
19453// Do executes the "dfareporting.advertiserLandingPages.patch" call.
19454// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19455// status code is an error. Response headers are in either
19456// *LandingPage.ServerResponse.Header or (if a response was returned at
19457// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19458// to check whether the returned error was because
19459// http.StatusNotModified was returned.
19460func (c *AdvertiserLandingPagesPatchCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19461	gensupport.SetOptions(c.urlParams_, opts...)
19462	res, err := c.doRequest("json")
19463	if res != nil && res.StatusCode == http.StatusNotModified {
19464		if res.Body != nil {
19465			res.Body.Close()
19466		}
19467		return nil, &googleapi.Error{
19468			Code:   res.StatusCode,
19469			Header: res.Header,
19470		}
19471	}
19472	if err != nil {
19473		return nil, err
19474	}
19475	defer googleapi.CloseBody(res)
19476	if err := googleapi.CheckResponse(res); err != nil {
19477		return nil, err
19478	}
19479	ret := &LandingPage{
19480		ServerResponse: googleapi.ServerResponse{
19481			Header:         res.Header,
19482			HTTPStatusCode: res.StatusCode,
19483		},
19484	}
19485	target := &ret
19486	if err := gensupport.DecodeResponse(target, res); err != nil {
19487		return nil, err
19488	}
19489	return ret, nil
19490	// {
19491	//   "description": "Updates an existing landing page. This method supports patch semantics.",
19492	//   "httpMethod": "PATCH",
19493	//   "id": "dfareporting.advertiserLandingPages.patch",
19494	//   "parameterOrder": [
19495	//     "profileId",
19496	//     "id"
19497	//   ],
19498	//   "parameters": {
19499	//     "id": {
19500	//       "description": "Landing page ID.",
19501	//       "format": "int64",
19502	//       "location": "query",
19503	//       "required": true,
19504	//       "type": "string"
19505	//     },
19506	//     "profileId": {
19507	//       "description": "User profile ID associated with this request.",
19508	//       "format": "int64",
19509	//       "location": "path",
19510	//       "required": true,
19511	//       "type": "string"
19512	//     }
19513	//   },
19514	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19515	//   "request": {
19516	//     "$ref": "LandingPage"
19517	//   },
19518	//   "response": {
19519	//     "$ref": "LandingPage"
19520	//   },
19521	//   "scopes": [
19522	//     "https://www.googleapis.com/auth/dfatrafficking"
19523	//   ]
19524	// }
19525
19526}
19527
19528// method id "dfareporting.advertiserLandingPages.update":
19529
19530type AdvertiserLandingPagesUpdateCall struct {
19531	s           *Service
19532	profileId   int64
19533	landingpage *LandingPage
19534	urlParams_  gensupport.URLParams
19535	ctx_        context.Context
19536	header_     http.Header
19537}
19538
19539// Update: Updates an existing landing page.
19540func (r *AdvertiserLandingPagesService) Update(profileId int64, landingpage *LandingPage) *AdvertiserLandingPagesUpdateCall {
19541	c := &AdvertiserLandingPagesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19542	c.profileId = profileId
19543	c.landingpage = landingpage
19544	return c
19545}
19546
19547// Fields allows partial responses to be retrieved. See
19548// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19549// for more information.
19550func (c *AdvertiserLandingPagesUpdateCall) Fields(s ...googleapi.Field) *AdvertiserLandingPagesUpdateCall {
19551	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19552	return c
19553}
19554
19555// Context sets the context to be used in this call's Do method. Any
19556// pending HTTP request will be aborted if the provided context is
19557// canceled.
19558func (c *AdvertiserLandingPagesUpdateCall) Context(ctx context.Context) *AdvertiserLandingPagesUpdateCall {
19559	c.ctx_ = ctx
19560	return c
19561}
19562
19563// Header returns an http.Header that can be modified by the caller to
19564// add HTTP headers to the request.
19565func (c *AdvertiserLandingPagesUpdateCall) Header() http.Header {
19566	if c.header_ == nil {
19567		c.header_ = make(http.Header)
19568	}
19569	return c.header_
19570}
19571
19572func (c *AdvertiserLandingPagesUpdateCall) doRequest(alt string) (*http.Response, error) {
19573	reqHeaders := make(http.Header)
19574	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19575	for k, v := range c.header_ {
19576		reqHeaders[k] = v
19577	}
19578	reqHeaders.Set("User-Agent", c.s.userAgent())
19579	var body io.Reader = nil
19580	body, err := googleapi.WithoutDataWrapper.JSONReader(c.landingpage)
19581	if err != nil {
19582		return nil, err
19583	}
19584	reqHeaders.Set("Content-Type", "application/json")
19585	c.urlParams_.Set("alt", alt)
19586	c.urlParams_.Set("prettyPrint", "false")
19587	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertiserLandingPages")
19588	urls += "?" + c.urlParams_.Encode()
19589	req, err := http.NewRequest("PUT", urls, body)
19590	if err != nil {
19591		return nil, err
19592	}
19593	req.Header = reqHeaders
19594	googleapi.Expand(req.URL, map[string]string{
19595		"profileId": strconv.FormatInt(c.profileId, 10),
19596	})
19597	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19598}
19599
19600// Do executes the "dfareporting.advertiserLandingPages.update" call.
19601// Exactly one of *LandingPage or error will be non-nil. Any non-2xx
19602// status code is an error. Response headers are in either
19603// *LandingPage.ServerResponse.Header or (if a response was returned at
19604// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19605// to check whether the returned error was because
19606// http.StatusNotModified was returned.
19607func (c *AdvertiserLandingPagesUpdateCall) Do(opts ...googleapi.CallOption) (*LandingPage, error) {
19608	gensupport.SetOptions(c.urlParams_, opts...)
19609	res, err := c.doRequest("json")
19610	if res != nil && res.StatusCode == http.StatusNotModified {
19611		if res.Body != nil {
19612			res.Body.Close()
19613		}
19614		return nil, &googleapi.Error{
19615			Code:   res.StatusCode,
19616			Header: res.Header,
19617		}
19618	}
19619	if err != nil {
19620		return nil, err
19621	}
19622	defer googleapi.CloseBody(res)
19623	if err := googleapi.CheckResponse(res); err != nil {
19624		return nil, err
19625	}
19626	ret := &LandingPage{
19627		ServerResponse: googleapi.ServerResponse{
19628			Header:         res.Header,
19629			HTTPStatusCode: res.StatusCode,
19630		},
19631	}
19632	target := &ret
19633	if err := gensupport.DecodeResponse(target, res); err != nil {
19634		return nil, err
19635	}
19636	return ret, nil
19637	// {
19638	//   "description": "Updates an existing landing page.",
19639	//   "httpMethod": "PUT",
19640	//   "id": "dfareporting.advertiserLandingPages.update",
19641	//   "parameterOrder": [
19642	//     "profileId"
19643	//   ],
19644	//   "parameters": {
19645	//     "profileId": {
19646	//       "description": "User profile ID associated with this request.",
19647	//       "format": "int64",
19648	//       "location": "path",
19649	//       "required": true,
19650	//       "type": "string"
19651	//     }
19652	//   },
19653	//   "path": "userprofiles/{profileId}/advertiserLandingPages",
19654	//   "request": {
19655	//     "$ref": "LandingPage"
19656	//   },
19657	//   "response": {
19658	//     "$ref": "LandingPage"
19659	//   },
19660	//   "scopes": [
19661	//     "https://www.googleapis.com/auth/dfatrafficking"
19662	//   ]
19663	// }
19664
19665}
19666
19667// method id "dfareporting.advertisers.get":
19668
19669type AdvertisersGetCall struct {
19670	s            *Service
19671	profileId    int64
19672	id           int64
19673	urlParams_   gensupport.URLParams
19674	ifNoneMatch_ string
19675	ctx_         context.Context
19676	header_      http.Header
19677}
19678
19679// Get: Gets one advertiser by ID.
19680func (r *AdvertisersService) Get(profileId int64, id int64) *AdvertisersGetCall {
19681	c := &AdvertisersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19682	c.profileId = profileId
19683	c.id = id
19684	return c
19685}
19686
19687// Fields allows partial responses to be retrieved. See
19688// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19689// for more information.
19690func (c *AdvertisersGetCall) Fields(s ...googleapi.Field) *AdvertisersGetCall {
19691	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19692	return c
19693}
19694
19695// IfNoneMatch sets the optional parameter which makes the operation
19696// fail if the object's ETag matches the given value. This is useful for
19697// getting updates only after the object has changed since the last
19698// request. Use googleapi.IsNotModified to check whether the response
19699// error from Do is the result of In-None-Match.
19700func (c *AdvertisersGetCall) IfNoneMatch(entityTag string) *AdvertisersGetCall {
19701	c.ifNoneMatch_ = entityTag
19702	return c
19703}
19704
19705// Context sets the context to be used in this call's Do method. Any
19706// pending HTTP request will be aborted if the provided context is
19707// canceled.
19708func (c *AdvertisersGetCall) Context(ctx context.Context) *AdvertisersGetCall {
19709	c.ctx_ = ctx
19710	return c
19711}
19712
19713// Header returns an http.Header that can be modified by the caller to
19714// add HTTP headers to the request.
19715func (c *AdvertisersGetCall) Header() http.Header {
19716	if c.header_ == nil {
19717		c.header_ = make(http.Header)
19718	}
19719	return c.header_
19720}
19721
19722func (c *AdvertisersGetCall) doRequest(alt string) (*http.Response, error) {
19723	reqHeaders := make(http.Header)
19724	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19725	for k, v := range c.header_ {
19726		reqHeaders[k] = v
19727	}
19728	reqHeaders.Set("User-Agent", c.s.userAgent())
19729	if c.ifNoneMatch_ != "" {
19730		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
19731	}
19732	var body io.Reader = nil
19733	c.urlParams_.Set("alt", alt)
19734	c.urlParams_.Set("prettyPrint", "false")
19735	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers/{id}")
19736	urls += "?" + c.urlParams_.Encode()
19737	req, err := http.NewRequest("GET", urls, body)
19738	if err != nil {
19739		return nil, err
19740	}
19741	req.Header = reqHeaders
19742	googleapi.Expand(req.URL, map[string]string{
19743		"profileId": strconv.FormatInt(c.profileId, 10),
19744		"id":        strconv.FormatInt(c.id, 10),
19745	})
19746	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19747}
19748
19749// Do executes the "dfareporting.advertisers.get" call.
19750// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19751// status code is an error. Response headers are in either
19752// *Advertiser.ServerResponse.Header or (if a response was returned at
19753// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19754// to check whether the returned error was because
19755// http.StatusNotModified was returned.
19756func (c *AdvertisersGetCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19757	gensupport.SetOptions(c.urlParams_, opts...)
19758	res, err := c.doRequest("json")
19759	if res != nil && res.StatusCode == http.StatusNotModified {
19760		if res.Body != nil {
19761			res.Body.Close()
19762		}
19763		return nil, &googleapi.Error{
19764			Code:   res.StatusCode,
19765			Header: res.Header,
19766		}
19767	}
19768	if err != nil {
19769		return nil, err
19770	}
19771	defer googleapi.CloseBody(res)
19772	if err := googleapi.CheckResponse(res); err != nil {
19773		return nil, err
19774	}
19775	ret := &Advertiser{
19776		ServerResponse: googleapi.ServerResponse{
19777			Header:         res.Header,
19778			HTTPStatusCode: res.StatusCode,
19779		},
19780	}
19781	target := &ret
19782	if err := gensupport.DecodeResponse(target, res); err != nil {
19783		return nil, err
19784	}
19785	return ret, nil
19786	// {
19787	//   "description": "Gets one advertiser by ID.",
19788	//   "httpMethod": "GET",
19789	//   "id": "dfareporting.advertisers.get",
19790	//   "parameterOrder": [
19791	//     "profileId",
19792	//     "id"
19793	//   ],
19794	//   "parameters": {
19795	//     "id": {
19796	//       "description": "Advertiser ID.",
19797	//       "format": "int64",
19798	//       "location": "path",
19799	//       "required": true,
19800	//       "type": "string"
19801	//     },
19802	//     "profileId": {
19803	//       "description": "User profile ID associated with this request.",
19804	//       "format": "int64",
19805	//       "location": "path",
19806	//       "required": true,
19807	//       "type": "string"
19808	//     }
19809	//   },
19810	//   "path": "userprofiles/{profileId}/advertisers/{id}",
19811	//   "response": {
19812	//     "$ref": "Advertiser"
19813	//   },
19814	//   "scopes": [
19815	//     "https://www.googleapis.com/auth/dfatrafficking"
19816	//   ]
19817	// }
19818
19819}
19820
19821// method id "dfareporting.advertisers.insert":
19822
19823type AdvertisersInsertCall struct {
19824	s          *Service
19825	profileId  int64
19826	advertiser *Advertiser
19827	urlParams_ gensupport.URLParams
19828	ctx_       context.Context
19829	header_    http.Header
19830}
19831
19832// Insert: Inserts a new advertiser.
19833func (r *AdvertisersService) Insert(profileId int64, advertiser *Advertiser) *AdvertisersInsertCall {
19834	c := &AdvertisersInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19835	c.profileId = profileId
19836	c.advertiser = advertiser
19837	return c
19838}
19839
19840// Fields allows partial responses to be retrieved. See
19841// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
19842// for more information.
19843func (c *AdvertisersInsertCall) Fields(s ...googleapi.Field) *AdvertisersInsertCall {
19844	c.urlParams_.Set("fields", googleapi.CombineFields(s))
19845	return c
19846}
19847
19848// Context sets the context to be used in this call's Do method. Any
19849// pending HTTP request will be aborted if the provided context is
19850// canceled.
19851func (c *AdvertisersInsertCall) Context(ctx context.Context) *AdvertisersInsertCall {
19852	c.ctx_ = ctx
19853	return c
19854}
19855
19856// Header returns an http.Header that can be modified by the caller to
19857// add HTTP headers to the request.
19858func (c *AdvertisersInsertCall) Header() http.Header {
19859	if c.header_ == nil {
19860		c.header_ = make(http.Header)
19861	}
19862	return c.header_
19863}
19864
19865func (c *AdvertisersInsertCall) doRequest(alt string) (*http.Response, error) {
19866	reqHeaders := make(http.Header)
19867	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
19868	for k, v := range c.header_ {
19869		reqHeaders[k] = v
19870	}
19871	reqHeaders.Set("User-Agent", c.s.userAgent())
19872	var body io.Reader = nil
19873	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
19874	if err != nil {
19875		return nil, err
19876	}
19877	reqHeaders.Set("Content-Type", "application/json")
19878	c.urlParams_.Set("alt", alt)
19879	c.urlParams_.Set("prettyPrint", "false")
19880	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
19881	urls += "?" + c.urlParams_.Encode()
19882	req, err := http.NewRequest("POST", urls, body)
19883	if err != nil {
19884		return nil, err
19885	}
19886	req.Header = reqHeaders
19887	googleapi.Expand(req.URL, map[string]string{
19888		"profileId": strconv.FormatInt(c.profileId, 10),
19889	})
19890	return gensupport.SendRequest(c.ctx_, c.s.client, req)
19891}
19892
19893// Do executes the "dfareporting.advertisers.insert" call.
19894// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
19895// status code is an error. Response headers are in either
19896// *Advertiser.ServerResponse.Header or (if a response was returned at
19897// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
19898// to check whether the returned error was because
19899// http.StatusNotModified was returned.
19900func (c *AdvertisersInsertCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
19901	gensupport.SetOptions(c.urlParams_, opts...)
19902	res, err := c.doRequest("json")
19903	if res != nil && res.StatusCode == http.StatusNotModified {
19904		if res.Body != nil {
19905			res.Body.Close()
19906		}
19907		return nil, &googleapi.Error{
19908			Code:   res.StatusCode,
19909			Header: res.Header,
19910		}
19911	}
19912	if err != nil {
19913		return nil, err
19914	}
19915	defer googleapi.CloseBody(res)
19916	if err := googleapi.CheckResponse(res); err != nil {
19917		return nil, err
19918	}
19919	ret := &Advertiser{
19920		ServerResponse: googleapi.ServerResponse{
19921			Header:         res.Header,
19922			HTTPStatusCode: res.StatusCode,
19923		},
19924	}
19925	target := &ret
19926	if err := gensupport.DecodeResponse(target, res); err != nil {
19927		return nil, err
19928	}
19929	return ret, nil
19930	// {
19931	//   "description": "Inserts a new advertiser.",
19932	//   "httpMethod": "POST",
19933	//   "id": "dfareporting.advertisers.insert",
19934	//   "parameterOrder": [
19935	//     "profileId"
19936	//   ],
19937	//   "parameters": {
19938	//     "profileId": {
19939	//       "description": "User profile ID associated with this request.",
19940	//       "format": "int64",
19941	//       "location": "path",
19942	//       "required": true,
19943	//       "type": "string"
19944	//     }
19945	//   },
19946	//   "path": "userprofiles/{profileId}/advertisers",
19947	//   "request": {
19948	//     "$ref": "Advertiser"
19949	//   },
19950	//   "response": {
19951	//     "$ref": "Advertiser"
19952	//   },
19953	//   "scopes": [
19954	//     "https://www.googleapis.com/auth/dfatrafficking"
19955	//   ]
19956	// }
19957
19958}
19959
19960// method id "dfareporting.advertisers.list":
19961
19962type AdvertisersListCall struct {
19963	s            *Service
19964	profileId    int64
19965	urlParams_   gensupport.URLParams
19966	ifNoneMatch_ string
19967	ctx_         context.Context
19968	header_      http.Header
19969}
19970
19971// List: Retrieves a list of advertisers, possibly filtered. This method
19972// supports paging.
19973func (r *AdvertisersService) List(profileId int64) *AdvertisersListCall {
19974	c := &AdvertisersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
19975	c.profileId = profileId
19976	return c
19977}
19978
19979// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
19980// Select only advertisers with these advertiser group IDs.
19981func (c *AdvertisersListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *AdvertisersListCall {
19982	var advertiserGroupIds_ []string
19983	for _, v := range advertiserGroupIds {
19984		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
19985	}
19986	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
19987	return c
19988}
19989
19990// FloodlightConfigurationIds sets the optional parameter
19991// "floodlightConfigurationIds": Select only advertisers with these
19992// floodlight configuration IDs.
19993func (c *AdvertisersListCall) FloodlightConfigurationIds(floodlightConfigurationIds ...int64) *AdvertisersListCall {
19994	var floodlightConfigurationIds_ []string
19995	for _, v := range floodlightConfigurationIds {
19996		floodlightConfigurationIds_ = append(floodlightConfigurationIds_, fmt.Sprint(v))
19997	}
19998	c.urlParams_.SetMulti("floodlightConfigurationIds", floodlightConfigurationIds_)
19999	return c
20000}
20001
20002// Ids sets the optional parameter "ids": Select only advertisers with
20003// these IDs.
20004func (c *AdvertisersListCall) Ids(ids ...int64) *AdvertisersListCall {
20005	var ids_ []string
20006	for _, v := range ids {
20007		ids_ = append(ids_, fmt.Sprint(v))
20008	}
20009	c.urlParams_.SetMulti("ids", ids_)
20010	return c
20011}
20012
20013// IncludeAdvertisersWithoutGroupsOnly sets the optional parameter
20014// "includeAdvertisersWithoutGroupsOnly": Select only advertisers which
20015// do not belong to any advertiser group.
20016func (c *AdvertisersListCall) IncludeAdvertisersWithoutGroupsOnly(includeAdvertisersWithoutGroupsOnly bool) *AdvertisersListCall {
20017	c.urlParams_.Set("includeAdvertisersWithoutGroupsOnly", fmt.Sprint(includeAdvertisersWithoutGroupsOnly))
20018	return c
20019}
20020
20021// MaxResults sets the optional parameter "maxResults": Maximum number
20022// of results to return.
20023func (c *AdvertisersListCall) MaxResults(maxResults int64) *AdvertisersListCall {
20024	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20025	return c
20026}
20027
20028// OnlyParent sets the optional parameter "onlyParent": Select only
20029// advertisers which use another advertiser's floodlight configuration.
20030func (c *AdvertisersListCall) OnlyParent(onlyParent bool) *AdvertisersListCall {
20031	c.urlParams_.Set("onlyParent", fmt.Sprint(onlyParent))
20032	return c
20033}
20034
20035// PageToken sets the optional parameter "pageToken": Value of the
20036// nextPageToken from the previous result page.
20037func (c *AdvertisersListCall) PageToken(pageToken string) *AdvertisersListCall {
20038	c.urlParams_.Set("pageToken", pageToken)
20039	return c
20040}
20041
20042// SearchString sets the optional parameter "searchString": Allows
20043// searching for objects by name or ID. Wildcards (*) are allowed. For
20044// example, "advertiser*2015" will return objects with names like
20045// "advertiser June 2015", "advertiser April 2015", or simply
20046// "advertiser 2015". Most of the searches also add wildcards implicitly
20047// at the start and the end of the search string. For example, a search
20048// string of "advertiser" will match objects with name "my advertiser",
20049// "advertiser 2015", or simply "advertiser".
20050func (c *AdvertisersListCall) SearchString(searchString string) *AdvertisersListCall {
20051	c.urlParams_.Set("searchString", searchString)
20052	return c
20053}
20054
20055// SortField sets the optional parameter "sortField": Field by which to
20056// sort the list.
20057//
20058// Possible values:
20059//   "ID" (default)
20060//   "NAME"
20061func (c *AdvertisersListCall) SortField(sortField string) *AdvertisersListCall {
20062	c.urlParams_.Set("sortField", sortField)
20063	return c
20064}
20065
20066// SortOrder sets the optional parameter "sortOrder": Order of sorted
20067// results.
20068//
20069// Possible values:
20070//   "ASCENDING" (default)
20071//   "DESCENDING"
20072func (c *AdvertisersListCall) SortOrder(sortOrder string) *AdvertisersListCall {
20073	c.urlParams_.Set("sortOrder", sortOrder)
20074	return c
20075}
20076
20077// Status sets the optional parameter "status": Select only advertisers
20078// with the specified status.
20079//
20080// Possible values:
20081//   "APPROVED"
20082//   "ON_HOLD"
20083func (c *AdvertisersListCall) Status(status string) *AdvertisersListCall {
20084	c.urlParams_.Set("status", status)
20085	return c
20086}
20087
20088// SubaccountId sets the optional parameter "subaccountId": Select only
20089// advertisers with these subaccount IDs.
20090func (c *AdvertisersListCall) SubaccountId(subaccountId int64) *AdvertisersListCall {
20091	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
20092	return c
20093}
20094
20095// Fields allows partial responses to be retrieved. See
20096// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20097// for more information.
20098func (c *AdvertisersListCall) Fields(s ...googleapi.Field) *AdvertisersListCall {
20099	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20100	return c
20101}
20102
20103// IfNoneMatch sets the optional parameter which makes the operation
20104// fail if the object's ETag matches the given value. This is useful for
20105// getting updates only after the object has changed since the last
20106// request. Use googleapi.IsNotModified to check whether the response
20107// error from Do is the result of In-None-Match.
20108func (c *AdvertisersListCall) IfNoneMatch(entityTag string) *AdvertisersListCall {
20109	c.ifNoneMatch_ = entityTag
20110	return c
20111}
20112
20113// Context sets the context to be used in this call's Do method. Any
20114// pending HTTP request will be aborted if the provided context is
20115// canceled.
20116func (c *AdvertisersListCall) Context(ctx context.Context) *AdvertisersListCall {
20117	c.ctx_ = ctx
20118	return c
20119}
20120
20121// Header returns an http.Header that can be modified by the caller to
20122// add HTTP headers to the request.
20123func (c *AdvertisersListCall) Header() http.Header {
20124	if c.header_ == nil {
20125		c.header_ = make(http.Header)
20126	}
20127	return c.header_
20128}
20129
20130func (c *AdvertisersListCall) doRequest(alt string) (*http.Response, error) {
20131	reqHeaders := make(http.Header)
20132	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20133	for k, v := range c.header_ {
20134		reqHeaders[k] = v
20135	}
20136	reqHeaders.Set("User-Agent", c.s.userAgent())
20137	if c.ifNoneMatch_ != "" {
20138		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20139	}
20140	var body io.Reader = nil
20141	c.urlParams_.Set("alt", alt)
20142	c.urlParams_.Set("prettyPrint", "false")
20143	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20144	urls += "?" + c.urlParams_.Encode()
20145	req, err := http.NewRequest("GET", urls, body)
20146	if err != nil {
20147		return nil, err
20148	}
20149	req.Header = reqHeaders
20150	googleapi.Expand(req.URL, map[string]string{
20151		"profileId": strconv.FormatInt(c.profileId, 10),
20152	})
20153	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20154}
20155
20156// Do executes the "dfareporting.advertisers.list" call.
20157// Exactly one of *AdvertisersListResponse or error will be non-nil. Any
20158// non-2xx status code is an error. Response headers are in either
20159// *AdvertisersListResponse.ServerResponse.Header or (if a response was
20160// returned at all) in error.(*googleapi.Error).Header. Use
20161// googleapi.IsNotModified to check whether the returned error was
20162// because http.StatusNotModified was returned.
20163func (c *AdvertisersListCall) Do(opts ...googleapi.CallOption) (*AdvertisersListResponse, error) {
20164	gensupport.SetOptions(c.urlParams_, opts...)
20165	res, err := c.doRequest("json")
20166	if res != nil && res.StatusCode == http.StatusNotModified {
20167		if res.Body != nil {
20168			res.Body.Close()
20169		}
20170		return nil, &googleapi.Error{
20171			Code:   res.StatusCode,
20172			Header: res.Header,
20173		}
20174	}
20175	if err != nil {
20176		return nil, err
20177	}
20178	defer googleapi.CloseBody(res)
20179	if err := googleapi.CheckResponse(res); err != nil {
20180		return nil, err
20181	}
20182	ret := &AdvertisersListResponse{
20183		ServerResponse: googleapi.ServerResponse{
20184			Header:         res.Header,
20185			HTTPStatusCode: res.StatusCode,
20186		},
20187	}
20188	target := &ret
20189	if err := gensupport.DecodeResponse(target, res); err != nil {
20190		return nil, err
20191	}
20192	return ret, nil
20193	// {
20194	//   "description": "Retrieves a list of advertisers, possibly filtered. This method supports paging.",
20195	//   "httpMethod": "GET",
20196	//   "id": "dfareporting.advertisers.list",
20197	//   "parameterOrder": [
20198	//     "profileId"
20199	//   ],
20200	//   "parameters": {
20201	//     "advertiserGroupIds": {
20202	//       "description": "Select only advertisers with these advertiser group IDs.",
20203	//       "format": "int64",
20204	//       "location": "query",
20205	//       "repeated": true,
20206	//       "type": "string"
20207	//     },
20208	//     "floodlightConfigurationIds": {
20209	//       "description": "Select only advertisers with these floodlight configuration IDs.",
20210	//       "format": "int64",
20211	//       "location": "query",
20212	//       "repeated": true,
20213	//       "type": "string"
20214	//     },
20215	//     "ids": {
20216	//       "description": "Select only advertisers with these IDs.",
20217	//       "format": "int64",
20218	//       "location": "query",
20219	//       "repeated": true,
20220	//       "type": "string"
20221	//     },
20222	//     "includeAdvertisersWithoutGroupsOnly": {
20223	//       "description": "Select only advertisers which do not belong to any advertiser group.",
20224	//       "location": "query",
20225	//       "type": "boolean"
20226	//     },
20227	//     "maxResults": {
20228	//       "default": "1000",
20229	//       "description": "Maximum number of results to return.",
20230	//       "format": "int32",
20231	//       "location": "query",
20232	//       "maximum": "1000",
20233	//       "minimum": "0",
20234	//       "type": "integer"
20235	//     },
20236	//     "onlyParent": {
20237	//       "description": "Select only advertisers which use another advertiser's floodlight configuration.",
20238	//       "location": "query",
20239	//       "type": "boolean"
20240	//     },
20241	//     "pageToken": {
20242	//       "description": "Value of the nextPageToken from the previous result page.",
20243	//       "location": "query",
20244	//       "type": "string"
20245	//     },
20246	//     "profileId": {
20247	//       "description": "User profile ID associated with this request.",
20248	//       "format": "int64",
20249	//       "location": "path",
20250	//       "required": true,
20251	//       "type": "string"
20252	//     },
20253	//     "searchString": {
20254	//       "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\".",
20255	//       "location": "query",
20256	//       "type": "string"
20257	//     },
20258	//     "sortField": {
20259	//       "default": "ID",
20260	//       "description": "Field by which to sort the list.",
20261	//       "enum": [
20262	//         "ID",
20263	//         "NAME"
20264	//       ],
20265	//       "enumDescriptions": [
20266	//         "",
20267	//         ""
20268	//       ],
20269	//       "location": "query",
20270	//       "type": "string"
20271	//     },
20272	//     "sortOrder": {
20273	//       "default": "ASCENDING",
20274	//       "description": "Order of sorted results.",
20275	//       "enum": [
20276	//         "ASCENDING",
20277	//         "DESCENDING"
20278	//       ],
20279	//       "enumDescriptions": [
20280	//         "",
20281	//         ""
20282	//       ],
20283	//       "location": "query",
20284	//       "type": "string"
20285	//     },
20286	//     "status": {
20287	//       "description": "Select only advertisers with the specified status.",
20288	//       "enum": [
20289	//         "APPROVED",
20290	//         "ON_HOLD"
20291	//       ],
20292	//       "enumDescriptions": [
20293	//         "",
20294	//         ""
20295	//       ],
20296	//       "location": "query",
20297	//       "type": "string"
20298	//     },
20299	//     "subaccountId": {
20300	//       "description": "Select only advertisers with these subaccount IDs.",
20301	//       "format": "int64",
20302	//       "location": "query",
20303	//       "type": "string"
20304	//     }
20305	//   },
20306	//   "path": "userprofiles/{profileId}/advertisers",
20307	//   "response": {
20308	//     "$ref": "AdvertisersListResponse"
20309	//   },
20310	//   "scopes": [
20311	//     "https://www.googleapis.com/auth/dfatrafficking"
20312	//   ]
20313	// }
20314
20315}
20316
20317// Pages invokes f for each page of results.
20318// A non-nil error returned from f will halt the iteration.
20319// The provided context supersedes any context provided to the Context method.
20320func (c *AdvertisersListCall) Pages(ctx context.Context, f func(*AdvertisersListResponse) error) error {
20321	c.ctx_ = ctx
20322	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
20323	for {
20324		x, err := c.Do()
20325		if err != nil {
20326			return err
20327		}
20328		if err := f(x); err != nil {
20329			return err
20330		}
20331		if x.NextPageToken == "" {
20332			return nil
20333		}
20334		c.PageToken(x.NextPageToken)
20335	}
20336}
20337
20338// method id "dfareporting.advertisers.patch":
20339
20340type AdvertisersPatchCall struct {
20341	s          *Service
20342	profileId  int64
20343	advertiser *Advertiser
20344	urlParams_ gensupport.URLParams
20345	ctx_       context.Context
20346	header_    http.Header
20347}
20348
20349// Patch: Updates an existing advertiser. This method supports patch
20350// semantics.
20351func (r *AdvertisersService) Patch(profileId int64, id int64, advertiser *Advertiser) *AdvertisersPatchCall {
20352	c := &AdvertisersPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20353	c.profileId = profileId
20354	c.urlParams_.Set("id", fmt.Sprint(id))
20355	c.advertiser = advertiser
20356	return c
20357}
20358
20359// Fields allows partial responses to be retrieved. See
20360// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20361// for more information.
20362func (c *AdvertisersPatchCall) Fields(s ...googleapi.Field) *AdvertisersPatchCall {
20363	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20364	return c
20365}
20366
20367// Context sets the context to be used in this call's Do method. Any
20368// pending HTTP request will be aborted if the provided context is
20369// canceled.
20370func (c *AdvertisersPatchCall) Context(ctx context.Context) *AdvertisersPatchCall {
20371	c.ctx_ = ctx
20372	return c
20373}
20374
20375// Header returns an http.Header that can be modified by the caller to
20376// add HTTP headers to the request.
20377func (c *AdvertisersPatchCall) Header() http.Header {
20378	if c.header_ == nil {
20379		c.header_ = make(http.Header)
20380	}
20381	return c.header_
20382}
20383
20384func (c *AdvertisersPatchCall) doRequest(alt string) (*http.Response, error) {
20385	reqHeaders := make(http.Header)
20386	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20387	for k, v := range c.header_ {
20388		reqHeaders[k] = v
20389	}
20390	reqHeaders.Set("User-Agent", c.s.userAgent())
20391	var body io.Reader = nil
20392	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20393	if err != nil {
20394		return nil, err
20395	}
20396	reqHeaders.Set("Content-Type", "application/json")
20397	c.urlParams_.Set("alt", alt)
20398	c.urlParams_.Set("prettyPrint", "false")
20399	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20400	urls += "?" + c.urlParams_.Encode()
20401	req, err := http.NewRequest("PATCH", urls, body)
20402	if err != nil {
20403		return nil, err
20404	}
20405	req.Header = reqHeaders
20406	googleapi.Expand(req.URL, map[string]string{
20407		"profileId": strconv.FormatInt(c.profileId, 10),
20408	})
20409	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20410}
20411
20412// Do executes the "dfareporting.advertisers.patch" call.
20413// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20414// status code is an error. Response headers are in either
20415// *Advertiser.ServerResponse.Header or (if a response was returned at
20416// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20417// to check whether the returned error was because
20418// http.StatusNotModified was returned.
20419func (c *AdvertisersPatchCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20420	gensupport.SetOptions(c.urlParams_, opts...)
20421	res, err := c.doRequest("json")
20422	if res != nil && res.StatusCode == http.StatusNotModified {
20423		if res.Body != nil {
20424			res.Body.Close()
20425		}
20426		return nil, &googleapi.Error{
20427			Code:   res.StatusCode,
20428			Header: res.Header,
20429		}
20430	}
20431	if err != nil {
20432		return nil, err
20433	}
20434	defer googleapi.CloseBody(res)
20435	if err := googleapi.CheckResponse(res); err != nil {
20436		return nil, err
20437	}
20438	ret := &Advertiser{
20439		ServerResponse: googleapi.ServerResponse{
20440			Header:         res.Header,
20441			HTTPStatusCode: res.StatusCode,
20442		},
20443	}
20444	target := &ret
20445	if err := gensupport.DecodeResponse(target, res); err != nil {
20446		return nil, err
20447	}
20448	return ret, nil
20449	// {
20450	//   "description": "Updates an existing advertiser. This method supports patch semantics.",
20451	//   "httpMethod": "PATCH",
20452	//   "id": "dfareporting.advertisers.patch",
20453	//   "parameterOrder": [
20454	//     "profileId",
20455	//     "id"
20456	//   ],
20457	//   "parameters": {
20458	//     "id": {
20459	//       "description": "Advertiser ID.",
20460	//       "format": "int64",
20461	//       "location": "query",
20462	//       "required": true,
20463	//       "type": "string"
20464	//     },
20465	//     "profileId": {
20466	//       "description": "User profile ID associated with this request.",
20467	//       "format": "int64",
20468	//       "location": "path",
20469	//       "required": true,
20470	//       "type": "string"
20471	//     }
20472	//   },
20473	//   "path": "userprofiles/{profileId}/advertisers",
20474	//   "request": {
20475	//     "$ref": "Advertiser"
20476	//   },
20477	//   "response": {
20478	//     "$ref": "Advertiser"
20479	//   },
20480	//   "scopes": [
20481	//     "https://www.googleapis.com/auth/dfatrafficking"
20482	//   ]
20483	// }
20484
20485}
20486
20487// method id "dfareporting.advertisers.update":
20488
20489type AdvertisersUpdateCall struct {
20490	s          *Service
20491	profileId  int64
20492	advertiser *Advertiser
20493	urlParams_ gensupport.URLParams
20494	ctx_       context.Context
20495	header_    http.Header
20496}
20497
20498// Update: Updates an existing advertiser.
20499func (r *AdvertisersService) Update(profileId int64, advertiser *Advertiser) *AdvertisersUpdateCall {
20500	c := &AdvertisersUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20501	c.profileId = profileId
20502	c.advertiser = advertiser
20503	return c
20504}
20505
20506// Fields allows partial responses to be retrieved. See
20507// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20508// for more information.
20509func (c *AdvertisersUpdateCall) Fields(s ...googleapi.Field) *AdvertisersUpdateCall {
20510	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20511	return c
20512}
20513
20514// Context sets the context to be used in this call's Do method. Any
20515// pending HTTP request will be aborted if the provided context is
20516// canceled.
20517func (c *AdvertisersUpdateCall) Context(ctx context.Context) *AdvertisersUpdateCall {
20518	c.ctx_ = ctx
20519	return c
20520}
20521
20522// Header returns an http.Header that can be modified by the caller to
20523// add HTTP headers to the request.
20524func (c *AdvertisersUpdateCall) Header() http.Header {
20525	if c.header_ == nil {
20526		c.header_ = make(http.Header)
20527	}
20528	return c.header_
20529}
20530
20531func (c *AdvertisersUpdateCall) doRequest(alt string) (*http.Response, error) {
20532	reqHeaders := make(http.Header)
20533	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20534	for k, v := range c.header_ {
20535		reqHeaders[k] = v
20536	}
20537	reqHeaders.Set("User-Agent", c.s.userAgent())
20538	var body io.Reader = nil
20539	body, err := googleapi.WithoutDataWrapper.JSONReader(c.advertiser)
20540	if err != nil {
20541		return nil, err
20542	}
20543	reqHeaders.Set("Content-Type", "application/json")
20544	c.urlParams_.Set("alt", alt)
20545	c.urlParams_.Set("prettyPrint", "false")
20546	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/advertisers")
20547	urls += "?" + c.urlParams_.Encode()
20548	req, err := http.NewRequest("PUT", urls, body)
20549	if err != nil {
20550		return nil, err
20551	}
20552	req.Header = reqHeaders
20553	googleapi.Expand(req.URL, map[string]string{
20554		"profileId": strconv.FormatInt(c.profileId, 10),
20555	})
20556	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20557}
20558
20559// Do executes the "dfareporting.advertisers.update" call.
20560// Exactly one of *Advertiser or error will be non-nil. Any non-2xx
20561// status code is an error. Response headers are in either
20562// *Advertiser.ServerResponse.Header or (if a response was returned at
20563// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
20564// to check whether the returned error was because
20565// http.StatusNotModified was returned.
20566func (c *AdvertisersUpdateCall) Do(opts ...googleapi.CallOption) (*Advertiser, error) {
20567	gensupport.SetOptions(c.urlParams_, opts...)
20568	res, err := c.doRequest("json")
20569	if res != nil && res.StatusCode == http.StatusNotModified {
20570		if res.Body != nil {
20571			res.Body.Close()
20572		}
20573		return nil, &googleapi.Error{
20574			Code:   res.StatusCode,
20575			Header: res.Header,
20576		}
20577	}
20578	if err != nil {
20579		return nil, err
20580	}
20581	defer googleapi.CloseBody(res)
20582	if err := googleapi.CheckResponse(res); err != nil {
20583		return nil, err
20584	}
20585	ret := &Advertiser{
20586		ServerResponse: googleapi.ServerResponse{
20587			Header:         res.Header,
20588			HTTPStatusCode: res.StatusCode,
20589		},
20590	}
20591	target := &ret
20592	if err := gensupport.DecodeResponse(target, res); err != nil {
20593		return nil, err
20594	}
20595	return ret, nil
20596	// {
20597	//   "description": "Updates an existing advertiser.",
20598	//   "httpMethod": "PUT",
20599	//   "id": "dfareporting.advertisers.update",
20600	//   "parameterOrder": [
20601	//     "profileId"
20602	//   ],
20603	//   "parameters": {
20604	//     "profileId": {
20605	//       "description": "User profile ID associated with this request.",
20606	//       "format": "int64",
20607	//       "location": "path",
20608	//       "required": true,
20609	//       "type": "string"
20610	//     }
20611	//   },
20612	//   "path": "userprofiles/{profileId}/advertisers",
20613	//   "request": {
20614	//     "$ref": "Advertiser"
20615	//   },
20616	//   "response": {
20617	//     "$ref": "Advertiser"
20618	//   },
20619	//   "scopes": [
20620	//     "https://www.googleapis.com/auth/dfatrafficking"
20621	//   ]
20622	// }
20623
20624}
20625
20626// method id "dfareporting.browsers.list":
20627
20628type BrowsersListCall struct {
20629	s            *Service
20630	profileId    int64
20631	urlParams_   gensupport.URLParams
20632	ifNoneMatch_ string
20633	ctx_         context.Context
20634	header_      http.Header
20635}
20636
20637// List: Retrieves a list of browsers.
20638func (r *BrowsersService) List(profileId int64) *BrowsersListCall {
20639	c := &BrowsersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20640	c.profileId = profileId
20641	return c
20642}
20643
20644// Fields allows partial responses to be retrieved. See
20645// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20646// for more information.
20647func (c *BrowsersListCall) Fields(s ...googleapi.Field) *BrowsersListCall {
20648	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20649	return c
20650}
20651
20652// IfNoneMatch sets the optional parameter which makes the operation
20653// fail if the object's ETag matches the given value. This is useful for
20654// getting updates only after the object has changed since the last
20655// request. Use googleapi.IsNotModified to check whether the response
20656// error from Do is the result of In-None-Match.
20657func (c *BrowsersListCall) IfNoneMatch(entityTag string) *BrowsersListCall {
20658	c.ifNoneMatch_ = entityTag
20659	return c
20660}
20661
20662// Context sets the context to be used in this call's Do method. Any
20663// pending HTTP request will be aborted if the provided context is
20664// canceled.
20665func (c *BrowsersListCall) Context(ctx context.Context) *BrowsersListCall {
20666	c.ctx_ = ctx
20667	return c
20668}
20669
20670// Header returns an http.Header that can be modified by the caller to
20671// add HTTP headers to the request.
20672func (c *BrowsersListCall) Header() http.Header {
20673	if c.header_ == nil {
20674		c.header_ = make(http.Header)
20675	}
20676	return c.header_
20677}
20678
20679func (c *BrowsersListCall) doRequest(alt string) (*http.Response, error) {
20680	reqHeaders := make(http.Header)
20681	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20682	for k, v := range c.header_ {
20683		reqHeaders[k] = v
20684	}
20685	reqHeaders.Set("User-Agent", c.s.userAgent())
20686	if c.ifNoneMatch_ != "" {
20687		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
20688	}
20689	var body io.Reader = nil
20690	c.urlParams_.Set("alt", alt)
20691	c.urlParams_.Set("prettyPrint", "false")
20692	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/browsers")
20693	urls += "?" + c.urlParams_.Encode()
20694	req, err := http.NewRequest("GET", urls, body)
20695	if err != nil {
20696		return nil, err
20697	}
20698	req.Header = reqHeaders
20699	googleapi.Expand(req.URL, map[string]string{
20700		"profileId": strconv.FormatInt(c.profileId, 10),
20701	})
20702	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20703}
20704
20705// Do executes the "dfareporting.browsers.list" call.
20706// Exactly one of *BrowsersListResponse or error will be non-nil. Any
20707// non-2xx status code is an error. Response headers are in either
20708// *BrowsersListResponse.ServerResponse.Header or (if a response was
20709// returned at all) in error.(*googleapi.Error).Header. Use
20710// googleapi.IsNotModified to check whether the returned error was
20711// because http.StatusNotModified was returned.
20712func (c *BrowsersListCall) Do(opts ...googleapi.CallOption) (*BrowsersListResponse, error) {
20713	gensupport.SetOptions(c.urlParams_, opts...)
20714	res, err := c.doRequest("json")
20715	if res != nil && res.StatusCode == http.StatusNotModified {
20716		if res.Body != nil {
20717			res.Body.Close()
20718		}
20719		return nil, &googleapi.Error{
20720			Code:   res.StatusCode,
20721			Header: res.Header,
20722		}
20723	}
20724	if err != nil {
20725		return nil, err
20726	}
20727	defer googleapi.CloseBody(res)
20728	if err := googleapi.CheckResponse(res); err != nil {
20729		return nil, err
20730	}
20731	ret := &BrowsersListResponse{
20732		ServerResponse: googleapi.ServerResponse{
20733			Header:         res.Header,
20734			HTTPStatusCode: res.StatusCode,
20735		},
20736	}
20737	target := &ret
20738	if err := gensupport.DecodeResponse(target, res); err != nil {
20739		return nil, err
20740	}
20741	return ret, nil
20742	// {
20743	//   "description": "Retrieves a list of browsers.",
20744	//   "httpMethod": "GET",
20745	//   "id": "dfareporting.browsers.list",
20746	//   "parameterOrder": [
20747	//     "profileId"
20748	//   ],
20749	//   "parameters": {
20750	//     "profileId": {
20751	//       "description": "User profile ID associated with this request.",
20752	//       "format": "int64",
20753	//       "location": "path",
20754	//       "required": true,
20755	//       "type": "string"
20756	//     }
20757	//   },
20758	//   "path": "userprofiles/{profileId}/browsers",
20759	//   "response": {
20760	//     "$ref": "BrowsersListResponse"
20761	//   },
20762	//   "scopes": [
20763	//     "https://www.googleapis.com/auth/dfatrafficking"
20764	//   ]
20765	// }
20766
20767}
20768
20769// method id "dfareporting.campaignCreativeAssociations.insert":
20770
20771type CampaignCreativeAssociationsInsertCall struct {
20772	s                           *Service
20773	profileId                   int64
20774	campaignId                  int64
20775	campaigncreativeassociation *CampaignCreativeAssociation
20776	urlParams_                  gensupport.URLParams
20777	ctx_                        context.Context
20778	header_                     http.Header
20779}
20780
20781// Insert: Associates a creative with the specified campaign. This
20782// method creates a default ad with dimensions matching the creative in
20783// the campaign if such a default ad does not exist already.
20784func (r *CampaignCreativeAssociationsService) Insert(profileId int64, campaignId int64, campaigncreativeassociation *CampaignCreativeAssociation) *CampaignCreativeAssociationsInsertCall {
20785	c := &CampaignCreativeAssociationsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20786	c.profileId = profileId
20787	c.campaignId = campaignId
20788	c.campaigncreativeassociation = campaigncreativeassociation
20789	return c
20790}
20791
20792// Fields allows partial responses to be retrieved. See
20793// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20794// for more information.
20795func (c *CampaignCreativeAssociationsInsertCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsInsertCall {
20796	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20797	return c
20798}
20799
20800// Context sets the context to be used in this call's Do method. Any
20801// pending HTTP request will be aborted if the provided context is
20802// canceled.
20803func (c *CampaignCreativeAssociationsInsertCall) Context(ctx context.Context) *CampaignCreativeAssociationsInsertCall {
20804	c.ctx_ = ctx
20805	return c
20806}
20807
20808// Header returns an http.Header that can be modified by the caller to
20809// add HTTP headers to the request.
20810func (c *CampaignCreativeAssociationsInsertCall) Header() http.Header {
20811	if c.header_ == nil {
20812		c.header_ = make(http.Header)
20813	}
20814	return c.header_
20815}
20816
20817func (c *CampaignCreativeAssociationsInsertCall) doRequest(alt string) (*http.Response, error) {
20818	reqHeaders := make(http.Header)
20819	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
20820	for k, v := range c.header_ {
20821		reqHeaders[k] = v
20822	}
20823	reqHeaders.Set("User-Agent", c.s.userAgent())
20824	var body io.Reader = nil
20825	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaigncreativeassociation)
20826	if err != nil {
20827		return nil, err
20828	}
20829	reqHeaders.Set("Content-Type", "application/json")
20830	c.urlParams_.Set("alt", alt)
20831	c.urlParams_.Set("prettyPrint", "false")
20832	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
20833	urls += "?" + c.urlParams_.Encode()
20834	req, err := http.NewRequest("POST", urls, body)
20835	if err != nil {
20836		return nil, err
20837	}
20838	req.Header = reqHeaders
20839	googleapi.Expand(req.URL, map[string]string{
20840		"profileId":  strconv.FormatInt(c.profileId, 10),
20841		"campaignId": strconv.FormatInt(c.campaignId, 10),
20842	})
20843	return gensupport.SendRequest(c.ctx_, c.s.client, req)
20844}
20845
20846// Do executes the "dfareporting.campaignCreativeAssociations.insert" call.
20847// Exactly one of *CampaignCreativeAssociation or error will be non-nil.
20848// Any non-2xx status code is an error. Response headers are in either
20849// *CampaignCreativeAssociation.ServerResponse.Header or (if a response
20850// was returned at all) in error.(*googleapi.Error).Header. Use
20851// googleapi.IsNotModified to check whether the returned error was
20852// because http.StatusNotModified was returned.
20853func (c *CampaignCreativeAssociationsInsertCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociation, error) {
20854	gensupport.SetOptions(c.urlParams_, opts...)
20855	res, err := c.doRequest("json")
20856	if res != nil && res.StatusCode == http.StatusNotModified {
20857		if res.Body != nil {
20858			res.Body.Close()
20859		}
20860		return nil, &googleapi.Error{
20861			Code:   res.StatusCode,
20862			Header: res.Header,
20863		}
20864	}
20865	if err != nil {
20866		return nil, err
20867	}
20868	defer googleapi.CloseBody(res)
20869	if err := googleapi.CheckResponse(res); err != nil {
20870		return nil, err
20871	}
20872	ret := &CampaignCreativeAssociation{
20873		ServerResponse: googleapi.ServerResponse{
20874			Header:         res.Header,
20875			HTTPStatusCode: res.StatusCode,
20876		},
20877	}
20878	target := &ret
20879	if err := gensupport.DecodeResponse(target, res); err != nil {
20880		return nil, err
20881	}
20882	return ret, nil
20883	// {
20884	//   "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.",
20885	//   "httpMethod": "POST",
20886	//   "id": "dfareporting.campaignCreativeAssociations.insert",
20887	//   "parameterOrder": [
20888	//     "profileId",
20889	//     "campaignId"
20890	//   ],
20891	//   "parameters": {
20892	//     "campaignId": {
20893	//       "description": "Campaign ID in this association.",
20894	//       "format": "int64",
20895	//       "location": "path",
20896	//       "required": true,
20897	//       "type": "string"
20898	//     },
20899	//     "profileId": {
20900	//       "description": "User profile ID associated with this request.",
20901	//       "format": "int64",
20902	//       "location": "path",
20903	//       "required": true,
20904	//       "type": "string"
20905	//     }
20906	//   },
20907	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
20908	//   "request": {
20909	//     "$ref": "CampaignCreativeAssociation"
20910	//   },
20911	//   "response": {
20912	//     "$ref": "CampaignCreativeAssociation"
20913	//   },
20914	//   "scopes": [
20915	//     "https://www.googleapis.com/auth/dfatrafficking"
20916	//   ]
20917	// }
20918
20919}
20920
20921// method id "dfareporting.campaignCreativeAssociations.list":
20922
20923type CampaignCreativeAssociationsListCall struct {
20924	s            *Service
20925	profileId    int64
20926	campaignId   int64
20927	urlParams_   gensupport.URLParams
20928	ifNoneMatch_ string
20929	ctx_         context.Context
20930	header_      http.Header
20931}
20932
20933// List: Retrieves the list of creative IDs associated with the
20934// specified campaign. This method supports paging.
20935func (r *CampaignCreativeAssociationsService) List(profileId int64, campaignId int64) *CampaignCreativeAssociationsListCall {
20936	c := &CampaignCreativeAssociationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
20937	c.profileId = profileId
20938	c.campaignId = campaignId
20939	return c
20940}
20941
20942// MaxResults sets the optional parameter "maxResults": Maximum number
20943// of results to return.
20944func (c *CampaignCreativeAssociationsListCall) MaxResults(maxResults int64) *CampaignCreativeAssociationsListCall {
20945	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
20946	return c
20947}
20948
20949// PageToken sets the optional parameter "pageToken": Value of the
20950// nextPageToken from the previous result page.
20951func (c *CampaignCreativeAssociationsListCall) PageToken(pageToken string) *CampaignCreativeAssociationsListCall {
20952	c.urlParams_.Set("pageToken", pageToken)
20953	return c
20954}
20955
20956// SortOrder sets the optional parameter "sortOrder": Order of sorted
20957// results.
20958//
20959// Possible values:
20960//   "ASCENDING" (default)
20961//   "DESCENDING"
20962func (c *CampaignCreativeAssociationsListCall) SortOrder(sortOrder string) *CampaignCreativeAssociationsListCall {
20963	c.urlParams_.Set("sortOrder", sortOrder)
20964	return c
20965}
20966
20967// Fields allows partial responses to be retrieved. See
20968// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
20969// for more information.
20970func (c *CampaignCreativeAssociationsListCall) Fields(s ...googleapi.Field) *CampaignCreativeAssociationsListCall {
20971	c.urlParams_.Set("fields", googleapi.CombineFields(s))
20972	return c
20973}
20974
20975// IfNoneMatch sets the optional parameter which makes the operation
20976// fail if the object's ETag matches the given value. This is useful for
20977// getting updates only after the object has changed since the last
20978// request. Use googleapi.IsNotModified to check whether the response
20979// error from Do is the result of In-None-Match.
20980func (c *CampaignCreativeAssociationsListCall) IfNoneMatch(entityTag string) *CampaignCreativeAssociationsListCall {
20981	c.ifNoneMatch_ = entityTag
20982	return c
20983}
20984
20985// Context sets the context to be used in this call's Do method. Any
20986// pending HTTP request will be aborted if the provided context is
20987// canceled.
20988func (c *CampaignCreativeAssociationsListCall) Context(ctx context.Context) *CampaignCreativeAssociationsListCall {
20989	c.ctx_ = ctx
20990	return c
20991}
20992
20993// Header returns an http.Header that can be modified by the caller to
20994// add HTTP headers to the request.
20995func (c *CampaignCreativeAssociationsListCall) Header() http.Header {
20996	if c.header_ == nil {
20997		c.header_ = make(http.Header)
20998	}
20999	return c.header_
21000}
21001
21002func (c *CampaignCreativeAssociationsListCall) doRequest(alt string) (*http.Response, error) {
21003	reqHeaders := make(http.Header)
21004	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21005	for k, v := range c.header_ {
21006		reqHeaders[k] = v
21007	}
21008	reqHeaders.Set("User-Agent", c.s.userAgent())
21009	if c.ifNoneMatch_ != "" {
21010		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21011	}
21012	var body io.Reader = nil
21013	c.urlParams_.Set("alt", alt)
21014	c.urlParams_.Set("prettyPrint", "false")
21015	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations")
21016	urls += "?" + c.urlParams_.Encode()
21017	req, err := http.NewRequest("GET", urls, body)
21018	if err != nil {
21019		return nil, err
21020	}
21021	req.Header = reqHeaders
21022	googleapi.Expand(req.URL, map[string]string{
21023		"profileId":  strconv.FormatInt(c.profileId, 10),
21024		"campaignId": strconv.FormatInt(c.campaignId, 10),
21025	})
21026	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21027}
21028
21029// Do executes the "dfareporting.campaignCreativeAssociations.list" call.
21030// Exactly one of *CampaignCreativeAssociationsListResponse or error
21031// will be non-nil. Any non-2xx status code is an error. Response
21032// headers are in either
21033// *CampaignCreativeAssociationsListResponse.ServerResponse.Header or
21034// (if a response was returned at all) in
21035// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
21036// whether the returned error was because http.StatusNotModified was
21037// returned.
21038func (c *CampaignCreativeAssociationsListCall) Do(opts ...googleapi.CallOption) (*CampaignCreativeAssociationsListResponse, error) {
21039	gensupport.SetOptions(c.urlParams_, opts...)
21040	res, err := c.doRequest("json")
21041	if res != nil && res.StatusCode == http.StatusNotModified {
21042		if res.Body != nil {
21043			res.Body.Close()
21044		}
21045		return nil, &googleapi.Error{
21046			Code:   res.StatusCode,
21047			Header: res.Header,
21048		}
21049	}
21050	if err != nil {
21051		return nil, err
21052	}
21053	defer googleapi.CloseBody(res)
21054	if err := googleapi.CheckResponse(res); err != nil {
21055		return nil, err
21056	}
21057	ret := &CampaignCreativeAssociationsListResponse{
21058		ServerResponse: googleapi.ServerResponse{
21059			Header:         res.Header,
21060			HTTPStatusCode: res.StatusCode,
21061		},
21062	}
21063	target := &ret
21064	if err := gensupport.DecodeResponse(target, res); err != nil {
21065		return nil, err
21066	}
21067	return ret, nil
21068	// {
21069	//   "description": "Retrieves the list of creative IDs associated with the specified campaign. This method supports paging.",
21070	//   "httpMethod": "GET",
21071	//   "id": "dfareporting.campaignCreativeAssociations.list",
21072	//   "parameterOrder": [
21073	//     "profileId",
21074	//     "campaignId"
21075	//   ],
21076	//   "parameters": {
21077	//     "campaignId": {
21078	//       "description": "Campaign ID in this association.",
21079	//       "format": "int64",
21080	//       "location": "path",
21081	//       "required": true,
21082	//       "type": "string"
21083	//     },
21084	//     "maxResults": {
21085	//       "default": "1000",
21086	//       "description": "Maximum number of results to return.",
21087	//       "format": "int32",
21088	//       "location": "query",
21089	//       "maximum": "1000",
21090	//       "minimum": "0",
21091	//       "type": "integer"
21092	//     },
21093	//     "pageToken": {
21094	//       "description": "Value of the nextPageToken from the previous result page.",
21095	//       "location": "query",
21096	//       "type": "string"
21097	//     },
21098	//     "profileId": {
21099	//       "description": "User profile ID associated with this request.",
21100	//       "format": "int64",
21101	//       "location": "path",
21102	//       "required": true,
21103	//       "type": "string"
21104	//     },
21105	//     "sortOrder": {
21106	//       "default": "ASCENDING",
21107	//       "description": "Order of sorted results.",
21108	//       "enum": [
21109	//         "ASCENDING",
21110	//         "DESCENDING"
21111	//       ],
21112	//       "enumDescriptions": [
21113	//         "",
21114	//         ""
21115	//       ],
21116	//       "location": "query",
21117	//       "type": "string"
21118	//     }
21119	//   },
21120	//   "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations",
21121	//   "response": {
21122	//     "$ref": "CampaignCreativeAssociationsListResponse"
21123	//   },
21124	//   "scopes": [
21125	//     "https://www.googleapis.com/auth/dfatrafficking"
21126	//   ]
21127	// }
21128
21129}
21130
21131// Pages invokes f for each page of results.
21132// A non-nil error returned from f will halt the iteration.
21133// The provided context supersedes any context provided to the Context method.
21134func (c *CampaignCreativeAssociationsListCall) Pages(ctx context.Context, f func(*CampaignCreativeAssociationsListResponse) error) error {
21135	c.ctx_ = ctx
21136	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21137	for {
21138		x, err := c.Do()
21139		if err != nil {
21140			return err
21141		}
21142		if err := f(x); err != nil {
21143			return err
21144		}
21145		if x.NextPageToken == "" {
21146			return nil
21147		}
21148		c.PageToken(x.NextPageToken)
21149	}
21150}
21151
21152// method id "dfareporting.campaigns.get":
21153
21154type CampaignsGetCall struct {
21155	s            *Service
21156	profileId    int64
21157	id           int64
21158	urlParams_   gensupport.URLParams
21159	ifNoneMatch_ string
21160	ctx_         context.Context
21161	header_      http.Header
21162}
21163
21164// Get: Gets one campaign by ID.
21165func (r *CampaignsService) Get(profileId int64, id int64) *CampaignsGetCall {
21166	c := &CampaignsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21167	c.profileId = profileId
21168	c.id = id
21169	return c
21170}
21171
21172// Fields allows partial responses to be retrieved. See
21173// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21174// for more information.
21175func (c *CampaignsGetCall) Fields(s ...googleapi.Field) *CampaignsGetCall {
21176	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21177	return c
21178}
21179
21180// IfNoneMatch sets the optional parameter which makes the operation
21181// fail if the object's ETag matches the given value. This is useful for
21182// getting updates only after the object has changed since the last
21183// request. Use googleapi.IsNotModified to check whether the response
21184// error from Do is the result of In-None-Match.
21185func (c *CampaignsGetCall) IfNoneMatch(entityTag string) *CampaignsGetCall {
21186	c.ifNoneMatch_ = entityTag
21187	return c
21188}
21189
21190// Context sets the context to be used in this call's Do method. Any
21191// pending HTTP request will be aborted if the provided context is
21192// canceled.
21193func (c *CampaignsGetCall) Context(ctx context.Context) *CampaignsGetCall {
21194	c.ctx_ = ctx
21195	return c
21196}
21197
21198// Header returns an http.Header that can be modified by the caller to
21199// add HTTP headers to the request.
21200func (c *CampaignsGetCall) Header() http.Header {
21201	if c.header_ == nil {
21202		c.header_ = make(http.Header)
21203	}
21204	return c.header_
21205}
21206
21207func (c *CampaignsGetCall) doRequest(alt string) (*http.Response, error) {
21208	reqHeaders := make(http.Header)
21209	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21210	for k, v := range c.header_ {
21211		reqHeaders[k] = v
21212	}
21213	reqHeaders.Set("User-Agent", c.s.userAgent())
21214	if c.ifNoneMatch_ != "" {
21215		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21216	}
21217	var body io.Reader = nil
21218	c.urlParams_.Set("alt", alt)
21219	c.urlParams_.Set("prettyPrint", "false")
21220	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns/{id}")
21221	urls += "?" + c.urlParams_.Encode()
21222	req, err := http.NewRequest("GET", urls, body)
21223	if err != nil {
21224		return nil, err
21225	}
21226	req.Header = reqHeaders
21227	googleapi.Expand(req.URL, map[string]string{
21228		"profileId": strconv.FormatInt(c.profileId, 10),
21229		"id":        strconv.FormatInt(c.id, 10),
21230	})
21231	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21232}
21233
21234// Do executes the "dfareporting.campaigns.get" call.
21235// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21236// code is an error. Response headers are in either
21237// *Campaign.ServerResponse.Header or (if a response was returned at
21238// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21239// to check whether the returned error was because
21240// http.StatusNotModified was returned.
21241func (c *CampaignsGetCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21242	gensupport.SetOptions(c.urlParams_, opts...)
21243	res, err := c.doRequest("json")
21244	if res != nil && res.StatusCode == http.StatusNotModified {
21245		if res.Body != nil {
21246			res.Body.Close()
21247		}
21248		return nil, &googleapi.Error{
21249			Code:   res.StatusCode,
21250			Header: res.Header,
21251		}
21252	}
21253	if err != nil {
21254		return nil, err
21255	}
21256	defer googleapi.CloseBody(res)
21257	if err := googleapi.CheckResponse(res); err != nil {
21258		return nil, err
21259	}
21260	ret := &Campaign{
21261		ServerResponse: googleapi.ServerResponse{
21262			Header:         res.Header,
21263			HTTPStatusCode: res.StatusCode,
21264		},
21265	}
21266	target := &ret
21267	if err := gensupport.DecodeResponse(target, res); err != nil {
21268		return nil, err
21269	}
21270	return ret, nil
21271	// {
21272	//   "description": "Gets one campaign by ID.",
21273	//   "httpMethod": "GET",
21274	//   "id": "dfareporting.campaigns.get",
21275	//   "parameterOrder": [
21276	//     "profileId",
21277	//     "id"
21278	//   ],
21279	//   "parameters": {
21280	//     "id": {
21281	//       "description": "Campaign ID.",
21282	//       "format": "int64",
21283	//       "location": "path",
21284	//       "required": true,
21285	//       "type": "string"
21286	//     },
21287	//     "profileId": {
21288	//       "description": "User profile ID associated with this request.",
21289	//       "format": "int64",
21290	//       "location": "path",
21291	//       "required": true,
21292	//       "type": "string"
21293	//     }
21294	//   },
21295	//   "path": "userprofiles/{profileId}/campaigns/{id}",
21296	//   "response": {
21297	//     "$ref": "Campaign"
21298	//   },
21299	//   "scopes": [
21300	//     "https://www.googleapis.com/auth/dfatrafficking"
21301	//   ]
21302	// }
21303
21304}
21305
21306// method id "dfareporting.campaigns.insert":
21307
21308type CampaignsInsertCall struct {
21309	s          *Service
21310	profileId  int64
21311	campaign   *Campaign
21312	urlParams_ gensupport.URLParams
21313	ctx_       context.Context
21314	header_    http.Header
21315}
21316
21317// Insert: Inserts a new campaign.
21318func (r *CampaignsService) Insert(profileId int64, campaign *Campaign) *CampaignsInsertCall {
21319	c := &CampaignsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21320	c.profileId = profileId
21321	c.campaign = campaign
21322	return c
21323}
21324
21325// Fields allows partial responses to be retrieved. See
21326// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21327// for more information.
21328func (c *CampaignsInsertCall) Fields(s ...googleapi.Field) *CampaignsInsertCall {
21329	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21330	return c
21331}
21332
21333// Context sets the context to be used in this call's Do method. Any
21334// pending HTTP request will be aborted if the provided context is
21335// canceled.
21336func (c *CampaignsInsertCall) Context(ctx context.Context) *CampaignsInsertCall {
21337	c.ctx_ = ctx
21338	return c
21339}
21340
21341// Header returns an http.Header that can be modified by the caller to
21342// add HTTP headers to the request.
21343func (c *CampaignsInsertCall) Header() http.Header {
21344	if c.header_ == nil {
21345		c.header_ = make(http.Header)
21346	}
21347	return c.header_
21348}
21349
21350func (c *CampaignsInsertCall) doRequest(alt string) (*http.Response, error) {
21351	reqHeaders := make(http.Header)
21352	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21353	for k, v := range c.header_ {
21354		reqHeaders[k] = v
21355	}
21356	reqHeaders.Set("User-Agent", c.s.userAgent())
21357	var body io.Reader = nil
21358	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21359	if err != nil {
21360		return nil, err
21361	}
21362	reqHeaders.Set("Content-Type", "application/json")
21363	c.urlParams_.Set("alt", alt)
21364	c.urlParams_.Set("prettyPrint", "false")
21365	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21366	urls += "?" + c.urlParams_.Encode()
21367	req, err := http.NewRequest("POST", urls, body)
21368	if err != nil {
21369		return nil, err
21370	}
21371	req.Header = reqHeaders
21372	googleapi.Expand(req.URL, map[string]string{
21373		"profileId": strconv.FormatInt(c.profileId, 10),
21374	})
21375	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21376}
21377
21378// Do executes the "dfareporting.campaigns.insert" call.
21379// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21380// code is an error. Response headers are in either
21381// *Campaign.ServerResponse.Header or (if a response was returned at
21382// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21383// to check whether the returned error was because
21384// http.StatusNotModified was returned.
21385func (c *CampaignsInsertCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21386	gensupport.SetOptions(c.urlParams_, opts...)
21387	res, err := c.doRequest("json")
21388	if res != nil && res.StatusCode == http.StatusNotModified {
21389		if res.Body != nil {
21390			res.Body.Close()
21391		}
21392		return nil, &googleapi.Error{
21393			Code:   res.StatusCode,
21394			Header: res.Header,
21395		}
21396	}
21397	if err != nil {
21398		return nil, err
21399	}
21400	defer googleapi.CloseBody(res)
21401	if err := googleapi.CheckResponse(res); err != nil {
21402		return nil, err
21403	}
21404	ret := &Campaign{
21405		ServerResponse: googleapi.ServerResponse{
21406			Header:         res.Header,
21407			HTTPStatusCode: res.StatusCode,
21408		},
21409	}
21410	target := &ret
21411	if err := gensupport.DecodeResponse(target, res); err != nil {
21412		return nil, err
21413	}
21414	return ret, nil
21415	// {
21416	//   "description": "Inserts a new campaign.",
21417	//   "httpMethod": "POST",
21418	//   "id": "dfareporting.campaigns.insert",
21419	//   "parameterOrder": [
21420	//     "profileId"
21421	//   ],
21422	//   "parameters": {
21423	//     "profileId": {
21424	//       "description": "User profile ID associated with this request.",
21425	//       "format": "int64",
21426	//       "location": "path",
21427	//       "required": true,
21428	//       "type": "string"
21429	//     }
21430	//   },
21431	//   "path": "userprofiles/{profileId}/campaigns",
21432	//   "request": {
21433	//     "$ref": "Campaign"
21434	//   },
21435	//   "response": {
21436	//     "$ref": "Campaign"
21437	//   },
21438	//   "scopes": [
21439	//     "https://www.googleapis.com/auth/dfatrafficking"
21440	//   ]
21441	// }
21442
21443}
21444
21445// method id "dfareporting.campaigns.list":
21446
21447type CampaignsListCall struct {
21448	s            *Service
21449	profileId    int64
21450	urlParams_   gensupport.URLParams
21451	ifNoneMatch_ string
21452	ctx_         context.Context
21453	header_      http.Header
21454}
21455
21456// List: Retrieves a list of campaigns, possibly filtered. This method
21457// supports paging.
21458func (r *CampaignsService) List(profileId int64) *CampaignsListCall {
21459	c := &CampaignsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21460	c.profileId = profileId
21461	return c
21462}
21463
21464// AdvertiserGroupIds sets the optional parameter "advertiserGroupIds":
21465// Select only campaigns whose advertisers belong to these advertiser
21466// groups.
21467func (c *CampaignsListCall) AdvertiserGroupIds(advertiserGroupIds ...int64) *CampaignsListCall {
21468	var advertiserGroupIds_ []string
21469	for _, v := range advertiserGroupIds {
21470		advertiserGroupIds_ = append(advertiserGroupIds_, fmt.Sprint(v))
21471	}
21472	c.urlParams_.SetMulti("advertiserGroupIds", advertiserGroupIds_)
21473	return c
21474}
21475
21476// AdvertiserIds sets the optional parameter "advertiserIds": Select
21477// only campaigns that belong to these advertisers.
21478func (c *CampaignsListCall) AdvertiserIds(advertiserIds ...int64) *CampaignsListCall {
21479	var advertiserIds_ []string
21480	for _, v := range advertiserIds {
21481		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
21482	}
21483	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
21484	return c
21485}
21486
21487// Archived sets the optional parameter "archived": Select only archived
21488// campaigns. Don't set this field to select both archived and
21489// non-archived campaigns.
21490func (c *CampaignsListCall) Archived(archived bool) *CampaignsListCall {
21491	c.urlParams_.Set("archived", fmt.Sprint(archived))
21492	return c
21493}
21494
21495// AtLeastOneOptimizationActivity sets the optional parameter
21496// "atLeastOneOptimizationActivity": Select only campaigns that have at
21497// least one optimization activity.
21498func (c *CampaignsListCall) AtLeastOneOptimizationActivity(atLeastOneOptimizationActivity bool) *CampaignsListCall {
21499	c.urlParams_.Set("atLeastOneOptimizationActivity", fmt.Sprint(atLeastOneOptimizationActivity))
21500	return c
21501}
21502
21503// ExcludedIds sets the optional parameter "excludedIds": Exclude
21504// campaigns with these IDs.
21505func (c *CampaignsListCall) ExcludedIds(excludedIds ...int64) *CampaignsListCall {
21506	var excludedIds_ []string
21507	for _, v := range excludedIds {
21508		excludedIds_ = append(excludedIds_, fmt.Sprint(v))
21509	}
21510	c.urlParams_.SetMulti("excludedIds", excludedIds_)
21511	return c
21512}
21513
21514// Ids sets the optional parameter "ids": Select only campaigns with
21515// these IDs.
21516func (c *CampaignsListCall) Ids(ids ...int64) *CampaignsListCall {
21517	var ids_ []string
21518	for _, v := range ids {
21519		ids_ = append(ids_, fmt.Sprint(v))
21520	}
21521	c.urlParams_.SetMulti("ids", ids_)
21522	return c
21523}
21524
21525// MaxResults sets the optional parameter "maxResults": Maximum number
21526// of results to return.
21527func (c *CampaignsListCall) MaxResults(maxResults int64) *CampaignsListCall {
21528	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
21529	return c
21530}
21531
21532// OverriddenEventTagId sets the optional parameter
21533// "overriddenEventTagId": Select only campaigns that have overridden
21534// this event tag ID.
21535func (c *CampaignsListCall) OverriddenEventTagId(overriddenEventTagId int64) *CampaignsListCall {
21536	c.urlParams_.Set("overriddenEventTagId", fmt.Sprint(overriddenEventTagId))
21537	return c
21538}
21539
21540// PageToken sets the optional parameter "pageToken": Value of the
21541// nextPageToken from the previous result page.
21542func (c *CampaignsListCall) PageToken(pageToken string) *CampaignsListCall {
21543	c.urlParams_.Set("pageToken", pageToken)
21544	return c
21545}
21546
21547// SearchString sets the optional parameter "searchString": Allows
21548// searching for campaigns by name or ID. Wildcards (*) are allowed. For
21549// example, "campaign*2015" will return campaigns with names like
21550// "campaign June 2015", "campaign April 2015", or simply "campaign
21551// 2015". Most of the searches also add wildcards implicitly at the
21552// start and the end of the search string. For example, a search string
21553// of "campaign" will match campaigns with name "my campaign", "campaign
21554// 2015", or simply "campaign".
21555func (c *CampaignsListCall) SearchString(searchString string) *CampaignsListCall {
21556	c.urlParams_.Set("searchString", searchString)
21557	return c
21558}
21559
21560// SortField sets the optional parameter "sortField": Field by which to
21561// sort the list.
21562//
21563// Possible values:
21564//   "ID" (default)
21565//   "NAME"
21566func (c *CampaignsListCall) SortField(sortField string) *CampaignsListCall {
21567	c.urlParams_.Set("sortField", sortField)
21568	return c
21569}
21570
21571// SortOrder sets the optional parameter "sortOrder": Order of sorted
21572// results.
21573//
21574// Possible values:
21575//   "ASCENDING" (default)
21576//   "DESCENDING"
21577func (c *CampaignsListCall) SortOrder(sortOrder string) *CampaignsListCall {
21578	c.urlParams_.Set("sortOrder", sortOrder)
21579	return c
21580}
21581
21582// SubaccountId sets the optional parameter "subaccountId": Select only
21583// campaigns that belong to this subaccount.
21584func (c *CampaignsListCall) SubaccountId(subaccountId int64) *CampaignsListCall {
21585	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
21586	return c
21587}
21588
21589// Fields allows partial responses to be retrieved. See
21590// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21591// for more information.
21592func (c *CampaignsListCall) Fields(s ...googleapi.Field) *CampaignsListCall {
21593	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21594	return c
21595}
21596
21597// IfNoneMatch sets the optional parameter which makes the operation
21598// fail if the object's ETag matches the given value. This is useful for
21599// getting updates only after the object has changed since the last
21600// request. Use googleapi.IsNotModified to check whether the response
21601// error from Do is the result of In-None-Match.
21602func (c *CampaignsListCall) IfNoneMatch(entityTag string) *CampaignsListCall {
21603	c.ifNoneMatch_ = entityTag
21604	return c
21605}
21606
21607// Context sets the context to be used in this call's Do method. Any
21608// pending HTTP request will be aborted if the provided context is
21609// canceled.
21610func (c *CampaignsListCall) Context(ctx context.Context) *CampaignsListCall {
21611	c.ctx_ = ctx
21612	return c
21613}
21614
21615// Header returns an http.Header that can be modified by the caller to
21616// add HTTP headers to the request.
21617func (c *CampaignsListCall) Header() http.Header {
21618	if c.header_ == nil {
21619		c.header_ = make(http.Header)
21620	}
21621	return c.header_
21622}
21623
21624func (c *CampaignsListCall) doRequest(alt string) (*http.Response, error) {
21625	reqHeaders := make(http.Header)
21626	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21627	for k, v := range c.header_ {
21628		reqHeaders[k] = v
21629	}
21630	reqHeaders.Set("User-Agent", c.s.userAgent())
21631	if c.ifNoneMatch_ != "" {
21632		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
21633	}
21634	var body io.Reader = nil
21635	c.urlParams_.Set("alt", alt)
21636	c.urlParams_.Set("prettyPrint", "false")
21637	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21638	urls += "?" + c.urlParams_.Encode()
21639	req, err := http.NewRequest("GET", urls, body)
21640	if err != nil {
21641		return nil, err
21642	}
21643	req.Header = reqHeaders
21644	googleapi.Expand(req.URL, map[string]string{
21645		"profileId": strconv.FormatInt(c.profileId, 10),
21646	})
21647	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21648}
21649
21650// Do executes the "dfareporting.campaigns.list" call.
21651// Exactly one of *CampaignsListResponse or error will be non-nil. Any
21652// non-2xx status code is an error. Response headers are in either
21653// *CampaignsListResponse.ServerResponse.Header or (if a response was
21654// returned at all) in error.(*googleapi.Error).Header. Use
21655// googleapi.IsNotModified to check whether the returned error was
21656// because http.StatusNotModified was returned.
21657func (c *CampaignsListCall) Do(opts ...googleapi.CallOption) (*CampaignsListResponse, error) {
21658	gensupport.SetOptions(c.urlParams_, opts...)
21659	res, err := c.doRequest("json")
21660	if res != nil && res.StatusCode == http.StatusNotModified {
21661		if res.Body != nil {
21662			res.Body.Close()
21663		}
21664		return nil, &googleapi.Error{
21665			Code:   res.StatusCode,
21666			Header: res.Header,
21667		}
21668	}
21669	if err != nil {
21670		return nil, err
21671	}
21672	defer googleapi.CloseBody(res)
21673	if err := googleapi.CheckResponse(res); err != nil {
21674		return nil, err
21675	}
21676	ret := &CampaignsListResponse{
21677		ServerResponse: googleapi.ServerResponse{
21678			Header:         res.Header,
21679			HTTPStatusCode: res.StatusCode,
21680		},
21681	}
21682	target := &ret
21683	if err := gensupport.DecodeResponse(target, res); err != nil {
21684		return nil, err
21685	}
21686	return ret, nil
21687	// {
21688	//   "description": "Retrieves a list of campaigns, possibly filtered. This method supports paging.",
21689	//   "httpMethod": "GET",
21690	//   "id": "dfareporting.campaigns.list",
21691	//   "parameterOrder": [
21692	//     "profileId"
21693	//   ],
21694	//   "parameters": {
21695	//     "advertiserGroupIds": {
21696	//       "description": "Select only campaigns whose advertisers belong to these advertiser groups.",
21697	//       "format": "int64",
21698	//       "location": "query",
21699	//       "repeated": true,
21700	//       "type": "string"
21701	//     },
21702	//     "advertiserIds": {
21703	//       "description": "Select only campaigns that belong to these advertisers.",
21704	//       "format": "int64",
21705	//       "location": "query",
21706	//       "repeated": true,
21707	//       "type": "string"
21708	//     },
21709	//     "archived": {
21710	//       "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.",
21711	//       "location": "query",
21712	//       "type": "boolean"
21713	//     },
21714	//     "atLeastOneOptimizationActivity": {
21715	//       "description": "Select only campaigns that have at least one optimization activity.",
21716	//       "location": "query",
21717	//       "type": "boolean"
21718	//     },
21719	//     "excludedIds": {
21720	//       "description": "Exclude campaigns with these IDs.",
21721	//       "format": "int64",
21722	//       "location": "query",
21723	//       "repeated": true,
21724	//       "type": "string"
21725	//     },
21726	//     "ids": {
21727	//       "description": "Select only campaigns with these IDs.",
21728	//       "format": "int64",
21729	//       "location": "query",
21730	//       "repeated": true,
21731	//       "type": "string"
21732	//     },
21733	//     "maxResults": {
21734	//       "default": "1000",
21735	//       "description": "Maximum number of results to return.",
21736	//       "format": "int32",
21737	//       "location": "query",
21738	//       "maximum": "1000",
21739	//       "minimum": "0",
21740	//       "type": "integer"
21741	//     },
21742	//     "overriddenEventTagId": {
21743	//       "description": "Select only campaigns that have overridden this event tag ID.",
21744	//       "format": "int64",
21745	//       "location": "query",
21746	//       "type": "string"
21747	//     },
21748	//     "pageToken": {
21749	//       "description": "Value of the nextPageToken from the previous result page.",
21750	//       "location": "query",
21751	//       "type": "string"
21752	//     },
21753	//     "profileId": {
21754	//       "description": "User profile ID associated with this request.",
21755	//       "format": "int64",
21756	//       "location": "path",
21757	//       "required": true,
21758	//       "type": "string"
21759	//     },
21760	//     "searchString": {
21761	//       "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\".",
21762	//       "location": "query",
21763	//       "type": "string"
21764	//     },
21765	//     "sortField": {
21766	//       "default": "ID",
21767	//       "description": "Field by which to sort the list.",
21768	//       "enum": [
21769	//         "ID",
21770	//         "NAME"
21771	//       ],
21772	//       "enumDescriptions": [
21773	//         "",
21774	//         ""
21775	//       ],
21776	//       "location": "query",
21777	//       "type": "string"
21778	//     },
21779	//     "sortOrder": {
21780	//       "default": "ASCENDING",
21781	//       "description": "Order of sorted results.",
21782	//       "enum": [
21783	//         "ASCENDING",
21784	//         "DESCENDING"
21785	//       ],
21786	//       "enumDescriptions": [
21787	//         "",
21788	//         ""
21789	//       ],
21790	//       "location": "query",
21791	//       "type": "string"
21792	//     },
21793	//     "subaccountId": {
21794	//       "description": "Select only campaigns that belong to this subaccount.",
21795	//       "format": "int64",
21796	//       "location": "query",
21797	//       "type": "string"
21798	//     }
21799	//   },
21800	//   "path": "userprofiles/{profileId}/campaigns",
21801	//   "response": {
21802	//     "$ref": "CampaignsListResponse"
21803	//   },
21804	//   "scopes": [
21805	//     "https://www.googleapis.com/auth/dfatrafficking"
21806	//   ]
21807	// }
21808
21809}
21810
21811// Pages invokes f for each page of results.
21812// A non-nil error returned from f will halt the iteration.
21813// The provided context supersedes any context provided to the Context method.
21814func (c *CampaignsListCall) Pages(ctx context.Context, f func(*CampaignsListResponse) error) error {
21815	c.ctx_ = ctx
21816	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
21817	for {
21818		x, err := c.Do()
21819		if err != nil {
21820			return err
21821		}
21822		if err := f(x); err != nil {
21823			return err
21824		}
21825		if x.NextPageToken == "" {
21826			return nil
21827		}
21828		c.PageToken(x.NextPageToken)
21829	}
21830}
21831
21832// method id "dfareporting.campaigns.patch":
21833
21834type CampaignsPatchCall struct {
21835	s          *Service
21836	profileId  int64
21837	campaign   *Campaign
21838	urlParams_ gensupport.URLParams
21839	ctx_       context.Context
21840	header_    http.Header
21841}
21842
21843// Patch: Updates an existing campaign. This method supports patch
21844// semantics.
21845func (r *CampaignsService) Patch(profileId int64, id int64, campaign *Campaign) *CampaignsPatchCall {
21846	c := &CampaignsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21847	c.profileId = profileId
21848	c.urlParams_.Set("id", fmt.Sprint(id))
21849	c.campaign = campaign
21850	return c
21851}
21852
21853// Fields allows partial responses to be retrieved. See
21854// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
21855// for more information.
21856func (c *CampaignsPatchCall) Fields(s ...googleapi.Field) *CampaignsPatchCall {
21857	c.urlParams_.Set("fields", googleapi.CombineFields(s))
21858	return c
21859}
21860
21861// Context sets the context to be used in this call's Do method. Any
21862// pending HTTP request will be aborted if the provided context is
21863// canceled.
21864func (c *CampaignsPatchCall) Context(ctx context.Context) *CampaignsPatchCall {
21865	c.ctx_ = ctx
21866	return c
21867}
21868
21869// Header returns an http.Header that can be modified by the caller to
21870// add HTTP headers to the request.
21871func (c *CampaignsPatchCall) Header() http.Header {
21872	if c.header_ == nil {
21873		c.header_ = make(http.Header)
21874	}
21875	return c.header_
21876}
21877
21878func (c *CampaignsPatchCall) doRequest(alt string) (*http.Response, error) {
21879	reqHeaders := make(http.Header)
21880	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
21881	for k, v := range c.header_ {
21882		reqHeaders[k] = v
21883	}
21884	reqHeaders.Set("User-Agent", c.s.userAgent())
21885	var body io.Reader = nil
21886	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
21887	if err != nil {
21888		return nil, err
21889	}
21890	reqHeaders.Set("Content-Type", "application/json")
21891	c.urlParams_.Set("alt", alt)
21892	c.urlParams_.Set("prettyPrint", "false")
21893	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
21894	urls += "?" + c.urlParams_.Encode()
21895	req, err := http.NewRequest("PATCH", urls, body)
21896	if err != nil {
21897		return nil, err
21898	}
21899	req.Header = reqHeaders
21900	googleapi.Expand(req.URL, map[string]string{
21901		"profileId": strconv.FormatInt(c.profileId, 10),
21902	})
21903	return gensupport.SendRequest(c.ctx_, c.s.client, req)
21904}
21905
21906// Do executes the "dfareporting.campaigns.patch" call.
21907// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
21908// code is an error. Response headers are in either
21909// *Campaign.ServerResponse.Header or (if a response was returned at
21910// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
21911// to check whether the returned error was because
21912// http.StatusNotModified was returned.
21913func (c *CampaignsPatchCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
21914	gensupport.SetOptions(c.urlParams_, opts...)
21915	res, err := c.doRequest("json")
21916	if res != nil && res.StatusCode == http.StatusNotModified {
21917		if res.Body != nil {
21918			res.Body.Close()
21919		}
21920		return nil, &googleapi.Error{
21921			Code:   res.StatusCode,
21922			Header: res.Header,
21923		}
21924	}
21925	if err != nil {
21926		return nil, err
21927	}
21928	defer googleapi.CloseBody(res)
21929	if err := googleapi.CheckResponse(res); err != nil {
21930		return nil, err
21931	}
21932	ret := &Campaign{
21933		ServerResponse: googleapi.ServerResponse{
21934			Header:         res.Header,
21935			HTTPStatusCode: res.StatusCode,
21936		},
21937	}
21938	target := &ret
21939	if err := gensupport.DecodeResponse(target, res); err != nil {
21940		return nil, err
21941	}
21942	return ret, nil
21943	// {
21944	//   "description": "Updates an existing campaign. This method supports patch semantics.",
21945	//   "httpMethod": "PATCH",
21946	//   "id": "dfareporting.campaigns.patch",
21947	//   "parameterOrder": [
21948	//     "profileId",
21949	//     "id"
21950	//   ],
21951	//   "parameters": {
21952	//     "id": {
21953	//       "description": "Campaign ID.",
21954	//       "format": "int64",
21955	//       "location": "query",
21956	//       "required": true,
21957	//       "type": "string"
21958	//     },
21959	//     "profileId": {
21960	//       "description": "User profile ID associated with this request.",
21961	//       "format": "int64",
21962	//       "location": "path",
21963	//       "required": true,
21964	//       "type": "string"
21965	//     }
21966	//   },
21967	//   "path": "userprofiles/{profileId}/campaigns",
21968	//   "request": {
21969	//     "$ref": "Campaign"
21970	//   },
21971	//   "response": {
21972	//     "$ref": "Campaign"
21973	//   },
21974	//   "scopes": [
21975	//     "https://www.googleapis.com/auth/dfatrafficking"
21976	//   ]
21977	// }
21978
21979}
21980
21981// method id "dfareporting.campaigns.update":
21982
21983type CampaignsUpdateCall struct {
21984	s          *Service
21985	profileId  int64
21986	campaign   *Campaign
21987	urlParams_ gensupport.URLParams
21988	ctx_       context.Context
21989	header_    http.Header
21990}
21991
21992// Update: Updates an existing campaign.
21993func (r *CampaignsService) Update(profileId int64, campaign *Campaign) *CampaignsUpdateCall {
21994	c := &CampaignsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
21995	c.profileId = profileId
21996	c.campaign = campaign
21997	return c
21998}
21999
22000// Fields allows partial responses to be retrieved. See
22001// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22002// for more information.
22003func (c *CampaignsUpdateCall) Fields(s ...googleapi.Field) *CampaignsUpdateCall {
22004	c.urlParams_.Set("fields", googleapi.CombineFields(s))
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 *CampaignsUpdateCall) Context(ctx context.Context) *CampaignsUpdateCall {
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 *CampaignsUpdateCall) Header() http.Header {
22019	if c.header_ == nil {
22020		c.header_ = make(http.Header)
22021	}
22022	return c.header_
22023}
22024
22025func (c *CampaignsUpdateCall) doRequest(alt string) (*http.Response, error) {
22026	reqHeaders := make(http.Header)
22027	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22028	for k, v := range c.header_ {
22029		reqHeaders[k] = v
22030	}
22031	reqHeaders.Set("User-Agent", c.s.userAgent())
22032	var body io.Reader = nil
22033	body, err := googleapi.WithoutDataWrapper.JSONReader(c.campaign)
22034	if err != nil {
22035		return nil, err
22036	}
22037	reqHeaders.Set("Content-Type", "application/json")
22038	c.urlParams_.Set("alt", alt)
22039	c.urlParams_.Set("prettyPrint", "false")
22040	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/campaigns")
22041	urls += "?" + c.urlParams_.Encode()
22042	req, err := http.NewRequest("PUT", urls, body)
22043	if err != nil {
22044		return nil, err
22045	}
22046	req.Header = reqHeaders
22047	googleapi.Expand(req.URL, map[string]string{
22048		"profileId": strconv.FormatInt(c.profileId, 10),
22049	})
22050	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22051}
22052
22053// Do executes the "dfareporting.campaigns.update" call.
22054// Exactly one of *Campaign or error will be non-nil. Any non-2xx status
22055// code is an error. Response headers are in either
22056// *Campaign.ServerResponse.Header or (if a response was returned at
22057// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22058// to check whether the returned error was because
22059// http.StatusNotModified was returned.
22060func (c *CampaignsUpdateCall) Do(opts ...googleapi.CallOption) (*Campaign, error) {
22061	gensupport.SetOptions(c.urlParams_, opts...)
22062	res, err := c.doRequest("json")
22063	if res != nil && res.StatusCode == http.StatusNotModified {
22064		if res.Body != nil {
22065			res.Body.Close()
22066		}
22067		return nil, &googleapi.Error{
22068			Code:   res.StatusCode,
22069			Header: res.Header,
22070		}
22071	}
22072	if err != nil {
22073		return nil, err
22074	}
22075	defer googleapi.CloseBody(res)
22076	if err := googleapi.CheckResponse(res); err != nil {
22077		return nil, err
22078	}
22079	ret := &Campaign{
22080		ServerResponse: googleapi.ServerResponse{
22081			Header:         res.Header,
22082			HTTPStatusCode: res.StatusCode,
22083		},
22084	}
22085	target := &ret
22086	if err := gensupport.DecodeResponse(target, res); err != nil {
22087		return nil, err
22088	}
22089	return ret, nil
22090	// {
22091	//   "description": "Updates an existing campaign.",
22092	//   "httpMethod": "PUT",
22093	//   "id": "dfareporting.campaigns.update",
22094	//   "parameterOrder": [
22095	//     "profileId"
22096	//   ],
22097	//   "parameters": {
22098	//     "profileId": {
22099	//       "description": "User profile ID associated with this request.",
22100	//       "format": "int64",
22101	//       "location": "path",
22102	//       "required": true,
22103	//       "type": "string"
22104	//     }
22105	//   },
22106	//   "path": "userprofiles/{profileId}/campaigns",
22107	//   "request": {
22108	//     "$ref": "Campaign"
22109	//   },
22110	//   "response": {
22111	//     "$ref": "Campaign"
22112	//   },
22113	//   "scopes": [
22114	//     "https://www.googleapis.com/auth/dfatrafficking"
22115	//   ]
22116	// }
22117
22118}
22119
22120// method id "dfareporting.changeLogs.get":
22121
22122type ChangeLogsGetCall struct {
22123	s            *Service
22124	profileId    int64
22125	id           int64
22126	urlParams_   gensupport.URLParams
22127	ifNoneMatch_ string
22128	ctx_         context.Context
22129	header_      http.Header
22130}
22131
22132// Get: Gets one change log by ID.
22133func (r *ChangeLogsService) Get(profileId int64, id int64) *ChangeLogsGetCall {
22134	c := &ChangeLogsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22135	c.profileId = profileId
22136	c.id = id
22137	return c
22138}
22139
22140// Fields allows partial responses to be retrieved. See
22141// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22142// for more information.
22143func (c *ChangeLogsGetCall) Fields(s ...googleapi.Field) *ChangeLogsGetCall {
22144	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22145	return c
22146}
22147
22148// IfNoneMatch sets the optional parameter which makes the operation
22149// fail if the object's ETag matches the given value. This is useful for
22150// getting updates only after the object has changed since the last
22151// request. Use googleapi.IsNotModified to check whether the response
22152// error from Do is the result of In-None-Match.
22153func (c *ChangeLogsGetCall) IfNoneMatch(entityTag string) *ChangeLogsGetCall {
22154	c.ifNoneMatch_ = entityTag
22155	return c
22156}
22157
22158// Context sets the context to be used in this call's Do method. Any
22159// pending HTTP request will be aborted if the provided context is
22160// canceled.
22161func (c *ChangeLogsGetCall) Context(ctx context.Context) *ChangeLogsGetCall {
22162	c.ctx_ = ctx
22163	return c
22164}
22165
22166// Header returns an http.Header that can be modified by the caller to
22167// add HTTP headers to the request.
22168func (c *ChangeLogsGetCall) Header() http.Header {
22169	if c.header_ == nil {
22170		c.header_ = make(http.Header)
22171	}
22172	return c.header_
22173}
22174
22175func (c *ChangeLogsGetCall) doRequest(alt string) (*http.Response, error) {
22176	reqHeaders := make(http.Header)
22177	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22178	for k, v := range c.header_ {
22179		reqHeaders[k] = v
22180	}
22181	reqHeaders.Set("User-Agent", c.s.userAgent())
22182	if c.ifNoneMatch_ != "" {
22183		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22184	}
22185	var body io.Reader = nil
22186	c.urlParams_.Set("alt", alt)
22187	c.urlParams_.Set("prettyPrint", "false")
22188	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs/{id}")
22189	urls += "?" + c.urlParams_.Encode()
22190	req, err := http.NewRequest("GET", urls, body)
22191	if err != nil {
22192		return nil, err
22193	}
22194	req.Header = reqHeaders
22195	googleapi.Expand(req.URL, map[string]string{
22196		"profileId": strconv.FormatInt(c.profileId, 10),
22197		"id":        strconv.FormatInt(c.id, 10),
22198	})
22199	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22200}
22201
22202// Do executes the "dfareporting.changeLogs.get" call.
22203// Exactly one of *ChangeLog or error will be non-nil. Any non-2xx
22204// status code is an error. Response headers are in either
22205// *ChangeLog.ServerResponse.Header or (if a response was returned at
22206// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
22207// to check whether the returned error was because
22208// http.StatusNotModified was returned.
22209func (c *ChangeLogsGetCall) Do(opts ...googleapi.CallOption) (*ChangeLog, error) {
22210	gensupport.SetOptions(c.urlParams_, opts...)
22211	res, err := c.doRequest("json")
22212	if res != nil && res.StatusCode == http.StatusNotModified {
22213		if res.Body != nil {
22214			res.Body.Close()
22215		}
22216		return nil, &googleapi.Error{
22217			Code:   res.StatusCode,
22218			Header: res.Header,
22219		}
22220	}
22221	if err != nil {
22222		return nil, err
22223	}
22224	defer googleapi.CloseBody(res)
22225	if err := googleapi.CheckResponse(res); err != nil {
22226		return nil, err
22227	}
22228	ret := &ChangeLog{
22229		ServerResponse: googleapi.ServerResponse{
22230			Header:         res.Header,
22231			HTTPStatusCode: res.StatusCode,
22232		},
22233	}
22234	target := &ret
22235	if err := gensupport.DecodeResponse(target, res); err != nil {
22236		return nil, err
22237	}
22238	return ret, nil
22239	// {
22240	//   "description": "Gets one change log by ID.",
22241	//   "httpMethod": "GET",
22242	//   "id": "dfareporting.changeLogs.get",
22243	//   "parameterOrder": [
22244	//     "profileId",
22245	//     "id"
22246	//   ],
22247	//   "parameters": {
22248	//     "id": {
22249	//       "description": "Change log ID.",
22250	//       "format": "int64",
22251	//       "location": "path",
22252	//       "required": true,
22253	//       "type": "string"
22254	//     },
22255	//     "profileId": {
22256	//       "description": "User profile ID associated with this request.",
22257	//       "format": "int64",
22258	//       "location": "path",
22259	//       "required": true,
22260	//       "type": "string"
22261	//     }
22262	//   },
22263	//   "path": "userprofiles/{profileId}/changeLogs/{id}",
22264	//   "response": {
22265	//     "$ref": "ChangeLog"
22266	//   },
22267	//   "scopes": [
22268	//     "https://www.googleapis.com/auth/dfatrafficking"
22269	//   ]
22270	// }
22271
22272}
22273
22274// method id "dfareporting.changeLogs.list":
22275
22276type ChangeLogsListCall struct {
22277	s            *Service
22278	profileId    int64
22279	urlParams_   gensupport.URLParams
22280	ifNoneMatch_ string
22281	ctx_         context.Context
22282	header_      http.Header
22283}
22284
22285// List: Retrieves a list of change logs. This method supports paging.
22286func (r *ChangeLogsService) List(profileId int64) *ChangeLogsListCall {
22287	c := &ChangeLogsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22288	c.profileId = profileId
22289	return c
22290}
22291
22292// Action sets the optional parameter "action": Select only change logs
22293// with the specified action.
22294//
22295// Possible values:
22296//   "ACTION_ADD"
22297//   "ACTION_ASSIGN"
22298//   "ACTION_ASSOCIATE"
22299//   "ACTION_CREATE"
22300//   "ACTION_DELETE"
22301//   "ACTION_DISABLE"
22302//   "ACTION_EMAIL_TAGS"
22303//   "ACTION_ENABLE"
22304//   "ACTION_LINK"
22305//   "ACTION_MARK_AS_DEFAULT"
22306//   "ACTION_PUSH"
22307//   "ACTION_REMOVE"
22308//   "ACTION_SEND"
22309//   "ACTION_SHARE"
22310//   "ACTION_UNASSIGN"
22311//   "ACTION_UNLINK"
22312//   "ACTION_UPDATE"
22313func (c *ChangeLogsListCall) Action(action string) *ChangeLogsListCall {
22314	c.urlParams_.Set("action", action)
22315	return c
22316}
22317
22318// Ids sets the optional parameter "ids": Select only change logs with
22319// these IDs.
22320func (c *ChangeLogsListCall) Ids(ids ...int64) *ChangeLogsListCall {
22321	var ids_ []string
22322	for _, v := range ids {
22323		ids_ = append(ids_, fmt.Sprint(v))
22324	}
22325	c.urlParams_.SetMulti("ids", ids_)
22326	return c
22327}
22328
22329// MaxChangeTime sets the optional parameter "maxChangeTime": Select
22330// only change logs whose change time is before the specified
22331// maxChangeTime.The time should be formatted as an RFC3339 date/time
22332// string. For example, for 10:54 PM on July 18th, 2015, in the
22333// America/New York time zone, the format is
22334// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22335// the letter T, the hour (24-hour clock system), minute, second, and
22336// then the time zone offset.
22337func (c *ChangeLogsListCall) MaxChangeTime(maxChangeTime string) *ChangeLogsListCall {
22338	c.urlParams_.Set("maxChangeTime", maxChangeTime)
22339	return c
22340}
22341
22342// MaxResults sets the optional parameter "maxResults": Maximum number
22343// of results to return.
22344func (c *ChangeLogsListCall) MaxResults(maxResults int64) *ChangeLogsListCall {
22345	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
22346	return c
22347}
22348
22349// MinChangeTime sets the optional parameter "minChangeTime": Select
22350// only change logs whose change time is before the specified
22351// minChangeTime.The time should be formatted as an RFC3339 date/time
22352// string. For example, for 10:54 PM on July 18th, 2015, in the
22353// America/New York time zone, the format is
22354// "2015-07-18T22:54:00-04:00". In other words, the year, month, day,
22355// the letter T, the hour (24-hour clock system), minute, second, and
22356// then the time zone offset.
22357func (c *ChangeLogsListCall) MinChangeTime(minChangeTime string) *ChangeLogsListCall {
22358	c.urlParams_.Set("minChangeTime", minChangeTime)
22359	return c
22360}
22361
22362// ObjectIds sets the optional parameter "objectIds": Select only change
22363// logs with these object IDs.
22364func (c *ChangeLogsListCall) ObjectIds(objectIds ...int64) *ChangeLogsListCall {
22365	var objectIds_ []string
22366	for _, v := range objectIds {
22367		objectIds_ = append(objectIds_, fmt.Sprint(v))
22368	}
22369	c.urlParams_.SetMulti("objectIds", objectIds_)
22370	return c
22371}
22372
22373// ObjectType sets the optional parameter "objectType": Select only
22374// change logs with the specified object type.
22375//
22376// Possible values:
22377//   "OBJECT_ACCOUNT"
22378//   "OBJECT_ACCOUNT_BILLING_FEATURE"
22379//   "OBJECT_AD"
22380//   "OBJECT_ADVERTISER"
22381//   "OBJECT_ADVERTISER_GROUP"
22382//   "OBJECT_BILLING_ACCOUNT_GROUP"
22383//   "OBJECT_BILLING_FEATURE"
22384//   "OBJECT_BILLING_MINIMUM_FEE"
22385//   "OBJECT_BILLING_PROFILE"
22386//   "OBJECT_CAMPAIGN"
22387//   "OBJECT_CONTENT_CATEGORY"
22388//   "OBJECT_CREATIVE"
22389//   "OBJECT_CREATIVE_ASSET"
22390//   "OBJECT_CREATIVE_BUNDLE"
22391//   "OBJECT_CREATIVE_FIELD"
22392//   "OBJECT_CREATIVE_GROUP"
22393//   "OBJECT_DFA_SITE"
22394//   "OBJECT_EVENT_TAG"
22395//   "OBJECT_FLOODLIGHT_ACTIVITY_GROUP"
22396//   "OBJECT_FLOODLIGHT_ACTVITY"
22397//   "OBJECT_FLOODLIGHT_CONFIGURATION"
22398//   "OBJECT_FLOODLIGHT_DV360_LINK"
22399//   "OBJECT_INSTREAM_CREATIVE"
22400//   "OBJECT_LANDING_PAGE"
22401//   "OBJECT_MEDIA_ORDER"
22402//   "OBJECT_PLACEMENT"
22403//   "OBJECT_PLACEMENT_STRATEGY"
22404//   "OBJECT_PLAYSTORE_LINK"
22405//   "OBJECT_PROVIDED_LIST_CLIENT"
22406//   "OBJECT_RATE_CARD"
22407//   "OBJECT_REMARKETING_LIST"
22408//   "OBJECT_RICHMEDIA_CREATIVE"
22409//   "OBJECT_SD_SITE"
22410//   "OBJECT_SEARCH_LIFT_STUDY"
22411//   "OBJECT_SIZE"
22412//   "OBJECT_SUBACCOUNT"
22413//   "OBJECT_TARGETING_TEMPLATE"
22414//   "OBJECT_USER_PROFILE"
22415//   "OBJECT_USER_PROFILE_FILTER"
22416//   "OBJECT_USER_ROLE"
22417func (c *ChangeLogsListCall) ObjectType(objectType string) *ChangeLogsListCall {
22418	c.urlParams_.Set("objectType", objectType)
22419	return c
22420}
22421
22422// PageToken sets the optional parameter "pageToken": Value of the
22423// nextPageToken from the previous result page.
22424func (c *ChangeLogsListCall) PageToken(pageToken string) *ChangeLogsListCall {
22425	c.urlParams_.Set("pageToken", pageToken)
22426	return c
22427}
22428
22429// SearchString sets the optional parameter "searchString": Select only
22430// change logs whose object ID, user name, old or new values match the
22431// search string.
22432func (c *ChangeLogsListCall) SearchString(searchString string) *ChangeLogsListCall {
22433	c.urlParams_.Set("searchString", searchString)
22434	return c
22435}
22436
22437// UserProfileIds sets the optional parameter "userProfileIds": Select
22438// only change logs with these user profile IDs.
22439func (c *ChangeLogsListCall) UserProfileIds(userProfileIds ...int64) *ChangeLogsListCall {
22440	var userProfileIds_ []string
22441	for _, v := range userProfileIds {
22442		userProfileIds_ = append(userProfileIds_, fmt.Sprint(v))
22443	}
22444	c.urlParams_.SetMulti("userProfileIds", userProfileIds_)
22445	return c
22446}
22447
22448// Fields allows partial responses to be retrieved. See
22449// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22450// for more information.
22451func (c *ChangeLogsListCall) Fields(s ...googleapi.Field) *ChangeLogsListCall {
22452	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22453	return c
22454}
22455
22456// IfNoneMatch sets the optional parameter which makes the operation
22457// fail if the object's ETag matches the given value. This is useful for
22458// getting updates only after the object has changed since the last
22459// request. Use googleapi.IsNotModified to check whether the response
22460// error from Do is the result of In-None-Match.
22461func (c *ChangeLogsListCall) IfNoneMatch(entityTag string) *ChangeLogsListCall {
22462	c.ifNoneMatch_ = entityTag
22463	return c
22464}
22465
22466// Context sets the context to be used in this call's Do method. Any
22467// pending HTTP request will be aborted if the provided context is
22468// canceled.
22469func (c *ChangeLogsListCall) Context(ctx context.Context) *ChangeLogsListCall {
22470	c.ctx_ = ctx
22471	return c
22472}
22473
22474// Header returns an http.Header that can be modified by the caller to
22475// add HTTP headers to the request.
22476func (c *ChangeLogsListCall) Header() http.Header {
22477	if c.header_ == nil {
22478		c.header_ = make(http.Header)
22479	}
22480	return c.header_
22481}
22482
22483func (c *ChangeLogsListCall) doRequest(alt string) (*http.Response, error) {
22484	reqHeaders := make(http.Header)
22485	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22486	for k, v := range c.header_ {
22487		reqHeaders[k] = v
22488	}
22489	reqHeaders.Set("User-Agent", c.s.userAgent())
22490	if c.ifNoneMatch_ != "" {
22491		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22492	}
22493	var body io.Reader = nil
22494	c.urlParams_.Set("alt", alt)
22495	c.urlParams_.Set("prettyPrint", "false")
22496	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/changeLogs")
22497	urls += "?" + c.urlParams_.Encode()
22498	req, err := http.NewRequest("GET", urls, body)
22499	if err != nil {
22500		return nil, err
22501	}
22502	req.Header = reqHeaders
22503	googleapi.Expand(req.URL, map[string]string{
22504		"profileId": strconv.FormatInt(c.profileId, 10),
22505	})
22506	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22507}
22508
22509// Do executes the "dfareporting.changeLogs.list" call.
22510// Exactly one of *ChangeLogsListResponse or error will be non-nil. Any
22511// non-2xx status code is an error. Response headers are in either
22512// *ChangeLogsListResponse.ServerResponse.Header or (if a response was
22513// returned at all) in error.(*googleapi.Error).Header. Use
22514// googleapi.IsNotModified to check whether the returned error was
22515// because http.StatusNotModified was returned.
22516func (c *ChangeLogsListCall) Do(opts ...googleapi.CallOption) (*ChangeLogsListResponse, error) {
22517	gensupport.SetOptions(c.urlParams_, opts...)
22518	res, err := c.doRequest("json")
22519	if res != nil && res.StatusCode == http.StatusNotModified {
22520		if res.Body != nil {
22521			res.Body.Close()
22522		}
22523		return nil, &googleapi.Error{
22524			Code:   res.StatusCode,
22525			Header: res.Header,
22526		}
22527	}
22528	if err != nil {
22529		return nil, err
22530	}
22531	defer googleapi.CloseBody(res)
22532	if err := googleapi.CheckResponse(res); err != nil {
22533		return nil, err
22534	}
22535	ret := &ChangeLogsListResponse{
22536		ServerResponse: googleapi.ServerResponse{
22537			Header:         res.Header,
22538			HTTPStatusCode: res.StatusCode,
22539		},
22540	}
22541	target := &ret
22542	if err := gensupport.DecodeResponse(target, res); err != nil {
22543		return nil, err
22544	}
22545	return ret, nil
22546	// {
22547	//   "description": "Retrieves a list of change logs. This method supports paging.",
22548	//   "httpMethod": "GET",
22549	//   "id": "dfareporting.changeLogs.list",
22550	//   "parameterOrder": [
22551	//     "profileId"
22552	//   ],
22553	//   "parameters": {
22554	//     "action": {
22555	//       "description": "Select only change logs with the specified action.",
22556	//       "enum": [
22557	//         "ACTION_ADD",
22558	//         "ACTION_ASSIGN",
22559	//         "ACTION_ASSOCIATE",
22560	//         "ACTION_CREATE",
22561	//         "ACTION_DELETE",
22562	//         "ACTION_DISABLE",
22563	//         "ACTION_EMAIL_TAGS",
22564	//         "ACTION_ENABLE",
22565	//         "ACTION_LINK",
22566	//         "ACTION_MARK_AS_DEFAULT",
22567	//         "ACTION_PUSH",
22568	//         "ACTION_REMOVE",
22569	//         "ACTION_SEND",
22570	//         "ACTION_SHARE",
22571	//         "ACTION_UNASSIGN",
22572	//         "ACTION_UNLINK",
22573	//         "ACTION_UPDATE"
22574	//       ],
22575	//       "enumDescriptions": [
22576	//         "",
22577	//         "",
22578	//         "",
22579	//         "",
22580	//         "",
22581	//         "",
22582	//         "",
22583	//         "",
22584	//         "",
22585	//         "",
22586	//         "",
22587	//         "",
22588	//         "",
22589	//         "",
22590	//         "",
22591	//         "",
22592	//         ""
22593	//       ],
22594	//       "location": "query",
22595	//       "type": "string"
22596	//     },
22597	//     "ids": {
22598	//       "description": "Select only change logs with these IDs.",
22599	//       "format": "int64",
22600	//       "location": "query",
22601	//       "repeated": true,
22602	//       "type": "string"
22603	//     },
22604	//     "maxChangeTime": {
22605	//       "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.",
22606	//       "location": "query",
22607	//       "type": "string"
22608	//     },
22609	//     "maxResults": {
22610	//       "default": "1000",
22611	//       "description": "Maximum number of results to return.",
22612	//       "format": "int32",
22613	//       "location": "query",
22614	//       "maximum": "1000",
22615	//       "minimum": "0",
22616	//       "type": "integer"
22617	//     },
22618	//     "minChangeTime": {
22619	//       "description": "Select only change logs whose change time is before 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.",
22620	//       "location": "query",
22621	//       "type": "string"
22622	//     },
22623	//     "objectIds": {
22624	//       "description": "Select only change logs with these object IDs.",
22625	//       "format": "int64",
22626	//       "location": "query",
22627	//       "repeated": true,
22628	//       "type": "string"
22629	//     },
22630	//     "objectType": {
22631	//       "description": "Select only change logs with the specified object type.",
22632	//       "enum": [
22633	//         "OBJECT_ACCOUNT",
22634	//         "OBJECT_ACCOUNT_BILLING_FEATURE",
22635	//         "OBJECT_AD",
22636	//         "OBJECT_ADVERTISER",
22637	//         "OBJECT_ADVERTISER_GROUP",
22638	//         "OBJECT_BILLING_ACCOUNT_GROUP",
22639	//         "OBJECT_BILLING_FEATURE",
22640	//         "OBJECT_BILLING_MINIMUM_FEE",
22641	//         "OBJECT_BILLING_PROFILE",
22642	//         "OBJECT_CAMPAIGN",
22643	//         "OBJECT_CONTENT_CATEGORY",
22644	//         "OBJECT_CREATIVE",
22645	//         "OBJECT_CREATIVE_ASSET",
22646	//         "OBJECT_CREATIVE_BUNDLE",
22647	//         "OBJECT_CREATIVE_FIELD",
22648	//         "OBJECT_CREATIVE_GROUP",
22649	//         "OBJECT_DFA_SITE",
22650	//         "OBJECT_EVENT_TAG",
22651	//         "OBJECT_FLOODLIGHT_ACTIVITY_GROUP",
22652	//         "OBJECT_FLOODLIGHT_ACTVITY",
22653	//         "OBJECT_FLOODLIGHT_CONFIGURATION",
22654	//         "OBJECT_FLOODLIGHT_DV360_LINK",
22655	//         "OBJECT_INSTREAM_CREATIVE",
22656	//         "OBJECT_LANDING_PAGE",
22657	//         "OBJECT_MEDIA_ORDER",
22658	//         "OBJECT_PLACEMENT",
22659	//         "OBJECT_PLACEMENT_STRATEGY",
22660	//         "OBJECT_PLAYSTORE_LINK",
22661	//         "OBJECT_PROVIDED_LIST_CLIENT",
22662	//         "OBJECT_RATE_CARD",
22663	//         "OBJECT_REMARKETING_LIST",
22664	//         "OBJECT_RICHMEDIA_CREATIVE",
22665	//         "OBJECT_SD_SITE",
22666	//         "OBJECT_SEARCH_LIFT_STUDY",
22667	//         "OBJECT_SIZE",
22668	//         "OBJECT_SUBACCOUNT",
22669	//         "OBJECT_TARGETING_TEMPLATE",
22670	//         "OBJECT_USER_PROFILE",
22671	//         "OBJECT_USER_PROFILE_FILTER",
22672	//         "OBJECT_USER_ROLE"
22673	//       ],
22674	//       "enumDescriptions": [
22675	//         "",
22676	//         "",
22677	//         "",
22678	//         "",
22679	//         "",
22680	//         "",
22681	//         "",
22682	//         "",
22683	//         "",
22684	//         "",
22685	//         "",
22686	//         "",
22687	//         "",
22688	//         "",
22689	//         "",
22690	//         "",
22691	//         "",
22692	//         "",
22693	//         "",
22694	//         "",
22695	//         "",
22696	//         "",
22697	//         "",
22698	//         "",
22699	//         "",
22700	//         "",
22701	//         "",
22702	//         "",
22703	//         "",
22704	//         "",
22705	//         "",
22706	//         "",
22707	//         "",
22708	//         "",
22709	//         "",
22710	//         "",
22711	//         "",
22712	//         "",
22713	//         "",
22714	//         ""
22715	//       ],
22716	//       "location": "query",
22717	//       "type": "string"
22718	//     },
22719	//     "pageToken": {
22720	//       "description": "Value of the nextPageToken from the previous result page.",
22721	//       "location": "query",
22722	//       "type": "string"
22723	//     },
22724	//     "profileId": {
22725	//       "description": "User profile ID associated with this request.",
22726	//       "format": "int64",
22727	//       "location": "path",
22728	//       "required": true,
22729	//       "type": "string"
22730	//     },
22731	//     "searchString": {
22732	//       "description": "Select only change logs whose object ID, user name, old or new values match the search string.",
22733	//       "location": "query",
22734	//       "type": "string"
22735	//     },
22736	//     "userProfileIds": {
22737	//       "description": "Select only change logs with these user profile IDs.",
22738	//       "format": "int64",
22739	//       "location": "query",
22740	//       "repeated": true,
22741	//       "type": "string"
22742	//     }
22743	//   },
22744	//   "path": "userprofiles/{profileId}/changeLogs",
22745	//   "response": {
22746	//     "$ref": "ChangeLogsListResponse"
22747	//   },
22748	//   "scopes": [
22749	//     "https://www.googleapis.com/auth/dfatrafficking"
22750	//   ]
22751	// }
22752
22753}
22754
22755// Pages invokes f for each page of results.
22756// A non-nil error returned from f will halt the iteration.
22757// The provided context supersedes any context provided to the Context method.
22758func (c *ChangeLogsListCall) Pages(ctx context.Context, f func(*ChangeLogsListResponse) error) error {
22759	c.ctx_ = ctx
22760	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
22761	for {
22762		x, err := c.Do()
22763		if err != nil {
22764			return err
22765		}
22766		if err := f(x); err != nil {
22767			return err
22768		}
22769		if x.NextPageToken == "" {
22770			return nil
22771		}
22772		c.PageToken(x.NextPageToken)
22773	}
22774}
22775
22776// method id "dfareporting.cities.list":
22777
22778type CitiesListCall struct {
22779	s            *Service
22780	profileId    int64
22781	urlParams_   gensupport.URLParams
22782	ifNoneMatch_ string
22783	ctx_         context.Context
22784	header_      http.Header
22785}
22786
22787// List: Retrieves a list of cities, possibly filtered.
22788func (r *CitiesService) List(profileId int64) *CitiesListCall {
22789	c := &CitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
22790	c.profileId = profileId
22791	return c
22792}
22793
22794// CountryDartIds sets the optional parameter "countryDartIds": Select
22795// only cities from these countries.
22796func (c *CitiesListCall) CountryDartIds(countryDartIds ...int64) *CitiesListCall {
22797	var countryDartIds_ []string
22798	for _, v := range countryDartIds {
22799		countryDartIds_ = append(countryDartIds_, fmt.Sprint(v))
22800	}
22801	c.urlParams_.SetMulti("countryDartIds", countryDartIds_)
22802	return c
22803}
22804
22805// DartIds sets the optional parameter "dartIds": Select only cities
22806// with these DART IDs.
22807func (c *CitiesListCall) DartIds(dartIds ...int64) *CitiesListCall {
22808	var dartIds_ []string
22809	for _, v := range dartIds {
22810		dartIds_ = append(dartIds_, fmt.Sprint(v))
22811	}
22812	c.urlParams_.SetMulti("dartIds", dartIds_)
22813	return c
22814}
22815
22816// NamePrefix sets the optional parameter "namePrefix": Select only
22817// cities with names starting with this prefix.
22818func (c *CitiesListCall) NamePrefix(namePrefix string) *CitiesListCall {
22819	c.urlParams_.Set("namePrefix", namePrefix)
22820	return c
22821}
22822
22823// RegionDartIds sets the optional parameter "regionDartIds": Select
22824// only cities from these regions.
22825func (c *CitiesListCall) RegionDartIds(regionDartIds ...int64) *CitiesListCall {
22826	var regionDartIds_ []string
22827	for _, v := range regionDartIds {
22828		regionDartIds_ = append(regionDartIds_, fmt.Sprint(v))
22829	}
22830	c.urlParams_.SetMulti("regionDartIds", regionDartIds_)
22831	return c
22832}
22833
22834// Fields allows partial responses to be retrieved. See
22835// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
22836// for more information.
22837func (c *CitiesListCall) Fields(s ...googleapi.Field) *CitiesListCall {
22838	c.urlParams_.Set("fields", googleapi.CombineFields(s))
22839	return c
22840}
22841
22842// IfNoneMatch sets the optional parameter which makes the operation
22843// fail if the object's ETag matches the given value. This is useful for
22844// getting updates only after the object has changed since the last
22845// request. Use googleapi.IsNotModified to check whether the response
22846// error from Do is the result of In-None-Match.
22847func (c *CitiesListCall) IfNoneMatch(entityTag string) *CitiesListCall {
22848	c.ifNoneMatch_ = entityTag
22849	return c
22850}
22851
22852// Context sets the context to be used in this call's Do method. Any
22853// pending HTTP request will be aborted if the provided context is
22854// canceled.
22855func (c *CitiesListCall) Context(ctx context.Context) *CitiesListCall {
22856	c.ctx_ = ctx
22857	return c
22858}
22859
22860// Header returns an http.Header that can be modified by the caller to
22861// add HTTP headers to the request.
22862func (c *CitiesListCall) Header() http.Header {
22863	if c.header_ == nil {
22864		c.header_ = make(http.Header)
22865	}
22866	return c.header_
22867}
22868
22869func (c *CitiesListCall) doRequest(alt string) (*http.Response, error) {
22870	reqHeaders := make(http.Header)
22871	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
22872	for k, v := range c.header_ {
22873		reqHeaders[k] = v
22874	}
22875	reqHeaders.Set("User-Agent", c.s.userAgent())
22876	if c.ifNoneMatch_ != "" {
22877		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
22878	}
22879	var body io.Reader = nil
22880	c.urlParams_.Set("alt", alt)
22881	c.urlParams_.Set("prettyPrint", "false")
22882	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/cities")
22883	urls += "?" + c.urlParams_.Encode()
22884	req, err := http.NewRequest("GET", urls, body)
22885	if err != nil {
22886		return nil, err
22887	}
22888	req.Header = reqHeaders
22889	googleapi.Expand(req.URL, map[string]string{
22890		"profileId": strconv.FormatInt(c.profileId, 10),
22891	})
22892	return gensupport.SendRequest(c.ctx_, c.s.client, req)
22893}
22894
22895// Do executes the "dfareporting.cities.list" call.
22896// Exactly one of *CitiesListResponse or error will be non-nil. Any
22897// non-2xx status code is an error. Response headers are in either
22898// *CitiesListResponse.ServerResponse.Header or (if a response was
22899// returned at all) in error.(*googleapi.Error).Header. Use
22900// googleapi.IsNotModified to check whether the returned error was
22901// because http.StatusNotModified was returned.
22902func (c *CitiesListCall) Do(opts ...googleapi.CallOption) (*CitiesListResponse, error) {
22903	gensupport.SetOptions(c.urlParams_, opts...)
22904	res, err := c.doRequest("json")
22905	if res != nil && res.StatusCode == http.StatusNotModified {
22906		if res.Body != nil {
22907			res.Body.Close()
22908		}
22909		return nil, &googleapi.Error{
22910			Code:   res.StatusCode,
22911			Header: res.Header,
22912		}
22913	}
22914	if err != nil {
22915		return nil, err
22916	}
22917	defer googleapi.CloseBody(res)
22918	if err := googleapi.CheckResponse(res); err != nil {
22919		return nil, err
22920	}
22921	ret := &CitiesListResponse{
22922		ServerResponse: googleapi.ServerResponse{
22923			Header:         res.Header,
22924			HTTPStatusCode: res.StatusCode,
22925		},
22926	}
22927	target := &ret
22928	if err := gensupport.DecodeResponse(target, res); err != nil {
22929		return nil, err
22930	}
22931	return ret, nil
22932	// {
22933	//   "description": "Retrieves a list of cities, possibly filtered.",
22934	//   "httpMethod": "GET",
22935	//   "id": "dfareporting.cities.list",
22936	//   "parameterOrder": [
22937	//     "profileId"
22938	//   ],
22939	//   "parameters": {
22940	//     "countryDartIds": {
22941	//       "description": "Select only cities from these countries.",
22942	//       "format": "int64",
22943	//       "location": "query",
22944	//       "repeated": true,
22945	//       "type": "string"
22946	//     },
22947	//     "dartIds": {
22948	//       "description": "Select only cities with these DART IDs.",
22949	//       "format": "int64",
22950	//       "location": "query",
22951	//       "repeated": true,
22952	//       "type": "string"
22953	//     },
22954	//     "namePrefix": {
22955	//       "description": "Select only cities with names starting with this prefix.",
22956	//       "location": "query",
22957	//       "type": "string"
22958	//     },
22959	//     "profileId": {
22960	//       "description": "User profile ID associated with this request.",
22961	//       "format": "int64",
22962	//       "location": "path",
22963	//       "required": true,
22964	//       "type": "string"
22965	//     },
22966	//     "regionDartIds": {
22967	//       "description": "Select only cities from these regions.",
22968	//       "format": "int64",
22969	//       "location": "query",
22970	//       "repeated": true,
22971	//       "type": "string"
22972	//     }
22973	//   },
22974	//   "path": "userprofiles/{profileId}/cities",
22975	//   "response": {
22976	//     "$ref": "CitiesListResponse"
22977	//   },
22978	//   "scopes": [
22979	//     "https://www.googleapis.com/auth/dfatrafficking"
22980	//   ]
22981	// }
22982
22983}
22984
22985// method id "dfareporting.connectionTypes.get":
22986
22987type ConnectionTypesGetCall struct {
22988	s            *Service
22989	profileId    int64
22990	id           int64
22991	urlParams_   gensupport.URLParams
22992	ifNoneMatch_ string
22993	ctx_         context.Context
22994	header_      http.Header
22995}
22996
22997// Get: Gets one connection type by ID.
22998func (r *ConnectionTypesService) Get(profileId int64, id int64) *ConnectionTypesGetCall {
22999	c := &ConnectionTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23000	c.profileId = profileId
23001	c.id = id
23002	return c
23003}
23004
23005// Fields allows partial responses to be retrieved. See
23006// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23007// for more information.
23008func (c *ConnectionTypesGetCall) Fields(s ...googleapi.Field) *ConnectionTypesGetCall {
23009	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23010	return c
23011}
23012
23013// IfNoneMatch sets the optional parameter which makes the operation
23014// fail if the object's ETag matches the given value. This is useful for
23015// getting updates only after the object has changed since the last
23016// request. Use googleapi.IsNotModified to check whether the response
23017// error from Do is the result of In-None-Match.
23018func (c *ConnectionTypesGetCall) IfNoneMatch(entityTag string) *ConnectionTypesGetCall {
23019	c.ifNoneMatch_ = entityTag
23020	return c
23021}
23022
23023// Context sets the context to be used in this call's Do method. Any
23024// pending HTTP request will be aborted if the provided context is
23025// canceled.
23026func (c *ConnectionTypesGetCall) Context(ctx context.Context) *ConnectionTypesGetCall {
23027	c.ctx_ = ctx
23028	return c
23029}
23030
23031// Header returns an http.Header that can be modified by the caller to
23032// add HTTP headers to the request.
23033func (c *ConnectionTypesGetCall) Header() http.Header {
23034	if c.header_ == nil {
23035		c.header_ = make(http.Header)
23036	}
23037	return c.header_
23038}
23039
23040func (c *ConnectionTypesGetCall) doRequest(alt string) (*http.Response, error) {
23041	reqHeaders := make(http.Header)
23042	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23043	for k, v := range c.header_ {
23044		reqHeaders[k] = v
23045	}
23046	reqHeaders.Set("User-Agent", c.s.userAgent())
23047	if c.ifNoneMatch_ != "" {
23048		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23049	}
23050	var body io.Reader = nil
23051	c.urlParams_.Set("alt", alt)
23052	c.urlParams_.Set("prettyPrint", "false")
23053	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes/{id}")
23054	urls += "?" + c.urlParams_.Encode()
23055	req, err := http.NewRequest("GET", urls, body)
23056	if err != nil {
23057		return nil, err
23058	}
23059	req.Header = reqHeaders
23060	googleapi.Expand(req.URL, map[string]string{
23061		"profileId": strconv.FormatInt(c.profileId, 10),
23062		"id":        strconv.FormatInt(c.id, 10),
23063	})
23064	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23065}
23066
23067// Do executes the "dfareporting.connectionTypes.get" call.
23068// Exactly one of *ConnectionType or error will be non-nil. Any non-2xx
23069// status code is an error. Response headers are in either
23070// *ConnectionType.ServerResponse.Header or (if a response was returned
23071// at all) in error.(*googleapi.Error).Header. Use
23072// googleapi.IsNotModified to check whether the returned error was
23073// because http.StatusNotModified was returned.
23074func (c *ConnectionTypesGetCall) Do(opts ...googleapi.CallOption) (*ConnectionType, error) {
23075	gensupport.SetOptions(c.urlParams_, opts...)
23076	res, err := c.doRequest("json")
23077	if res != nil && res.StatusCode == http.StatusNotModified {
23078		if res.Body != nil {
23079			res.Body.Close()
23080		}
23081		return nil, &googleapi.Error{
23082			Code:   res.StatusCode,
23083			Header: res.Header,
23084		}
23085	}
23086	if err != nil {
23087		return nil, err
23088	}
23089	defer googleapi.CloseBody(res)
23090	if err := googleapi.CheckResponse(res); err != nil {
23091		return nil, err
23092	}
23093	ret := &ConnectionType{
23094		ServerResponse: googleapi.ServerResponse{
23095			Header:         res.Header,
23096			HTTPStatusCode: res.StatusCode,
23097		},
23098	}
23099	target := &ret
23100	if err := gensupport.DecodeResponse(target, res); err != nil {
23101		return nil, err
23102	}
23103	return ret, nil
23104	// {
23105	//   "description": "Gets one connection type by ID.",
23106	//   "httpMethod": "GET",
23107	//   "id": "dfareporting.connectionTypes.get",
23108	//   "parameterOrder": [
23109	//     "profileId",
23110	//     "id"
23111	//   ],
23112	//   "parameters": {
23113	//     "id": {
23114	//       "description": "Connection type ID.",
23115	//       "format": "int64",
23116	//       "location": "path",
23117	//       "required": true,
23118	//       "type": "string"
23119	//     },
23120	//     "profileId": {
23121	//       "description": "User profile ID associated with this request.",
23122	//       "format": "int64",
23123	//       "location": "path",
23124	//       "required": true,
23125	//       "type": "string"
23126	//     }
23127	//   },
23128	//   "path": "userprofiles/{profileId}/connectionTypes/{id}",
23129	//   "response": {
23130	//     "$ref": "ConnectionType"
23131	//   },
23132	//   "scopes": [
23133	//     "https://www.googleapis.com/auth/dfatrafficking"
23134	//   ]
23135	// }
23136
23137}
23138
23139// method id "dfareporting.connectionTypes.list":
23140
23141type ConnectionTypesListCall struct {
23142	s            *Service
23143	profileId    int64
23144	urlParams_   gensupport.URLParams
23145	ifNoneMatch_ string
23146	ctx_         context.Context
23147	header_      http.Header
23148}
23149
23150// List: Retrieves a list of connection types.
23151func (r *ConnectionTypesService) List(profileId int64) *ConnectionTypesListCall {
23152	c := &ConnectionTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23153	c.profileId = profileId
23154	return c
23155}
23156
23157// Fields allows partial responses to be retrieved. See
23158// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23159// for more information.
23160func (c *ConnectionTypesListCall) Fields(s ...googleapi.Field) *ConnectionTypesListCall {
23161	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23162	return c
23163}
23164
23165// IfNoneMatch sets the optional parameter which makes the operation
23166// fail if the object's ETag matches the given value. This is useful for
23167// getting updates only after the object has changed since the last
23168// request. Use googleapi.IsNotModified to check whether the response
23169// error from Do is the result of In-None-Match.
23170func (c *ConnectionTypesListCall) IfNoneMatch(entityTag string) *ConnectionTypesListCall {
23171	c.ifNoneMatch_ = entityTag
23172	return c
23173}
23174
23175// Context sets the context to be used in this call's Do method. Any
23176// pending HTTP request will be aborted if the provided context is
23177// canceled.
23178func (c *ConnectionTypesListCall) Context(ctx context.Context) *ConnectionTypesListCall {
23179	c.ctx_ = ctx
23180	return c
23181}
23182
23183// Header returns an http.Header that can be modified by the caller to
23184// add HTTP headers to the request.
23185func (c *ConnectionTypesListCall) Header() http.Header {
23186	if c.header_ == nil {
23187		c.header_ = make(http.Header)
23188	}
23189	return c.header_
23190}
23191
23192func (c *ConnectionTypesListCall) doRequest(alt string) (*http.Response, error) {
23193	reqHeaders := make(http.Header)
23194	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23195	for k, v := range c.header_ {
23196		reqHeaders[k] = v
23197	}
23198	reqHeaders.Set("User-Agent", c.s.userAgent())
23199	if c.ifNoneMatch_ != "" {
23200		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23201	}
23202	var body io.Reader = nil
23203	c.urlParams_.Set("alt", alt)
23204	c.urlParams_.Set("prettyPrint", "false")
23205	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/connectionTypes")
23206	urls += "?" + c.urlParams_.Encode()
23207	req, err := http.NewRequest("GET", urls, body)
23208	if err != nil {
23209		return nil, err
23210	}
23211	req.Header = reqHeaders
23212	googleapi.Expand(req.URL, map[string]string{
23213		"profileId": strconv.FormatInt(c.profileId, 10),
23214	})
23215	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23216}
23217
23218// Do executes the "dfareporting.connectionTypes.list" call.
23219// Exactly one of *ConnectionTypesListResponse or error will be non-nil.
23220// Any non-2xx status code is an error. Response headers are in either
23221// *ConnectionTypesListResponse.ServerResponse.Header or (if a response
23222// was returned at all) in error.(*googleapi.Error).Header. Use
23223// googleapi.IsNotModified to check whether the returned error was
23224// because http.StatusNotModified was returned.
23225func (c *ConnectionTypesListCall) Do(opts ...googleapi.CallOption) (*ConnectionTypesListResponse, error) {
23226	gensupport.SetOptions(c.urlParams_, opts...)
23227	res, err := c.doRequest("json")
23228	if res != nil && res.StatusCode == http.StatusNotModified {
23229		if res.Body != nil {
23230			res.Body.Close()
23231		}
23232		return nil, &googleapi.Error{
23233			Code:   res.StatusCode,
23234			Header: res.Header,
23235		}
23236	}
23237	if err != nil {
23238		return nil, err
23239	}
23240	defer googleapi.CloseBody(res)
23241	if err := googleapi.CheckResponse(res); err != nil {
23242		return nil, err
23243	}
23244	ret := &ConnectionTypesListResponse{
23245		ServerResponse: googleapi.ServerResponse{
23246			Header:         res.Header,
23247			HTTPStatusCode: res.StatusCode,
23248		},
23249	}
23250	target := &ret
23251	if err := gensupport.DecodeResponse(target, res); err != nil {
23252		return nil, err
23253	}
23254	return ret, nil
23255	// {
23256	//   "description": "Retrieves a list of connection types.",
23257	//   "httpMethod": "GET",
23258	//   "id": "dfareporting.connectionTypes.list",
23259	//   "parameterOrder": [
23260	//     "profileId"
23261	//   ],
23262	//   "parameters": {
23263	//     "profileId": {
23264	//       "description": "User profile ID associated with this request.",
23265	//       "format": "int64",
23266	//       "location": "path",
23267	//       "required": true,
23268	//       "type": "string"
23269	//     }
23270	//   },
23271	//   "path": "userprofiles/{profileId}/connectionTypes",
23272	//   "response": {
23273	//     "$ref": "ConnectionTypesListResponse"
23274	//   },
23275	//   "scopes": [
23276	//     "https://www.googleapis.com/auth/dfatrafficking"
23277	//   ]
23278	// }
23279
23280}
23281
23282// method id "dfareporting.contentCategories.delete":
23283
23284type ContentCategoriesDeleteCall struct {
23285	s          *Service
23286	profileId  int64
23287	id         int64
23288	urlParams_ gensupport.URLParams
23289	ctx_       context.Context
23290	header_    http.Header
23291}
23292
23293// Delete: Deletes an existing content category.
23294func (r *ContentCategoriesService) Delete(profileId int64, id int64) *ContentCategoriesDeleteCall {
23295	c := &ContentCategoriesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23296	c.profileId = profileId
23297	c.id = id
23298	return c
23299}
23300
23301// Fields allows partial responses to be retrieved. See
23302// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23303// for more information.
23304func (c *ContentCategoriesDeleteCall) Fields(s ...googleapi.Field) *ContentCategoriesDeleteCall {
23305	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23306	return c
23307}
23308
23309// Context sets the context to be used in this call's Do method. Any
23310// pending HTTP request will be aborted if the provided context is
23311// canceled.
23312func (c *ContentCategoriesDeleteCall) Context(ctx context.Context) *ContentCategoriesDeleteCall {
23313	c.ctx_ = ctx
23314	return c
23315}
23316
23317// Header returns an http.Header that can be modified by the caller to
23318// add HTTP headers to the request.
23319func (c *ContentCategoriesDeleteCall) Header() http.Header {
23320	if c.header_ == nil {
23321		c.header_ = make(http.Header)
23322	}
23323	return c.header_
23324}
23325
23326func (c *ContentCategoriesDeleteCall) doRequest(alt string) (*http.Response, error) {
23327	reqHeaders := make(http.Header)
23328	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23329	for k, v := range c.header_ {
23330		reqHeaders[k] = v
23331	}
23332	reqHeaders.Set("User-Agent", c.s.userAgent())
23333	var body io.Reader = nil
23334	c.urlParams_.Set("alt", alt)
23335	c.urlParams_.Set("prettyPrint", "false")
23336	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23337	urls += "?" + c.urlParams_.Encode()
23338	req, err := http.NewRequest("DELETE", urls, body)
23339	if err != nil {
23340		return nil, err
23341	}
23342	req.Header = reqHeaders
23343	googleapi.Expand(req.URL, map[string]string{
23344		"profileId": strconv.FormatInt(c.profileId, 10),
23345		"id":        strconv.FormatInt(c.id, 10),
23346	})
23347	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23348}
23349
23350// Do executes the "dfareporting.contentCategories.delete" call.
23351func (c *ContentCategoriesDeleteCall) Do(opts ...googleapi.CallOption) error {
23352	gensupport.SetOptions(c.urlParams_, opts...)
23353	res, err := c.doRequest("json")
23354	if err != nil {
23355		return err
23356	}
23357	defer googleapi.CloseBody(res)
23358	if err := googleapi.CheckResponse(res); err != nil {
23359		return err
23360	}
23361	return nil
23362	// {
23363	//   "description": "Deletes an existing content category.",
23364	//   "httpMethod": "DELETE",
23365	//   "id": "dfareporting.contentCategories.delete",
23366	//   "parameterOrder": [
23367	//     "profileId",
23368	//     "id"
23369	//   ],
23370	//   "parameters": {
23371	//     "id": {
23372	//       "description": "Content category ID.",
23373	//       "format": "int64",
23374	//       "location": "path",
23375	//       "required": true,
23376	//       "type": "string"
23377	//     },
23378	//     "profileId": {
23379	//       "description": "User profile ID associated with this request.",
23380	//       "format": "int64",
23381	//       "location": "path",
23382	//       "required": true,
23383	//       "type": "string"
23384	//     }
23385	//   },
23386	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23387	//   "scopes": [
23388	//     "https://www.googleapis.com/auth/dfatrafficking"
23389	//   ]
23390	// }
23391
23392}
23393
23394// method id "dfareporting.contentCategories.get":
23395
23396type ContentCategoriesGetCall struct {
23397	s            *Service
23398	profileId    int64
23399	id           int64
23400	urlParams_   gensupport.URLParams
23401	ifNoneMatch_ string
23402	ctx_         context.Context
23403	header_      http.Header
23404}
23405
23406// Get: Gets one content category by ID.
23407func (r *ContentCategoriesService) Get(profileId int64, id int64) *ContentCategoriesGetCall {
23408	c := &ContentCategoriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23409	c.profileId = profileId
23410	c.id = id
23411	return c
23412}
23413
23414// Fields allows partial responses to be retrieved. See
23415// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23416// for more information.
23417func (c *ContentCategoriesGetCall) Fields(s ...googleapi.Field) *ContentCategoriesGetCall {
23418	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23419	return c
23420}
23421
23422// IfNoneMatch sets the optional parameter which makes the operation
23423// fail if the object's ETag matches the given value. This is useful for
23424// getting updates only after the object has changed since the last
23425// request. Use googleapi.IsNotModified to check whether the response
23426// error from Do is the result of In-None-Match.
23427func (c *ContentCategoriesGetCall) IfNoneMatch(entityTag string) *ContentCategoriesGetCall {
23428	c.ifNoneMatch_ = entityTag
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 *ContentCategoriesGetCall) Context(ctx context.Context) *ContentCategoriesGetCall {
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 *ContentCategoriesGetCall) Header() http.Header {
23443	if c.header_ == nil {
23444		c.header_ = make(http.Header)
23445	}
23446	return c.header_
23447}
23448
23449func (c *ContentCategoriesGetCall) doRequest(alt string) (*http.Response, error) {
23450	reqHeaders := make(http.Header)
23451	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23452	for k, v := range c.header_ {
23453		reqHeaders[k] = v
23454	}
23455	reqHeaders.Set("User-Agent", c.s.userAgent())
23456	if c.ifNoneMatch_ != "" {
23457		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23458	}
23459	var body io.Reader = nil
23460	c.urlParams_.Set("alt", alt)
23461	c.urlParams_.Set("prettyPrint", "false")
23462	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories/{id}")
23463	urls += "?" + c.urlParams_.Encode()
23464	req, err := http.NewRequest("GET", urls, body)
23465	if err != nil {
23466		return nil, err
23467	}
23468	req.Header = reqHeaders
23469	googleapi.Expand(req.URL, map[string]string{
23470		"profileId": strconv.FormatInt(c.profileId, 10),
23471		"id":        strconv.FormatInt(c.id, 10),
23472	})
23473	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23474}
23475
23476// Do executes the "dfareporting.contentCategories.get" call.
23477// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23478// status code is an error. Response headers are in either
23479// *ContentCategory.ServerResponse.Header or (if a response was returned
23480// at all) in error.(*googleapi.Error).Header. Use
23481// googleapi.IsNotModified to check whether the returned error was
23482// because http.StatusNotModified was returned.
23483func (c *ContentCategoriesGetCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23484	gensupport.SetOptions(c.urlParams_, opts...)
23485	res, err := c.doRequest("json")
23486	if res != nil && res.StatusCode == http.StatusNotModified {
23487		if res.Body != nil {
23488			res.Body.Close()
23489		}
23490		return nil, &googleapi.Error{
23491			Code:   res.StatusCode,
23492			Header: res.Header,
23493		}
23494	}
23495	if err != nil {
23496		return nil, err
23497	}
23498	defer googleapi.CloseBody(res)
23499	if err := googleapi.CheckResponse(res); err != nil {
23500		return nil, err
23501	}
23502	ret := &ContentCategory{
23503		ServerResponse: googleapi.ServerResponse{
23504			Header:         res.Header,
23505			HTTPStatusCode: res.StatusCode,
23506		},
23507	}
23508	target := &ret
23509	if err := gensupport.DecodeResponse(target, res); err != nil {
23510		return nil, err
23511	}
23512	return ret, nil
23513	// {
23514	//   "description": "Gets one content category by ID.",
23515	//   "httpMethod": "GET",
23516	//   "id": "dfareporting.contentCategories.get",
23517	//   "parameterOrder": [
23518	//     "profileId",
23519	//     "id"
23520	//   ],
23521	//   "parameters": {
23522	//     "id": {
23523	//       "description": "Content category ID.",
23524	//       "format": "int64",
23525	//       "location": "path",
23526	//       "required": true,
23527	//       "type": "string"
23528	//     },
23529	//     "profileId": {
23530	//       "description": "User profile ID associated with this request.",
23531	//       "format": "int64",
23532	//       "location": "path",
23533	//       "required": true,
23534	//       "type": "string"
23535	//     }
23536	//   },
23537	//   "path": "userprofiles/{profileId}/contentCategories/{id}",
23538	//   "response": {
23539	//     "$ref": "ContentCategory"
23540	//   },
23541	//   "scopes": [
23542	//     "https://www.googleapis.com/auth/dfatrafficking"
23543	//   ]
23544	// }
23545
23546}
23547
23548// method id "dfareporting.contentCategories.insert":
23549
23550type ContentCategoriesInsertCall struct {
23551	s               *Service
23552	profileId       int64
23553	contentcategory *ContentCategory
23554	urlParams_      gensupport.URLParams
23555	ctx_            context.Context
23556	header_         http.Header
23557}
23558
23559// Insert: Inserts a new content category.
23560func (r *ContentCategoriesService) Insert(profileId int64, contentcategory *ContentCategory) *ContentCategoriesInsertCall {
23561	c := &ContentCategoriesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23562	c.profileId = profileId
23563	c.contentcategory = contentcategory
23564	return c
23565}
23566
23567// Fields allows partial responses to be retrieved. See
23568// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23569// for more information.
23570func (c *ContentCategoriesInsertCall) Fields(s ...googleapi.Field) *ContentCategoriesInsertCall {
23571	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23572	return c
23573}
23574
23575// Context sets the context to be used in this call's Do method. Any
23576// pending HTTP request will be aborted if the provided context is
23577// canceled.
23578func (c *ContentCategoriesInsertCall) Context(ctx context.Context) *ContentCategoriesInsertCall {
23579	c.ctx_ = ctx
23580	return c
23581}
23582
23583// Header returns an http.Header that can be modified by the caller to
23584// add HTTP headers to the request.
23585func (c *ContentCategoriesInsertCall) Header() http.Header {
23586	if c.header_ == nil {
23587		c.header_ = make(http.Header)
23588	}
23589	return c.header_
23590}
23591
23592func (c *ContentCategoriesInsertCall) doRequest(alt string) (*http.Response, error) {
23593	reqHeaders := make(http.Header)
23594	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23595	for k, v := range c.header_ {
23596		reqHeaders[k] = v
23597	}
23598	reqHeaders.Set("User-Agent", c.s.userAgent())
23599	var body io.Reader = nil
23600	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
23601	if err != nil {
23602		return nil, err
23603	}
23604	reqHeaders.Set("Content-Type", "application/json")
23605	c.urlParams_.Set("alt", alt)
23606	c.urlParams_.Set("prettyPrint", "false")
23607	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23608	urls += "?" + c.urlParams_.Encode()
23609	req, err := http.NewRequest("POST", urls, body)
23610	if err != nil {
23611		return nil, err
23612	}
23613	req.Header = reqHeaders
23614	googleapi.Expand(req.URL, map[string]string{
23615		"profileId": strconv.FormatInt(c.profileId, 10),
23616	})
23617	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23618}
23619
23620// Do executes the "dfareporting.contentCategories.insert" call.
23621// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
23622// status code is an error. Response headers are in either
23623// *ContentCategory.ServerResponse.Header or (if a response was returned
23624// at all) in error.(*googleapi.Error).Header. Use
23625// googleapi.IsNotModified to check whether the returned error was
23626// because http.StatusNotModified was returned.
23627func (c *ContentCategoriesInsertCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
23628	gensupport.SetOptions(c.urlParams_, opts...)
23629	res, err := c.doRequest("json")
23630	if res != nil && res.StatusCode == http.StatusNotModified {
23631		if res.Body != nil {
23632			res.Body.Close()
23633		}
23634		return nil, &googleapi.Error{
23635			Code:   res.StatusCode,
23636			Header: res.Header,
23637		}
23638	}
23639	if err != nil {
23640		return nil, err
23641	}
23642	defer googleapi.CloseBody(res)
23643	if err := googleapi.CheckResponse(res); err != nil {
23644		return nil, err
23645	}
23646	ret := &ContentCategory{
23647		ServerResponse: googleapi.ServerResponse{
23648			Header:         res.Header,
23649			HTTPStatusCode: res.StatusCode,
23650		},
23651	}
23652	target := &ret
23653	if err := gensupport.DecodeResponse(target, res); err != nil {
23654		return nil, err
23655	}
23656	return ret, nil
23657	// {
23658	//   "description": "Inserts a new content category.",
23659	//   "httpMethod": "POST",
23660	//   "id": "dfareporting.contentCategories.insert",
23661	//   "parameterOrder": [
23662	//     "profileId"
23663	//   ],
23664	//   "parameters": {
23665	//     "profileId": {
23666	//       "description": "User profile ID associated with this request.",
23667	//       "format": "int64",
23668	//       "location": "path",
23669	//       "required": true,
23670	//       "type": "string"
23671	//     }
23672	//   },
23673	//   "path": "userprofiles/{profileId}/contentCategories",
23674	//   "request": {
23675	//     "$ref": "ContentCategory"
23676	//   },
23677	//   "response": {
23678	//     "$ref": "ContentCategory"
23679	//   },
23680	//   "scopes": [
23681	//     "https://www.googleapis.com/auth/dfatrafficking"
23682	//   ]
23683	// }
23684
23685}
23686
23687// method id "dfareporting.contentCategories.list":
23688
23689type ContentCategoriesListCall struct {
23690	s            *Service
23691	profileId    int64
23692	urlParams_   gensupport.URLParams
23693	ifNoneMatch_ string
23694	ctx_         context.Context
23695	header_      http.Header
23696}
23697
23698// List: Retrieves a list of content categories, possibly filtered. This
23699// method supports paging.
23700func (r *ContentCategoriesService) List(profileId int64) *ContentCategoriesListCall {
23701	c := &ContentCategoriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23702	c.profileId = profileId
23703	return c
23704}
23705
23706// Ids sets the optional parameter "ids": Select only content categories
23707// with these IDs.
23708func (c *ContentCategoriesListCall) Ids(ids ...int64) *ContentCategoriesListCall {
23709	var ids_ []string
23710	for _, v := range ids {
23711		ids_ = append(ids_, fmt.Sprint(v))
23712	}
23713	c.urlParams_.SetMulti("ids", ids_)
23714	return c
23715}
23716
23717// MaxResults sets the optional parameter "maxResults": Maximum number
23718// of results to return.
23719func (c *ContentCategoriesListCall) MaxResults(maxResults int64) *ContentCategoriesListCall {
23720	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
23721	return c
23722}
23723
23724// PageToken sets the optional parameter "pageToken": Value of the
23725// nextPageToken from the previous result page.
23726func (c *ContentCategoriesListCall) PageToken(pageToken string) *ContentCategoriesListCall {
23727	c.urlParams_.Set("pageToken", pageToken)
23728	return c
23729}
23730
23731// SearchString sets the optional parameter "searchString": Allows
23732// searching for objects by name or ID. Wildcards (*) are allowed. For
23733// example, "contentcategory*2015" will return objects with names like
23734// "contentcategory June 2015", "contentcategory April 2015", or simply
23735// "contentcategory 2015". Most of the searches also add wildcards
23736// implicitly at the start and the end of the search string. For
23737// example, a search string of "contentcategory" will match objects with
23738// name "my contentcategory", "contentcategory 2015", or simply
23739// "contentcategory".
23740func (c *ContentCategoriesListCall) SearchString(searchString string) *ContentCategoriesListCall {
23741	c.urlParams_.Set("searchString", searchString)
23742	return c
23743}
23744
23745// SortField sets the optional parameter "sortField": Field by which to
23746// sort the list.
23747//
23748// Possible values:
23749//   "ID" (default)
23750//   "NAME"
23751func (c *ContentCategoriesListCall) SortField(sortField string) *ContentCategoriesListCall {
23752	c.urlParams_.Set("sortField", sortField)
23753	return c
23754}
23755
23756// SortOrder sets the optional parameter "sortOrder": Order of sorted
23757// results.
23758//
23759// Possible values:
23760//   "ASCENDING" (default)
23761//   "DESCENDING"
23762func (c *ContentCategoriesListCall) SortOrder(sortOrder string) *ContentCategoriesListCall {
23763	c.urlParams_.Set("sortOrder", sortOrder)
23764	return c
23765}
23766
23767// Fields allows partial responses to be retrieved. See
23768// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23769// for more information.
23770func (c *ContentCategoriesListCall) Fields(s ...googleapi.Field) *ContentCategoriesListCall {
23771	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23772	return c
23773}
23774
23775// IfNoneMatch sets the optional parameter which makes the operation
23776// fail if the object's ETag matches the given value. This is useful for
23777// getting updates only after the object has changed since the last
23778// request. Use googleapi.IsNotModified to check whether the response
23779// error from Do is the result of In-None-Match.
23780func (c *ContentCategoriesListCall) IfNoneMatch(entityTag string) *ContentCategoriesListCall {
23781	c.ifNoneMatch_ = entityTag
23782	return c
23783}
23784
23785// Context sets the context to be used in this call's Do method. Any
23786// pending HTTP request will be aborted if the provided context is
23787// canceled.
23788func (c *ContentCategoriesListCall) Context(ctx context.Context) *ContentCategoriesListCall {
23789	c.ctx_ = ctx
23790	return c
23791}
23792
23793// Header returns an http.Header that can be modified by the caller to
23794// add HTTP headers to the request.
23795func (c *ContentCategoriesListCall) Header() http.Header {
23796	if c.header_ == nil {
23797		c.header_ = make(http.Header)
23798	}
23799	return c.header_
23800}
23801
23802func (c *ContentCategoriesListCall) doRequest(alt string) (*http.Response, error) {
23803	reqHeaders := make(http.Header)
23804	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
23805	for k, v := range c.header_ {
23806		reqHeaders[k] = v
23807	}
23808	reqHeaders.Set("User-Agent", c.s.userAgent())
23809	if c.ifNoneMatch_ != "" {
23810		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
23811	}
23812	var body io.Reader = nil
23813	c.urlParams_.Set("alt", alt)
23814	c.urlParams_.Set("prettyPrint", "false")
23815	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
23816	urls += "?" + c.urlParams_.Encode()
23817	req, err := http.NewRequest("GET", urls, body)
23818	if err != nil {
23819		return nil, err
23820	}
23821	req.Header = reqHeaders
23822	googleapi.Expand(req.URL, map[string]string{
23823		"profileId": strconv.FormatInt(c.profileId, 10),
23824	})
23825	return gensupport.SendRequest(c.ctx_, c.s.client, req)
23826}
23827
23828// Do executes the "dfareporting.contentCategories.list" call.
23829// Exactly one of *ContentCategoriesListResponse or error will be
23830// non-nil. Any non-2xx status code is an error. Response headers are in
23831// either *ContentCategoriesListResponse.ServerResponse.Header or (if a
23832// response was returned at all) in error.(*googleapi.Error).Header. Use
23833// googleapi.IsNotModified to check whether the returned error was
23834// because http.StatusNotModified was returned.
23835func (c *ContentCategoriesListCall) Do(opts ...googleapi.CallOption) (*ContentCategoriesListResponse, error) {
23836	gensupport.SetOptions(c.urlParams_, opts...)
23837	res, err := c.doRequest("json")
23838	if res != nil && res.StatusCode == http.StatusNotModified {
23839		if res.Body != nil {
23840			res.Body.Close()
23841		}
23842		return nil, &googleapi.Error{
23843			Code:   res.StatusCode,
23844			Header: res.Header,
23845		}
23846	}
23847	if err != nil {
23848		return nil, err
23849	}
23850	defer googleapi.CloseBody(res)
23851	if err := googleapi.CheckResponse(res); err != nil {
23852		return nil, err
23853	}
23854	ret := &ContentCategoriesListResponse{
23855		ServerResponse: googleapi.ServerResponse{
23856			Header:         res.Header,
23857			HTTPStatusCode: res.StatusCode,
23858		},
23859	}
23860	target := &ret
23861	if err := gensupport.DecodeResponse(target, res); err != nil {
23862		return nil, err
23863	}
23864	return ret, nil
23865	// {
23866	//   "description": "Retrieves a list of content categories, possibly filtered. This method supports paging.",
23867	//   "httpMethod": "GET",
23868	//   "id": "dfareporting.contentCategories.list",
23869	//   "parameterOrder": [
23870	//     "profileId"
23871	//   ],
23872	//   "parameters": {
23873	//     "ids": {
23874	//       "description": "Select only content categories with these IDs.",
23875	//       "format": "int64",
23876	//       "location": "query",
23877	//       "repeated": true,
23878	//       "type": "string"
23879	//     },
23880	//     "maxResults": {
23881	//       "default": "1000",
23882	//       "description": "Maximum number of results to return.",
23883	//       "format": "int32",
23884	//       "location": "query",
23885	//       "maximum": "1000",
23886	//       "minimum": "0",
23887	//       "type": "integer"
23888	//     },
23889	//     "pageToken": {
23890	//       "description": "Value of the nextPageToken from the previous result page.",
23891	//       "location": "query",
23892	//       "type": "string"
23893	//     },
23894	//     "profileId": {
23895	//       "description": "User profile ID associated with this request.",
23896	//       "format": "int64",
23897	//       "location": "path",
23898	//       "required": true,
23899	//       "type": "string"
23900	//     },
23901	//     "searchString": {
23902	//       "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\".",
23903	//       "location": "query",
23904	//       "type": "string"
23905	//     },
23906	//     "sortField": {
23907	//       "default": "ID",
23908	//       "description": "Field by which to sort the list.",
23909	//       "enum": [
23910	//         "ID",
23911	//         "NAME"
23912	//       ],
23913	//       "enumDescriptions": [
23914	//         "",
23915	//         ""
23916	//       ],
23917	//       "location": "query",
23918	//       "type": "string"
23919	//     },
23920	//     "sortOrder": {
23921	//       "default": "ASCENDING",
23922	//       "description": "Order of sorted results.",
23923	//       "enum": [
23924	//         "ASCENDING",
23925	//         "DESCENDING"
23926	//       ],
23927	//       "enumDescriptions": [
23928	//         "",
23929	//         ""
23930	//       ],
23931	//       "location": "query",
23932	//       "type": "string"
23933	//     }
23934	//   },
23935	//   "path": "userprofiles/{profileId}/contentCategories",
23936	//   "response": {
23937	//     "$ref": "ContentCategoriesListResponse"
23938	//   },
23939	//   "scopes": [
23940	//     "https://www.googleapis.com/auth/dfatrafficking"
23941	//   ]
23942	// }
23943
23944}
23945
23946// Pages invokes f for each page of results.
23947// A non-nil error returned from f will halt the iteration.
23948// The provided context supersedes any context provided to the Context method.
23949func (c *ContentCategoriesListCall) Pages(ctx context.Context, f func(*ContentCategoriesListResponse) error) error {
23950	c.ctx_ = ctx
23951	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
23952	for {
23953		x, err := c.Do()
23954		if err != nil {
23955			return err
23956		}
23957		if err := f(x); err != nil {
23958			return err
23959		}
23960		if x.NextPageToken == "" {
23961			return nil
23962		}
23963		c.PageToken(x.NextPageToken)
23964	}
23965}
23966
23967// method id "dfareporting.contentCategories.patch":
23968
23969type ContentCategoriesPatchCall struct {
23970	s               *Service
23971	profileId       int64
23972	contentcategory *ContentCategory
23973	urlParams_      gensupport.URLParams
23974	ctx_            context.Context
23975	header_         http.Header
23976}
23977
23978// Patch: Updates an existing content category. This method supports
23979// patch semantics.
23980func (r *ContentCategoriesService) Patch(profileId int64, id int64, contentcategory *ContentCategory) *ContentCategoriesPatchCall {
23981	c := &ContentCategoriesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
23982	c.profileId = profileId
23983	c.urlParams_.Set("id", fmt.Sprint(id))
23984	c.contentcategory = contentcategory
23985	return c
23986}
23987
23988// Fields allows partial responses to be retrieved. See
23989// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
23990// for more information.
23991func (c *ContentCategoriesPatchCall) Fields(s ...googleapi.Field) *ContentCategoriesPatchCall {
23992	c.urlParams_.Set("fields", googleapi.CombineFields(s))
23993	return c
23994}
23995
23996// Context sets the context to be used in this call's Do method. Any
23997// pending HTTP request will be aborted if the provided context is
23998// canceled.
23999func (c *ContentCategoriesPatchCall) Context(ctx context.Context) *ContentCategoriesPatchCall {
24000	c.ctx_ = ctx
24001	return c
24002}
24003
24004// Header returns an http.Header that can be modified by the caller to
24005// add HTTP headers to the request.
24006func (c *ContentCategoriesPatchCall) Header() http.Header {
24007	if c.header_ == nil {
24008		c.header_ = make(http.Header)
24009	}
24010	return c.header_
24011}
24012
24013func (c *ContentCategoriesPatchCall) doRequest(alt string) (*http.Response, error) {
24014	reqHeaders := make(http.Header)
24015	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24016	for k, v := range c.header_ {
24017		reqHeaders[k] = v
24018	}
24019	reqHeaders.Set("User-Agent", c.s.userAgent())
24020	var body io.Reader = nil
24021	body, err := googleapi.WithoutDataWrapper.JSONReader(c.contentcategory)
24022	if err != nil {
24023		return nil, err
24024	}
24025	reqHeaders.Set("Content-Type", "application/json")
24026	c.urlParams_.Set("alt", alt)
24027	c.urlParams_.Set("prettyPrint", "false")
24028	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/contentCategories")
24029	urls += "?" + c.urlParams_.Encode()
24030	req, err := http.NewRequest("PATCH", urls, body)
24031	if err != nil {
24032		return nil, err
24033	}
24034	req.Header = reqHeaders
24035	googleapi.Expand(req.URL, map[string]string{
24036		"profileId": strconv.FormatInt(c.profileId, 10),
24037	})
24038	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24039}
24040
24041// Do executes the "dfareporting.contentCategories.patch" call.
24042// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24043// status code is an error. Response headers are in either
24044// *ContentCategory.ServerResponse.Header or (if a response was returned
24045// at all) in error.(*googleapi.Error).Header. Use
24046// googleapi.IsNotModified to check whether the returned error was
24047// because http.StatusNotModified was returned.
24048func (c *ContentCategoriesPatchCall) Do(opts ...googleapi.CallOption) (*ContentCategory, error) {
24049	gensupport.SetOptions(c.urlParams_, opts...)
24050	res, err := c.doRequest("json")
24051	if res != nil && res.StatusCode == http.StatusNotModified {
24052		if res.Body != nil {
24053			res.Body.Close()
24054		}
24055		return nil, &googleapi.Error{
24056			Code:   res.StatusCode,
24057			Header: res.Header,
24058		}
24059	}
24060	if err != nil {
24061		return nil, err
24062	}
24063	defer googleapi.CloseBody(res)
24064	if err := googleapi.CheckResponse(res); err != nil {
24065		return nil, err
24066	}
24067	ret := &ContentCategory{
24068		ServerResponse: googleapi.ServerResponse{
24069			Header:         res.Header,
24070			HTTPStatusCode: res.StatusCode,
24071		},
24072	}
24073	target := &ret
24074	if err := gensupport.DecodeResponse(target, res); err != nil {
24075		return nil, err
24076	}
24077	return ret, nil
24078	// {
24079	//   "description": "Updates an existing content category. This method supports patch semantics.",
24080	//   "httpMethod": "PATCH",
24081	//   "id": "dfareporting.contentCategories.patch",
24082	//   "parameterOrder": [
24083	//     "profileId",
24084	//     "id"
24085	//   ],
24086	//   "parameters": {
24087	//     "id": {
24088	//       "description": "Content category ID.",
24089	//       "format": "int64",
24090	//       "location": "query",
24091	//       "required": true,
24092	//       "type": "string"
24093	//     },
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.contentCategories.update":
24117
24118type ContentCategoriesUpdateCall struct {
24119	s               *Service
24120	profileId       int64
24121	contentcategory *ContentCategory
24122	urlParams_      gensupport.URLParams
24123	ctx_            context.Context
24124	header_         http.Header
24125}
24126
24127// Update: Updates an existing content category.
24128func (r *ContentCategoriesService) Update(profileId int64, contentcategory *ContentCategory) *ContentCategoriesUpdateCall {
24129	c := &ContentCategoriesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24130	c.profileId = profileId
24131	c.contentcategory = contentcategory
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 *ContentCategoriesUpdateCall) Fields(s ...googleapi.Field) *ContentCategoriesUpdateCall {
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 *ContentCategoriesUpdateCall) Context(ctx context.Context) *ContentCategoriesUpdateCall {
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 *ContentCategoriesUpdateCall) Header() http.Header {
24154	if c.header_ == nil {
24155		c.header_ = make(http.Header)
24156	}
24157	return c.header_
24158}
24159
24160func (c *ContentCategoriesUpdateCall) doRequest(alt string) (*http.Response, error) {
24161	reqHeaders := make(http.Header)
24162	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
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.contentcategory)
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}/contentCategories")
24176	urls += "?" + c.urlParams_.Encode()
24177	req, err := http.NewRequest("PUT", 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.contentCategories.update" call.
24189// Exactly one of *ContentCategory or error will be non-nil. Any non-2xx
24190// status code is an error. Response headers are in either
24191// *ContentCategory.ServerResponse.Header or (if a response was returned
24192// 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 *ContentCategoriesUpdateCall) Do(opts ...googleapi.CallOption) (*ContentCategory, 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 := &ContentCategory{
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": "Updates an existing content category.",
24227	//   "httpMethod": "PUT",
24228	//   "id": "dfareporting.contentCategories.update",
24229	//   "parameterOrder": [
24230	//     "profileId"
24231	//   ],
24232	//   "parameters": {
24233	//     "profileId": {
24234	//       "description": "User profile ID associated with this request.",
24235	//       "format": "int64",
24236	//       "location": "path",
24237	//       "required": true,
24238	//       "type": "string"
24239	//     }
24240	//   },
24241	//   "path": "userprofiles/{profileId}/contentCategories",
24242	//   "request": {
24243	//     "$ref": "ContentCategory"
24244	//   },
24245	//   "response": {
24246	//     "$ref": "ContentCategory"
24247	//   },
24248	//   "scopes": [
24249	//     "https://www.googleapis.com/auth/dfatrafficking"
24250	//   ]
24251	// }
24252
24253}
24254
24255// method id "dfareporting.conversions.batchinsert":
24256
24257type ConversionsBatchinsertCall struct {
24258	s                             *Service
24259	profileId                     int64
24260	conversionsbatchinsertrequest *ConversionsBatchInsertRequest
24261	urlParams_                    gensupport.URLParams
24262	ctx_                          context.Context
24263	header_                       http.Header
24264}
24265
24266// Batchinsert: Inserts conversions.
24267func (r *ConversionsService) Batchinsert(profileId int64, conversionsbatchinsertrequest *ConversionsBatchInsertRequest) *ConversionsBatchinsertCall {
24268	c := &ConversionsBatchinsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24269	c.profileId = profileId
24270	c.conversionsbatchinsertrequest = conversionsbatchinsertrequest
24271	return c
24272}
24273
24274// Fields allows partial responses to be retrieved. See
24275// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24276// for more information.
24277func (c *ConversionsBatchinsertCall) Fields(s ...googleapi.Field) *ConversionsBatchinsertCall {
24278	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24279	return c
24280}
24281
24282// Context sets the context to be used in this call's Do method. Any
24283// pending HTTP request will be aborted if the provided context is
24284// canceled.
24285func (c *ConversionsBatchinsertCall) Context(ctx context.Context) *ConversionsBatchinsertCall {
24286	c.ctx_ = ctx
24287	return c
24288}
24289
24290// Header returns an http.Header that can be modified by the caller to
24291// add HTTP headers to the request.
24292func (c *ConversionsBatchinsertCall) Header() http.Header {
24293	if c.header_ == nil {
24294		c.header_ = make(http.Header)
24295	}
24296	return c.header_
24297}
24298
24299func (c *ConversionsBatchinsertCall) doRequest(alt string) (*http.Response, error) {
24300	reqHeaders := make(http.Header)
24301	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24302	for k, v := range c.header_ {
24303		reqHeaders[k] = v
24304	}
24305	reqHeaders.Set("User-Agent", c.s.userAgent())
24306	var body io.Reader = nil
24307	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchinsertrequest)
24308	if err != nil {
24309		return nil, err
24310	}
24311	reqHeaders.Set("Content-Type", "application/json")
24312	c.urlParams_.Set("alt", alt)
24313	c.urlParams_.Set("prettyPrint", "false")
24314	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchinsert")
24315	urls += "?" + c.urlParams_.Encode()
24316	req, err := http.NewRequest("POST", urls, body)
24317	if err != nil {
24318		return nil, err
24319	}
24320	req.Header = reqHeaders
24321	googleapi.Expand(req.URL, map[string]string{
24322		"profileId": strconv.FormatInt(c.profileId, 10),
24323	})
24324	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24325}
24326
24327// Do executes the "dfareporting.conversions.batchinsert" call.
24328// Exactly one of *ConversionsBatchInsertResponse or error will be
24329// non-nil. Any non-2xx status code is an error. Response headers are in
24330// either *ConversionsBatchInsertResponse.ServerResponse.Header or (if a
24331// response was returned at all) in error.(*googleapi.Error).Header. Use
24332// googleapi.IsNotModified to check whether the returned error was
24333// because http.StatusNotModified was returned.
24334func (c *ConversionsBatchinsertCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchInsertResponse, error) {
24335	gensupport.SetOptions(c.urlParams_, opts...)
24336	res, err := c.doRequest("json")
24337	if res != nil && res.StatusCode == http.StatusNotModified {
24338		if res.Body != nil {
24339			res.Body.Close()
24340		}
24341		return nil, &googleapi.Error{
24342			Code:   res.StatusCode,
24343			Header: res.Header,
24344		}
24345	}
24346	if err != nil {
24347		return nil, err
24348	}
24349	defer googleapi.CloseBody(res)
24350	if err := googleapi.CheckResponse(res); err != nil {
24351		return nil, err
24352	}
24353	ret := &ConversionsBatchInsertResponse{
24354		ServerResponse: googleapi.ServerResponse{
24355			Header:         res.Header,
24356			HTTPStatusCode: res.StatusCode,
24357		},
24358	}
24359	target := &ret
24360	if err := gensupport.DecodeResponse(target, res); err != nil {
24361		return nil, err
24362	}
24363	return ret, nil
24364	// {
24365	//   "description": "Inserts conversions.",
24366	//   "httpMethod": "POST",
24367	//   "id": "dfareporting.conversions.batchinsert",
24368	//   "parameterOrder": [
24369	//     "profileId"
24370	//   ],
24371	//   "parameters": {
24372	//     "profileId": {
24373	//       "description": "User profile ID associated with this request.",
24374	//       "format": "int64",
24375	//       "location": "path",
24376	//       "required": true,
24377	//       "type": "string"
24378	//     }
24379	//   },
24380	//   "path": "userprofiles/{profileId}/conversions/batchinsert",
24381	//   "request": {
24382	//     "$ref": "ConversionsBatchInsertRequest"
24383	//   },
24384	//   "response": {
24385	//     "$ref": "ConversionsBatchInsertResponse"
24386	//   },
24387	//   "scopes": [
24388	//     "https://www.googleapis.com/auth/ddmconversions"
24389	//   ]
24390	// }
24391
24392}
24393
24394// method id "dfareporting.conversions.batchupdate":
24395
24396type ConversionsBatchupdateCall struct {
24397	s                             *Service
24398	profileId                     int64
24399	conversionsbatchupdaterequest *ConversionsBatchUpdateRequest
24400	urlParams_                    gensupport.URLParams
24401	ctx_                          context.Context
24402	header_                       http.Header
24403}
24404
24405// Batchupdate: Updates existing conversions.
24406func (r *ConversionsService) Batchupdate(profileId int64, conversionsbatchupdaterequest *ConversionsBatchUpdateRequest) *ConversionsBatchupdateCall {
24407	c := &ConversionsBatchupdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24408	c.profileId = profileId
24409	c.conversionsbatchupdaterequest = conversionsbatchupdaterequest
24410	return c
24411}
24412
24413// Fields allows partial responses to be retrieved. See
24414// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24415// for more information.
24416func (c *ConversionsBatchupdateCall) Fields(s ...googleapi.Field) *ConversionsBatchupdateCall {
24417	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24418	return c
24419}
24420
24421// Context sets the context to be used in this call's Do method. Any
24422// pending HTTP request will be aborted if the provided context is
24423// canceled.
24424func (c *ConversionsBatchupdateCall) Context(ctx context.Context) *ConversionsBatchupdateCall {
24425	c.ctx_ = ctx
24426	return c
24427}
24428
24429// Header returns an http.Header that can be modified by the caller to
24430// add HTTP headers to the request.
24431func (c *ConversionsBatchupdateCall) Header() http.Header {
24432	if c.header_ == nil {
24433		c.header_ = make(http.Header)
24434	}
24435	return c.header_
24436}
24437
24438func (c *ConversionsBatchupdateCall) doRequest(alt string) (*http.Response, error) {
24439	reqHeaders := make(http.Header)
24440	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24441	for k, v := range c.header_ {
24442		reqHeaders[k] = v
24443	}
24444	reqHeaders.Set("User-Agent", c.s.userAgent())
24445	var body io.Reader = nil
24446	body, err := googleapi.WithoutDataWrapper.JSONReader(c.conversionsbatchupdaterequest)
24447	if err != nil {
24448		return nil, err
24449	}
24450	reqHeaders.Set("Content-Type", "application/json")
24451	c.urlParams_.Set("alt", alt)
24452	c.urlParams_.Set("prettyPrint", "false")
24453	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/conversions/batchupdate")
24454	urls += "?" + c.urlParams_.Encode()
24455	req, err := http.NewRequest("POST", urls, body)
24456	if err != nil {
24457		return nil, err
24458	}
24459	req.Header = reqHeaders
24460	googleapi.Expand(req.URL, map[string]string{
24461		"profileId": strconv.FormatInt(c.profileId, 10),
24462	})
24463	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24464}
24465
24466// Do executes the "dfareporting.conversions.batchupdate" call.
24467// Exactly one of *ConversionsBatchUpdateResponse or error will be
24468// non-nil. Any non-2xx status code is an error. Response headers are in
24469// either *ConversionsBatchUpdateResponse.ServerResponse.Header or (if a
24470// response was returned at all) in error.(*googleapi.Error).Header. Use
24471// googleapi.IsNotModified to check whether the returned error was
24472// because http.StatusNotModified was returned.
24473func (c *ConversionsBatchupdateCall) Do(opts ...googleapi.CallOption) (*ConversionsBatchUpdateResponse, error) {
24474	gensupport.SetOptions(c.urlParams_, opts...)
24475	res, err := c.doRequest("json")
24476	if res != nil && res.StatusCode == http.StatusNotModified {
24477		if res.Body != nil {
24478			res.Body.Close()
24479		}
24480		return nil, &googleapi.Error{
24481			Code:   res.StatusCode,
24482			Header: res.Header,
24483		}
24484	}
24485	if err != nil {
24486		return nil, err
24487	}
24488	defer googleapi.CloseBody(res)
24489	if err := googleapi.CheckResponse(res); err != nil {
24490		return nil, err
24491	}
24492	ret := &ConversionsBatchUpdateResponse{
24493		ServerResponse: googleapi.ServerResponse{
24494			Header:         res.Header,
24495			HTTPStatusCode: res.StatusCode,
24496		},
24497	}
24498	target := &ret
24499	if err := gensupport.DecodeResponse(target, res); err != nil {
24500		return nil, err
24501	}
24502	return ret, nil
24503	// {
24504	//   "description": "Updates existing conversions.",
24505	//   "httpMethod": "POST",
24506	//   "id": "dfareporting.conversions.batchupdate",
24507	//   "parameterOrder": [
24508	//     "profileId"
24509	//   ],
24510	//   "parameters": {
24511	//     "profileId": {
24512	//       "description": "User profile ID associated with this request.",
24513	//       "format": "int64",
24514	//       "location": "path",
24515	//       "required": true,
24516	//       "type": "string"
24517	//     }
24518	//   },
24519	//   "path": "userprofiles/{profileId}/conversions/batchupdate",
24520	//   "request": {
24521	//     "$ref": "ConversionsBatchUpdateRequest"
24522	//   },
24523	//   "response": {
24524	//     "$ref": "ConversionsBatchUpdateResponse"
24525	//   },
24526	//   "scopes": [
24527	//     "https://www.googleapis.com/auth/ddmconversions"
24528	//   ]
24529	// }
24530
24531}
24532
24533// method id "dfareporting.countries.get":
24534
24535type CountriesGetCall struct {
24536	s            *Service
24537	profileId    int64
24538	dartId       int64
24539	urlParams_   gensupport.URLParams
24540	ifNoneMatch_ string
24541	ctx_         context.Context
24542	header_      http.Header
24543}
24544
24545// Get: Gets one country by ID.
24546func (r *CountriesService) Get(profileId int64, dartId int64) *CountriesGetCall {
24547	c := &CountriesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24548	c.profileId = profileId
24549	c.dartId = dartId
24550	return c
24551}
24552
24553// Fields allows partial responses to be retrieved. See
24554// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24555// for more information.
24556func (c *CountriesGetCall) Fields(s ...googleapi.Field) *CountriesGetCall {
24557	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24558	return c
24559}
24560
24561// IfNoneMatch sets the optional parameter which makes the operation
24562// fail if the object's ETag matches the given value. This is useful for
24563// getting updates only after the object has changed since the last
24564// request. Use googleapi.IsNotModified to check whether the response
24565// error from Do is the result of In-None-Match.
24566func (c *CountriesGetCall) IfNoneMatch(entityTag string) *CountriesGetCall {
24567	c.ifNoneMatch_ = entityTag
24568	return c
24569}
24570
24571// Context sets the context to be used in this call's Do method. Any
24572// pending HTTP request will be aborted if the provided context is
24573// canceled.
24574func (c *CountriesGetCall) Context(ctx context.Context) *CountriesGetCall {
24575	c.ctx_ = ctx
24576	return c
24577}
24578
24579// Header returns an http.Header that can be modified by the caller to
24580// add HTTP headers to the request.
24581func (c *CountriesGetCall) Header() http.Header {
24582	if c.header_ == nil {
24583		c.header_ = make(http.Header)
24584	}
24585	return c.header_
24586}
24587
24588func (c *CountriesGetCall) doRequest(alt string) (*http.Response, error) {
24589	reqHeaders := make(http.Header)
24590	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24591	for k, v := range c.header_ {
24592		reqHeaders[k] = v
24593	}
24594	reqHeaders.Set("User-Agent", c.s.userAgent())
24595	if c.ifNoneMatch_ != "" {
24596		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24597	}
24598	var body io.Reader = nil
24599	c.urlParams_.Set("alt", alt)
24600	c.urlParams_.Set("prettyPrint", "false")
24601	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries/{dartId}")
24602	urls += "?" + c.urlParams_.Encode()
24603	req, err := http.NewRequest("GET", urls, body)
24604	if err != nil {
24605		return nil, err
24606	}
24607	req.Header = reqHeaders
24608	googleapi.Expand(req.URL, map[string]string{
24609		"profileId": strconv.FormatInt(c.profileId, 10),
24610		"dartId":    strconv.FormatInt(c.dartId, 10),
24611	})
24612	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24613}
24614
24615// Do executes the "dfareporting.countries.get" call.
24616// Exactly one of *Country or error will be non-nil. Any non-2xx status
24617// code is an error. Response headers are in either
24618// *Country.ServerResponse.Header or (if a response was returned at all)
24619// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
24620// check whether the returned error was because http.StatusNotModified
24621// was returned.
24622func (c *CountriesGetCall) Do(opts ...googleapi.CallOption) (*Country, error) {
24623	gensupport.SetOptions(c.urlParams_, opts...)
24624	res, err := c.doRequest("json")
24625	if res != nil && res.StatusCode == http.StatusNotModified {
24626		if res.Body != nil {
24627			res.Body.Close()
24628		}
24629		return nil, &googleapi.Error{
24630			Code:   res.StatusCode,
24631			Header: res.Header,
24632		}
24633	}
24634	if err != nil {
24635		return nil, err
24636	}
24637	defer googleapi.CloseBody(res)
24638	if err := googleapi.CheckResponse(res); err != nil {
24639		return nil, err
24640	}
24641	ret := &Country{
24642		ServerResponse: googleapi.ServerResponse{
24643			Header:         res.Header,
24644			HTTPStatusCode: res.StatusCode,
24645		},
24646	}
24647	target := &ret
24648	if err := gensupport.DecodeResponse(target, res); err != nil {
24649		return nil, err
24650	}
24651	return ret, nil
24652	// {
24653	//   "description": "Gets one country by ID.",
24654	//   "httpMethod": "GET",
24655	//   "id": "dfareporting.countries.get",
24656	//   "parameterOrder": [
24657	//     "profileId",
24658	//     "dartId"
24659	//   ],
24660	//   "parameters": {
24661	//     "dartId": {
24662	//       "description": "Country DART ID.",
24663	//       "format": "int64",
24664	//       "location": "path",
24665	//       "required": true,
24666	//       "type": "string"
24667	//     },
24668	//     "profileId": {
24669	//       "description": "User profile ID associated with this request.",
24670	//       "format": "int64",
24671	//       "location": "path",
24672	//       "required": true,
24673	//       "type": "string"
24674	//     }
24675	//   },
24676	//   "path": "userprofiles/{profileId}/countries/{dartId}",
24677	//   "response": {
24678	//     "$ref": "Country"
24679	//   },
24680	//   "scopes": [
24681	//     "https://www.googleapis.com/auth/dfatrafficking"
24682	//   ]
24683	// }
24684
24685}
24686
24687// method id "dfareporting.countries.list":
24688
24689type CountriesListCall struct {
24690	s            *Service
24691	profileId    int64
24692	urlParams_   gensupport.URLParams
24693	ifNoneMatch_ string
24694	ctx_         context.Context
24695	header_      http.Header
24696}
24697
24698// List: Retrieves a list of countries.
24699func (r *CountriesService) List(profileId int64) *CountriesListCall {
24700	c := &CountriesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24701	c.profileId = profileId
24702	return c
24703}
24704
24705// Fields allows partial responses to be retrieved. See
24706// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24707// for more information.
24708func (c *CountriesListCall) Fields(s ...googleapi.Field) *CountriesListCall {
24709	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24710	return c
24711}
24712
24713// IfNoneMatch sets the optional parameter which makes the operation
24714// fail if the object's ETag matches the given value. This is useful for
24715// getting updates only after the object has changed since the last
24716// request. Use googleapi.IsNotModified to check whether the response
24717// error from Do is the result of In-None-Match.
24718func (c *CountriesListCall) IfNoneMatch(entityTag string) *CountriesListCall {
24719	c.ifNoneMatch_ = entityTag
24720	return c
24721}
24722
24723// Context sets the context to be used in this call's Do method. Any
24724// pending HTTP request will be aborted if the provided context is
24725// canceled.
24726func (c *CountriesListCall) Context(ctx context.Context) *CountriesListCall {
24727	c.ctx_ = ctx
24728	return c
24729}
24730
24731// Header returns an http.Header that can be modified by the caller to
24732// add HTTP headers to the request.
24733func (c *CountriesListCall) Header() http.Header {
24734	if c.header_ == nil {
24735		c.header_ = make(http.Header)
24736	}
24737	return c.header_
24738}
24739
24740func (c *CountriesListCall) doRequest(alt string) (*http.Response, error) {
24741	reqHeaders := make(http.Header)
24742	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24743	for k, v := range c.header_ {
24744		reqHeaders[k] = v
24745	}
24746	reqHeaders.Set("User-Agent", c.s.userAgent())
24747	if c.ifNoneMatch_ != "" {
24748		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
24749	}
24750	var body io.Reader = nil
24751	c.urlParams_.Set("alt", alt)
24752	c.urlParams_.Set("prettyPrint", "false")
24753	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/countries")
24754	urls += "?" + c.urlParams_.Encode()
24755	req, err := http.NewRequest("GET", urls, body)
24756	if err != nil {
24757		return nil, err
24758	}
24759	req.Header = reqHeaders
24760	googleapi.Expand(req.URL, map[string]string{
24761		"profileId": strconv.FormatInt(c.profileId, 10),
24762	})
24763	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24764}
24765
24766// Do executes the "dfareporting.countries.list" call.
24767// Exactly one of *CountriesListResponse or error will be non-nil. Any
24768// non-2xx status code is an error. Response headers are in either
24769// *CountriesListResponse.ServerResponse.Header or (if a response was
24770// returned at all) in error.(*googleapi.Error).Header. Use
24771// googleapi.IsNotModified to check whether the returned error was
24772// because http.StatusNotModified was returned.
24773func (c *CountriesListCall) Do(opts ...googleapi.CallOption) (*CountriesListResponse, error) {
24774	gensupport.SetOptions(c.urlParams_, opts...)
24775	res, err := c.doRequest("json")
24776	if res != nil && res.StatusCode == http.StatusNotModified {
24777		if res.Body != nil {
24778			res.Body.Close()
24779		}
24780		return nil, &googleapi.Error{
24781			Code:   res.StatusCode,
24782			Header: res.Header,
24783		}
24784	}
24785	if err != nil {
24786		return nil, err
24787	}
24788	defer googleapi.CloseBody(res)
24789	if err := googleapi.CheckResponse(res); err != nil {
24790		return nil, err
24791	}
24792	ret := &CountriesListResponse{
24793		ServerResponse: googleapi.ServerResponse{
24794			Header:         res.Header,
24795			HTTPStatusCode: res.StatusCode,
24796		},
24797	}
24798	target := &ret
24799	if err := gensupport.DecodeResponse(target, res); err != nil {
24800		return nil, err
24801	}
24802	return ret, nil
24803	// {
24804	//   "description": "Retrieves a list of countries.",
24805	//   "httpMethod": "GET",
24806	//   "id": "dfareporting.countries.list",
24807	//   "parameterOrder": [
24808	//     "profileId"
24809	//   ],
24810	//   "parameters": {
24811	//     "profileId": {
24812	//       "description": "User profile ID associated with this request.",
24813	//       "format": "int64",
24814	//       "location": "path",
24815	//       "required": true,
24816	//       "type": "string"
24817	//     }
24818	//   },
24819	//   "path": "userprofiles/{profileId}/countries",
24820	//   "response": {
24821	//     "$ref": "CountriesListResponse"
24822	//   },
24823	//   "scopes": [
24824	//     "https://www.googleapis.com/auth/dfatrafficking"
24825	//   ]
24826	// }
24827
24828}
24829
24830// method id "dfareporting.creativeAssets.insert":
24831
24832type CreativeAssetsInsertCall struct {
24833	s                     *Service
24834	profileId             int64
24835	advertiserId          int64
24836	creativeassetmetadata *CreativeAssetMetadata
24837	urlParams_            gensupport.URLParams
24838	mediaInfo_            *gensupport.MediaInfo
24839	ctx_                  context.Context
24840	header_               http.Header
24841}
24842
24843// Insert: Inserts a new creative asset.
24844func (r *CreativeAssetsService) Insert(profileId int64, advertiserId int64, creativeassetmetadata *CreativeAssetMetadata) *CreativeAssetsInsertCall {
24845	c := &CreativeAssetsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
24846	c.profileId = profileId
24847	c.advertiserId = advertiserId
24848	c.creativeassetmetadata = creativeassetmetadata
24849	return c
24850}
24851
24852// Media specifies the media to upload in one or more chunks. The chunk
24853// size may be controlled by supplying a MediaOption generated by
24854// googleapi.ChunkSize. The chunk size defaults to
24855// googleapi.DefaultUploadChunkSize.The Content-Type header used in the
24856// upload request will be determined by sniffing the contents of r,
24857// unless a MediaOption generated by googleapi.ContentType is
24858// supplied.
24859// At most one of Media and ResumableMedia may be set.
24860func (c *CreativeAssetsInsertCall) Media(r io.Reader, options ...googleapi.MediaOption) *CreativeAssetsInsertCall {
24861	c.mediaInfo_ = gensupport.NewInfoFromMedia(r, options)
24862	return c
24863}
24864
24865// ResumableMedia specifies the media to upload in chunks and can be
24866// canceled with ctx.
24867//
24868// Deprecated: use Media instead.
24869//
24870// At most one of Media and ResumableMedia may be set. mediaType
24871// identifies the MIME media type of the upload, such as "image/png". If
24872// mediaType is "", it will be auto-detected. The provided ctx will
24873// supersede any context previously provided to the Context method.
24874func (c *CreativeAssetsInsertCall) ResumableMedia(ctx context.Context, r io.ReaderAt, size int64, mediaType string) *CreativeAssetsInsertCall {
24875	c.ctx_ = ctx
24876	c.mediaInfo_ = gensupport.NewInfoFromResumableMedia(r, size, mediaType)
24877	return c
24878}
24879
24880// ProgressUpdater provides a callback function that will be called
24881// after every chunk. It should be a low-latency function in order to
24882// not slow down the upload operation. This should only be called when
24883// using ResumableMedia (as opposed to Media).
24884func (c *CreativeAssetsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *CreativeAssetsInsertCall {
24885	c.mediaInfo_.SetProgressUpdater(pu)
24886	return c
24887}
24888
24889// Fields allows partial responses to be retrieved. See
24890// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
24891// for more information.
24892func (c *CreativeAssetsInsertCall) Fields(s ...googleapi.Field) *CreativeAssetsInsertCall {
24893	c.urlParams_.Set("fields", googleapi.CombineFields(s))
24894	return c
24895}
24896
24897// Context sets the context to be used in this call's Do method. Any
24898// pending HTTP request will be aborted if the provided context is
24899// canceled.
24900// This context will supersede any context previously provided to the
24901// ResumableMedia method.
24902func (c *CreativeAssetsInsertCall) Context(ctx context.Context) *CreativeAssetsInsertCall {
24903	c.ctx_ = ctx
24904	return c
24905}
24906
24907// Header returns an http.Header that can be modified by the caller to
24908// add HTTP headers to the request.
24909func (c *CreativeAssetsInsertCall) Header() http.Header {
24910	if c.header_ == nil {
24911		c.header_ = make(http.Header)
24912	}
24913	return c.header_
24914}
24915
24916func (c *CreativeAssetsInsertCall) doRequest(alt string) (*http.Response, error) {
24917	reqHeaders := make(http.Header)
24918	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
24919	for k, v := range c.header_ {
24920		reqHeaders[k] = v
24921	}
24922	reqHeaders.Set("User-Agent", c.s.userAgent())
24923	var body io.Reader = nil
24924	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativeassetmetadata)
24925	if err != nil {
24926		return nil, err
24927	}
24928	reqHeaders.Set("Content-Type", "application/json")
24929	c.urlParams_.Set("alt", alt)
24930	c.urlParams_.Set("prettyPrint", "false")
24931	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24932	if c.mediaInfo_ != nil {
24933		urls = googleapi.ResolveRelative(c.s.BasePath, "/upload/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets")
24934		c.urlParams_.Set("uploadType", c.mediaInfo_.UploadType())
24935	}
24936	if body == nil {
24937		body = new(bytes.Buffer)
24938		reqHeaders.Set("Content-Type", "application/json")
24939	}
24940	body, getBody, cleanup := c.mediaInfo_.UploadRequest(reqHeaders, body)
24941	defer cleanup()
24942	urls += "?" + c.urlParams_.Encode()
24943	req, err := http.NewRequest("POST", urls, body)
24944	if err != nil {
24945		return nil, err
24946	}
24947	req.Header = reqHeaders
24948	req.GetBody = getBody
24949	googleapi.Expand(req.URL, map[string]string{
24950		"profileId":    strconv.FormatInt(c.profileId, 10),
24951		"advertiserId": strconv.FormatInt(c.advertiserId, 10),
24952	})
24953	return gensupport.SendRequest(c.ctx_, c.s.client, req)
24954}
24955
24956// Do executes the "dfareporting.creativeAssets.insert" call.
24957// Exactly one of *CreativeAssetMetadata or error will be non-nil. Any
24958// non-2xx status code is an error. Response headers are in either
24959// *CreativeAssetMetadata.ServerResponse.Header or (if a response was
24960// returned at all) in error.(*googleapi.Error).Header. Use
24961// googleapi.IsNotModified to check whether the returned error was
24962// because http.StatusNotModified was returned.
24963func (c *CreativeAssetsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeAssetMetadata, error) {
24964	gensupport.SetOptions(c.urlParams_, opts...)
24965	res, err := c.doRequest("json")
24966	if res != nil && res.StatusCode == http.StatusNotModified {
24967		if res.Body != nil {
24968			res.Body.Close()
24969		}
24970		return nil, &googleapi.Error{
24971			Code:   res.StatusCode,
24972			Header: res.Header,
24973		}
24974	}
24975	if err != nil {
24976		return nil, err
24977	}
24978	defer googleapi.CloseBody(res)
24979	if err := googleapi.CheckResponse(res); err != nil {
24980		return nil, err
24981	}
24982	rx := c.mediaInfo_.ResumableUpload(res.Header.Get("Location"))
24983	if rx != nil {
24984		rx.Client = c.s.client
24985		rx.UserAgent = c.s.userAgent()
24986		ctx := c.ctx_
24987		if ctx == nil {
24988			ctx = context.TODO()
24989		}
24990		res, err = rx.Upload(ctx)
24991		if err != nil {
24992			return nil, err
24993		}
24994		defer res.Body.Close()
24995		if err := googleapi.CheckResponse(res); err != nil {
24996			return nil, err
24997		}
24998	}
24999	ret := &CreativeAssetMetadata{
25000		ServerResponse: googleapi.ServerResponse{
25001			Header:         res.Header,
25002			HTTPStatusCode: res.StatusCode,
25003		},
25004	}
25005	target := &ret
25006	if err := gensupport.DecodeResponse(target, res); err != nil {
25007		return nil, err
25008	}
25009	return ret, nil
25010	// {
25011	//   "description": "Inserts a new creative asset.",
25012	//   "httpMethod": "POST",
25013	//   "id": "dfareporting.creativeAssets.insert",
25014	//   "mediaUpload": {
25015	//     "accept": [
25016	//       "*/*"
25017	//     ],
25018	//     "maxSize": "1024MB",
25019	//     "protocols": {
25020	//       "resumable": {
25021	//         "multipart": true,
25022	//         "path": "/resumable/upload/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
25023	//       },
25024	//       "simple": {
25025	//         "multipart": true,
25026	//         "path": "/upload/dfareporting/v3.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets"
25027	//       }
25028	//     }
25029	//   },
25030	//   "parameterOrder": [
25031	//     "profileId",
25032	//     "advertiserId"
25033	//   ],
25034	//   "parameters": {
25035	//     "advertiserId": {
25036	//       "description": "Advertiser ID of this creative. This is a required field.",
25037	//       "format": "int64",
25038	//       "location": "path",
25039	//       "required": true,
25040	//       "type": "string"
25041	//     },
25042	//     "profileId": {
25043	//       "description": "User profile ID associated with this request.",
25044	//       "format": "int64",
25045	//       "location": "path",
25046	//       "required": true,
25047	//       "type": "string"
25048	//     }
25049	//   },
25050	//   "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets",
25051	//   "request": {
25052	//     "$ref": "CreativeAssetMetadata"
25053	//   },
25054	//   "response": {
25055	//     "$ref": "CreativeAssetMetadata"
25056	//   },
25057	//   "scopes": [
25058	//     "https://www.googleapis.com/auth/dfatrafficking"
25059	//   ],
25060	//   "supportsMediaUpload": true
25061	// }
25062
25063}
25064
25065// method id "dfareporting.creativeFieldValues.delete":
25066
25067type CreativeFieldValuesDeleteCall struct {
25068	s               *Service
25069	profileId       int64
25070	creativeFieldId int64
25071	id              int64
25072	urlParams_      gensupport.URLParams
25073	ctx_            context.Context
25074	header_         http.Header
25075}
25076
25077// Delete: Deletes an existing creative field value.
25078func (r *CreativeFieldValuesService) Delete(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesDeleteCall {
25079	c := &CreativeFieldValuesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25080	c.profileId = profileId
25081	c.creativeFieldId = creativeFieldId
25082	c.id = id
25083	return c
25084}
25085
25086// Fields allows partial responses to be retrieved. See
25087// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25088// for more information.
25089func (c *CreativeFieldValuesDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldValuesDeleteCall {
25090	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25091	return c
25092}
25093
25094// Context sets the context to be used in this call's Do method. Any
25095// pending HTTP request will be aborted if the provided context is
25096// canceled.
25097func (c *CreativeFieldValuesDeleteCall) Context(ctx context.Context) *CreativeFieldValuesDeleteCall {
25098	c.ctx_ = ctx
25099	return c
25100}
25101
25102// Header returns an http.Header that can be modified by the caller to
25103// add HTTP headers to the request.
25104func (c *CreativeFieldValuesDeleteCall) Header() http.Header {
25105	if c.header_ == nil {
25106		c.header_ = make(http.Header)
25107	}
25108	return c.header_
25109}
25110
25111func (c *CreativeFieldValuesDeleteCall) doRequest(alt string) (*http.Response, error) {
25112	reqHeaders := make(http.Header)
25113	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25114	for k, v := range c.header_ {
25115		reqHeaders[k] = v
25116	}
25117	reqHeaders.Set("User-Agent", c.s.userAgent())
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("DELETE", 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.delete" call.
25137func (c *CreativeFieldValuesDeleteCall) Do(opts ...googleapi.CallOption) error {
25138	gensupport.SetOptions(c.urlParams_, opts...)
25139	res, err := c.doRequest("json")
25140	if err != nil {
25141		return err
25142	}
25143	defer googleapi.CloseBody(res)
25144	if err := googleapi.CheckResponse(res); err != nil {
25145		return err
25146	}
25147	return nil
25148	// {
25149	//   "description": "Deletes an existing creative field value.",
25150	//   "httpMethod": "DELETE",
25151	//   "id": "dfareporting.creativeFieldValues.delete",
25152	//   "parameterOrder": [
25153	//     "profileId",
25154	//     "creativeFieldId",
25155	//     "id"
25156	//   ],
25157	//   "parameters": {
25158	//     "creativeFieldId": {
25159	//       "description": "Creative field ID for this creative field value.",
25160	//       "format": "int64",
25161	//       "location": "path",
25162	//       "required": true,
25163	//       "type": "string"
25164	//     },
25165	//     "id": {
25166	//       "description": "Creative Field Value ID",
25167	//       "format": "int64",
25168	//       "location": "path",
25169	//       "required": true,
25170	//       "type": "string"
25171	//     },
25172	//     "profileId": {
25173	//       "description": "User profile ID associated with this request.",
25174	//       "format": "int64",
25175	//       "location": "path",
25176	//       "required": true,
25177	//       "type": "string"
25178	//     }
25179	//   },
25180	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25181	//   "scopes": [
25182	//     "https://www.googleapis.com/auth/dfatrafficking"
25183	//   ]
25184	// }
25185
25186}
25187
25188// method id "dfareporting.creativeFieldValues.get":
25189
25190type CreativeFieldValuesGetCall struct {
25191	s               *Service
25192	profileId       int64
25193	creativeFieldId int64
25194	id              int64
25195	urlParams_      gensupport.URLParams
25196	ifNoneMatch_    string
25197	ctx_            context.Context
25198	header_         http.Header
25199}
25200
25201// Get: Gets one creative field value by ID.
25202func (r *CreativeFieldValuesService) Get(profileId int64, creativeFieldId int64, id int64) *CreativeFieldValuesGetCall {
25203	c := &CreativeFieldValuesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25204	c.profileId = profileId
25205	c.creativeFieldId = creativeFieldId
25206	c.id = id
25207	return c
25208}
25209
25210// Fields allows partial responses to be retrieved. See
25211// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25212// for more information.
25213func (c *CreativeFieldValuesGetCall) Fields(s ...googleapi.Field) *CreativeFieldValuesGetCall {
25214	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25215	return c
25216}
25217
25218// IfNoneMatch sets the optional parameter which makes the operation
25219// fail if the object's ETag matches the given value. This is useful for
25220// getting updates only after the object has changed since the last
25221// request. Use googleapi.IsNotModified to check whether the response
25222// error from Do is the result of In-None-Match.
25223func (c *CreativeFieldValuesGetCall) IfNoneMatch(entityTag string) *CreativeFieldValuesGetCall {
25224	c.ifNoneMatch_ = entityTag
25225	return c
25226}
25227
25228// Context sets the context to be used in this call's Do method. Any
25229// pending HTTP request will be aborted if the provided context is
25230// canceled.
25231func (c *CreativeFieldValuesGetCall) Context(ctx context.Context) *CreativeFieldValuesGetCall {
25232	c.ctx_ = ctx
25233	return c
25234}
25235
25236// Header returns an http.Header that can be modified by the caller to
25237// add HTTP headers to the request.
25238func (c *CreativeFieldValuesGetCall) Header() http.Header {
25239	if c.header_ == nil {
25240		c.header_ = make(http.Header)
25241	}
25242	return c.header_
25243}
25244
25245func (c *CreativeFieldValuesGetCall) doRequest(alt string) (*http.Response, error) {
25246	reqHeaders := make(http.Header)
25247	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25248	for k, v := range c.header_ {
25249		reqHeaders[k] = v
25250	}
25251	reqHeaders.Set("User-Agent", c.s.userAgent())
25252	if c.ifNoneMatch_ != "" {
25253		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25254	}
25255	var body io.Reader = nil
25256	c.urlParams_.Set("alt", alt)
25257	c.urlParams_.Set("prettyPrint", "false")
25258	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}")
25259	urls += "?" + c.urlParams_.Encode()
25260	req, err := http.NewRequest("GET", urls, body)
25261	if err != nil {
25262		return nil, err
25263	}
25264	req.Header = reqHeaders
25265	googleapi.Expand(req.URL, map[string]string{
25266		"profileId":       strconv.FormatInt(c.profileId, 10),
25267		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25268		"id":              strconv.FormatInt(c.id, 10),
25269	})
25270	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25271}
25272
25273// Do executes the "dfareporting.creativeFieldValues.get" call.
25274// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25275// non-2xx status code is an error. Response headers are in either
25276// *CreativeFieldValue.ServerResponse.Header or (if a response was
25277// returned at all) in error.(*googleapi.Error).Header. Use
25278// googleapi.IsNotModified to check whether the returned error was
25279// because http.StatusNotModified was returned.
25280func (c *CreativeFieldValuesGetCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25281	gensupport.SetOptions(c.urlParams_, opts...)
25282	res, err := c.doRequest("json")
25283	if res != nil && res.StatusCode == http.StatusNotModified {
25284		if res.Body != nil {
25285			res.Body.Close()
25286		}
25287		return nil, &googleapi.Error{
25288			Code:   res.StatusCode,
25289			Header: res.Header,
25290		}
25291	}
25292	if err != nil {
25293		return nil, err
25294	}
25295	defer googleapi.CloseBody(res)
25296	if err := googleapi.CheckResponse(res); err != nil {
25297		return nil, err
25298	}
25299	ret := &CreativeFieldValue{
25300		ServerResponse: googleapi.ServerResponse{
25301			Header:         res.Header,
25302			HTTPStatusCode: res.StatusCode,
25303		},
25304	}
25305	target := &ret
25306	if err := gensupport.DecodeResponse(target, res); err != nil {
25307		return nil, err
25308	}
25309	return ret, nil
25310	// {
25311	//   "description": "Gets one creative field value by ID.",
25312	//   "httpMethod": "GET",
25313	//   "id": "dfareporting.creativeFieldValues.get",
25314	//   "parameterOrder": [
25315	//     "profileId",
25316	//     "creativeFieldId",
25317	//     "id"
25318	//   ],
25319	//   "parameters": {
25320	//     "creativeFieldId": {
25321	//       "description": "Creative field ID for this creative field value.",
25322	//       "format": "int64",
25323	//       "location": "path",
25324	//       "required": true,
25325	//       "type": "string"
25326	//     },
25327	//     "id": {
25328	//       "description": "Creative Field Value ID",
25329	//       "format": "int64",
25330	//       "location": "path",
25331	//       "required": true,
25332	//       "type": "string"
25333	//     },
25334	//     "profileId": {
25335	//       "description": "User profile ID associated with this request.",
25336	//       "format": "int64",
25337	//       "location": "path",
25338	//       "required": true,
25339	//       "type": "string"
25340	//     }
25341	//   },
25342	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}",
25343	//   "response": {
25344	//     "$ref": "CreativeFieldValue"
25345	//   },
25346	//   "scopes": [
25347	//     "https://www.googleapis.com/auth/dfatrafficking"
25348	//   ]
25349	// }
25350
25351}
25352
25353// method id "dfareporting.creativeFieldValues.insert":
25354
25355type CreativeFieldValuesInsertCall struct {
25356	s                  *Service
25357	profileId          int64
25358	creativeFieldId    int64
25359	creativefieldvalue *CreativeFieldValue
25360	urlParams_         gensupport.URLParams
25361	ctx_               context.Context
25362	header_            http.Header
25363}
25364
25365// Insert: Inserts a new creative field value.
25366func (r *CreativeFieldValuesService) Insert(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesInsertCall {
25367	c := &CreativeFieldValuesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25368	c.profileId = profileId
25369	c.creativeFieldId = creativeFieldId
25370	c.creativefieldvalue = creativefieldvalue
25371	return c
25372}
25373
25374// Fields allows partial responses to be retrieved. See
25375// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25376// for more information.
25377func (c *CreativeFieldValuesInsertCall) Fields(s ...googleapi.Field) *CreativeFieldValuesInsertCall {
25378	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25379	return c
25380}
25381
25382// Context sets the context to be used in this call's Do method. Any
25383// pending HTTP request will be aborted if the provided context is
25384// canceled.
25385func (c *CreativeFieldValuesInsertCall) Context(ctx context.Context) *CreativeFieldValuesInsertCall {
25386	c.ctx_ = ctx
25387	return c
25388}
25389
25390// Header returns an http.Header that can be modified by the caller to
25391// add HTTP headers to the request.
25392func (c *CreativeFieldValuesInsertCall) Header() http.Header {
25393	if c.header_ == nil {
25394		c.header_ = make(http.Header)
25395	}
25396	return c.header_
25397}
25398
25399func (c *CreativeFieldValuesInsertCall) doRequest(alt string) (*http.Response, error) {
25400	reqHeaders := make(http.Header)
25401	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25402	for k, v := range c.header_ {
25403		reqHeaders[k] = v
25404	}
25405	reqHeaders.Set("User-Agent", c.s.userAgent())
25406	var body io.Reader = nil
25407	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25408	if err != nil {
25409		return nil, err
25410	}
25411	reqHeaders.Set("Content-Type", "application/json")
25412	c.urlParams_.Set("alt", alt)
25413	c.urlParams_.Set("prettyPrint", "false")
25414	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25415	urls += "?" + c.urlParams_.Encode()
25416	req, err := http.NewRequest("POST", urls, body)
25417	if err != nil {
25418		return nil, err
25419	}
25420	req.Header = reqHeaders
25421	googleapi.Expand(req.URL, map[string]string{
25422		"profileId":       strconv.FormatInt(c.profileId, 10),
25423		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25424	})
25425	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25426}
25427
25428// Do executes the "dfareporting.creativeFieldValues.insert" call.
25429// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25430// non-2xx status code is an error. Response headers are in either
25431// *CreativeFieldValue.ServerResponse.Header or (if a response was
25432// returned at all) in error.(*googleapi.Error).Header. Use
25433// googleapi.IsNotModified to check whether the returned error was
25434// because http.StatusNotModified was returned.
25435func (c *CreativeFieldValuesInsertCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25436	gensupport.SetOptions(c.urlParams_, opts...)
25437	res, err := c.doRequest("json")
25438	if res != nil && res.StatusCode == http.StatusNotModified {
25439		if res.Body != nil {
25440			res.Body.Close()
25441		}
25442		return nil, &googleapi.Error{
25443			Code:   res.StatusCode,
25444			Header: res.Header,
25445		}
25446	}
25447	if err != nil {
25448		return nil, err
25449	}
25450	defer googleapi.CloseBody(res)
25451	if err := googleapi.CheckResponse(res); err != nil {
25452		return nil, err
25453	}
25454	ret := &CreativeFieldValue{
25455		ServerResponse: googleapi.ServerResponse{
25456			Header:         res.Header,
25457			HTTPStatusCode: res.StatusCode,
25458		},
25459	}
25460	target := &ret
25461	if err := gensupport.DecodeResponse(target, res); err != nil {
25462		return nil, err
25463	}
25464	return ret, nil
25465	// {
25466	//   "description": "Inserts a new creative field value.",
25467	//   "httpMethod": "POST",
25468	//   "id": "dfareporting.creativeFieldValues.insert",
25469	//   "parameterOrder": [
25470	//     "profileId",
25471	//     "creativeFieldId"
25472	//   ],
25473	//   "parameters": {
25474	//     "creativeFieldId": {
25475	//       "description": "Creative field ID for this creative field value.",
25476	//       "format": "int64",
25477	//       "location": "path",
25478	//       "required": true,
25479	//       "type": "string"
25480	//     },
25481	//     "profileId": {
25482	//       "description": "User profile ID associated with this request.",
25483	//       "format": "int64",
25484	//       "location": "path",
25485	//       "required": true,
25486	//       "type": "string"
25487	//     }
25488	//   },
25489	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25490	//   "request": {
25491	//     "$ref": "CreativeFieldValue"
25492	//   },
25493	//   "response": {
25494	//     "$ref": "CreativeFieldValue"
25495	//   },
25496	//   "scopes": [
25497	//     "https://www.googleapis.com/auth/dfatrafficking"
25498	//   ]
25499	// }
25500
25501}
25502
25503// method id "dfareporting.creativeFieldValues.list":
25504
25505type CreativeFieldValuesListCall struct {
25506	s               *Service
25507	profileId       int64
25508	creativeFieldId int64
25509	urlParams_      gensupport.URLParams
25510	ifNoneMatch_    string
25511	ctx_            context.Context
25512	header_         http.Header
25513}
25514
25515// List: Retrieves a list of creative field values, possibly filtered.
25516// This method supports paging.
25517func (r *CreativeFieldValuesService) List(profileId int64, creativeFieldId int64) *CreativeFieldValuesListCall {
25518	c := &CreativeFieldValuesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25519	c.profileId = profileId
25520	c.creativeFieldId = creativeFieldId
25521	return c
25522}
25523
25524// Ids sets the optional parameter "ids": Select only creative field
25525// values with these IDs.
25526func (c *CreativeFieldValuesListCall) Ids(ids ...int64) *CreativeFieldValuesListCall {
25527	var ids_ []string
25528	for _, v := range ids {
25529		ids_ = append(ids_, fmt.Sprint(v))
25530	}
25531	c.urlParams_.SetMulti("ids", ids_)
25532	return c
25533}
25534
25535// MaxResults sets the optional parameter "maxResults": Maximum number
25536// of results to return.
25537func (c *CreativeFieldValuesListCall) MaxResults(maxResults int64) *CreativeFieldValuesListCall {
25538	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
25539	return c
25540}
25541
25542// PageToken sets the optional parameter "pageToken": Value of the
25543// nextPageToken from the previous result page.
25544func (c *CreativeFieldValuesListCall) PageToken(pageToken string) *CreativeFieldValuesListCall {
25545	c.urlParams_.Set("pageToken", pageToken)
25546	return c
25547}
25548
25549// SearchString sets the optional parameter "searchString": Allows
25550// searching for creative field values by their values. Wildcards (e.g.
25551// *) are not allowed.
25552func (c *CreativeFieldValuesListCall) SearchString(searchString string) *CreativeFieldValuesListCall {
25553	c.urlParams_.Set("searchString", searchString)
25554	return c
25555}
25556
25557// SortField sets the optional parameter "sortField": Field by which to
25558// sort the list.
25559//
25560// Possible values:
25561//   "ID" (default)
25562//   "VALUE"
25563func (c *CreativeFieldValuesListCall) SortField(sortField string) *CreativeFieldValuesListCall {
25564	c.urlParams_.Set("sortField", sortField)
25565	return c
25566}
25567
25568// SortOrder sets the optional parameter "sortOrder": Order of sorted
25569// results.
25570//
25571// Possible values:
25572//   "ASCENDING" (default)
25573//   "DESCENDING"
25574func (c *CreativeFieldValuesListCall) SortOrder(sortOrder string) *CreativeFieldValuesListCall {
25575	c.urlParams_.Set("sortOrder", sortOrder)
25576	return c
25577}
25578
25579// Fields allows partial responses to be retrieved. See
25580// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25581// for more information.
25582func (c *CreativeFieldValuesListCall) Fields(s ...googleapi.Field) *CreativeFieldValuesListCall {
25583	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25584	return c
25585}
25586
25587// IfNoneMatch sets the optional parameter which makes the operation
25588// fail if the object's ETag matches the given value. This is useful for
25589// getting updates only after the object has changed since the last
25590// request. Use googleapi.IsNotModified to check whether the response
25591// error from Do is the result of In-None-Match.
25592func (c *CreativeFieldValuesListCall) IfNoneMatch(entityTag string) *CreativeFieldValuesListCall {
25593	c.ifNoneMatch_ = entityTag
25594	return c
25595}
25596
25597// Context sets the context to be used in this call's Do method. Any
25598// pending HTTP request will be aborted if the provided context is
25599// canceled.
25600func (c *CreativeFieldValuesListCall) Context(ctx context.Context) *CreativeFieldValuesListCall {
25601	c.ctx_ = ctx
25602	return c
25603}
25604
25605// Header returns an http.Header that can be modified by the caller to
25606// add HTTP headers to the request.
25607func (c *CreativeFieldValuesListCall) Header() http.Header {
25608	if c.header_ == nil {
25609		c.header_ = make(http.Header)
25610	}
25611	return c.header_
25612}
25613
25614func (c *CreativeFieldValuesListCall) doRequest(alt string) (*http.Response, error) {
25615	reqHeaders := make(http.Header)
25616	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25617	for k, v := range c.header_ {
25618		reqHeaders[k] = v
25619	}
25620	reqHeaders.Set("User-Agent", c.s.userAgent())
25621	if c.ifNoneMatch_ != "" {
25622		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
25623	}
25624	var body io.Reader = nil
25625	c.urlParams_.Set("alt", alt)
25626	c.urlParams_.Set("prettyPrint", "false")
25627	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25628	urls += "?" + c.urlParams_.Encode()
25629	req, err := http.NewRequest("GET", urls, body)
25630	if err != nil {
25631		return nil, err
25632	}
25633	req.Header = reqHeaders
25634	googleapi.Expand(req.URL, map[string]string{
25635		"profileId":       strconv.FormatInt(c.profileId, 10),
25636		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25637	})
25638	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25639}
25640
25641// Do executes the "dfareporting.creativeFieldValues.list" call.
25642// Exactly one of *CreativeFieldValuesListResponse or error will be
25643// non-nil. Any non-2xx status code is an error. Response headers are in
25644// either *CreativeFieldValuesListResponse.ServerResponse.Header or (if
25645// a response was returned at all) in error.(*googleapi.Error).Header.
25646// Use googleapi.IsNotModified to check whether the returned error was
25647// because http.StatusNotModified was returned.
25648func (c *CreativeFieldValuesListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValuesListResponse, error) {
25649	gensupport.SetOptions(c.urlParams_, opts...)
25650	res, err := c.doRequest("json")
25651	if res != nil && res.StatusCode == http.StatusNotModified {
25652		if res.Body != nil {
25653			res.Body.Close()
25654		}
25655		return nil, &googleapi.Error{
25656			Code:   res.StatusCode,
25657			Header: res.Header,
25658		}
25659	}
25660	if err != nil {
25661		return nil, err
25662	}
25663	defer googleapi.CloseBody(res)
25664	if err := googleapi.CheckResponse(res); err != nil {
25665		return nil, err
25666	}
25667	ret := &CreativeFieldValuesListResponse{
25668		ServerResponse: googleapi.ServerResponse{
25669			Header:         res.Header,
25670			HTTPStatusCode: res.StatusCode,
25671		},
25672	}
25673	target := &ret
25674	if err := gensupport.DecodeResponse(target, res); err != nil {
25675		return nil, err
25676	}
25677	return ret, nil
25678	// {
25679	//   "description": "Retrieves a list of creative field values, possibly filtered. This method supports paging.",
25680	//   "httpMethod": "GET",
25681	//   "id": "dfareporting.creativeFieldValues.list",
25682	//   "parameterOrder": [
25683	//     "profileId",
25684	//     "creativeFieldId"
25685	//   ],
25686	//   "parameters": {
25687	//     "creativeFieldId": {
25688	//       "description": "Creative field ID for this creative field value.",
25689	//       "format": "int64",
25690	//       "location": "path",
25691	//       "required": true,
25692	//       "type": "string"
25693	//     },
25694	//     "ids": {
25695	//       "description": "Select only creative field values with these IDs.",
25696	//       "format": "int64",
25697	//       "location": "query",
25698	//       "repeated": true,
25699	//       "type": "string"
25700	//     },
25701	//     "maxResults": {
25702	//       "default": "1000",
25703	//       "description": "Maximum number of results to return.",
25704	//       "format": "int32",
25705	//       "location": "query",
25706	//       "maximum": "1000",
25707	//       "minimum": "0",
25708	//       "type": "integer"
25709	//     },
25710	//     "pageToken": {
25711	//       "description": "Value of the nextPageToken from the previous result page.",
25712	//       "location": "query",
25713	//       "type": "string"
25714	//     },
25715	//     "profileId": {
25716	//       "description": "User profile ID associated with this request.",
25717	//       "format": "int64",
25718	//       "location": "path",
25719	//       "required": true,
25720	//       "type": "string"
25721	//     },
25722	//     "searchString": {
25723	//       "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.",
25724	//       "location": "query",
25725	//       "type": "string"
25726	//     },
25727	//     "sortField": {
25728	//       "default": "ID",
25729	//       "description": "Field by which to sort the list.",
25730	//       "enum": [
25731	//         "ID",
25732	//         "VALUE"
25733	//       ],
25734	//       "enumDescriptions": [
25735	//         "",
25736	//         ""
25737	//       ],
25738	//       "location": "query",
25739	//       "type": "string"
25740	//     },
25741	//     "sortOrder": {
25742	//       "default": "ASCENDING",
25743	//       "description": "Order of sorted results.",
25744	//       "enum": [
25745	//         "ASCENDING",
25746	//         "DESCENDING"
25747	//       ],
25748	//       "enumDescriptions": [
25749	//         "",
25750	//         ""
25751	//       ],
25752	//       "location": "query",
25753	//       "type": "string"
25754	//     }
25755	//   },
25756	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25757	//   "response": {
25758	//     "$ref": "CreativeFieldValuesListResponse"
25759	//   },
25760	//   "scopes": [
25761	//     "https://www.googleapis.com/auth/dfatrafficking"
25762	//   ]
25763	// }
25764
25765}
25766
25767// Pages invokes f for each page of results.
25768// A non-nil error returned from f will halt the iteration.
25769// The provided context supersedes any context provided to the Context method.
25770func (c *CreativeFieldValuesListCall) Pages(ctx context.Context, f func(*CreativeFieldValuesListResponse) error) error {
25771	c.ctx_ = ctx
25772	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
25773	for {
25774		x, err := c.Do()
25775		if err != nil {
25776			return err
25777		}
25778		if err := f(x); err != nil {
25779			return err
25780		}
25781		if x.NextPageToken == "" {
25782			return nil
25783		}
25784		c.PageToken(x.NextPageToken)
25785	}
25786}
25787
25788// method id "dfareporting.creativeFieldValues.patch":
25789
25790type CreativeFieldValuesPatchCall struct {
25791	s                  *Service
25792	profileId          int64
25793	creativeFieldId    int64
25794	creativefieldvalue *CreativeFieldValue
25795	urlParams_         gensupport.URLParams
25796	ctx_               context.Context
25797	header_            http.Header
25798}
25799
25800// Patch: Updates an existing creative field value. This method supports
25801// patch semantics.
25802func (r *CreativeFieldValuesService) Patch(profileId int64, creativeFieldId int64, id int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesPatchCall {
25803	c := &CreativeFieldValuesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25804	c.profileId = profileId
25805	c.creativeFieldId = creativeFieldId
25806	c.urlParams_.Set("id", fmt.Sprint(id))
25807	c.creativefieldvalue = creativefieldvalue
25808	return c
25809}
25810
25811// Fields allows partial responses to be retrieved. See
25812// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25813// for more information.
25814func (c *CreativeFieldValuesPatchCall) Fields(s ...googleapi.Field) *CreativeFieldValuesPatchCall {
25815	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25816	return c
25817}
25818
25819// Context sets the context to be used in this call's Do method. Any
25820// pending HTTP request will be aborted if the provided context is
25821// canceled.
25822func (c *CreativeFieldValuesPatchCall) Context(ctx context.Context) *CreativeFieldValuesPatchCall {
25823	c.ctx_ = ctx
25824	return c
25825}
25826
25827// Header returns an http.Header that can be modified by the caller to
25828// add HTTP headers to the request.
25829func (c *CreativeFieldValuesPatchCall) Header() http.Header {
25830	if c.header_ == nil {
25831		c.header_ = make(http.Header)
25832	}
25833	return c.header_
25834}
25835
25836func (c *CreativeFieldValuesPatchCall) doRequest(alt string) (*http.Response, error) {
25837	reqHeaders := make(http.Header)
25838	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25839	for k, v := range c.header_ {
25840		reqHeaders[k] = v
25841	}
25842	reqHeaders.Set("User-Agent", c.s.userAgent())
25843	var body io.Reader = nil
25844	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
25845	if err != nil {
25846		return nil, err
25847	}
25848	reqHeaders.Set("Content-Type", "application/json")
25849	c.urlParams_.Set("alt", alt)
25850	c.urlParams_.Set("prettyPrint", "false")
25851	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
25852	urls += "?" + c.urlParams_.Encode()
25853	req, err := http.NewRequest("PATCH", urls, body)
25854	if err != nil {
25855		return nil, err
25856	}
25857	req.Header = reqHeaders
25858	googleapi.Expand(req.URL, map[string]string{
25859		"profileId":       strconv.FormatInt(c.profileId, 10),
25860		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
25861	})
25862	return gensupport.SendRequest(c.ctx_, c.s.client, req)
25863}
25864
25865// Do executes the "dfareporting.creativeFieldValues.patch" call.
25866// Exactly one of *CreativeFieldValue or error will be non-nil. Any
25867// non-2xx status code is an error. Response headers are in either
25868// *CreativeFieldValue.ServerResponse.Header or (if a response was
25869// returned at all) in error.(*googleapi.Error).Header. Use
25870// googleapi.IsNotModified to check whether the returned error was
25871// because http.StatusNotModified was returned.
25872func (c *CreativeFieldValuesPatchCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
25873	gensupport.SetOptions(c.urlParams_, opts...)
25874	res, err := c.doRequest("json")
25875	if res != nil && res.StatusCode == http.StatusNotModified {
25876		if res.Body != nil {
25877			res.Body.Close()
25878		}
25879		return nil, &googleapi.Error{
25880			Code:   res.StatusCode,
25881			Header: res.Header,
25882		}
25883	}
25884	if err != nil {
25885		return nil, err
25886	}
25887	defer googleapi.CloseBody(res)
25888	if err := googleapi.CheckResponse(res); err != nil {
25889		return nil, err
25890	}
25891	ret := &CreativeFieldValue{
25892		ServerResponse: googleapi.ServerResponse{
25893			Header:         res.Header,
25894			HTTPStatusCode: res.StatusCode,
25895		},
25896	}
25897	target := &ret
25898	if err := gensupport.DecodeResponse(target, res); err != nil {
25899		return nil, err
25900	}
25901	return ret, nil
25902	// {
25903	//   "description": "Updates an existing creative field value. This method supports patch semantics.",
25904	//   "httpMethod": "PATCH",
25905	//   "id": "dfareporting.creativeFieldValues.patch",
25906	//   "parameterOrder": [
25907	//     "profileId",
25908	//     "creativeFieldId",
25909	//     "id"
25910	//   ],
25911	//   "parameters": {
25912	//     "creativeFieldId": {
25913	//       "description": "Creative field ID for this creative field value.",
25914	//       "format": "int64",
25915	//       "location": "path",
25916	//       "required": true,
25917	//       "type": "string"
25918	//     },
25919	//     "id": {
25920	//       "description": "Creative Field Value ID",
25921	//       "format": "int64",
25922	//       "location": "query",
25923	//       "required": true,
25924	//       "type": "string"
25925	//     },
25926	//     "profileId": {
25927	//       "description": "User profile ID associated with this request.",
25928	//       "format": "int64",
25929	//       "location": "path",
25930	//       "required": true,
25931	//       "type": "string"
25932	//     }
25933	//   },
25934	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
25935	//   "request": {
25936	//     "$ref": "CreativeFieldValue"
25937	//   },
25938	//   "response": {
25939	//     "$ref": "CreativeFieldValue"
25940	//   },
25941	//   "scopes": [
25942	//     "https://www.googleapis.com/auth/dfatrafficking"
25943	//   ]
25944	// }
25945
25946}
25947
25948// method id "dfareporting.creativeFieldValues.update":
25949
25950type CreativeFieldValuesUpdateCall struct {
25951	s                  *Service
25952	profileId          int64
25953	creativeFieldId    int64
25954	creativefieldvalue *CreativeFieldValue
25955	urlParams_         gensupport.URLParams
25956	ctx_               context.Context
25957	header_            http.Header
25958}
25959
25960// Update: Updates an existing creative field value.
25961func (r *CreativeFieldValuesService) Update(profileId int64, creativeFieldId int64, creativefieldvalue *CreativeFieldValue) *CreativeFieldValuesUpdateCall {
25962	c := &CreativeFieldValuesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
25963	c.profileId = profileId
25964	c.creativeFieldId = creativeFieldId
25965	c.creativefieldvalue = creativefieldvalue
25966	return c
25967}
25968
25969// Fields allows partial responses to be retrieved. See
25970// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
25971// for more information.
25972func (c *CreativeFieldValuesUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldValuesUpdateCall {
25973	c.urlParams_.Set("fields", googleapi.CombineFields(s))
25974	return c
25975}
25976
25977// Context sets the context to be used in this call's Do method. Any
25978// pending HTTP request will be aborted if the provided context is
25979// canceled.
25980func (c *CreativeFieldValuesUpdateCall) Context(ctx context.Context) *CreativeFieldValuesUpdateCall {
25981	c.ctx_ = ctx
25982	return c
25983}
25984
25985// Header returns an http.Header that can be modified by the caller to
25986// add HTTP headers to the request.
25987func (c *CreativeFieldValuesUpdateCall) Header() http.Header {
25988	if c.header_ == nil {
25989		c.header_ = make(http.Header)
25990	}
25991	return c.header_
25992}
25993
25994func (c *CreativeFieldValuesUpdateCall) doRequest(alt string) (*http.Response, error) {
25995	reqHeaders := make(http.Header)
25996	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
25997	for k, v := range c.header_ {
25998		reqHeaders[k] = v
25999	}
26000	reqHeaders.Set("User-Agent", c.s.userAgent())
26001	var body io.Reader = nil
26002	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefieldvalue)
26003	if err != nil {
26004		return nil, err
26005	}
26006	reqHeaders.Set("Content-Type", "application/json")
26007	c.urlParams_.Set("alt", alt)
26008	c.urlParams_.Set("prettyPrint", "false")
26009	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues")
26010	urls += "?" + c.urlParams_.Encode()
26011	req, err := http.NewRequest("PUT", urls, body)
26012	if err != nil {
26013		return nil, err
26014	}
26015	req.Header = reqHeaders
26016	googleapi.Expand(req.URL, map[string]string{
26017		"profileId":       strconv.FormatInt(c.profileId, 10),
26018		"creativeFieldId": strconv.FormatInt(c.creativeFieldId, 10),
26019	})
26020	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26021}
26022
26023// Do executes the "dfareporting.creativeFieldValues.update" call.
26024// Exactly one of *CreativeFieldValue or error will be non-nil. Any
26025// non-2xx status code is an error. Response headers are in either
26026// *CreativeFieldValue.ServerResponse.Header or (if a response was
26027// returned at all) in error.(*googleapi.Error).Header. Use
26028// googleapi.IsNotModified to check whether the returned error was
26029// because http.StatusNotModified was returned.
26030func (c *CreativeFieldValuesUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeFieldValue, error) {
26031	gensupport.SetOptions(c.urlParams_, opts...)
26032	res, err := c.doRequest("json")
26033	if res != nil && res.StatusCode == http.StatusNotModified {
26034		if res.Body != nil {
26035			res.Body.Close()
26036		}
26037		return nil, &googleapi.Error{
26038			Code:   res.StatusCode,
26039			Header: res.Header,
26040		}
26041	}
26042	if err != nil {
26043		return nil, err
26044	}
26045	defer googleapi.CloseBody(res)
26046	if err := googleapi.CheckResponse(res); err != nil {
26047		return nil, err
26048	}
26049	ret := &CreativeFieldValue{
26050		ServerResponse: googleapi.ServerResponse{
26051			Header:         res.Header,
26052			HTTPStatusCode: res.StatusCode,
26053		},
26054	}
26055	target := &ret
26056	if err := gensupport.DecodeResponse(target, res); err != nil {
26057		return nil, err
26058	}
26059	return ret, nil
26060	// {
26061	//   "description": "Updates an existing creative field value.",
26062	//   "httpMethod": "PUT",
26063	//   "id": "dfareporting.creativeFieldValues.update",
26064	//   "parameterOrder": [
26065	//     "profileId",
26066	//     "creativeFieldId"
26067	//   ],
26068	//   "parameters": {
26069	//     "creativeFieldId": {
26070	//       "description": "Creative field ID for this creative field value.",
26071	//       "format": "int64",
26072	//       "location": "path",
26073	//       "required": true,
26074	//       "type": "string"
26075	//     },
26076	//     "profileId": {
26077	//       "description": "User profile ID associated with this request.",
26078	//       "format": "int64",
26079	//       "location": "path",
26080	//       "required": true,
26081	//       "type": "string"
26082	//     }
26083	//   },
26084	//   "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues",
26085	//   "request": {
26086	//     "$ref": "CreativeFieldValue"
26087	//   },
26088	//   "response": {
26089	//     "$ref": "CreativeFieldValue"
26090	//   },
26091	//   "scopes": [
26092	//     "https://www.googleapis.com/auth/dfatrafficking"
26093	//   ]
26094	// }
26095
26096}
26097
26098// method id "dfareporting.creativeFields.delete":
26099
26100type CreativeFieldsDeleteCall struct {
26101	s          *Service
26102	profileId  int64
26103	id         int64
26104	urlParams_ gensupport.URLParams
26105	ctx_       context.Context
26106	header_    http.Header
26107}
26108
26109// Delete: Deletes an existing creative field.
26110func (r *CreativeFieldsService) Delete(profileId int64, id int64) *CreativeFieldsDeleteCall {
26111	c := &CreativeFieldsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26112	c.profileId = profileId
26113	c.id = id
26114	return c
26115}
26116
26117// Fields allows partial responses to be retrieved. See
26118// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26119// for more information.
26120func (c *CreativeFieldsDeleteCall) Fields(s ...googleapi.Field) *CreativeFieldsDeleteCall {
26121	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26122	return c
26123}
26124
26125// Context sets the context to be used in this call's Do method. Any
26126// pending HTTP request will be aborted if the provided context is
26127// canceled.
26128func (c *CreativeFieldsDeleteCall) Context(ctx context.Context) *CreativeFieldsDeleteCall {
26129	c.ctx_ = ctx
26130	return c
26131}
26132
26133// Header returns an http.Header that can be modified by the caller to
26134// add HTTP headers to the request.
26135func (c *CreativeFieldsDeleteCall) Header() http.Header {
26136	if c.header_ == nil {
26137		c.header_ = make(http.Header)
26138	}
26139	return c.header_
26140}
26141
26142func (c *CreativeFieldsDeleteCall) doRequest(alt string) (*http.Response, error) {
26143	reqHeaders := make(http.Header)
26144	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26145	for k, v := range c.header_ {
26146		reqHeaders[k] = v
26147	}
26148	reqHeaders.Set("User-Agent", c.s.userAgent())
26149	var body io.Reader = nil
26150	c.urlParams_.Set("alt", alt)
26151	c.urlParams_.Set("prettyPrint", "false")
26152	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26153	urls += "?" + c.urlParams_.Encode()
26154	req, err := http.NewRequest("DELETE", urls, body)
26155	if err != nil {
26156		return nil, err
26157	}
26158	req.Header = reqHeaders
26159	googleapi.Expand(req.URL, map[string]string{
26160		"profileId": strconv.FormatInt(c.profileId, 10),
26161		"id":        strconv.FormatInt(c.id, 10),
26162	})
26163	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26164}
26165
26166// Do executes the "dfareporting.creativeFields.delete" call.
26167func (c *CreativeFieldsDeleteCall) Do(opts ...googleapi.CallOption) error {
26168	gensupport.SetOptions(c.urlParams_, opts...)
26169	res, err := c.doRequest("json")
26170	if err != nil {
26171		return err
26172	}
26173	defer googleapi.CloseBody(res)
26174	if err := googleapi.CheckResponse(res); err != nil {
26175		return err
26176	}
26177	return nil
26178	// {
26179	//   "description": "Deletes an existing creative field.",
26180	//   "httpMethod": "DELETE",
26181	//   "id": "dfareporting.creativeFields.delete",
26182	//   "parameterOrder": [
26183	//     "profileId",
26184	//     "id"
26185	//   ],
26186	//   "parameters": {
26187	//     "id": {
26188	//       "description": "Creative Field ID",
26189	//       "format": "int64",
26190	//       "location": "path",
26191	//       "required": true,
26192	//       "type": "string"
26193	//     },
26194	//     "profileId": {
26195	//       "description": "User profile ID associated with this request.",
26196	//       "format": "int64",
26197	//       "location": "path",
26198	//       "required": true,
26199	//       "type": "string"
26200	//     }
26201	//   },
26202	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26203	//   "scopes": [
26204	//     "https://www.googleapis.com/auth/dfatrafficking"
26205	//   ]
26206	// }
26207
26208}
26209
26210// method id "dfareporting.creativeFields.get":
26211
26212type CreativeFieldsGetCall struct {
26213	s            *Service
26214	profileId    int64
26215	id           int64
26216	urlParams_   gensupport.URLParams
26217	ifNoneMatch_ string
26218	ctx_         context.Context
26219	header_      http.Header
26220}
26221
26222// Get: Gets one creative field by ID.
26223func (r *CreativeFieldsService) Get(profileId int64, id int64) *CreativeFieldsGetCall {
26224	c := &CreativeFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26225	c.profileId = profileId
26226	c.id = id
26227	return c
26228}
26229
26230// Fields allows partial responses to be retrieved. See
26231// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26232// for more information.
26233func (c *CreativeFieldsGetCall) Fields(s ...googleapi.Field) *CreativeFieldsGetCall {
26234	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26235	return c
26236}
26237
26238// IfNoneMatch sets the optional parameter which makes the operation
26239// fail if the object's ETag matches the given value. This is useful for
26240// getting updates only after the object has changed since the last
26241// request. Use googleapi.IsNotModified to check whether the response
26242// error from Do is the result of In-None-Match.
26243func (c *CreativeFieldsGetCall) IfNoneMatch(entityTag string) *CreativeFieldsGetCall {
26244	c.ifNoneMatch_ = entityTag
26245	return c
26246}
26247
26248// Context sets the context to be used in this call's Do method. Any
26249// pending HTTP request will be aborted if the provided context is
26250// canceled.
26251func (c *CreativeFieldsGetCall) Context(ctx context.Context) *CreativeFieldsGetCall {
26252	c.ctx_ = ctx
26253	return c
26254}
26255
26256// Header returns an http.Header that can be modified by the caller to
26257// add HTTP headers to the request.
26258func (c *CreativeFieldsGetCall) Header() http.Header {
26259	if c.header_ == nil {
26260		c.header_ = make(http.Header)
26261	}
26262	return c.header_
26263}
26264
26265func (c *CreativeFieldsGetCall) doRequest(alt string) (*http.Response, error) {
26266	reqHeaders := make(http.Header)
26267	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26268	for k, v := range c.header_ {
26269		reqHeaders[k] = v
26270	}
26271	reqHeaders.Set("User-Agent", c.s.userAgent())
26272	if c.ifNoneMatch_ != "" {
26273		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26274	}
26275	var body io.Reader = nil
26276	c.urlParams_.Set("alt", alt)
26277	c.urlParams_.Set("prettyPrint", "false")
26278	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields/{id}")
26279	urls += "?" + c.urlParams_.Encode()
26280	req, err := http.NewRequest("GET", urls, body)
26281	if err != nil {
26282		return nil, err
26283	}
26284	req.Header = reqHeaders
26285	googleapi.Expand(req.URL, map[string]string{
26286		"profileId": strconv.FormatInt(c.profileId, 10),
26287		"id":        strconv.FormatInt(c.id, 10),
26288	})
26289	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26290}
26291
26292// Do executes the "dfareporting.creativeFields.get" call.
26293// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26294// status code is an error. Response headers are in either
26295// *CreativeField.ServerResponse.Header or (if a response was returned
26296// at all) in error.(*googleapi.Error).Header. Use
26297// googleapi.IsNotModified to check whether the returned error was
26298// because http.StatusNotModified was returned.
26299func (c *CreativeFieldsGetCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26300	gensupport.SetOptions(c.urlParams_, opts...)
26301	res, err := c.doRequest("json")
26302	if res != nil && res.StatusCode == http.StatusNotModified {
26303		if res.Body != nil {
26304			res.Body.Close()
26305		}
26306		return nil, &googleapi.Error{
26307			Code:   res.StatusCode,
26308			Header: res.Header,
26309		}
26310	}
26311	if err != nil {
26312		return nil, err
26313	}
26314	defer googleapi.CloseBody(res)
26315	if err := googleapi.CheckResponse(res); err != nil {
26316		return nil, err
26317	}
26318	ret := &CreativeField{
26319		ServerResponse: googleapi.ServerResponse{
26320			Header:         res.Header,
26321			HTTPStatusCode: res.StatusCode,
26322		},
26323	}
26324	target := &ret
26325	if err := gensupport.DecodeResponse(target, res); err != nil {
26326		return nil, err
26327	}
26328	return ret, nil
26329	// {
26330	//   "description": "Gets one creative field by ID.",
26331	//   "httpMethod": "GET",
26332	//   "id": "dfareporting.creativeFields.get",
26333	//   "parameterOrder": [
26334	//     "profileId",
26335	//     "id"
26336	//   ],
26337	//   "parameters": {
26338	//     "id": {
26339	//       "description": "Creative Field ID",
26340	//       "format": "int64",
26341	//       "location": "path",
26342	//       "required": true,
26343	//       "type": "string"
26344	//     },
26345	//     "profileId": {
26346	//       "description": "User profile ID associated with this request.",
26347	//       "format": "int64",
26348	//       "location": "path",
26349	//       "required": true,
26350	//       "type": "string"
26351	//     }
26352	//   },
26353	//   "path": "userprofiles/{profileId}/creativeFields/{id}",
26354	//   "response": {
26355	//     "$ref": "CreativeField"
26356	//   },
26357	//   "scopes": [
26358	//     "https://www.googleapis.com/auth/dfatrafficking"
26359	//   ]
26360	// }
26361
26362}
26363
26364// method id "dfareporting.creativeFields.insert":
26365
26366type CreativeFieldsInsertCall struct {
26367	s             *Service
26368	profileId     int64
26369	creativefield *CreativeField
26370	urlParams_    gensupport.URLParams
26371	ctx_          context.Context
26372	header_       http.Header
26373}
26374
26375// Insert: Inserts a new creative field.
26376func (r *CreativeFieldsService) Insert(profileId int64, creativefield *CreativeField) *CreativeFieldsInsertCall {
26377	c := &CreativeFieldsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26378	c.profileId = profileId
26379	c.creativefield = creativefield
26380	return c
26381}
26382
26383// Fields allows partial responses to be retrieved. See
26384// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26385// for more information.
26386func (c *CreativeFieldsInsertCall) Fields(s ...googleapi.Field) *CreativeFieldsInsertCall {
26387	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26388	return c
26389}
26390
26391// Context sets the context to be used in this call's Do method. Any
26392// pending HTTP request will be aborted if the provided context is
26393// canceled.
26394func (c *CreativeFieldsInsertCall) Context(ctx context.Context) *CreativeFieldsInsertCall {
26395	c.ctx_ = ctx
26396	return c
26397}
26398
26399// Header returns an http.Header that can be modified by the caller to
26400// add HTTP headers to the request.
26401func (c *CreativeFieldsInsertCall) Header() http.Header {
26402	if c.header_ == nil {
26403		c.header_ = make(http.Header)
26404	}
26405	return c.header_
26406}
26407
26408func (c *CreativeFieldsInsertCall) doRequest(alt string) (*http.Response, error) {
26409	reqHeaders := make(http.Header)
26410	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26411	for k, v := range c.header_ {
26412		reqHeaders[k] = v
26413	}
26414	reqHeaders.Set("User-Agent", c.s.userAgent())
26415	var body io.Reader = nil
26416	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26417	if err != nil {
26418		return nil, err
26419	}
26420	reqHeaders.Set("Content-Type", "application/json")
26421	c.urlParams_.Set("alt", alt)
26422	c.urlParams_.Set("prettyPrint", "false")
26423	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26424	urls += "?" + c.urlParams_.Encode()
26425	req, err := http.NewRequest("POST", urls, body)
26426	if err != nil {
26427		return nil, err
26428	}
26429	req.Header = reqHeaders
26430	googleapi.Expand(req.URL, map[string]string{
26431		"profileId": strconv.FormatInt(c.profileId, 10),
26432	})
26433	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26434}
26435
26436// Do executes the "dfareporting.creativeFields.insert" call.
26437// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26438// status code is an error. Response headers are in either
26439// *CreativeField.ServerResponse.Header or (if a response was returned
26440// at all) in error.(*googleapi.Error).Header. Use
26441// googleapi.IsNotModified to check whether the returned error was
26442// because http.StatusNotModified was returned.
26443func (c *CreativeFieldsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26444	gensupport.SetOptions(c.urlParams_, opts...)
26445	res, err := c.doRequest("json")
26446	if res != nil && res.StatusCode == http.StatusNotModified {
26447		if res.Body != nil {
26448			res.Body.Close()
26449		}
26450		return nil, &googleapi.Error{
26451			Code:   res.StatusCode,
26452			Header: res.Header,
26453		}
26454	}
26455	if err != nil {
26456		return nil, err
26457	}
26458	defer googleapi.CloseBody(res)
26459	if err := googleapi.CheckResponse(res); err != nil {
26460		return nil, err
26461	}
26462	ret := &CreativeField{
26463		ServerResponse: googleapi.ServerResponse{
26464			Header:         res.Header,
26465			HTTPStatusCode: res.StatusCode,
26466		},
26467	}
26468	target := &ret
26469	if err := gensupport.DecodeResponse(target, res); err != nil {
26470		return nil, err
26471	}
26472	return ret, nil
26473	// {
26474	//   "description": "Inserts a new creative field.",
26475	//   "httpMethod": "POST",
26476	//   "id": "dfareporting.creativeFields.insert",
26477	//   "parameterOrder": [
26478	//     "profileId"
26479	//   ],
26480	//   "parameters": {
26481	//     "profileId": {
26482	//       "description": "User profile ID associated with this request.",
26483	//       "format": "int64",
26484	//       "location": "path",
26485	//       "required": true,
26486	//       "type": "string"
26487	//     }
26488	//   },
26489	//   "path": "userprofiles/{profileId}/creativeFields",
26490	//   "request": {
26491	//     "$ref": "CreativeField"
26492	//   },
26493	//   "response": {
26494	//     "$ref": "CreativeField"
26495	//   },
26496	//   "scopes": [
26497	//     "https://www.googleapis.com/auth/dfatrafficking"
26498	//   ]
26499	// }
26500
26501}
26502
26503// method id "dfareporting.creativeFields.list":
26504
26505type CreativeFieldsListCall struct {
26506	s            *Service
26507	profileId    int64
26508	urlParams_   gensupport.URLParams
26509	ifNoneMatch_ string
26510	ctx_         context.Context
26511	header_      http.Header
26512}
26513
26514// List: Retrieves a list of creative fields, possibly filtered. This
26515// method supports paging.
26516func (r *CreativeFieldsService) List(profileId int64) *CreativeFieldsListCall {
26517	c := &CreativeFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26518	c.profileId = profileId
26519	return c
26520}
26521
26522// AdvertiserIds sets the optional parameter "advertiserIds": Select
26523// only creative fields that belong to these advertisers.
26524func (c *CreativeFieldsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeFieldsListCall {
26525	var advertiserIds_ []string
26526	for _, v := range advertiserIds {
26527		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
26528	}
26529	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
26530	return c
26531}
26532
26533// Ids sets the optional parameter "ids": Select only creative fields
26534// with these IDs.
26535func (c *CreativeFieldsListCall) Ids(ids ...int64) *CreativeFieldsListCall {
26536	var ids_ []string
26537	for _, v := range ids {
26538		ids_ = append(ids_, fmt.Sprint(v))
26539	}
26540	c.urlParams_.SetMulti("ids", ids_)
26541	return c
26542}
26543
26544// MaxResults sets the optional parameter "maxResults": Maximum number
26545// of results to return.
26546func (c *CreativeFieldsListCall) MaxResults(maxResults int64) *CreativeFieldsListCall {
26547	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
26548	return c
26549}
26550
26551// PageToken sets the optional parameter "pageToken": Value of the
26552// nextPageToken from the previous result page.
26553func (c *CreativeFieldsListCall) PageToken(pageToken string) *CreativeFieldsListCall {
26554	c.urlParams_.Set("pageToken", pageToken)
26555	return c
26556}
26557
26558// SearchString sets the optional parameter "searchString": Allows
26559// searching for creative fields by name or ID. Wildcards (*) are
26560// allowed. For example, "creativefield*2015" will return creative
26561// fields with names like "creativefield June 2015", "creativefield
26562// April 2015", or simply "creativefield 2015". Most of the searches
26563// also add wild-cards implicitly at the start and the end of the search
26564// string. For example, a search string of "creativefield" will match
26565// creative fields with the name "my creativefield", "creativefield
26566// 2015", or simply "creativefield".
26567func (c *CreativeFieldsListCall) SearchString(searchString string) *CreativeFieldsListCall {
26568	c.urlParams_.Set("searchString", searchString)
26569	return c
26570}
26571
26572// SortField sets the optional parameter "sortField": Field by which to
26573// sort the list.
26574//
26575// Possible values:
26576//   "ID" (default)
26577//   "NAME"
26578func (c *CreativeFieldsListCall) SortField(sortField string) *CreativeFieldsListCall {
26579	c.urlParams_.Set("sortField", sortField)
26580	return c
26581}
26582
26583// SortOrder sets the optional parameter "sortOrder": Order of sorted
26584// results.
26585//
26586// Possible values:
26587//   "ASCENDING" (default)
26588//   "DESCENDING"
26589func (c *CreativeFieldsListCall) SortOrder(sortOrder string) *CreativeFieldsListCall {
26590	c.urlParams_.Set("sortOrder", sortOrder)
26591	return c
26592}
26593
26594// Fields allows partial responses to be retrieved. See
26595// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26596// for more information.
26597func (c *CreativeFieldsListCall) Fields(s ...googleapi.Field) *CreativeFieldsListCall {
26598	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26599	return c
26600}
26601
26602// IfNoneMatch sets the optional parameter which makes the operation
26603// fail if the object's ETag matches the given value. This is useful for
26604// getting updates only after the object has changed since the last
26605// request. Use googleapi.IsNotModified to check whether the response
26606// error from Do is the result of In-None-Match.
26607func (c *CreativeFieldsListCall) IfNoneMatch(entityTag string) *CreativeFieldsListCall {
26608	c.ifNoneMatch_ = entityTag
26609	return c
26610}
26611
26612// Context sets the context to be used in this call's Do method. Any
26613// pending HTTP request will be aborted if the provided context is
26614// canceled.
26615func (c *CreativeFieldsListCall) Context(ctx context.Context) *CreativeFieldsListCall {
26616	c.ctx_ = ctx
26617	return c
26618}
26619
26620// Header returns an http.Header that can be modified by the caller to
26621// add HTTP headers to the request.
26622func (c *CreativeFieldsListCall) Header() http.Header {
26623	if c.header_ == nil {
26624		c.header_ = make(http.Header)
26625	}
26626	return c.header_
26627}
26628
26629func (c *CreativeFieldsListCall) doRequest(alt string) (*http.Response, error) {
26630	reqHeaders := make(http.Header)
26631	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26632	for k, v := range c.header_ {
26633		reqHeaders[k] = v
26634	}
26635	reqHeaders.Set("User-Agent", c.s.userAgent())
26636	if c.ifNoneMatch_ != "" {
26637		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
26638	}
26639	var body io.Reader = nil
26640	c.urlParams_.Set("alt", alt)
26641	c.urlParams_.Set("prettyPrint", "false")
26642	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26643	urls += "?" + c.urlParams_.Encode()
26644	req, err := http.NewRequest("GET", urls, body)
26645	if err != nil {
26646		return nil, err
26647	}
26648	req.Header = reqHeaders
26649	googleapi.Expand(req.URL, map[string]string{
26650		"profileId": strconv.FormatInt(c.profileId, 10),
26651	})
26652	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26653}
26654
26655// Do executes the "dfareporting.creativeFields.list" call.
26656// Exactly one of *CreativeFieldsListResponse or error will be non-nil.
26657// Any non-2xx status code is an error. Response headers are in either
26658// *CreativeFieldsListResponse.ServerResponse.Header or (if a response
26659// was returned at all) in error.(*googleapi.Error).Header. Use
26660// googleapi.IsNotModified to check whether the returned error was
26661// because http.StatusNotModified was returned.
26662func (c *CreativeFieldsListCall) Do(opts ...googleapi.CallOption) (*CreativeFieldsListResponse, error) {
26663	gensupport.SetOptions(c.urlParams_, opts...)
26664	res, err := c.doRequest("json")
26665	if res != nil && res.StatusCode == http.StatusNotModified {
26666		if res.Body != nil {
26667			res.Body.Close()
26668		}
26669		return nil, &googleapi.Error{
26670			Code:   res.StatusCode,
26671			Header: res.Header,
26672		}
26673	}
26674	if err != nil {
26675		return nil, err
26676	}
26677	defer googleapi.CloseBody(res)
26678	if err := googleapi.CheckResponse(res); err != nil {
26679		return nil, err
26680	}
26681	ret := &CreativeFieldsListResponse{
26682		ServerResponse: googleapi.ServerResponse{
26683			Header:         res.Header,
26684			HTTPStatusCode: res.StatusCode,
26685		},
26686	}
26687	target := &ret
26688	if err := gensupport.DecodeResponse(target, res); err != nil {
26689		return nil, err
26690	}
26691	return ret, nil
26692	// {
26693	//   "description": "Retrieves a list of creative fields, possibly filtered. This method supports paging.",
26694	//   "httpMethod": "GET",
26695	//   "id": "dfareporting.creativeFields.list",
26696	//   "parameterOrder": [
26697	//     "profileId"
26698	//   ],
26699	//   "parameters": {
26700	//     "advertiserIds": {
26701	//       "description": "Select only creative fields that belong to these advertisers.",
26702	//       "format": "int64",
26703	//       "location": "query",
26704	//       "repeated": true,
26705	//       "type": "string"
26706	//     },
26707	//     "ids": {
26708	//       "description": "Select only creative fields with these IDs.",
26709	//       "format": "int64",
26710	//       "location": "query",
26711	//       "repeated": true,
26712	//       "type": "string"
26713	//     },
26714	//     "maxResults": {
26715	//       "default": "1000",
26716	//       "description": "Maximum number of results to return.",
26717	//       "format": "int32",
26718	//       "location": "query",
26719	//       "maximum": "1000",
26720	//       "minimum": "0",
26721	//       "type": "integer"
26722	//     },
26723	//     "pageToken": {
26724	//       "description": "Value of the nextPageToken from the previous result page.",
26725	//       "location": "query",
26726	//       "type": "string"
26727	//     },
26728	//     "profileId": {
26729	//       "description": "User profile ID associated with this request.",
26730	//       "format": "int64",
26731	//       "location": "path",
26732	//       "required": true,
26733	//       "type": "string"
26734	//     },
26735	//     "searchString": {
26736	//       "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\".",
26737	//       "location": "query",
26738	//       "type": "string"
26739	//     },
26740	//     "sortField": {
26741	//       "default": "ID",
26742	//       "description": "Field by which to sort the list.",
26743	//       "enum": [
26744	//         "ID",
26745	//         "NAME"
26746	//       ],
26747	//       "enumDescriptions": [
26748	//         "",
26749	//         ""
26750	//       ],
26751	//       "location": "query",
26752	//       "type": "string"
26753	//     },
26754	//     "sortOrder": {
26755	//       "default": "ASCENDING",
26756	//       "description": "Order of sorted results.",
26757	//       "enum": [
26758	//         "ASCENDING",
26759	//         "DESCENDING"
26760	//       ],
26761	//       "enumDescriptions": [
26762	//         "",
26763	//         ""
26764	//       ],
26765	//       "location": "query",
26766	//       "type": "string"
26767	//     }
26768	//   },
26769	//   "path": "userprofiles/{profileId}/creativeFields",
26770	//   "response": {
26771	//     "$ref": "CreativeFieldsListResponse"
26772	//   },
26773	//   "scopes": [
26774	//     "https://www.googleapis.com/auth/dfatrafficking"
26775	//   ]
26776	// }
26777
26778}
26779
26780// Pages invokes f for each page of results.
26781// A non-nil error returned from f will halt the iteration.
26782// The provided context supersedes any context provided to the Context method.
26783func (c *CreativeFieldsListCall) Pages(ctx context.Context, f func(*CreativeFieldsListResponse) error) error {
26784	c.ctx_ = ctx
26785	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
26786	for {
26787		x, err := c.Do()
26788		if err != nil {
26789			return err
26790		}
26791		if err := f(x); err != nil {
26792			return err
26793		}
26794		if x.NextPageToken == "" {
26795			return nil
26796		}
26797		c.PageToken(x.NextPageToken)
26798	}
26799}
26800
26801// method id "dfareporting.creativeFields.patch":
26802
26803type CreativeFieldsPatchCall struct {
26804	s             *Service
26805	profileId     int64
26806	creativefield *CreativeField
26807	urlParams_    gensupport.URLParams
26808	ctx_          context.Context
26809	header_       http.Header
26810}
26811
26812// Patch: Updates an existing creative field. This method supports patch
26813// semantics.
26814func (r *CreativeFieldsService) Patch(profileId int64, id int64, creativefield *CreativeField) *CreativeFieldsPatchCall {
26815	c := &CreativeFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26816	c.profileId = profileId
26817	c.urlParams_.Set("id", fmt.Sprint(id))
26818	c.creativefield = creativefield
26819	return c
26820}
26821
26822// Fields allows partial responses to be retrieved. See
26823// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26824// for more information.
26825func (c *CreativeFieldsPatchCall) Fields(s ...googleapi.Field) *CreativeFieldsPatchCall {
26826	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26827	return c
26828}
26829
26830// Context sets the context to be used in this call's Do method. Any
26831// pending HTTP request will be aborted if the provided context is
26832// canceled.
26833func (c *CreativeFieldsPatchCall) Context(ctx context.Context) *CreativeFieldsPatchCall {
26834	c.ctx_ = ctx
26835	return c
26836}
26837
26838// Header returns an http.Header that can be modified by the caller to
26839// add HTTP headers to the request.
26840func (c *CreativeFieldsPatchCall) Header() http.Header {
26841	if c.header_ == nil {
26842		c.header_ = make(http.Header)
26843	}
26844	return c.header_
26845}
26846
26847func (c *CreativeFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
26848	reqHeaders := make(http.Header)
26849	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26850	for k, v := range c.header_ {
26851		reqHeaders[k] = v
26852	}
26853	reqHeaders.Set("User-Agent", c.s.userAgent())
26854	var body io.Reader = nil
26855	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
26856	if err != nil {
26857		return nil, err
26858	}
26859	reqHeaders.Set("Content-Type", "application/json")
26860	c.urlParams_.Set("alt", alt)
26861	c.urlParams_.Set("prettyPrint", "false")
26862	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
26863	urls += "?" + c.urlParams_.Encode()
26864	req, err := http.NewRequest("PATCH", urls, body)
26865	if err != nil {
26866		return nil, err
26867	}
26868	req.Header = reqHeaders
26869	googleapi.Expand(req.URL, map[string]string{
26870		"profileId": strconv.FormatInt(c.profileId, 10),
26871	})
26872	return gensupport.SendRequest(c.ctx_, c.s.client, req)
26873}
26874
26875// Do executes the "dfareporting.creativeFields.patch" call.
26876// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
26877// status code is an error. Response headers are in either
26878// *CreativeField.ServerResponse.Header or (if a response was returned
26879// at all) in error.(*googleapi.Error).Header. Use
26880// googleapi.IsNotModified to check whether the returned error was
26881// because http.StatusNotModified was returned.
26882func (c *CreativeFieldsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
26883	gensupport.SetOptions(c.urlParams_, opts...)
26884	res, err := c.doRequest("json")
26885	if res != nil && res.StatusCode == http.StatusNotModified {
26886		if res.Body != nil {
26887			res.Body.Close()
26888		}
26889		return nil, &googleapi.Error{
26890			Code:   res.StatusCode,
26891			Header: res.Header,
26892		}
26893	}
26894	if err != nil {
26895		return nil, err
26896	}
26897	defer googleapi.CloseBody(res)
26898	if err := googleapi.CheckResponse(res); err != nil {
26899		return nil, err
26900	}
26901	ret := &CreativeField{
26902		ServerResponse: googleapi.ServerResponse{
26903			Header:         res.Header,
26904			HTTPStatusCode: res.StatusCode,
26905		},
26906	}
26907	target := &ret
26908	if err := gensupport.DecodeResponse(target, res); err != nil {
26909		return nil, err
26910	}
26911	return ret, nil
26912	// {
26913	//   "description": "Updates an existing creative field. This method supports patch semantics.",
26914	//   "httpMethod": "PATCH",
26915	//   "id": "dfareporting.creativeFields.patch",
26916	//   "parameterOrder": [
26917	//     "profileId",
26918	//     "id"
26919	//   ],
26920	//   "parameters": {
26921	//     "id": {
26922	//       "description": "Creative Field ID",
26923	//       "format": "int64",
26924	//       "location": "query",
26925	//       "required": true,
26926	//       "type": "string"
26927	//     },
26928	//     "profileId": {
26929	//       "description": "User profile ID associated with this request.",
26930	//       "format": "int64",
26931	//       "location": "path",
26932	//       "required": true,
26933	//       "type": "string"
26934	//     }
26935	//   },
26936	//   "path": "userprofiles/{profileId}/creativeFields",
26937	//   "request": {
26938	//     "$ref": "CreativeField"
26939	//   },
26940	//   "response": {
26941	//     "$ref": "CreativeField"
26942	//   },
26943	//   "scopes": [
26944	//     "https://www.googleapis.com/auth/dfatrafficking"
26945	//   ]
26946	// }
26947
26948}
26949
26950// method id "dfareporting.creativeFields.update":
26951
26952type CreativeFieldsUpdateCall struct {
26953	s             *Service
26954	profileId     int64
26955	creativefield *CreativeField
26956	urlParams_    gensupport.URLParams
26957	ctx_          context.Context
26958	header_       http.Header
26959}
26960
26961// Update: Updates an existing creative field.
26962func (r *CreativeFieldsService) Update(profileId int64, creativefield *CreativeField) *CreativeFieldsUpdateCall {
26963	c := &CreativeFieldsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
26964	c.profileId = profileId
26965	c.creativefield = creativefield
26966	return c
26967}
26968
26969// Fields allows partial responses to be retrieved. See
26970// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
26971// for more information.
26972func (c *CreativeFieldsUpdateCall) Fields(s ...googleapi.Field) *CreativeFieldsUpdateCall {
26973	c.urlParams_.Set("fields", googleapi.CombineFields(s))
26974	return c
26975}
26976
26977// Context sets the context to be used in this call's Do method. Any
26978// pending HTTP request will be aborted if the provided context is
26979// canceled.
26980func (c *CreativeFieldsUpdateCall) Context(ctx context.Context) *CreativeFieldsUpdateCall {
26981	c.ctx_ = ctx
26982	return c
26983}
26984
26985// Header returns an http.Header that can be modified by the caller to
26986// add HTTP headers to the request.
26987func (c *CreativeFieldsUpdateCall) Header() http.Header {
26988	if c.header_ == nil {
26989		c.header_ = make(http.Header)
26990	}
26991	return c.header_
26992}
26993
26994func (c *CreativeFieldsUpdateCall) doRequest(alt string) (*http.Response, error) {
26995	reqHeaders := make(http.Header)
26996	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
26997	for k, v := range c.header_ {
26998		reqHeaders[k] = v
26999	}
27000	reqHeaders.Set("User-Agent", c.s.userAgent())
27001	var body io.Reader = nil
27002	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativefield)
27003	if err != nil {
27004		return nil, err
27005	}
27006	reqHeaders.Set("Content-Type", "application/json")
27007	c.urlParams_.Set("alt", alt)
27008	c.urlParams_.Set("prettyPrint", "false")
27009	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeFields")
27010	urls += "?" + c.urlParams_.Encode()
27011	req, err := http.NewRequest("PUT", urls, body)
27012	if err != nil {
27013		return nil, err
27014	}
27015	req.Header = reqHeaders
27016	googleapi.Expand(req.URL, map[string]string{
27017		"profileId": strconv.FormatInt(c.profileId, 10),
27018	})
27019	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27020}
27021
27022// Do executes the "dfareporting.creativeFields.update" call.
27023// Exactly one of *CreativeField or error will be non-nil. Any non-2xx
27024// status code is an error. Response headers are in either
27025// *CreativeField.ServerResponse.Header or (if a response was returned
27026// at all) in error.(*googleapi.Error).Header. Use
27027// googleapi.IsNotModified to check whether the returned error was
27028// because http.StatusNotModified was returned.
27029func (c *CreativeFieldsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeField, error) {
27030	gensupport.SetOptions(c.urlParams_, opts...)
27031	res, err := c.doRequest("json")
27032	if res != nil && res.StatusCode == http.StatusNotModified {
27033		if res.Body != nil {
27034			res.Body.Close()
27035		}
27036		return nil, &googleapi.Error{
27037			Code:   res.StatusCode,
27038			Header: res.Header,
27039		}
27040	}
27041	if err != nil {
27042		return nil, err
27043	}
27044	defer googleapi.CloseBody(res)
27045	if err := googleapi.CheckResponse(res); err != nil {
27046		return nil, err
27047	}
27048	ret := &CreativeField{
27049		ServerResponse: googleapi.ServerResponse{
27050			Header:         res.Header,
27051			HTTPStatusCode: res.StatusCode,
27052		},
27053	}
27054	target := &ret
27055	if err := gensupport.DecodeResponse(target, res); err != nil {
27056		return nil, err
27057	}
27058	return ret, nil
27059	// {
27060	//   "description": "Updates an existing creative field.",
27061	//   "httpMethod": "PUT",
27062	//   "id": "dfareporting.creativeFields.update",
27063	//   "parameterOrder": [
27064	//     "profileId"
27065	//   ],
27066	//   "parameters": {
27067	//     "profileId": {
27068	//       "description": "User profile ID associated with this request.",
27069	//       "format": "int64",
27070	//       "location": "path",
27071	//       "required": true,
27072	//       "type": "string"
27073	//     }
27074	//   },
27075	//   "path": "userprofiles/{profileId}/creativeFields",
27076	//   "request": {
27077	//     "$ref": "CreativeField"
27078	//   },
27079	//   "response": {
27080	//     "$ref": "CreativeField"
27081	//   },
27082	//   "scopes": [
27083	//     "https://www.googleapis.com/auth/dfatrafficking"
27084	//   ]
27085	// }
27086
27087}
27088
27089// method id "dfareporting.creativeGroups.get":
27090
27091type CreativeGroupsGetCall struct {
27092	s            *Service
27093	profileId    int64
27094	id           int64
27095	urlParams_   gensupport.URLParams
27096	ifNoneMatch_ string
27097	ctx_         context.Context
27098	header_      http.Header
27099}
27100
27101// Get: Gets one creative group by ID.
27102func (r *CreativeGroupsService) Get(profileId int64, id int64) *CreativeGroupsGetCall {
27103	c := &CreativeGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27104	c.profileId = profileId
27105	c.id = id
27106	return c
27107}
27108
27109// Fields allows partial responses to be retrieved. See
27110// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27111// for more information.
27112func (c *CreativeGroupsGetCall) Fields(s ...googleapi.Field) *CreativeGroupsGetCall {
27113	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27114	return c
27115}
27116
27117// IfNoneMatch sets the optional parameter which makes the operation
27118// fail if the object's ETag matches the given value. This is useful for
27119// getting updates only after the object has changed since the last
27120// request. Use googleapi.IsNotModified to check whether the response
27121// error from Do is the result of In-None-Match.
27122func (c *CreativeGroupsGetCall) IfNoneMatch(entityTag string) *CreativeGroupsGetCall {
27123	c.ifNoneMatch_ = entityTag
27124	return c
27125}
27126
27127// Context sets the context to be used in this call's Do method. Any
27128// pending HTTP request will be aborted if the provided context is
27129// canceled.
27130func (c *CreativeGroupsGetCall) Context(ctx context.Context) *CreativeGroupsGetCall {
27131	c.ctx_ = ctx
27132	return c
27133}
27134
27135// Header returns an http.Header that can be modified by the caller to
27136// add HTTP headers to the request.
27137func (c *CreativeGroupsGetCall) Header() http.Header {
27138	if c.header_ == nil {
27139		c.header_ = make(http.Header)
27140	}
27141	return c.header_
27142}
27143
27144func (c *CreativeGroupsGetCall) doRequest(alt string) (*http.Response, error) {
27145	reqHeaders := make(http.Header)
27146	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27147	for k, v := range c.header_ {
27148		reqHeaders[k] = v
27149	}
27150	reqHeaders.Set("User-Agent", c.s.userAgent())
27151	if c.ifNoneMatch_ != "" {
27152		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27153	}
27154	var body io.Reader = nil
27155	c.urlParams_.Set("alt", alt)
27156	c.urlParams_.Set("prettyPrint", "false")
27157	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups/{id}")
27158	urls += "?" + c.urlParams_.Encode()
27159	req, err := http.NewRequest("GET", urls, body)
27160	if err != nil {
27161		return nil, err
27162	}
27163	req.Header = reqHeaders
27164	googleapi.Expand(req.URL, map[string]string{
27165		"profileId": strconv.FormatInt(c.profileId, 10),
27166		"id":        strconv.FormatInt(c.id, 10),
27167	})
27168	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27169}
27170
27171// Do executes the "dfareporting.creativeGroups.get" call.
27172// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27173// status code is an error. Response headers are in either
27174// *CreativeGroup.ServerResponse.Header or (if a response was returned
27175// at all) in error.(*googleapi.Error).Header. Use
27176// googleapi.IsNotModified to check whether the returned error was
27177// because http.StatusNotModified was returned.
27178func (c *CreativeGroupsGetCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27179	gensupport.SetOptions(c.urlParams_, opts...)
27180	res, err := c.doRequest("json")
27181	if res != nil && res.StatusCode == http.StatusNotModified {
27182		if res.Body != nil {
27183			res.Body.Close()
27184		}
27185		return nil, &googleapi.Error{
27186			Code:   res.StatusCode,
27187			Header: res.Header,
27188		}
27189	}
27190	if err != nil {
27191		return nil, err
27192	}
27193	defer googleapi.CloseBody(res)
27194	if err := googleapi.CheckResponse(res); err != nil {
27195		return nil, err
27196	}
27197	ret := &CreativeGroup{
27198		ServerResponse: googleapi.ServerResponse{
27199			Header:         res.Header,
27200			HTTPStatusCode: res.StatusCode,
27201		},
27202	}
27203	target := &ret
27204	if err := gensupport.DecodeResponse(target, res); err != nil {
27205		return nil, err
27206	}
27207	return ret, nil
27208	// {
27209	//   "description": "Gets one creative group by ID.",
27210	//   "httpMethod": "GET",
27211	//   "id": "dfareporting.creativeGroups.get",
27212	//   "parameterOrder": [
27213	//     "profileId",
27214	//     "id"
27215	//   ],
27216	//   "parameters": {
27217	//     "id": {
27218	//       "description": "Creative group ID.",
27219	//       "format": "int64",
27220	//       "location": "path",
27221	//       "required": true,
27222	//       "type": "string"
27223	//     },
27224	//     "profileId": {
27225	//       "description": "User profile ID associated with this request.",
27226	//       "format": "int64",
27227	//       "location": "path",
27228	//       "required": true,
27229	//       "type": "string"
27230	//     }
27231	//   },
27232	//   "path": "userprofiles/{profileId}/creativeGroups/{id}",
27233	//   "response": {
27234	//     "$ref": "CreativeGroup"
27235	//   },
27236	//   "scopes": [
27237	//     "https://www.googleapis.com/auth/dfatrafficking"
27238	//   ]
27239	// }
27240
27241}
27242
27243// method id "dfareporting.creativeGroups.insert":
27244
27245type CreativeGroupsInsertCall struct {
27246	s             *Service
27247	profileId     int64
27248	creativegroup *CreativeGroup
27249	urlParams_    gensupport.URLParams
27250	ctx_          context.Context
27251	header_       http.Header
27252}
27253
27254// Insert: Inserts a new creative group.
27255func (r *CreativeGroupsService) Insert(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsInsertCall {
27256	c := &CreativeGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27257	c.profileId = profileId
27258	c.creativegroup = creativegroup
27259	return c
27260}
27261
27262// Fields allows partial responses to be retrieved. See
27263// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27264// for more information.
27265func (c *CreativeGroupsInsertCall) Fields(s ...googleapi.Field) *CreativeGroupsInsertCall {
27266	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27267	return c
27268}
27269
27270// Context sets the context to be used in this call's Do method. Any
27271// pending HTTP request will be aborted if the provided context is
27272// canceled.
27273func (c *CreativeGroupsInsertCall) Context(ctx context.Context) *CreativeGroupsInsertCall {
27274	c.ctx_ = ctx
27275	return c
27276}
27277
27278// Header returns an http.Header that can be modified by the caller to
27279// add HTTP headers to the request.
27280func (c *CreativeGroupsInsertCall) Header() http.Header {
27281	if c.header_ == nil {
27282		c.header_ = make(http.Header)
27283	}
27284	return c.header_
27285}
27286
27287func (c *CreativeGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
27288	reqHeaders := make(http.Header)
27289	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27290	for k, v := range c.header_ {
27291		reqHeaders[k] = v
27292	}
27293	reqHeaders.Set("User-Agent", c.s.userAgent())
27294	var body io.Reader = nil
27295	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27296	if err != nil {
27297		return nil, err
27298	}
27299	reqHeaders.Set("Content-Type", "application/json")
27300	c.urlParams_.Set("alt", alt)
27301	c.urlParams_.Set("prettyPrint", "false")
27302	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27303	urls += "?" + c.urlParams_.Encode()
27304	req, err := http.NewRequest("POST", urls, body)
27305	if err != nil {
27306		return nil, err
27307	}
27308	req.Header = reqHeaders
27309	googleapi.Expand(req.URL, map[string]string{
27310		"profileId": strconv.FormatInt(c.profileId, 10),
27311	})
27312	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27313}
27314
27315// Do executes the "dfareporting.creativeGroups.insert" call.
27316// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27317// status code is an error. Response headers are in either
27318// *CreativeGroup.ServerResponse.Header or (if a response was returned
27319// at all) in error.(*googleapi.Error).Header. Use
27320// googleapi.IsNotModified to check whether the returned error was
27321// because http.StatusNotModified was returned.
27322func (c *CreativeGroupsInsertCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27323	gensupport.SetOptions(c.urlParams_, opts...)
27324	res, err := c.doRequest("json")
27325	if res != nil && res.StatusCode == http.StatusNotModified {
27326		if res.Body != nil {
27327			res.Body.Close()
27328		}
27329		return nil, &googleapi.Error{
27330			Code:   res.StatusCode,
27331			Header: res.Header,
27332		}
27333	}
27334	if err != nil {
27335		return nil, err
27336	}
27337	defer googleapi.CloseBody(res)
27338	if err := googleapi.CheckResponse(res); err != nil {
27339		return nil, err
27340	}
27341	ret := &CreativeGroup{
27342		ServerResponse: googleapi.ServerResponse{
27343			Header:         res.Header,
27344			HTTPStatusCode: res.StatusCode,
27345		},
27346	}
27347	target := &ret
27348	if err := gensupport.DecodeResponse(target, res); err != nil {
27349		return nil, err
27350	}
27351	return ret, nil
27352	// {
27353	//   "description": "Inserts a new creative group.",
27354	//   "httpMethod": "POST",
27355	//   "id": "dfareporting.creativeGroups.insert",
27356	//   "parameterOrder": [
27357	//     "profileId"
27358	//   ],
27359	//   "parameters": {
27360	//     "profileId": {
27361	//       "description": "User profile ID associated with this request.",
27362	//       "format": "int64",
27363	//       "location": "path",
27364	//       "required": true,
27365	//       "type": "string"
27366	//     }
27367	//   },
27368	//   "path": "userprofiles/{profileId}/creativeGroups",
27369	//   "request": {
27370	//     "$ref": "CreativeGroup"
27371	//   },
27372	//   "response": {
27373	//     "$ref": "CreativeGroup"
27374	//   },
27375	//   "scopes": [
27376	//     "https://www.googleapis.com/auth/dfatrafficking"
27377	//   ]
27378	// }
27379
27380}
27381
27382// method id "dfareporting.creativeGroups.list":
27383
27384type CreativeGroupsListCall struct {
27385	s            *Service
27386	profileId    int64
27387	urlParams_   gensupport.URLParams
27388	ifNoneMatch_ string
27389	ctx_         context.Context
27390	header_      http.Header
27391}
27392
27393// List: Retrieves a list of creative groups, possibly filtered. This
27394// method supports paging.
27395func (r *CreativeGroupsService) List(profileId int64) *CreativeGroupsListCall {
27396	c := &CreativeGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27397	c.profileId = profileId
27398	return c
27399}
27400
27401// AdvertiserIds sets the optional parameter "advertiserIds": Select
27402// only creative groups that belong to these advertisers.
27403func (c *CreativeGroupsListCall) AdvertiserIds(advertiserIds ...int64) *CreativeGroupsListCall {
27404	var advertiserIds_ []string
27405	for _, v := range advertiserIds {
27406		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
27407	}
27408	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
27409	return c
27410}
27411
27412// GroupNumber sets the optional parameter "groupNumber": Select only
27413// creative groups that belong to this subgroup.
27414func (c *CreativeGroupsListCall) GroupNumber(groupNumber int64) *CreativeGroupsListCall {
27415	c.urlParams_.Set("groupNumber", fmt.Sprint(groupNumber))
27416	return c
27417}
27418
27419// Ids sets the optional parameter "ids": Select only creative groups
27420// with these IDs.
27421func (c *CreativeGroupsListCall) Ids(ids ...int64) *CreativeGroupsListCall {
27422	var ids_ []string
27423	for _, v := range ids {
27424		ids_ = append(ids_, fmt.Sprint(v))
27425	}
27426	c.urlParams_.SetMulti("ids", ids_)
27427	return c
27428}
27429
27430// MaxResults sets the optional parameter "maxResults": Maximum number
27431// of results to return.
27432func (c *CreativeGroupsListCall) MaxResults(maxResults int64) *CreativeGroupsListCall {
27433	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
27434	return c
27435}
27436
27437// PageToken sets the optional parameter "pageToken": Value of the
27438// nextPageToken from the previous result page.
27439func (c *CreativeGroupsListCall) PageToken(pageToken string) *CreativeGroupsListCall {
27440	c.urlParams_.Set("pageToken", pageToken)
27441	return c
27442}
27443
27444// SearchString sets the optional parameter "searchString": Allows
27445// searching for creative groups by name or ID. Wildcards (*) are
27446// allowed. For example, "creativegroup*2015" will return creative
27447// groups with names like "creativegroup June 2015", "creativegroup
27448// April 2015", or simply "creativegroup 2015". Most of the searches
27449// also add wild-cards implicitly at the start and the end of the search
27450// string. For example, a search string of "creativegroup" will match
27451// creative groups with the name "my creativegroup", "creativegroup
27452// 2015", or simply "creativegroup".
27453func (c *CreativeGroupsListCall) SearchString(searchString string) *CreativeGroupsListCall {
27454	c.urlParams_.Set("searchString", searchString)
27455	return c
27456}
27457
27458// SortField sets the optional parameter "sortField": Field by which to
27459// sort the list.
27460//
27461// Possible values:
27462//   "ID" (default)
27463//   "NAME"
27464func (c *CreativeGroupsListCall) SortField(sortField string) *CreativeGroupsListCall {
27465	c.urlParams_.Set("sortField", sortField)
27466	return c
27467}
27468
27469// SortOrder sets the optional parameter "sortOrder": Order of sorted
27470// results.
27471//
27472// Possible values:
27473//   "ASCENDING" (default)
27474//   "DESCENDING"
27475func (c *CreativeGroupsListCall) SortOrder(sortOrder string) *CreativeGroupsListCall {
27476	c.urlParams_.Set("sortOrder", sortOrder)
27477	return c
27478}
27479
27480// Fields allows partial responses to be retrieved. See
27481// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27482// for more information.
27483func (c *CreativeGroupsListCall) Fields(s ...googleapi.Field) *CreativeGroupsListCall {
27484	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27485	return c
27486}
27487
27488// IfNoneMatch sets the optional parameter which makes the operation
27489// fail if the object's ETag matches the given value. This is useful for
27490// getting updates only after the object has changed since the last
27491// request. Use googleapi.IsNotModified to check whether the response
27492// error from Do is the result of In-None-Match.
27493func (c *CreativeGroupsListCall) IfNoneMatch(entityTag string) *CreativeGroupsListCall {
27494	c.ifNoneMatch_ = entityTag
27495	return c
27496}
27497
27498// Context sets the context to be used in this call's Do method. Any
27499// pending HTTP request will be aborted if the provided context is
27500// canceled.
27501func (c *CreativeGroupsListCall) Context(ctx context.Context) *CreativeGroupsListCall {
27502	c.ctx_ = ctx
27503	return c
27504}
27505
27506// Header returns an http.Header that can be modified by the caller to
27507// add HTTP headers to the request.
27508func (c *CreativeGroupsListCall) Header() http.Header {
27509	if c.header_ == nil {
27510		c.header_ = make(http.Header)
27511	}
27512	return c.header_
27513}
27514
27515func (c *CreativeGroupsListCall) doRequest(alt string) (*http.Response, error) {
27516	reqHeaders := make(http.Header)
27517	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27518	for k, v := range c.header_ {
27519		reqHeaders[k] = v
27520	}
27521	reqHeaders.Set("User-Agent", c.s.userAgent())
27522	if c.ifNoneMatch_ != "" {
27523		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
27524	}
27525	var body io.Reader = nil
27526	c.urlParams_.Set("alt", alt)
27527	c.urlParams_.Set("prettyPrint", "false")
27528	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27529	urls += "?" + c.urlParams_.Encode()
27530	req, err := http.NewRequest("GET", urls, body)
27531	if err != nil {
27532		return nil, err
27533	}
27534	req.Header = reqHeaders
27535	googleapi.Expand(req.URL, map[string]string{
27536		"profileId": strconv.FormatInt(c.profileId, 10),
27537	})
27538	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27539}
27540
27541// Do executes the "dfareporting.creativeGroups.list" call.
27542// Exactly one of *CreativeGroupsListResponse or error will be non-nil.
27543// Any non-2xx status code is an error. Response headers are in either
27544// *CreativeGroupsListResponse.ServerResponse.Header or (if a response
27545// was returned at all) in error.(*googleapi.Error).Header. Use
27546// googleapi.IsNotModified to check whether the returned error was
27547// because http.StatusNotModified was returned.
27548func (c *CreativeGroupsListCall) Do(opts ...googleapi.CallOption) (*CreativeGroupsListResponse, error) {
27549	gensupport.SetOptions(c.urlParams_, opts...)
27550	res, err := c.doRequest("json")
27551	if res != nil && res.StatusCode == http.StatusNotModified {
27552		if res.Body != nil {
27553			res.Body.Close()
27554		}
27555		return nil, &googleapi.Error{
27556			Code:   res.StatusCode,
27557			Header: res.Header,
27558		}
27559	}
27560	if err != nil {
27561		return nil, err
27562	}
27563	defer googleapi.CloseBody(res)
27564	if err := googleapi.CheckResponse(res); err != nil {
27565		return nil, err
27566	}
27567	ret := &CreativeGroupsListResponse{
27568		ServerResponse: googleapi.ServerResponse{
27569			Header:         res.Header,
27570			HTTPStatusCode: res.StatusCode,
27571		},
27572	}
27573	target := &ret
27574	if err := gensupport.DecodeResponse(target, res); err != nil {
27575		return nil, err
27576	}
27577	return ret, nil
27578	// {
27579	//   "description": "Retrieves a list of creative groups, possibly filtered. This method supports paging.",
27580	//   "httpMethod": "GET",
27581	//   "id": "dfareporting.creativeGroups.list",
27582	//   "parameterOrder": [
27583	//     "profileId"
27584	//   ],
27585	//   "parameters": {
27586	//     "advertiserIds": {
27587	//       "description": "Select only creative groups that belong to these advertisers.",
27588	//       "format": "int64",
27589	//       "location": "query",
27590	//       "repeated": true,
27591	//       "type": "string"
27592	//     },
27593	//     "groupNumber": {
27594	//       "description": "Select only creative groups that belong to this subgroup.",
27595	//       "format": "int32",
27596	//       "location": "query",
27597	//       "maximum": "2",
27598	//       "minimum": "1",
27599	//       "type": "integer"
27600	//     },
27601	//     "ids": {
27602	//       "description": "Select only creative groups with these IDs.",
27603	//       "format": "int64",
27604	//       "location": "query",
27605	//       "repeated": true,
27606	//       "type": "string"
27607	//     },
27608	//     "maxResults": {
27609	//       "default": "1000",
27610	//       "description": "Maximum number of results to return.",
27611	//       "format": "int32",
27612	//       "location": "query",
27613	//       "maximum": "1000",
27614	//       "minimum": "0",
27615	//       "type": "integer"
27616	//     },
27617	//     "pageToken": {
27618	//       "description": "Value of the nextPageToken from the previous result page.",
27619	//       "location": "query",
27620	//       "type": "string"
27621	//     },
27622	//     "profileId": {
27623	//       "description": "User profile ID associated with this request.",
27624	//       "format": "int64",
27625	//       "location": "path",
27626	//       "required": true,
27627	//       "type": "string"
27628	//     },
27629	//     "searchString": {
27630	//       "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\".",
27631	//       "location": "query",
27632	//       "type": "string"
27633	//     },
27634	//     "sortField": {
27635	//       "default": "ID",
27636	//       "description": "Field by which to sort the list.",
27637	//       "enum": [
27638	//         "ID",
27639	//         "NAME"
27640	//       ],
27641	//       "enumDescriptions": [
27642	//         "",
27643	//         ""
27644	//       ],
27645	//       "location": "query",
27646	//       "type": "string"
27647	//     },
27648	//     "sortOrder": {
27649	//       "default": "ASCENDING",
27650	//       "description": "Order of sorted results.",
27651	//       "enum": [
27652	//         "ASCENDING",
27653	//         "DESCENDING"
27654	//       ],
27655	//       "enumDescriptions": [
27656	//         "",
27657	//         ""
27658	//       ],
27659	//       "location": "query",
27660	//       "type": "string"
27661	//     }
27662	//   },
27663	//   "path": "userprofiles/{profileId}/creativeGroups",
27664	//   "response": {
27665	//     "$ref": "CreativeGroupsListResponse"
27666	//   },
27667	//   "scopes": [
27668	//     "https://www.googleapis.com/auth/dfatrafficking"
27669	//   ]
27670	// }
27671
27672}
27673
27674// Pages invokes f for each page of results.
27675// A non-nil error returned from f will halt the iteration.
27676// The provided context supersedes any context provided to the Context method.
27677func (c *CreativeGroupsListCall) Pages(ctx context.Context, f func(*CreativeGroupsListResponse) error) error {
27678	c.ctx_ = ctx
27679	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
27680	for {
27681		x, err := c.Do()
27682		if err != nil {
27683			return err
27684		}
27685		if err := f(x); err != nil {
27686			return err
27687		}
27688		if x.NextPageToken == "" {
27689			return nil
27690		}
27691		c.PageToken(x.NextPageToken)
27692	}
27693}
27694
27695// method id "dfareporting.creativeGroups.patch":
27696
27697type CreativeGroupsPatchCall struct {
27698	s             *Service
27699	profileId     int64
27700	creativegroup *CreativeGroup
27701	urlParams_    gensupport.URLParams
27702	ctx_          context.Context
27703	header_       http.Header
27704}
27705
27706// Patch: Updates an existing creative group. This method supports patch
27707// semantics.
27708func (r *CreativeGroupsService) Patch(profileId int64, id int64, creativegroup *CreativeGroup) *CreativeGroupsPatchCall {
27709	c := &CreativeGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27710	c.profileId = profileId
27711	c.urlParams_.Set("id", fmt.Sprint(id))
27712	c.creativegroup = creativegroup
27713	return c
27714}
27715
27716// Fields allows partial responses to be retrieved. See
27717// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27718// for more information.
27719func (c *CreativeGroupsPatchCall) Fields(s ...googleapi.Field) *CreativeGroupsPatchCall {
27720	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27721	return c
27722}
27723
27724// Context sets the context to be used in this call's Do method. Any
27725// pending HTTP request will be aborted if the provided context is
27726// canceled.
27727func (c *CreativeGroupsPatchCall) Context(ctx context.Context) *CreativeGroupsPatchCall {
27728	c.ctx_ = ctx
27729	return c
27730}
27731
27732// Header returns an http.Header that can be modified by the caller to
27733// add HTTP headers to the request.
27734func (c *CreativeGroupsPatchCall) Header() http.Header {
27735	if c.header_ == nil {
27736		c.header_ = make(http.Header)
27737	}
27738	return c.header_
27739}
27740
27741func (c *CreativeGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
27742	reqHeaders := make(http.Header)
27743	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27744	for k, v := range c.header_ {
27745		reqHeaders[k] = v
27746	}
27747	reqHeaders.Set("User-Agent", c.s.userAgent())
27748	var body io.Reader = nil
27749	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27750	if err != nil {
27751		return nil, err
27752	}
27753	reqHeaders.Set("Content-Type", "application/json")
27754	c.urlParams_.Set("alt", alt)
27755	c.urlParams_.Set("prettyPrint", "false")
27756	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27757	urls += "?" + c.urlParams_.Encode()
27758	req, err := http.NewRequest("PATCH", urls, body)
27759	if err != nil {
27760		return nil, err
27761	}
27762	req.Header = reqHeaders
27763	googleapi.Expand(req.URL, map[string]string{
27764		"profileId": strconv.FormatInt(c.profileId, 10),
27765	})
27766	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27767}
27768
27769// Do executes the "dfareporting.creativeGroups.patch" call.
27770// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27771// status code is an error. Response headers are in either
27772// *CreativeGroup.ServerResponse.Header or (if a response was returned
27773// at all) in error.(*googleapi.Error).Header. Use
27774// googleapi.IsNotModified to check whether the returned error was
27775// because http.StatusNotModified was returned.
27776func (c *CreativeGroupsPatchCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27777	gensupport.SetOptions(c.urlParams_, opts...)
27778	res, err := c.doRequest("json")
27779	if res != nil && res.StatusCode == http.StatusNotModified {
27780		if res.Body != nil {
27781			res.Body.Close()
27782		}
27783		return nil, &googleapi.Error{
27784			Code:   res.StatusCode,
27785			Header: res.Header,
27786		}
27787	}
27788	if err != nil {
27789		return nil, err
27790	}
27791	defer googleapi.CloseBody(res)
27792	if err := googleapi.CheckResponse(res); err != nil {
27793		return nil, err
27794	}
27795	ret := &CreativeGroup{
27796		ServerResponse: googleapi.ServerResponse{
27797			Header:         res.Header,
27798			HTTPStatusCode: res.StatusCode,
27799		},
27800	}
27801	target := &ret
27802	if err := gensupport.DecodeResponse(target, res); err != nil {
27803		return nil, err
27804	}
27805	return ret, nil
27806	// {
27807	//   "description": "Updates an existing creative group. This method supports patch semantics.",
27808	//   "httpMethod": "PATCH",
27809	//   "id": "dfareporting.creativeGroups.patch",
27810	//   "parameterOrder": [
27811	//     "profileId",
27812	//     "id"
27813	//   ],
27814	//   "parameters": {
27815	//     "id": {
27816	//       "description": "Creative group ID.",
27817	//       "format": "int64",
27818	//       "location": "query",
27819	//       "required": true,
27820	//       "type": "string"
27821	//     },
27822	//     "profileId": {
27823	//       "description": "User profile ID associated with this request.",
27824	//       "format": "int64",
27825	//       "location": "path",
27826	//       "required": true,
27827	//       "type": "string"
27828	//     }
27829	//   },
27830	//   "path": "userprofiles/{profileId}/creativeGroups",
27831	//   "request": {
27832	//     "$ref": "CreativeGroup"
27833	//   },
27834	//   "response": {
27835	//     "$ref": "CreativeGroup"
27836	//   },
27837	//   "scopes": [
27838	//     "https://www.googleapis.com/auth/dfatrafficking"
27839	//   ]
27840	// }
27841
27842}
27843
27844// method id "dfareporting.creativeGroups.update":
27845
27846type CreativeGroupsUpdateCall struct {
27847	s             *Service
27848	profileId     int64
27849	creativegroup *CreativeGroup
27850	urlParams_    gensupport.URLParams
27851	ctx_          context.Context
27852	header_       http.Header
27853}
27854
27855// Update: Updates an existing creative group.
27856func (r *CreativeGroupsService) Update(profileId int64, creativegroup *CreativeGroup) *CreativeGroupsUpdateCall {
27857	c := &CreativeGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27858	c.profileId = profileId
27859	c.creativegroup = creativegroup
27860	return c
27861}
27862
27863// Fields allows partial responses to be retrieved. See
27864// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
27865// for more information.
27866func (c *CreativeGroupsUpdateCall) Fields(s ...googleapi.Field) *CreativeGroupsUpdateCall {
27867	c.urlParams_.Set("fields", googleapi.CombineFields(s))
27868	return c
27869}
27870
27871// Context sets the context to be used in this call's Do method. Any
27872// pending HTTP request will be aborted if the provided context is
27873// canceled.
27874func (c *CreativeGroupsUpdateCall) Context(ctx context.Context) *CreativeGroupsUpdateCall {
27875	c.ctx_ = ctx
27876	return c
27877}
27878
27879// Header returns an http.Header that can be modified by the caller to
27880// add HTTP headers to the request.
27881func (c *CreativeGroupsUpdateCall) Header() http.Header {
27882	if c.header_ == nil {
27883		c.header_ = make(http.Header)
27884	}
27885	return c.header_
27886}
27887
27888func (c *CreativeGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
27889	reqHeaders := make(http.Header)
27890	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
27891	for k, v := range c.header_ {
27892		reqHeaders[k] = v
27893	}
27894	reqHeaders.Set("User-Agent", c.s.userAgent())
27895	var body io.Reader = nil
27896	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creativegroup)
27897	if err != nil {
27898		return nil, err
27899	}
27900	reqHeaders.Set("Content-Type", "application/json")
27901	c.urlParams_.Set("alt", alt)
27902	c.urlParams_.Set("prettyPrint", "false")
27903	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creativeGroups")
27904	urls += "?" + c.urlParams_.Encode()
27905	req, err := http.NewRequest("PUT", urls, body)
27906	if err != nil {
27907		return nil, err
27908	}
27909	req.Header = reqHeaders
27910	googleapi.Expand(req.URL, map[string]string{
27911		"profileId": strconv.FormatInt(c.profileId, 10),
27912	})
27913	return gensupport.SendRequest(c.ctx_, c.s.client, req)
27914}
27915
27916// Do executes the "dfareporting.creativeGroups.update" call.
27917// Exactly one of *CreativeGroup or error will be non-nil. Any non-2xx
27918// status code is an error. Response headers are in either
27919// *CreativeGroup.ServerResponse.Header or (if a response was returned
27920// at all) in error.(*googleapi.Error).Header. Use
27921// googleapi.IsNotModified to check whether the returned error was
27922// because http.StatusNotModified was returned.
27923func (c *CreativeGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*CreativeGroup, error) {
27924	gensupport.SetOptions(c.urlParams_, opts...)
27925	res, err := c.doRequest("json")
27926	if res != nil && res.StatusCode == http.StatusNotModified {
27927		if res.Body != nil {
27928			res.Body.Close()
27929		}
27930		return nil, &googleapi.Error{
27931			Code:   res.StatusCode,
27932			Header: res.Header,
27933		}
27934	}
27935	if err != nil {
27936		return nil, err
27937	}
27938	defer googleapi.CloseBody(res)
27939	if err := googleapi.CheckResponse(res); err != nil {
27940		return nil, err
27941	}
27942	ret := &CreativeGroup{
27943		ServerResponse: googleapi.ServerResponse{
27944			Header:         res.Header,
27945			HTTPStatusCode: res.StatusCode,
27946		},
27947	}
27948	target := &ret
27949	if err := gensupport.DecodeResponse(target, res); err != nil {
27950		return nil, err
27951	}
27952	return ret, nil
27953	// {
27954	//   "description": "Updates an existing creative group.",
27955	//   "httpMethod": "PUT",
27956	//   "id": "dfareporting.creativeGroups.update",
27957	//   "parameterOrder": [
27958	//     "profileId"
27959	//   ],
27960	//   "parameters": {
27961	//     "profileId": {
27962	//       "description": "User profile ID associated with this request.",
27963	//       "format": "int64",
27964	//       "location": "path",
27965	//       "required": true,
27966	//       "type": "string"
27967	//     }
27968	//   },
27969	//   "path": "userprofiles/{profileId}/creativeGroups",
27970	//   "request": {
27971	//     "$ref": "CreativeGroup"
27972	//   },
27973	//   "response": {
27974	//     "$ref": "CreativeGroup"
27975	//   },
27976	//   "scopes": [
27977	//     "https://www.googleapis.com/auth/dfatrafficking"
27978	//   ]
27979	// }
27980
27981}
27982
27983// method id "dfareporting.creatives.get":
27984
27985type CreativesGetCall struct {
27986	s            *Service
27987	profileId    int64
27988	id           int64
27989	urlParams_   gensupport.URLParams
27990	ifNoneMatch_ string
27991	ctx_         context.Context
27992	header_      http.Header
27993}
27994
27995// Get: Gets one creative by ID.
27996func (r *CreativesService) Get(profileId int64, id int64) *CreativesGetCall {
27997	c := &CreativesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
27998	c.profileId = profileId
27999	c.id = id
28000	return c
28001}
28002
28003// Fields allows partial responses to be retrieved. See
28004// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28005// for more information.
28006func (c *CreativesGetCall) Fields(s ...googleapi.Field) *CreativesGetCall {
28007	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28008	return c
28009}
28010
28011// IfNoneMatch sets the optional parameter which makes the operation
28012// fail if the object's ETag matches the given value. This is useful for
28013// getting updates only after the object has changed since the last
28014// request. Use googleapi.IsNotModified to check whether the response
28015// error from Do is the result of In-None-Match.
28016func (c *CreativesGetCall) IfNoneMatch(entityTag string) *CreativesGetCall {
28017	c.ifNoneMatch_ = entityTag
28018	return c
28019}
28020
28021// Context sets the context to be used in this call's Do method. Any
28022// pending HTTP request will be aborted if the provided context is
28023// canceled.
28024func (c *CreativesGetCall) Context(ctx context.Context) *CreativesGetCall {
28025	c.ctx_ = ctx
28026	return c
28027}
28028
28029// Header returns an http.Header that can be modified by the caller to
28030// add HTTP headers to the request.
28031func (c *CreativesGetCall) Header() http.Header {
28032	if c.header_ == nil {
28033		c.header_ = make(http.Header)
28034	}
28035	return c.header_
28036}
28037
28038func (c *CreativesGetCall) doRequest(alt string) (*http.Response, error) {
28039	reqHeaders := make(http.Header)
28040	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28041	for k, v := range c.header_ {
28042		reqHeaders[k] = v
28043	}
28044	reqHeaders.Set("User-Agent", c.s.userAgent())
28045	if c.ifNoneMatch_ != "" {
28046		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28047	}
28048	var body io.Reader = nil
28049	c.urlParams_.Set("alt", alt)
28050	c.urlParams_.Set("prettyPrint", "false")
28051	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives/{id}")
28052	urls += "?" + c.urlParams_.Encode()
28053	req, err := http.NewRequest("GET", urls, body)
28054	if err != nil {
28055		return nil, err
28056	}
28057	req.Header = reqHeaders
28058	googleapi.Expand(req.URL, map[string]string{
28059		"profileId": strconv.FormatInt(c.profileId, 10),
28060		"id":        strconv.FormatInt(c.id, 10),
28061	})
28062	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28063}
28064
28065// Do executes the "dfareporting.creatives.get" call.
28066// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28067// code is an error. Response headers are in either
28068// *Creative.ServerResponse.Header or (if a response was returned at
28069// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28070// to check whether the returned error was because
28071// http.StatusNotModified was returned.
28072func (c *CreativesGetCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28073	gensupport.SetOptions(c.urlParams_, opts...)
28074	res, err := c.doRequest("json")
28075	if res != nil && res.StatusCode == http.StatusNotModified {
28076		if res.Body != nil {
28077			res.Body.Close()
28078		}
28079		return nil, &googleapi.Error{
28080			Code:   res.StatusCode,
28081			Header: res.Header,
28082		}
28083	}
28084	if err != nil {
28085		return nil, err
28086	}
28087	defer googleapi.CloseBody(res)
28088	if err := googleapi.CheckResponse(res); err != nil {
28089		return nil, err
28090	}
28091	ret := &Creative{
28092		ServerResponse: googleapi.ServerResponse{
28093			Header:         res.Header,
28094			HTTPStatusCode: res.StatusCode,
28095		},
28096	}
28097	target := &ret
28098	if err := gensupport.DecodeResponse(target, res); err != nil {
28099		return nil, err
28100	}
28101	return ret, nil
28102	// {
28103	//   "description": "Gets one creative by ID.",
28104	//   "httpMethod": "GET",
28105	//   "id": "dfareporting.creatives.get",
28106	//   "parameterOrder": [
28107	//     "profileId",
28108	//     "id"
28109	//   ],
28110	//   "parameters": {
28111	//     "id": {
28112	//       "description": "Creative ID.",
28113	//       "format": "int64",
28114	//       "location": "path",
28115	//       "required": true,
28116	//       "type": "string"
28117	//     },
28118	//     "profileId": {
28119	//       "description": "User profile ID associated with this request.",
28120	//       "format": "int64",
28121	//       "location": "path",
28122	//       "required": true,
28123	//       "type": "string"
28124	//     }
28125	//   },
28126	//   "path": "userprofiles/{profileId}/creatives/{id}",
28127	//   "response": {
28128	//     "$ref": "Creative"
28129	//   },
28130	//   "scopes": [
28131	//     "https://www.googleapis.com/auth/dfatrafficking"
28132	//   ]
28133	// }
28134
28135}
28136
28137// method id "dfareporting.creatives.insert":
28138
28139type CreativesInsertCall struct {
28140	s          *Service
28141	profileId  int64
28142	creative   *Creative
28143	urlParams_ gensupport.URLParams
28144	ctx_       context.Context
28145	header_    http.Header
28146}
28147
28148// Insert: Inserts a new creative.
28149func (r *CreativesService) Insert(profileId int64, creative *Creative) *CreativesInsertCall {
28150	c := &CreativesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28151	c.profileId = profileId
28152	c.creative = creative
28153	return c
28154}
28155
28156// Fields allows partial responses to be retrieved. See
28157// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28158// for more information.
28159func (c *CreativesInsertCall) Fields(s ...googleapi.Field) *CreativesInsertCall {
28160	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28161	return c
28162}
28163
28164// Context sets the context to be used in this call's Do method. Any
28165// pending HTTP request will be aborted if the provided context is
28166// canceled.
28167func (c *CreativesInsertCall) Context(ctx context.Context) *CreativesInsertCall {
28168	c.ctx_ = ctx
28169	return c
28170}
28171
28172// Header returns an http.Header that can be modified by the caller to
28173// add HTTP headers to the request.
28174func (c *CreativesInsertCall) Header() http.Header {
28175	if c.header_ == nil {
28176		c.header_ = make(http.Header)
28177	}
28178	return c.header_
28179}
28180
28181func (c *CreativesInsertCall) doRequest(alt string) (*http.Response, error) {
28182	reqHeaders := make(http.Header)
28183	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28184	for k, v := range c.header_ {
28185		reqHeaders[k] = v
28186	}
28187	reqHeaders.Set("User-Agent", c.s.userAgent())
28188	var body io.Reader = nil
28189	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28190	if err != nil {
28191		return nil, err
28192	}
28193	reqHeaders.Set("Content-Type", "application/json")
28194	c.urlParams_.Set("alt", alt)
28195	c.urlParams_.Set("prettyPrint", "false")
28196	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28197	urls += "?" + c.urlParams_.Encode()
28198	req, err := http.NewRequest("POST", urls, body)
28199	if err != nil {
28200		return nil, err
28201	}
28202	req.Header = reqHeaders
28203	googleapi.Expand(req.URL, map[string]string{
28204		"profileId": strconv.FormatInt(c.profileId, 10),
28205	})
28206	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28207}
28208
28209// Do executes the "dfareporting.creatives.insert" call.
28210// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28211// code is an error. Response headers are in either
28212// *Creative.ServerResponse.Header or (if a response was returned at
28213// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28214// to check whether the returned error was because
28215// http.StatusNotModified was returned.
28216func (c *CreativesInsertCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28217	gensupport.SetOptions(c.urlParams_, opts...)
28218	res, err := c.doRequest("json")
28219	if res != nil && res.StatusCode == http.StatusNotModified {
28220		if res.Body != nil {
28221			res.Body.Close()
28222		}
28223		return nil, &googleapi.Error{
28224			Code:   res.StatusCode,
28225			Header: res.Header,
28226		}
28227	}
28228	if err != nil {
28229		return nil, err
28230	}
28231	defer googleapi.CloseBody(res)
28232	if err := googleapi.CheckResponse(res); err != nil {
28233		return nil, err
28234	}
28235	ret := &Creative{
28236		ServerResponse: googleapi.ServerResponse{
28237			Header:         res.Header,
28238			HTTPStatusCode: res.StatusCode,
28239		},
28240	}
28241	target := &ret
28242	if err := gensupport.DecodeResponse(target, res); err != nil {
28243		return nil, err
28244	}
28245	return ret, nil
28246	// {
28247	//   "description": "Inserts a new creative.",
28248	//   "httpMethod": "POST",
28249	//   "id": "dfareporting.creatives.insert",
28250	//   "parameterOrder": [
28251	//     "profileId"
28252	//   ],
28253	//   "parameters": {
28254	//     "profileId": {
28255	//       "description": "User profile ID associated with this request.",
28256	//       "format": "int64",
28257	//       "location": "path",
28258	//       "required": true,
28259	//       "type": "string"
28260	//     }
28261	//   },
28262	//   "path": "userprofiles/{profileId}/creatives",
28263	//   "request": {
28264	//     "$ref": "Creative"
28265	//   },
28266	//   "response": {
28267	//     "$ref": "Creative"
28268	//   },
28269	//   "scopes": [
28270	//     "https://www.googleapis.com/auth/dfatrafficking"
28271	//   ]
28272	// }
28273
28274}
28275
28276// method id "dfareporting.creatives.list":
28277
28278type CreativesListCall struct {
28279	s            *Service
28280	profileId    int64
28281	urlParams_   gensupport.URLParams
28282	ifNoneMatch_ string
28283	ctx_         context.Context
28284	header_      http.Header
28285}
28286
28287// List: Retrieves a list of creatives, possibly filtered. This method
28288// supports paging.
28289func (r *CreativesService) List(profileId int64) *CreativesListCall {
28290	c := &CreativesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28291	c.profileId = profileId
28292	return c
28293}
28294
28295// Active sets the optional parameter "active": Select only active
28296// creatives. Leave blank to select active and inactive creatives.
28297func (c *CreativesListCall) Active(active bool) *CreativesListCall {
28298	c.urlParams_.Set("active", fmt.Sprint(active))
28299	return c
28300}
28301
28302// AdvertiserId sets the optional parameter "advertiserId": Select only
28303// creatives with this advertiser ID.
28304func (c *CreativesListCall) AdvertiserId(advertiserId int64) *CreativesListCall {
28305	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
28306	return c
28307}
28308
28309// Archived sets the optional parameter "archived": Select only archived
28310// creatives. Leave blank to select archived and unarchived creatives.
28311func (c *CreativesListCall) Archived(archived bool) *CreativesListCall {
28312	c.urlParams_.Set("archived", fmt.Sprint(archived))
28313	return c
28314}
28315
28316// CampaignId sets the optional parameter "campaignId": Select only
28317// creatives with this campaign ID.
28318func (c *CreativesListCall) CampaignId(campaignId int64) *CreativesListCall {
28319	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
28320	return c
28321}
28322
28323// CompanionCreativeIds sets the optional parameter
28324// "companionCreativeIds": Select only in-stream video creatives with
28325// these companion IDs.
28326func (c *CreativesListCall) CompanionCreativeIds(companionCreativeIds ...int64) *CreativesListCall {
28327	var companionCreativeIds_ []string
28328	for _, v := range companionCreativeIds {
28329		companionCreativeIds_ = append(companionCreativeIds_, fmt.Sprint(v))
28330	}
28331	c.urlParams_.SetMulti("companionCreativeIds", companionCreativeIds_)
28332	return c
28333}
28334
28335// CreativeFieldIds sets the optional parameter "creativeFieldIds":
28336// Select only creatives with these creative field IDs.
28337func (c *CreativesListCall) CreativeFieldIds(creativeFieldIds ...int64) *CreativesListCall {
28338	var creativeFieldIds_ []string
28339	for _, v := range creativeFieldIds {
28340		creativeFieldIds_ = append(creativeFieldIds_, fmt.Sprint(v))
28341	}
28342	c.urlParams_.SetMulti("creativeFieldIds", creativeFieldIds_)
28343	return c
28344}
28345
28346// Ids sets the optional parameter "ids": Select only creatives with
28347// these IDs.
28348func (c *CreativesListCall) Ids(ids ...int64) *CreativesListCall {
28349	var ids_ []string
28350	for _, v := range ids {
28351		ids_ = append(ids_, fmt.Sprint(v))
28352	}
28353	c.urlParams_.SetMulti("ids", ids_)
28354	return c
28355}
28356
28357// MaxResults sets the optional parameter "maxResults": Maximum number
28358// of results to return.
28359func (c *CreativesListCall) MaxResults(maxResults int64) *CreativesListCall {
28360	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
28361	return c
28362}
28363
28364// PageToken sets the optional parameter "pageToken": Value of the
28365// nextPageToken from the previous result page.
28366func (c *CreativesListCall) PageToken(pageToken string) *CreativesListCall {
28367	c.urlParams_.Set("pageToken", pageToken)
28368	return c
28369}
28370
28371// RenderingIds sets the optional parameter "renderingIds": Select only
28372// creatives with these rendering IDs.
28373func (c *CreativesListCall) RenderingIds(renderingIds ...int64) *CreativesListCall {
28374	var renderingIds_ []string
28375	for _, v := range renderingIds {
28376		renderingIds_ = append(renderingIds_, fmt.Sprint(v))
28377	}
28378	c.urlParams_.SetMulti("renderingIds", renderingIds_)
28379	return c
28380}
28381
28382// SearchString sets the optional parameter "searchString": Allows
28383// searching for objects by name or ID. Wildcards (*) are allowed. For
28384// example, "creative*2015" will return objects with names like
28385// "creative June 2015", "creative April 2015", or simply "creative
28386// 2015". Most of the searches also add wildcards implicitly at the
28387// start and the end of the search string. For example, a search string
28388// of "creative" will match objects with name "my creative", "creative
28389// 2015", or simply "creative".
28390func (c *CreativesListCall) SearchString(searchString string) *CreativesListCall {
28391	c.urlParams_.Set("searchString", searchString)
28392	return c
28393}
28394
28395// SizeIds sets the optional parameter "sizeIds": Select only creatives
28396// with these size IDs.
28397func (c *CreativesListCall) SizeIds(sizeIds ...int64) *CreativesListCall {
28398	var sizeIds_ []string
28399	for _, v := range sizeIds {
28400		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
28401	}
28402	c.urlParams_.SetMulti("sizeIds", sizeIds_)
28403	return c
28404}
28405
28406// SortField sets the optional parameter "sortField": Field by which to
28407// sort the list.
28408//
28409// Possible values:
28410//   "ID" (default)
28411//   "NAME"
28412func (c *CreativesListCall) SortField(sortField string) *CreativesListCall {
28413	c.urlParams_.Set("sortField", sortField)
28414	return c
28415}
28416
28417// SortOrder sets the optional parameter "sortOrder": Order of sorted
28418// results.
28419//
28420// Possible values:
28421//   "ASCENDING" (default)
28422//   "DESCENDING"
28423func (c *CreativesListCall) SortOrder(sortOrder string) *CreativesListCall {
28424	c.urlParams_.Set("sortOrder", sortOrder)
28425	return c
28426}
28427
28428// StudioCreativeId sets the optional parameter "studioCreativeId":
28429// Select only creatives corresponding to this Studio creative ID.
28430func (c *CreativesListCall) StudioCreativeId(studioCreativeId int64) *CreativesListCall {
28431	c.urlParams_.Set("studioCreativeId", fmt.Sprint(studioCreativeId))
28432	return c
28433}
28434
28435// Types sets the optional parameter "types": Select only creatives with
28436// these creative types.
28437//
28438// Possible values:
28439//   "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO"
28440//   "CUSTOM_DISPLAY"
28441//   "CUSTOM_DISPLAY_INTERSTITIAL"
28442//   "DISPLAY"
28443//   "DISPLAY_IMAGE_GALLERY"
28444//   "DISPLAY_REDIRECT"
28445//   "FLASH_INPAGE"
28446//   "HTML5_BANNER"
28447//   "IMAGE"
28448//   "INSTREAM_AUDIO"
28449//   "INSTREAM_VIDEO"
28450//   "INSTREAM_VIDEO_REDIRECT"
28451//   "INTERNAL_REDIRECT"
28452//   "INTERSTITIAL_INTERNAL_REDIRECT"
28453//   "RICH_MEDIA_DISPLAY_BANNER"
28454//   "RICH_MEDIA_DISPLAY_EXPANDING"
28455//   "RICH_MEDIA_DISPLAY_INTERSTITIAL"
28456//   "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL"
28457//   "RICH_MEDIA_IM_EXPAND"
28458//   "RICH_MEDIA_INPAGE_FLOATING"
28459//   "RICH_MEDIA_MOBILE_IN_APP"
28460//   "RICH_MEDIA_PEEL_DOWN"
28461//   "TRACKING_TEXT"
28462//   "VPAID_LINEAR_VIDEO"
28463//   "VPAID_NON_LINEAR_VIDEO"
28464func (c *CreativesListCall) Types(types ...string) *CreativesListCall {
28465	c.urlParams_.SetMulti("types", append([]string{}, types...))
28466	return c
28467}
28468
28469// Fields allows partial responses to be retrieved. See
28470// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28471// for more information.
28472func (c *CreativesListCall) Fields(s ...googleapi.Field) *CreativesListCall {
28473	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28474	return c
28475}
28476
28477// IfNoneMatch sets the optional parameter which makes the operation
28478// fail if the object's ETag matches the given value. This is useful for
28479// getting updates only after the object has changed since the last
28480// request. Use googleapi.IsNotModified to check whether the response
28481// error from Do is the result of In-None-Match.
28482func (c *CreativesListCall) IfNoneMatch(entityTag string) *CreativesListCall {
28483	c.ifNoneMatch_ = entityTag
28484	return c
28485}
28486
28487// Context sets the context to be used in this call's Do method. Any
28488// pending HTTP request will be aborted if the provided context is
28489// canceled.
28490func (c *CreativesListCall) Context(ctx context.Context) *CreativesListCall {
28491	c.ctx_ = ctx
28492	return c
28493}
28494
28495// Header returns an http.Header that can be modified by the caller to
28496// add HTTP headers to the request.
28497func (c *CreativesListCall) Header() http.Header {
28498	if c.header_ == nil {
28499		c.header_ = make(http.Header)
28500	}
28501	return c.header_
28502}
28503
28504func (c *CreativesListCall) doRequest(alt string) (*http.Response, error) {
28505	reqHeaders := make(http.Header)
28506	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28507	for k, v := range c.header_ {
28508		reqHeaders[k] = v
28509	}
28510	reqHeaders.Set("User-Agent", c.s.userAgent())
28511	if c.ifNoneMatch_ != "" {
28512		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
28513	}
28514	var body io.Reader = nil
28515	c.urlParams_.Set("alt", alt)
28516	c.urlParams_.Set("prettyPrint", "false")
28517	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28518	urls += "?" + c.urlParams_.Encode()
28519	req, err := http.NewRequest("GET", urls, body)
28520	if err != nil {
28521		return nil, err
28522	}
28523	req.Header = reqHeaders
28524	googleapi.Expand(req.URL, map[string]string{
28525		"profileId": strconv.FormatInt(c.profileId, 10),
28526	})
28527	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28528}
28529
28530// Do executes the "dfareporting.creatives.list" call.
28531// Exactly one of *CreativesListResponse or error will be non-nil. Any
28532// non-2xx status code is an error. Response headers are in either
28533// *CreativesListResponse.ServerResponse.Header or (if a response was
28534// returned at all) in error.(*googleapi.Error).Header. Use
28535// googleapi.IsNotModified to check whether the returned error was
28536// because http.StatusNotModified was returned.
28537func (c *CreativesListCall) Do(opts ...googleapi.CallOption) (*CreativesListResponse, error) {
28538	gensupport.SetOptions(c.urlParams_, opts...)
28539	res, err := c.doRequest("json")
28540	if res != nil && res.StatusCode == http.StatusNotModified {
28541		if res.Body != nil {
28542			res.Body.Close()
28543		}
28544		return nil, &googleapi.Error{
28545			Code:   res.StatusCode,
28546			Header: res.Header,
28547		}
28548	}
28549	if err != nil {
28550		return nil, err
28551	}
28552	defer googleapi.CloseBody(res)
28553	if err := googleapi.CheckResponse(res); err != nil {
28554		return nil, err
28555	}
28556	ret := &CreativesListResponse{
28557		ServerResponse: googleapi.ServerResponse{
28558			Header:         res.Header,
28559			HTTPStatusCode: res.StatusCode,
28560		},
28561	}
28562	target := &ret
28563	if err := gensupport.DecodeResponse(target, res); err != nil {
28564		return nil, err
28565	}
28566	return ret, nil
28567	// {
28568	//   "description": "Retrieves a list of creatives, possibly filtered. This method supports paging.",
28569	//   "httpMethod": "GET",
28570	//   "id": "dfareporting.creatives.list",
28571	//   "parameterOrder": [
28572	//     "profileId"
28573	//   ],
28574	//   "parameters": {
28575	//     "active": {
28576	//       "description": "Select only active creatives. Leave blank to select active and inactive creatives.",
28577	//       "location": "query",
28578	//       "type": "boolean"
28579	//     },
28580	//     "advertiserId": {
28581	//       "description": "Select only creatives with this advertiser ID.",
28582	//       "format": "int64",
28583	//       "location": "query",
28584	//       "type": "string"
28585	//     },
28586	//     "archived": {
28587	//       "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.",
28588	//       "location": "query",
28589	//       "type": "boolean"
28590	//     },
28591	//     "campaignId": {
28592	//       "description": "Select only creatives with this campaign ID.",
28593	//       "format": "int64",
28594	//       "location": "query",
28595	//       "type": "string"
28596	//     },
28597	//     "companionCreativeIds": {
28598	//       "description": "Select only in-stream video creatives with these companion IDs.",
28599	//       "format": "int64",
28600	//       "location": "query",
28601	//       "repeated": true,
28602	//       "type": "string"
28603	//     },
28604	//     "creativeFieldIds": {
28605	//       "description": "Select only creatives with these creative field IDs.",
28606	//       "format": "int64",
28607	//       "location": "query",
28608	//       "repeated": true,
28609	//       "type": "string"
28610	//     },
28611	//     "ids": {
28612	//       "description": "Select only creatives with these IDs.",
28613	//       "format": "int64",
28614	//       "location": "query",
28615	//       "repeated": true,
28616	//       "type": "string"
28617	//     },
28618	//     "maxResults": {
28619	//       "default": "1000",
28620	//       "description": "Maximum number of results to return.",
28621	//       "format": "int32",
28622	//       "location": "query",
28623	//       "maximum": "1000",
28624	//       "minimum": "0",
28625	//       "type": "integer"
28626	//     },
28627	//     "pageToken": {
28628	//       "description": "Value of the nextPageToken from the previous result page.",
28629	//       "location": "query",
28630	//       "type": "string"
28631	//     },
28632	//     "profileId": {
28633	//       "description": "User profile ID associated with this request.",
28634	//       "format": "int64",
28635	//       "location": "path",
28636	//       "required": true,
28637	//       "type": "string"
28638	//     },
28639	//     "renderingIds": {
28640	//       "description": "Select only creatives with these rendering IDs.",
28641	//       "format": "int64",
28642	//       "location": "query",
28643	//       "repeated": true,
28644	//       "type": "string"
28645	//     },
28646	//     "searchString": {
28647	//       "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\".",
28648	//       "location": "query",
28649	//       "type": "string"
28650	//     },
28651	//     "sizeIds": {
28652	//       "description": "Select only creatives with these size IDs.",
28653	//       "format": "int64",
28654	//       "location": "query",
28655	//       "repeated": true,
28656	//       "type": "string"
28657	//     },
28658	//     "sortField": {
28659	//       "default": "ID",
28660	//       "description": "Field by which to sort the list.",
28661	//       "enum": [
28662	//         "ID",
28663	//         "NAME"
28664	//       ],
28665	//       "enumDescriptions": [
28666	//         "",
28667	//         ""
28668	//       ],
28669	//       "location": "query",
28670	//       "type": "string"
28671	//     },
28672	//     "sortOrder": {
28673	//       "default": "ASCENDING",
28674	//       "description": "Order of sorted results.",
28675	//       "enum": [
28676	//         "ASCENDING",
28677	//         "DESCENDING"
28678	//       ],
28679	//       "enumDescriptions": [
28680	//         "",
28681	//         ""
28682	//       ],
28683	//       "location": "query",
28684	//       "type": "string"
28685	//     },
28686	//     "studioCreativeId": {
28687	//       "description": "Select only creatives corresponding to this Studio creative ID.",
28688	//       "format": "int64",
28689	//       "location": "query",
28690	//       "type": "string"
28691	//     },
28692	//     "types": {
28693	//       "description": "Select only creatives with these creative types.",
28694	//       "enum": [
28695	//         "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO",
28696	//         "CUSTOM_DISPLAY",
28697	//         "CUSTOM_DISPLAY_INTERSTITIAL",
28698	//         "DISPLAY",
28699	//         "DISPLAY_IMAGE_GALLERY",
28700	//         "DISPLAY_REDIRECT",
28701	//         "FLASH_INPAGE",
28702	//         "HTML5_BANNER",
28703	//         "IMAGE",
28704	//         "INSTREAM_AUDIO",
28705	//         "INSTREAM_VIDEO",
28706	//         "INSTREAM_VIDEO_REDIRECT",
28707	//         "INTERNAL_REDIRECT",
28708	//         "INTERSTITIAL_INTERNAL_REDIRECT",
28709	//         "RICH_MEDIA_DISPLAY_BANNER",
28710	//         "RICH_MEDIA_DISPLAY_EXPANDING",
28711	//         "RICH_MEDIA_DISPLAY_INTERSTITIAL",
28712	//         "RICH_MEDIA_DISPLAY_MULTI_FLOATING_INTERSTITIAL",
28713	//         "RICH_MEDIA_IM_EXPAND",
28714	//         "RICH_MEDIA_INPAGE_FLOATING",
28715	//         "RICH_MEDIA_MOBILE_IN_APP",
28716	//         "RICH_MEDIA_PEEL_DOWN",
28717	//         "TRACKING_TEXT",
28718	//         "VPAID_LINEAR_VIDEO",
28719	//         "VPAID_NON_LINEAR_VIDEO"
28720	//       ],
28721	//       "enumDescriptions": [
28722	//         "",
28723	//         "",
28724	//         "",
28725	//         "",
28726	//         "",
28727	//         "",
28728	//         "",
28729	//         "",
28730	//         "",
28731	//         "",
28732	//         "",
28733	//         "",
28734	//         "",
28735	//         "",
28736	//         "",
28737	//         "",
28738	//         "",
28739	//         "",
28740	//         "",
28741	//         "",
28742	//         "",
28743	//         "",
28744	//         "",
28745	//         "",
28746	//         ""
28747	//       ],
28748	//       "location": "query",
28749	//       "repeated": true,
28750	//       "type": "string"
28751	//     }
28752	//   },
28753	//   "path": "userprofiles/{profileId}/creatives",
28754	//   "response": {
28755	//     "$ref": "CreativesListResponse"
28756	//   },
28757	//   "scopes": [
28758	//     "https://www.googleapis.com/auth/dfatrafficking"
28759	//   ]
28760	// }
28761
28762}
28763
28764// Pages invokes f for each page of results.
28765// A non-nil error returned from f will halt the iteration.
28766// The provided context supersedes any context provided to the Context method.
28767func (c *CreativesListCall) Pages(ctx context.Context, f func(*CreativesListResponse) error) error {
28768	c.ctx_ = ctx
28769	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
28770	for {
28771		x, err := c.Do()
28772		if err != nil {
28773			return err
28774		}
28775		if err := f(x); err != nil {
28776			return err
28777		}
28778		if x.NextPageToken == "" {
28779			return nil
28780		}
28781		c.PageToken(x.NextPageToken)
28782	}
28783}
28784
28785// method id "dfareporting.creatives.patch":
28786
28787type CreativesPatchCall struct {
28788	s          *Service
28789	profileId  int64
28790	creative   *Creative
28791	urlParams_ gensupport.URLParams
28792	ctx_       context.Context
28793	header_    http.Header
28794}
28795
28796// Patch: Updates an existing creative. This method supports patch
28797// semantics.
28798func (r *CreativesService) Patch(profileId int64, id int64, creative *Creative) *CreativesPatchCall {
28799	c := &CreativesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28800	c.profileId = profileId
28801	c.urlParams_.Set("id", fmt.Sprint(id))
28802	c.creative = creative
28803	return c
28804}
28805
28806// Fields allows partial responses to be retrieved. See
28807// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28808// for more information.
28809func (c *CreativesPatchCall) Fields(s ...googleapi.Field) *CreativesPatchCall {
28810	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28811	return c
28812}
28813
28814// Context sets the context to be used in this call's Do method. Any
28815// pending HTTP request will be aborted if the provided context is
28816// canceled.
28817func (c *CreativesPatchCall) Context(ctx context.Context) *CreativesPatchCall {
28818	c.ctx_ = ctx
28819	return c
28820}
28821
28822// Header returns an http.Header that can be modified by the caller to
28823// add HTTP headers to the request.
28824func (c *CreativesPatchCall) Header() http.Header {
28825	if c.header_ == nil {
28826		c.header_ = make(http.Header)
28827	}
28828	return c.header_
28829}
28830
28831func (c *CreativesPatchCall) doRequest(alt string) (*http.Response, error) {
28832	reqHeaders := make(http.Header)
28833	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28834	for k, v := range c.header_ {
28835		reqHeaders[k] = v
28836	}
28837	reqHeaders.Set("User-Agent", c.s.userAgent())
28838	var body io.Reader = nil
28839	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28840	if err != nil {
28841		return nil, err
28842	}
28843	reqHeaders.Set("Content-Type", "application/json")
28844	c.urlParams_.Set("alt", alt)
28845	c.urlParams_.Set("prettyPrint", "false")
28846	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28847	urls += "?" + c.urlParams_.Encode()
28848	req, err := http.NewRequest("PATCH", urls, body)
28849	if err != nil {
28850		return nil, err
28851	}
28852	req.Header = reqHeaders
28853	googleapi.Expand(req.URL, map[string]string{
28854		"profileId": strconv.FormatInt(c.profileId, 10),
28855	})
28856	return gensupport.SendRequest(c.ctx_, c.s.client, req)
28857}
28858
28859// Do executes the "dfareporting.creatives.patch" call.
28860// Exactly one of *Creative or error will be non-nil. Any non-2xx status
28861// code is an error. Response headers are in either
28862// *Creative.ServerResponse.Header or (if a response was returned at
28863// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
28864// to check whether the returned error was because
28865// http.StatusNotModified was returned.
28866func (c *CreativesPatchCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
28867	gensupport.SetOptions(c.urlParams_, opts...)
28868	res, err := c.doRequest("json")
28869	if res != nil && res.StatusCode == http.StatusNotModified {
28870		if res.Body != nil {
28871			res.Body.Close()
28872		}
28873		return nil, &googleapi.Error{
28874			Code:   res.StatusCode,
28875			Header: res.Header,
28876		}
28877	}
28878	if err != nil {
28879		return nil, err
28880	}
28881	defer googleapi.CloseBody(res)
28882	if err := googleapi.CheckResponse(res); err != nil {
28883		return nil, err
28884	}
28885	ret := &Creative{
28886		ServerResponse: googleapi.ServerResponse{
28887			Header:         res.Header,
28888			HTTPStatusCode: res.StatusCode,
28889		},
28890	}
28891	target := &ret
28892	if err := gensupport.DecodeResponse(target, res); err != nil {
28893		return nil, err
28894	}
28895	return ret, nil
28896	// {
28897	//   "description": "Updates an existing creative. This method supports patch semantics.",
28898	//   "httpMethod": "PATCH",
28899	//   "id": "dfareporting.creatives.patch",
28900	//   "parameterOrder": [
28901	//     "profileId",
28902	//     "id"
28903	//   ],
28904	//   "parameters": {
28905	//     "id": {
28906	//       "description": "Creative ID.",
28907	//       "format": "int64",
28908	//       "location": "query",
28909	//       "required": true,
28910	//       "type": "string"
28911	//     },
28912	//     "profileId": {
28913	//       "description": "User profile ID associated with this request.",
28914	//       "format": "int64",
28915	//       "location": "path",
28916	//       "required": true,
28917	//       "type": "string"
28918	//     }
28919	//   },
28920	//   "path": "userprofiles/{profileId}/creatives",
28921	//   "request": {
28922	//     "$ref": "Creative"
28923	//   },
28924	//   "response": {
28925	//     "$ref": "Creative"
28926	//   },
28927	//   "scopes": [
28928	//     "https://www.googleapis.com/auth/dfatrafficking"
28929	//   ]
28930	// }
28931
28932}
28933
28934// method id "dfareporting.creatives.update":
28935
28936type CreativesUpdateCall struct {
28937	s          *Service
28938	profileId  int64
28939	creative   *Creative
28940	urlParams_ gensupport.URLParams
28941	ctx_       context.Context
28942	header_    http.Header
28943}
28944
28945// Update: Updates an existing creative.
28946func (r *CreativesService) Update(profileId int64, creative *Creative) *CreativesUpdateCall {
28947	c := &CreativesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
28948	c.profileId = profileId
28949	c.creative = creative
28950	return c
28951}
28952
28953// Fields allows partial responses to be retrieved. See
28954// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
28955// for more information.
28956func (c *CreativesUpdateCall) Fields(s ...googleapi.Field) *CreativesUpdateCall {
28957	c.urlParams_.Set("fields", googleapi.CombineFields(s))
28958	return c
28959}
28960
28961// Context sets the context to be used in this call's Do method. Any
28962// pending HTTP request will be aborted if the provided context is
28963// canceled.
28964func (c *CreativesUpdateCall) Context(ctx context.Context) *CreativesUpdateCall {
28965	c.ctx_ = ctx
28966	return c
28967}
28968
28969// Header returns an http.Header that can be modified by the caller to
28970// add HTTP headers to the request.
28971func (c *CreativesUpdateCall) Header() http.Header {
28972	if c.header_ == nil {
28973		c.header_ = make(http.Header)
28974	}
28975	return c.header_
28976}
28977
28978func (c *CreativesUpdateCall) doRequest(alt string) (*http.Response, error) {
28979	reqHeaders := make(http.Header)
28980	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
28981	for k, v := range c.header_ {
28982		reqHeaders[k] = v
28983	}
28984	reqHeaders.Set("User-Agent", c.s.userAgent())
28985	var body io.Reader = nil
28986	body, err := googleapi.WithoutDataWrapper.JSONReader(c.creative)
28987	if err != nil {
28988		return nil, err
28989	}
28990	reqHeaders.Set("Content-Type", "application/json")
28991	c.urlParams_.Set("alt", alt)
28992	c.urlParams_.Set("prettyPrint", "false")
28993	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/creatives")
28994	urls += "?" + c.urlParams_.Encode()
28995	req, err := http.NewRequest("PUT", urls, body)
28996	if err != nil {
28997		return nil, err
28998	}
28999	req.Header = reqHeaders
29000	googleapi.Expand(req.URL, map[string]string{
29001		"profileId": strconv.FormatInt(c.profileId, 10),
29002	})
29003	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29004}
29005
29006// Do executes the "dfareporting.creatives.update" call.
29007// Exactly one of *Creative or error will be non-nil. Any non-2xx status
29008// code is an error. Response headers are in either
29009// *Creative.ServerResponse.Header or (if a response was returned at
29010// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
29011// to check whether the returned error was because
29012// http.StatusNotModified was returned.
29013func (c *CreativesUpdateCall) Do(opts ...googleapi.CallOption) (*Creative, error) {
29014	gensupport.SetOptions(c.urlParams_, opts...)
29015	res, err := c.doRequest("json")
29016	if res != nil && res.StatusCode == http.StatusNotModified {
29017		if res.Body != nil {
29018			res.Body.Close()
29019		}
29020		return nil, &googleapi.Error{
29021			Code:   res.StatusCode,
29022			Header: res.Header,
29023		}
29024	}
29025	if err != nil {
29026		return nil, err
29027	}
29028	defer googleapi.CloseBody(res)
29029	if err := googleapi.CheckResponse(res); err != nil {
29030		return nil, err
29031	}
29032	ret := &Creative{
29033		ServerResponse: googleapi.ServerResponse{
29034			Header:         res.Header,
29035			HTTPStatusCode: res.StatusCode,
29036		},
29037	}
29038	target := &ret
29039	if err := gensupport.DecodeResponse(target, res); err != nil {
29040		return nil, err
29041	}
29042	return ret, nil
29043	// {
29044	//   "description": "Updates an existing creative.",
29045	//   "httpMethod": "PUT",
29046	//   "id": "dfareporting.creatives.update",
29047	//   "parameterOrder": [
29048	//     "profileId"
29049	//   ],
29050	//   "parameters": {
29051	//     "profileId": {
29052	//       "description": "User profile ID associated with this request.",
29053	//       "format": "int64",
29054	//       "location": "path",
29055	//       "required": true,
29056	//       "type": "string"
29057	//     }
29058	//   },
29059	//   "path": "userprofiles/{profileId}/creatives",
29060	//   "request": {
29061	//     "$ref": "Creative"
29062	//   },
29063	//   "response": {
29064	//     "$ref": "Creative"
29065	//   },
29066	//   "scopes": [
29067	//     "https://www.googleapis.com/auth/dfatrafficking"
29068	//   ]
29069	// }
29070
29071}
29072
29073// method id "dfareporting.dimensionValues.query":
29074
29075type DimensionValuesQueryCall struct {
29076	s                     *Service
29077	profileId             int64
29078	dimensionvaluerequest *DimensionValueRequest
29079	urlParams_            gensupport.URLParams
29080	ctx_                  context.Context
29081	header_               http.Header
29082}
29083
29084// Query: Retrieves list of report dimension values for a list of
29085// filters.
29086func (r *DimensionValuesService) Query(profileId int64, dimensionvaluerequest *DimensionValueRequest) *DimensionValuesQueryCall {
29087	c := &DimensionValuesQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29088	c.profileId = profileId
29089	c.dimensionvaluerequest = dimensionvaluerequest
29090	return c
29091}
29092
29093// MaxResults sets the optional parameter "maxResults": Maximum number
29094// of results to return.
29095func (c *DimensionValuesQueryCall) MaxResults(maxResults int64) *DimensionValuesQueryCall {
29096	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29097	return c
29098}
29099
29100// PageToken sets the optional parameter "pageToken": The value of the
29101// nextToken from the previous result page.
29102func (c *DimensionValuesQueryCall) PageToken(pageToken string) *DimensionValuesQueryCall {
29103	c.urlParams_.Set("pageToken", pageToken)
29104	return c
29105}
29106
29107// Fields allows partial responses to be retrieved. See
29108// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29109// for more information.
29110func (c *DimensionValuesQueryCall) Fields(s ...googleapi.Field) *DimensionValuesQueryCall {
29111	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29112	return c
29113}
29114
29115// Context sets the context to be used in this call's Do method. Any
29116// pending HTTP request will be aborted if the provided context is
29117// canceled.
29118func (c *DimensionValuesQueryCall) Context(ctx context.Context) *DimensionValuesQueryCall {
29119	c.ctx_ = ctx
29120	return c
29121}
29122
29123// Header returns an http.Header that can be modified by the caller to
29124// add HTTP headers to the request.
29125func (c *DimensionValuesQueryCall) Header() http.Header {
29126	if c.header_ == nil {
29127		c.header_ = make(http.Header)
29128	}
29129	return c.header_
29130}
29131
29132func (c *DimensionValuesQueryCall) doRequest(alt string) (*http.Response, error) {
29133	reqHeaders := make(http.Header)
29134	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29135	for k, v := range c.header_ {
29136		reqHeaders[k] = v
29137	}
29138	reqHeaders.Set("User-Agent", c.s.userAgent())
29139	var body io.Reader = nil
29140	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dimensionvaluerequest)
29141	if err != nil {
29142		return nil, err
29143	}
29144	reqHeaders.Set("Content-Type", "application/json")
29145	c.urlParams_.Set("alt", alt)
29146	c.urlParams_.Set("prettyPrint", "false")
29147	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dimensionvalues/query")
29148	urls += "?" + c.urlParams_.Encode()
29149	req, err := http.NewRequest("POST", urls, body)
29150	if err != nil {
29151		return nil, err
29152	}
29153	req.Header = reqHeaders
29154	googleapi.Expand(req.URL, map[string]string{
29155		"profileId": strconv.FormatInt(c.profileId, 10),
29156	})
29157	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29158}
29159
29160// Do executes the "dfareporting.dimensionValues.query" call.
29161// Exactly one of *DimensionValueList or error will be non-nil. Any
29162// non-2xx status code is an error. Response headers are in either
29163// *DimensionValueList.ServerResponse.Header or (if a response was
29164// returned at all) in error.(*googleapi.Error).Header. Use
29165// googleapi.IsNotModified to check whether the returned error was
29166// because http.StatusNotModified was returned.
29167func (c *DimensionValuesQueryCall) Do(opts ...googleapi.CallOption) (*DimensionValueList, error) {
29168	gensupport.SetOptions(c.urlParams_, opts...)
29169	res, err := c.doRequest("json")
29170	if res != nil && res.StatusCode == http.StatusNotModified {
29171		if res.Body != nil {
29172			res.Body.Close()
29173		}
29174		return nil, &googleapi.Error{
29175			Code:   res.StatusCode,
29176			Header: res.Header,
29177		}
29178	}
29179	if err != nil {
29180		return nil, err
29181	}
29182	defer googleapi.CloseBody(res)
29183	if err := googleapi.CheckResponse(res); err != nil {
29184		return nil, err
29185	}
29186	ret := &DimensionValueList{
29187		ServerResponse: googleapi.ServerResponse{
29188			Header:         res.Header,
29189			HTTPStatusCode: res.StatusCode,
29190		},
29191	}
29192	target := &ret
29193	if err := gensupport.DecodeResponse(target, res); err != nil {
29194		return nil, err
29195	}
29196	return ret, nil
29197	// {
29198	//   "description": "Retrieves list of report dimension values for a list of filters.",
29199	//   "httpMethod": "POST",
29200	//   "id": "dfareporting.dimensionValues.query",
29201	//   "parameterOrder": [
29202	//     "profileId"
29203	//   ],
29204	//   "parameters": {
29205	//     "maxResults": {
29206	//       "default": "100",
29207	//       "description": "Maximum number of results to return.",
29208	//       "format": "int32",
29209	//       "location": "query",
29210	//       "maximum": "100",
29211	//       "minimum": "0",
29212	//       "type": "integer"
29213	//     },
29214	//     "pageToken": {
29215	//       "description": "The value of the nextToken from the previous result page.",
29216	//       "location": "query",
29217	//       "type": "string"
29218	//     },
29219	//     "profileId": {
29220	//       "description": "The DFA user profile ID.",
29221	//       "format": "int64",
29222	//       "location": "path",
29223	//       "required": true,
29224	//       "type": "string"
29225	//     }
29226	//   },
29227	//   "path": "userprofiles/{profileId}/dimensionvalues/query",
29228	//   "request": {
29229	//     "$ref": "DimensionValueRequest"
29230	//   },
29231	//   "response": {
29232	//     "$ref": "DimensionValueList"
29233	//   },
29234	//   "scopes": [
29235	//     "https://www.googleapis.com/auth/dfareporting"
29236	//   ]
29237	// }
29238
29239}
29240
29241// Pages invokes f for each page of results.
29242// A non-nil error returned from f will halt the iteration.
29243// The provided context supersedes any context provided to the Context method.
29244func (c *DimensionValuesQueryCall) Pages(ctx context.Context, f func(*DimensionValueList) error) error {
29245	c.ctx_ = ctx
29246	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29247	for {
29248		x, err := c.Do()
29249		if err != nil {
29250			return err
29251		}
29252		if err := f(x); err != nil {
29253			return err
29254		}
29255		if x.NextPageToken == "" {
29256			return nil
29257		}
29258		c.PageToken(x.NextPageToken)
29259	}
29260}
29261
29262// method id "dfareporting.directorySiteContacts.get":
29263
29264type DirectorySiteContactsGetCall struct {
29265	s            *Service
29266	profileId    int64
29267	id           int64
29268	urlParams_   gensupport.URLParams
29269	ifNoneMatch_ string
29270	ctx_         context.Context
29271	header_      http.Header
29272}
29273
29274// Get: Gets one directory site contact by ID.
29275func (r *DirectorySiteContactsService) Get(profileId int64, id int64) *DirectorySiteContactsGetCall {
29276	c := &DirectorySiteContactsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29277	c.profileId = profileId
29278	c.id = id
29279	return c
29280}
29281
29282// Fields allows partial responses to be retrieved. See
29283// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29284// for more information.
29285func (c *DirectorySiteContactsGetCall) Fields(s ...googleapi.Field) *DirectorySiteContactsGetCall {
29286	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29287	return c
29288}
29289
29290// IfNoneMatch sets the optional parameter which makes the operation
29291// fail if the object's ETag matches the given value. This is useful for
29292// getting updates only after the object has changed since the last
29293// request. Use googleapi.IsNotModified to check whether the response
29294// error from Do is the result of In-None-Match.
29295func (c *DirectorySiteContactsGetCall) IfNoneMatch(entityTag string) *DirectorySiteContactsGetCall {
29296	c.ifNoneMatch_ = entityTag
29297	return c
29298}
29299
29300// Context sets the context to be used in this call's Do method. Any
29301// pending HTTP request will be aborted if the provided context is
29302// canceled.
29303func (c *DirectorySiteContactsGetCall) Context(ctx context.Context) *DirectorySiteContactsGetCall {
29304	c.ctx_ = ctx
29305	return c
29306}
29307
29308// Header returns an http.Header that can be modified by the caller to
29309// add HTTP headers to the request.
29310func (c *DirectorySiteContactsGetCall) Header() http.Header {
29311	if c.header_ == nil {
29312		c.header_ = make(http.Header)
29313	}
29314	return c.header_
29315}
29316
29317func (c *DirectorySiteContactsGetCall) doRequest(alt string) (*http.Response, error) {
29318	reqHeaders := make(http.Header)
29319	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29320	for k, v := range c.header_ {
29321		reqHeaders[k] = v
29322	}
29323	reqHeaders.Set("User-Agent", c.s.userAgent())
29324	if c.ifNoneMatch_ != "" {
29325		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29326	}
29327	var body io.Reader = nil
29328	c.urlParams_.Set("alt", alt)
29329	c.urlParams_.Set("prettyPrint", "false")
29330	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts/{id}")
29331	urls += "?" + c.urlParams_.Encode()
29332	req, err := http.NewRequest("GET", urls, body)
29333	if err != nil {
29334		return nil, err
29335	}
29336	req.Header = reqHeaders
29337	googleapi.Expand(req.URL, map[string]string{
29338		"profileId": strconv.FormatInt(c.profileId, 10),
29339		"id":        strconv.FormatInt(c.id, 10),
29340	})
29341	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29342}
29343
29344// Do executes the "dfareporting.directorySiteContacts.get" call.
29345// Exactly one of *DirectorySiteContact or error will be non-nil. Any
29346// non-2xx status code is an error. Response headers are in either
29347// *DirectorySiteContact.ServerResponse.Header or (if a response was
29348// returned at all) in error.(*googleapi.Error).Header. Use
29349// googleapi.IsNotModified to check whether the returned error was
29350// because http.StatusNotModified was returned.
29351func (c *DirectorySiteContactsGetCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContact, error) {
29352	gensupport.SetOptions(c.urlParams_, opts...)
29353	res, err := c.doRequest("json")
29354	if res != nil && res.StatusCode == http.StatusNotModified {
29355		if res.Body != nil {
29356			res.Body.Close()
29357		}
29358		return nil, &googleapi.Error{
29359			Code:   res.StatusCode,
29360			Header: res.Header,
29361		}
29362	}
29363	if err != nil {
29364		return nil, err
29365	}
29366	defer googleapi.CloseBody(res)
29367	if err := googleapi.CheckResponse(res); err != nil {
29368		return nil, err
29369	}
29370	ret := &DirectorySiteContact{
29371		ServerResponse: googleapi.ServerResponse{
29372			Header:         res.Header,
29373			HTTPStatusCode: res.StatusCode,
29374		},
29375	}
29376	target := &ret
29377	if err := gensupport.DecodeResponse(target, res); err != nil {
29378		return nil, err
29379	}
29380	return ret, nil
29381	// {
29382	//   "description": "Gets one directory site contact by ID.",
29383	//   "httpMethod": "GET",
29384	//   "id": "dfareporting.directorySiteContacts.get",
29385	//   "parameterOrder": [
29386	//     "profileId",
29387	//     "id"
29388	//   ],
29389	//   "parameters": {
29390	//     "id": {
29391	//       "description": "Directory site contact ID.",
29392	//       "format": "int64",
29393	//       "location": "path",
29394	//       "required": true,
29395	//       "type": "string"
29396	//     },
29397	//     "profileId": {
29398	//       "description": "User profile ID associated with this request.",
29399	//       "format": "int64",
29400	//       "location": "path",
29401	//       "required": true,
29402	//       "type": "string"
29403	//     }
29404	//   },
29405	//   "path": "userprofiles/{profileId}/directorySiteContacts/{id}",
29406	//   "response": {
29407	//     "$ref": "DirectorySiteContact"
29408	//   },
29409	//   "scopes": [
29410	//     "https://www.googleapis.com/auth/dfatrafficking"
29411	//   ]
29412	// }
29413
29414}
29415
29416// method id "dfareporting.directorySiteContacts.list":
29417
29418type DirectorySiteContactsListCall struct {
29419	s            *Service
29420	profileId    int64
29421	urlParams_   gensupport.URLParams
29422	ifNoneMatch_ string
29423	ctx_         context.Context
29424	header_      http.Header
29425}
29426
29427// List: Retrieves a list of directory site contacts, possibly filtered.
29428// This method supports paging.
29429func (r *DirectorySiteContactsService) List(profileId int64) *DirectorySiteContactsListCall {
29430	c := &DirectorySiteContactsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29431	c.profileId = profileId
29432	return c
29433}
29434
29435// DirectorySiteIds sets the optional parameter "directorySiteIds":
29436// Select only directory site contacts with these directory site IDs.
29437// This is a required field.
29438func (c *DirectorySiteContactsListCall) DirectorySiteIds(directorySiteIds ...int64) *DirectorySiteContactsListCall {
29439	var directorySiteIds_ []string
29440	for _, v := range directorySiteIds {
29441		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
29442	}
29443	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
29444	return c
29445}
29446
29447// Ids sets the optional parameter "ids": Select only directory site
29448// contacts with these IDs.
29449func (c *DirectorySiteContactsListCall) Ids(ids ...int64) *DirectorySiteContactsListCall {
29450	var ids_ []string
29451	for _, v := range ids {
29452		ids_ = append(ids_, fmt.Sprint(v))
29453	}
29454	c.urlParams_.SetMulti("ids", ids_)
29455	return c
29456}
29457
29458// MaxResults sets the optional parameter "maxResults": Maximum number
29459// of results to return.
29460func (c *DirectorySiteContactsListCall) MaxResults(maxResults int64) *DirectorySiteContactsListCall {
29461	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
29462	return c
29463}
29464
29465// PageToken sets the optional parameter "pageToken": Value of the
29466// nextPageToken from the previous result page.
29467func (c *DirectorySiteContactsListCall) PageToken(pageToken string) *DirectorySiteContactsListCall {
29468	c.urlParams_.Set("pageToken", pageToken)
29469	return c
29470}
29471
29472// SearchString sets the optional parameter "searchString": Allows
29473// searching for objects by name, ID or email. Wildcards (*) are
29474// allowed. For example, "directory site contact*2015" will return
29475// objects with names like "directory site contact June 2015",
29476// "directory site contact April 2015", or simply "directory site
29477// contact 2015". Most of the searches also add wildcards implicitly at
29478// the start and the end of the search string. For example, a search
29479// string of "directory site contact" will match objects with name "my
29480// directory site contact", "directory site contact 2015", or simply
29481// "directory site contact".
29482func (c *DirectorySiteContactsListCall) SearchString(searchString string) *DirectorySiteContactsListCall {
29483	c.urlParams_.Set("searchString", searchString)
29484	return c
29485}
29486
29487// SortField sets the optional parameter "sortField": Field by which to
29488// sort the list.
29489//
29490// Possible values:
29491//   "ID" (default)
29492//   "NAME"
29493func (c *DirectorySiteContactsListCall) SortField(sortField string) *DirectorySiteContactsListCall {
29494	c.urlParams_.Set("sortField", sortField)
29495	return c
29496}
29497
29498// SortOrder sets the optional parameter "sortOrder": Order of sorted
29499// results.
29500//
29501// Possible values:
29502//   "ASCENDING" (default)
29503//   "DESCENDING"
29504func (c *DirectorySiteContactsListCall) SortOrder(sortOrder string) *DirectorySiteContactsListCall {
29505	c.urlParams_.Set("sortOrder", sortOrder)
29506	return c
29507}
29508
29509// Fields allows partial responses to be retrieved. See
29510// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29511// for more information.
29512func (c *DirectorySiteContactsListCall) Fields(s ...googleapi.Field) *DirectorySiteContactsListCall {
29513	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29514	return c
29515}
29516
29517// IfNoneMatch sets the optional parameter which makes the operation
29518// fail if the object's ETag matches the given value. This is useful for
29519// getting updates only after the object has changed since the last
29520// request. Use googleapi.IsNotModified to check whether the response
29521// error from Do is the result of In-None-Match.
29522func (c *DirectorySiteContactsListCall) IfNoneMatch(entityTag string) *DirectorySiteContactsListCall {
29523	c.ifNoneMatch_ = entityTag
29524	return c
29525}
29526
29527// Context sets the context to be used in this call's Do method. Any
29528// pending HTTP request will be aborted if the provided context is
29529// canceled.
29530func (c *DirectorySiteContactsListCall) Context(ctx context.Context) *DirectorySiteContactsListCall {
29531	c.ctx_ = ctx
29532	return c
29533}
29534
29535// Header returns an http.Header that can be modified by the caller to
29536// add HTTP headers to the request.
29537func (c *DirectorySiteContactsListCall) Header() http.Header {
29538	if c.header_ == nil {
29539		c.header_ = make(http.Header)
29540	}
29541	return c.header_
29542}
29543
29544func (c *DirectorySiteContactsListCall) doRequest(alt string) (*http.Response, error) {
29545	reqHeaders := make(http.Header)
29546	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29547	for k, v := range c.header_ {
29548		reqHeaders[k] = v
29549	}
29550	reqHeaders.Set("User-Agent", c.s.userAgent())
29551	if c.ifNoneMatch_ != "" {
29552		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29553	}
29554	var body io.Reader = nil
29555	c.urlParams_.Set("alt", alt)
29556	c.urlParams_.Set("prettyPrint", "false")
29557	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySiteContacts")
29558	urls += "?" + c.urlParams_.Encode()
29559	req, err := http.NewRequest("GET", urls, body)
29560	if err != nil {
29561		return nil, err
29562	}
29563	req.Header = reqHeaders
29564	googleapi.Expand(req.URL, map[string]string{
29565		"profileId": strconv.FormatInt(c.profileId, 10),
29566	})
29567	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29568}
29569
29570// Do executes the "dfareporting.directorySiteContacts.list" call.
29571// Exactly one of *DirectorySiteContactsListResponse or error will be
29572// non-nil. Any non-2xx status code is an error. Response headers are in
29573// either *DirectorySiteContactsListResponse.ServerResponse.Header or
29574// (if a response was returned at all) in
29575// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
29576// whether the returned error was because http.StatusNotModified was
29577// returned.
29578func (c *DirectorySiteContactsListCall) Do(opts ...googleapi.CallOption) (*DirectorySiteContactsListResponse, error) {
29579	gensupport.SetOptions(c.urlParams_, opts...)
29580	res, err := c.doRequest("json")
29581	if res != nil && res.StatusCode == http.StatusNotModified {
29582		if res.Body != nil {
29583			res.Body.Close()
29584		}
29585		return nil, &googleapi.Error{
29586			Code:   res.StatusCode,
29587			Header: res.Header,
29588		}
29589	}
29590	if err != nil {
29591		return nil, err
29592	}
29593	defer googleapi.CloseBody(res)
29594	if err := googleapi.CheckResponse(res); err != nil {
29595		return nil, err
29596	}
29597	ret := &DirectorySiteContactsListResponse{
29598		ServerResponse: googleapi.ServerResponse{
29599			Header:         res.Header,
29600			HTTPStatusCode: res.StatusCode,
29601		},
29602	}
29603	target := &ret
29604	if err := gensupport.DecodeResponse(target, res); err != nil {
29605		return nil, err
29606	}
29607	return ret, nil
29608	// {
29609	//   "description": "Retrieves a list of directory site contacts, possibly filtered. This method supports paging.",
29610	//   "httpMethod": "GET",
29611	//   "id": "dfareporting.directorySiteContacts.list",
29612	//   "parameterOrder": [
29613	//     "profileId"
29614	//   ],
29615	//   "parameters": {
29616	//     "directorySiteIds": {
29617	//       "description": "Select only directory site contacts with these directory site IDs. This is a required field.",
29618	//       "format": "int64",
29619	//       "location": "query",
29620	//       "repeated": true,
29621	//       "type": "string"
29622	//     },
29623	//     "ids": {
29624	//       "description": "Select only directory site contacts with these IDs.",
29625	//       "format": "int64",
29626	//       "location": "query",
29627	//       "repeated": true,
29628	//       "type": "string"
29629	//     },
29630	//     "maxResults": {
29631	//       "default": "1000",
29632	//       "description": "Maximum number of results to return.",
29633	//       "format": "int32",
29634	//       "location": "query",
29635	//       "maximum": "1000",
29636	//       "minimum": "0",
29637	//       "type": "integer"
29638	//     },
29639	//     "pageToken": {
29640	//       "description": "Value of the nextPageToken from the previous result page.",
29641	//       "location": "query",
29642	//       "type": "string"
29643	//     },
29644	//     "profileId": {
29645	//       "description": "User profile ID associated with this request.",
29646	//       "format": "int64",
29647	//       "location": "path",
29648	//       "required": true,
29649	//       "type": "string"
29650	//     },
29651	//     "searchString": {
29652	//       "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"directory site contact*2015\" will return objects with names like \"directory site contact June 2015\", \"directory site contact April 2015\", or simply \"directory site contact 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 contact\" will match objects with name \"my directory site contact\", \"directory site contact 2015\", or simply \"directory site contact\".",
29653	//       "location": "query",
29654	//       "type": "string"
29655	//     },
29656	//     "sortField": {
29657	//       "default": "ID",
29658	//       "description": "Field by which to sort the list.",
29659	//       "enum": [
29660	//         "ID",
29661	//         "NAME"
29662	//       ],
29663	//       "enumDescriptions": [
29664	//         "",
29665	//         ""
29666	//       ],
29667	//       "location": "query",
29668	//       "type": "string"
29669	//     },
29670	//     "sortOrder": {
29671	//       "default": "ASCENDING",
29672	//       "description": "Order of sorted results.",
29673	//       "enum": [
29674	//         "ASCENDING",
29675	//         "DESCENDING"
29676	//       ],
29677	//       "enumDescriptions": [
29678	//         "",
29679	//         ""
29680	//       ],
29681	//       "location": "query",
29682	//       "type": "string"
29683	//     }
29684	//   },
29685	//   "path": "userprofiles/{profileId}/directorySiteContacts",
29686	//   "response": {
29687	//     "$ref": "DirectorySiteContactsListResponse"
29688	//   },
29689	//   "scopes": [
29690	//     "https://www.googleapis.com/auth/dfatrafficking"
29691	//   ]
29692	// }
29693
29694}
29695
29696// Pages invokes f for each page of results.
29697// A non-nil error returned from f will halt the iteration.
29698// The provided context supersedes any context provided to the Context method.
29699func (c *DirectorySiteContactsListCall) Pages(ctx context.Context, f func(*DirectorySiteContactsListResponse) error) error {
29700	c.ctx_ = ctx
29701	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
29702	for {
29703		x, err := c.Do()
29704		if err != nil {
29705			return err
29706		}
29707		if err := f(x); err != nil {
29708			return err
29709		}
29710		if x.NextPageToken == "" {
29711			return nil
29712		}
29713		c.PageToken(x.NextPageToken)
29714	}
29715}
29716
29717// method id "dfareporting.directorySites.get":
29718
29719type DirectorySitesGetCall struct {
29720	s            *Service
29721	profileId    int64
29722	id           int64
29723	urlParams_   gensupport.URLParams
29724	ifNoneMatch_ string
29725	ctx_         context.Context
29726	header_      http.Header
29727}
29728
29729// Get: Gets one directory site by ID.
29730func (r *DirectorySitesService) Get(profileId int64, id int64) *DirectorySitesGetCall {
29731	c := &DirectorySitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29732	c.profileId = profileId
29733	c.id = id
29734	return c
29735}
29736
29737// Fields allows partial responses to be retrieved. See
29738// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29739// for more information.
29740func (c *DirectorySitesGetCall) Fields(s ...googleapi.Field) *DirectorySitesGetCall {
29741	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29742	return c
29743}
29744
29745// IfNoneMatch sets the optional parameter which makes the operation
29746// fail if the object's ETag matches the given value. This is useful for
29747// getting updates only after the object has changed since the last
29748// request. Use googleapi.IsNotModified to check whether the response
29749// error from Do is the result of In-None-Match.
29750func (c *DirectorySitesGetCall) IfNoneMatch(entityTag string) *DirectorySitesGetCall {
29751	c.ifNoneMatch_ = entityTag
29752	return c
29753}
29754
29755// Context sets the context to be used in this call's Do method. Any
29756// pending HTTP request will be aborted if the provided context is
29757// canceled.
29758func (c *DirectorySitesGetCall) Context(ctx context.Context) *DirectorySitesGetCall {
29759	c.ctx_ = ctx
29760	return c
29761}
29762
29763// Header returns an http.Header that can be modified by the caller to
29764// add HTTP headers to the request.
29765func (c *DirectorySitesGetCall) Header() http.Header {
29766	if c.header_ == nil {
29767		c.header_ = make(http.Header)
29768	}
29769	return c.header_
29770}
29771
29772func (c *DirectorySitesGetCall) doRequest(alt string) (*http.Response, error) {
29773	reqHeaders := make(http.Header)
29774	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29775	for k, v := range c.header_ {
29776		reqHeaders[k] = v
29777	}
29778	reqHeaders.Set("User-Agent", c.s.userAgent())
29779	if c.ifNoneMatch_ != "" {
29780		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
29781	}
29782	var body io.Reader = nil
29783	c.urlParams_.Set("alt", alt)
29784	c.urlParams_.Set("prettyPrint", "false")
29785	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites/{id}")
29786	urls += "?" + c.urlParams_.Encode()
29787	req, err := http.NewRequest("GET", urls, body)
29788	if err != nil {
29789		return nil, err
29790	}
29791	req.Header = reqHeaders
29792	googleapi.Expand(req.URL, map[string]string{
29793		"profileId": strconv.FormatInt(c.profileId, 10),
29794		"id":        strconv.FormatInt(c.id, 10),
29795	})
29796	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29797}
29798
29799// Do executes the "dfareporting.directorySites.get" call.
29800// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29801// status code is an error. Response headers are in either
29802// *DirectorySite.ServerResponse.Header or (if a response was returned
29803// at all) in error.(*googleapi.Error).Header. Use
29804// googleapi.IsNotModified to check whether the returned error was
29805// because http.StatusNotModified was returned.
29806func (c *DirectorySitesGetCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29807	gensupport.SetOptions(c.urlParams_, opts...)
29808	res, err := c.doRequest("json")
29809	if res != nil && res.StatusCode == http.StatusNotModified {
29810		if res.Body != nil {
29811			res.Body.Close()
29812		}
29813		return nil, &googleapi.Error{
29814			Code:   res.StatusCode,
29815			Header: res.Header,
29816		}
29817	}
29818	if err != nil {
29819		return nil, err
29820	}
29821	defer googleapi.CloseBody(res)
29822	if err := googleapi.CheckResponse(res); err != nil {
29823		return nil, err
29824	}
29825	ret := &DirectorySite{
29826		ServerResponse: googleapi.ServerResponse{
29827			Header:         res.Header,
29828			HTTPStatusCode: res.StatusCode,
29829		},
29830	}
29831	target := &ret
29832	if err := gensupport.DecodeResponse(target, res); err != nil {
29833		return nil, err
29834	}
29835	return ret, nil
29836	// {
29837	//   "description": "Gets one directory site by ID.",
29838	//   "httpMethod": "GET",
29839	//   "id": "dfareporting.directorySites.get",
29840	//   "parameterOrder": [
29841	//     "profileId",
29842	//     "id"
29843	//   ],
29844	//   "parameters": {
29845	//     "id": {
29846	//       "description": "Directory site ID.",
29847	//       "format": "int64",
29848	//       "location": "path",
29849	//       "required": true,
29850	//       "type": "string"
29851	//     },
29852	//     "profileId": {
29853	//       "description": "User profile ID associated with this request.",
29854	//       "format": "int64",
29855	//       "location": "path",
29856	//       "required": true,
29857	//       "type": "string"
29858	//     }
29859	//   },
29860	//   "path": "userprofiles/{profileId}/directorySites/{id}",
29861	//   "response": {
29862	//     "$ref": "DirectorySite"
29863	//   },
29864	//   "scopes": [
29865	//     "https://www.googleapis.com/auth/dfatrafficking"
29866	//   ]
29867	// }
29868
29869}
29870
29871// method id "dfareporting.directorySites.insert":
29872
29873type DirectorySitesInsertCall struct {
29874	s             *Service
29875	profileId     int64
29876	directorysite *DirectorySite
29877	urlParams_    gensupport.URLParams
29878	ctx_          context.Context
29879	header_       http.Header
29880}
29881
29882// Insert: Inserts a new directory site.
29883func (r *DirectorySitesService) Insert(profileId int64, directorysite *DirectorySite) *DirectorySitesInsertCall {
29884	c := &DirectorySitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
29885	c.profileId = profileId
29886	c.directorysite = directorysite
29887	return c
29888}
29889
29890// Fields allows partial responses to be retrieved. See
29891// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
29892// for more information.
29893func (c *DirectorySitesInsertCall) Fields(s ...googleapi.Field) *DirectorySitesInsertCall {
29894	c.urlParams_.Set("fields", googleapi.CombineFields(s))
29895	return c
29896}
29897
29898// Context sets the context to be used in this call's Do method. Any
29899// pending HTTP request will be aborted if the provided context is
29900// canceled.
29901func (c *DirectorySitesInsertCall) Context(ctx context.Context) *DirectorySitesInsertCall {
29902	c.ctx_ = ctx
29903	return c
29904}
29905
29906// Header returns an http.Header that can be modified by the caller to
29907// add HTTP headers to the request.
29908func (c *DirectorySitesInsertCall) Header() http.Header {
29909	if c.header_ == nil {
29910		c.header_ = make(http.Header)
29911	}
29912	return c.header_
29913}
29914
29915func (c *DirectorySitesInsertCall) doRequest(alt string) (*http.Response, error) {
29916	reqHeaders := make(http.Header)
29917	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
29918	for k, v := range c.header_ {
29919		reqHeaders[k] = v
29920	}
29921	reqHeaders.Set("User-Agent", c.s.userAgent())
29922	var body io.Reader = nil
29923	body, err := googleapi.WithoutDataWrapper.JSONReader(c.directorysite)
29924	if err != nil {
29925		return nil, err
29926	}
29927	reqHeaders.Set("Content-Type", "application/json")
29928	c.urlParams_.Set("alt", alt)
29929	c.urlParams_.Set("prettyPrint", "false")
29930	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
29931	urls += "?" + c.urlParams_.Encode()
29932	req, err := http.NewRequest("POST", urls, body)
29933	if err != nil {
29934		return nil, err
29935	}
29936	req.Header = reqHeaders
29937	googleapi.Expand(req.URL, map[string]string{
29938		"profileId": strconv.FormatInt(c.profileId, 10),
29939	})
29940	return gensupport.SendRequest(c.ctx_, c.s.client, req)
29941}
29942
29943// Do executes the "dfareporting.directorySites.insert" call.
29944// Exactly one of *DirectorySite or error will be non-nil. Any non-2xx
29945// status code is an error. Response headers are in either
29946// *DirectorySite.ServerResponse.Header or (if a response was returned
29947// at all) in error.(*googleapi.Error).Header. Use
29948// googleapi.IsNotModified to check whether the returned error was
29949// because http.StatusNotModified was returned.
29950func (c *DirectorySitesInsertCall) Do(opts ...googleapi.CallOption) (*DirectorySite, error) {
29951	gensupport.SetOptions(c.urlParams_, opts...)
29952	res, err := c.doRequest("json")
29953	if res != nil && res.StatusCode == http.StatusNotModified {
29954		if res.Body != nil {
29955			res.Body.Close()
29956		}
29957		return nil, &googleapi.Error{
29958			Code:   res.StatusCode,
29959			Header: res.Header,
29960		}
29961	}
29962	if err != nil {
29963		return nil, err
29964	}
29965	defer googleapi.CloseBody(res)
29966	if err := googleapi.CheckResponse(res); err != nil {
29967		return nil, err
29968	}
29969	ret := &DirectorySite{
29970		ServerResponse: googleapi.ServerResponse{
29971			Header:         res.Header,
29972			HTTPStatusCode: res.StatusCode,
29973		},
29974	}
29975	target := &ret
29976	if err := gensupport.DecodeResponse(target, res); err != nil {
29977		return nil, err
29978	}
29979	return ret, nil
29980	// {
29981	//   "description": "Inserts a new directory site.",
29982	//   "httpMethod": "POST",
29983	//   "id": "dfareporting.directorySites.insert",
29984	//   "parameterOrder": [
29985	//     "profileId"
29986	//   ],
29987	//   "parameters": {
29988	//     "profileId": {
29989	//       "description": "User profile ID associated with this request.",
29990	//       "format": "int64",
29991	//       "location": "path",
29992	//       "required": true,
29993	//       "type": "string"
29994	//     }
29995	//   },
29996	//   "path": "userprofiles/{profileId}/directorySites",
29997	//   "request": {
29998	//     "$ref": "DirectorySite"
29999	//   },
30000	//   "response": {
30001	//     "$ref": "DirectorySite"
30002	//   },
30003	//   "scopes": [
30004	//     "https://www.googleapis.com/auth/dfatrafficking"
30005	//   ]
30006	// }
30007
30008}
30009
30010// method id "dfareporting.directorySites.list":
30011
30012type DirectorySitesListCall struct {
30013	s            *Service
30014	profileId    int64
30015	urlParams_   gensupport.URLParams
30016	ifNoneMatch_ string
30017	ctx_         context.Context
30018	header_      http.Header
30019}
30020
30021// List: Retrieves a list of directory sites, possibly filtered. This
30022// method supports paging.
30023func (r *DirectorySitesService) List(profileId int64) *DirectorySitesListCall {
30024	c := &DirectorySitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30025	c.profileId = profileId
30026	return c
30027}
30028
30029// AcceptsInStreamVideoPlacements sets the optional parameter
30030// "acceptsInStreamVideoPlacements": This search filter is no longer
30031// supported and will have no effect on the results returned.
30032func (c *DirectorySitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *DirectorySitesListCall {
30033	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
30034	return c
30035}
30036
30037// AcceptsInterstitialPlacements sets the optional parameter
30038// "acceptsInterstitialPlacements": This search filter is no longer
30039// supported and will have no effect on the results returned.
30040func (c *DirectorySitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *DirectorySitesListCall {
30041	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
30042	return c
30043}
30044
30045// AcceptsPublisherPaidPlacements sets the optional parameter
30046// "acceptsPublisherPaidPlacements": Select only directory sites that
30047// accept publisher paid placements. This field can be left blank.
30048func (c *DirectorySitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *DirectorySitesListCall {
30049	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
30050	return c
30051}
30052
30053// Active sets the optional parameter "active": Select only active
30054// directory sites. Leave blank to retrieve both active and inactive
30055// directory sites.
30056func (c *DirectorySitesListCall) Active(active bool) *DirectorySitesListCall {
30057	c.urlParams_.Set("active", fmt.Sprint(active))
30058	return c
30059}
30060
30061// CountryId sets the optional parameter "countryId": Select only
30062// directory sites with this country ID.
30063func (c *DirectorySitesListCall) CountryId(countryId int64) *DirectorySitesListCall {
30064	c.urlParams_.Set("countryId", fmt.Sprint(countryId))
30065	return c
30066}
30067
30068// DfpNetworkCode sets the optional parameter "dfpNetworkCode": Select
30069// only directory sites with this Ad Manager network code.
30070func (c *DirectorySitesListCall) DfpNetworkCode(dfpNetworkCode string) *DirectorySitesListCall {
30071	c.urlParams_.Set("dfpNetworkCode", dfpNetworkCode)
30072	return c
30073}
30074
30075// Ids sets the optional parameter "ids": Select only directory sites
30076// with these IDs.
30077func (c *DirectorySitesListCall) Ids(ids ...int64) *DirectorySitesListCall {
30078	var ids_ []string
30079	for _, v := range ids {
30080		ids_ = append(ids_, fmt.Sprint(v))
30081	}
30082	c.urlParams_.SetMulti("ids", ids_)
30083	return c
30084}
30085
30086// MaxResults sets the optional parameter "maxResults": Maximum number
30087// of results to return.
30088func (c *DirectorySitesListCall) MaxResults(maxResults int64) *DirectorySitesListCall {
30089	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
30090	return c
30091}
30092
30093// PageToken sets the optional parameter "pageToken": Value of the
30094// nextPageToken from the previous result page.
30095func (c *DirectorySitesListCall) PageToken(pageToken string) *DirectorySitesListCall {
30096	c.urlParams_.Set("pageToken", pageToken)
30097	return c
30098}
30099
30100// ParentId sets the optional parameter "parentId": Select only
30101// directory sites with this parent ID.
30102func (c *DirectorySitesListCall) ParentId(parentId int64) *DirectorySitesListCall {
30103	c.urlParams_.Set("parentId", fmt.Sprint(parentId))
30104	return c
30105}
30106
30107// SearchString sets the optional parameter "searchString": Allows
30108// searching for objects by name, ID or URL. Wildcards (*) are allowed.
30109// For example, "directory site*2015" will return objects with names
30110// like "directory site June 2015", "directory site April 2015", or
30111// simply "directory site 2015". Most of the searches also add wildcards
30112// implicitly at the start and the end of the search string. For
30113// example, a search string of "directory site" will match objects with
30114// name "my directory site", "directory site 2015" or simply, "directory
30115// site".
30116func (c *DirectorySitesListCall) SearchString(searchString string) *DirectorySitesListCall {
30117	c.urlParams_.Set("searchString", searchString)
30118	return c
30119}
30120
30121// SortField sets the optional parameter "sortField": Field by which to
30122// sort the list.
30123//
30124// Possible values:
30125//   "ID" (default)
30126//   "NAME"
30127func (c *DirectorySitesListCall) SortField(sortField string) *DirectorySitesListCall {
30128	c.urlParams_.Set("sortField", sortField)
30129	return c
30130}
30131
30132// SortOrder sets the optional parameter "sortOrder": Order of sorted
30133// results.
30134//
30135// Possible values:
30136//   "ASCENDING" (default)
30137//   "DESCENDING"
30138func (c *DirectorySitesListCall) SortOrder(sortOrder string) *DirectorySitesListCall {
30139	c.urlParams_.Set("sortOrder", sortOrder)
30140	return c
30141}
30142
30143// Fields allows partial responses to be retrieved. See
30144// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30145// for more information.
30146func (c *DirectorySitesListCall) Fields(s ...googleapi.Field) *DirectorySitesListCall {
30147	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30148	return c
30149}
30150
30151// IfNoneMatch sets the optional parameter which makes the operation
30152// fail if the object's ETag matches the given value. This is useful for
30153// getting updates only after the object has changed since the last
30154// request. Use googleapi.IsNotModified to check whether the response
30155// error from Do is the result of In-None-Match.
30156func (c *DirectorySitesListCall) IfNoneMatch(entityTag string) *DirectorySitesListCall {
30157	c.ifNoneMatch_ = entityTag
30158	return c
30159}
30160
30161// Context sets the context to be used in this call's Do method. Any
30162// pending HTTP request will be aborted if the provided context is
30163// canceled.
30164func (c *DirectorySitesListCall) Context(ctx context.Context) *DirectorySitesListCall {
30165	c.ctx_ = ctx
30166	return c
30167}
30168
30169// Header returns an http.Header that can be modified by the caller to
30170// add HTTP headers to the request.
30171func (c *DirectorySitesListCall) Header() http.Header {
30172	if c.header_ == nil {
30173		c.header_ = make(http.Header)
30174	}
30175	return c.header_
30176}
30177
30178func (c *DirectorySitesListCall) doRequest(alt string) (*http.Response, error) {
30179	reqHeaders := make(http.Header)
30180	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30181	for k, v := range c.header_ {
30182		reqHeaders[k] = v
30183	}
30184	reqHeaders.Set("User-Agent", c.s.userAgent())
30185	if c.ifNoneMatch_ != "" {
30186		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30187	}
30188	var body io.Reader = nil
30189	c.urlParams_.Set("alt", alt)
30190	c.urlParams_.Set("prettyPrint", "false")
30191	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/directorySites")
30192	urls += "?" + c.urlParams_.Encode()
30193	req, err := http.NewRequest("GET", urls, body)
30194	if err != nil {
30195		return nil, err
30196	}
30197	req.Header = reqHeaders
30198	googleapi.Expand(req.URL, map[string]string{
30199		"profileId": strconv.FormatInt(c.profileId, 10),
30200	})
30201	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30202}
30203
30204// Do executes the "dfareporting.directorySites.list" call.
30205// Exactly one of *DirectorySitesListResponse or error will be non-nil.
30206// Any non-2xx status code is an error. Response headers are in either
30207// *DirectorySitesListResponse.ServerResponse.Header or (if a response
30208// was returned at all) in error.(*googleapi.Error).Header. Use
30209// googleapi.IsNotModified to check whether the returned error was
30210// because http.StatusNotModified was returned.
30211func (c *DirectorySitesListCall) Do(opts ...googleapi.CallOption) (*DirectorySitesListResponse, error) {
30212	gensupport.SetOptions(c.urlParams_, opts...)
30213	res, err := c.doRequest("json")
30214	if res != nil && res.StatusCode == http.StatusNotModified {
30215		if res.Body != nil {
30216			res.Body.Close()
30217		}
30218		return nil, &googleapi.Error{
30219			Code:   res.StatusCode,
30220			Header: res.Header,
30221		}
30222	}
30223	if err != nil {
30224		return nil, err
30225	}
30226	defer googleapi.CloseBody(res)
30227	if err := googleapi.CheckResponse(res); err != nil {
30228		return nil, err
30229	}
30230	ret := &DirectorySitesListResponse{
30231		ServerResponse: googleapi.ServerResponse{
30232			Header:         res.Header,
30233			HTTPStatusCode: res.StatusCode,
30234		},
30235	}
30236	target := &ret
30237	if err := gensupport.DecodeResponse(target, res); err != nil {
30238		return nil, err
30239	}
30240	return ret, nil
30241	// {
30242	//   "description": "Retrieves a list of directory sites, possibly filtered. This method supports paging.",
30243	//   "httpMethod": "GET",
30244	//   "id": "dfareporting.directorySites.list",
30245	//   "parameterOrder": [
30246	//     "profileId"
30247	//   ],
30248	//   "parameters": {
30249	//     "acceptsInStreamVideoPlacements": {
30250	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
30251	//       "location": "query",
30252	//       "type": "boolean"
30253	//     },
30254	//     "acceptsInterstitialPlacements": {
30255	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
30256	//       "location": "query",
30257	//       "type": "boolean"
30258	//     },
30259	//     "acceptsPublisherPaidPlacements": {
30260	//       "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.",
30261	//       "location": "query",
30262	//       "type": "boolean"
30263	//     },
30264	//     "active": {
30265	//       "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.",
30266	//       "location": "query",
30267	//       "type": "boolean"
30268	//     },
30269	//     "countryId": {
30270	//       "description": "Select only directory sites with this country ID.",
30271	//       "format": "int64",
30272	//       "location": "query",
30273	//       "type": "string"
30274	//     },
30275	//     "dfpNetworkCode": {
30276	//       "description": "Select only directory sites with this Ad Manager network code.",
30277	//       "location": "query",
30278	//       "type": "string"
30279	//     },
30280	//     "ids": {
30281	//       "description": "Select only directory sites with these IDs.",
30282	//       "format": "int64",
30283	//       "location": "query",
30284	//       "repeated": true,
30285	//       "type": "string"
30286	//     },
30287	//     "maxResults": {
30288	//       "default": "1000",
30289	//       "description": "Maximum number of results to return.",
30290	//       "format": "int32",
30291	//       "location": "query",
30292	//       "maximum": "1000",
30293	//       "minimum": "0",
30294	//       "type": "integer"
30295	//     },
30296	//     "pageToken": {
30297	//       "description": "Value of the nextPageToken from the previous result page.",
30298	//       "location": "query",
30299	//       "type": "string"
30300	//     },
30301	//     "parentId": {
30302	//       "description": "Select only directory sites with this parent ID.",
30303	//       "format": "int64",
30304	//       "location": "query",
30305	//       "type": "string"
30306	//     },
30307	//     "profileId": {
30308	//       "description": "User profile ID associated with this request.",
30309	//       "format": "int64",
30310	//       "location": "path",
30311	//       "required": true,
30312	//       "type": "string"
30313	//     },
30314	//     "searchString": {
30315	//       "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\".",
30316	//       "location": "query",
30317	//       "type": "string"
30318	//     },
30319	//     "sortField": {
30320	//       "default": "ID",
30321	//       "description": "Field by which to sort the list.",
30322	//       "enum": [
30323	//         "ID",
30324	//         "NAME"
30325	//       ],
30326	//       "enumDescriptions": [
30327	//         "",
30328	//         ""
30329	//       ],
30330	//       "location": "query",
30331	//       "type": "string"
30332	//     },
30333	//     "sortOrder": {
30334	//       "default": "ASCENDING",
30335	//       "description": "Order of sorted results.",
30336	//       "enum": [
30337	//         "ASCENDING",
30338	//         "DESCENDING"
30339	//       ],
30340	//       "enumDescriptions": [
30341	//         "",
30342	//         ""
30343	//       ],
30344	//       "location": "query",
30345	//       "type": "string"
30346	//     }
30347	//   },
30348	//   "path": "userprofiles/{profileId}/directorySites",
30349	//   "response": {
30350	//     "$ref": "DirectorySitesListResponse"
30351	//   },
30352	//   "scopes": [
30353	//     "https://www.googleapis.com/auth/dfatrafficking"
30354	//   ]
30355	// }
30356
30357}
30358
30359// Pages invokes f for each page of results.
30360// A non-nil error returned from f will halt the iteration.
30361// The provided context supersedes any context provided to the Context method.
30362func (c *DirectorySitesListCall) Pages(ctx context.Context, f func(*DirectorySitesListResponse) error) error {
30363	c.ctx_ = ctx
30364	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
30365	for {
30366		x, err := c.Do()
30367		if err != nil {
30368			return err
30369		}
30370		if err := f(x); err != nil {
30371			return err
30372		}
30373		if x.NextPageToken == "" {
30374			return nil
30375		}
30376		c.PageToken(x.NextPageToken)
30377	}
30378}
30379
30380// method id "dfareporting.dynamicTargetingKeys.delete":
30381
30382type DynamicTargetingKeysDeleteCall struct {
30383	s          *Service
30384	profileId  int64
30385	objectId   int64
30386	urlParams_ gensupport.URLParams
30387	ctx_       context.Context
30388	header_    http.Header
30389}
30390
30391// Delete: Deletes an existing dynamic targeting key.
30392func (r *DynamicTargetingKeysService) Delete(profileId int64, objectId int64, name string, objectType string) *DynamicTargetingKeysDeleteCall {
30393	c := &DynamicTargetingKeysDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30394	c.profileId = profileId
30395	c.objectId = objectId
30396	c.urlParams_.Set("name", name)
30397	c.urlParams_.Set("objectType", objectType)
30398	return c
30399}
30400
30401// Fields allows partial responses to be retrieved. See
30402// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30403// for more information.
30404func (c *DynamicTargetingKeysDeleteCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysDeleteCall {
30405	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30406	return c
30407}
30408
30409// Context sets the context to be used in this call's Do method. Any
30410// pending HTTP request will be aborted if the provided context is
30411// canceled.
30412func (c *DynamicTargetingKeysDeleteCall) Context(ctx context.Context) *DynamicTargetingKeysDeleteCall {
30413	c.ctx_ = ctx
30414	return c
30415}
30416
30417// Header returns an http.Header that can be modified by the caller to
30418// add HTTP headers to the request.
30419func (c *DynamicTargetingKeysDeleteCall) Header() http.Header {
30420	if c.header_ == nil {
30421		c.header_ = make(http.Header)
30422	}
30423	return c.header_
30424}
30425
30426func (c *DynamicTargetingKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
30427	reqHeaders := make(http.Header)
30428	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30429	for k, v := range c.header_ {
30430		reqHeaders[k] = v
30431	}
30432	reqHeaders.Set("User-Agent", c.s.userAgent())
30433	var body io.Reader = nil
30434	c.urlParams_.Set("alt", alt)
30435	c.urlParams_.Set("prettyPrint", "false")
30436	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}")
30437	urls += "?" + c.urlParams_.Encode()
30438	req, err := http.NewRequest("DELETE", urls, body)
30439	if err != nil {
30440		return nil, err
30441	}
30442	req.Header = reqHeaders
30443	googleapi.Expand(req.URL, map[string]string{
30444		"profileId": strconv.FormatInt(c.profileId, 10),
30445		"objectId":  strconv.FormatInt(c.objectId, 10),
30446	})
30447	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30448}
30449
30450// Do executes the "dfareporting.dynamicTargetingKeys.delete" call.
30451func (c *DynamicTargetingKeysDeleteCall) Do(opts ...googleapi.CallOption) error {
30452	gensupport.SetOptions(c.urlParams_, opts...)
30453	res, err := c.doRequest("json")
30454	if err != nil {
30455		return err
30456	}
30457	defer googleapi.CloseBody(res)
30458	if err := googleapi.CheckResponse(res); err != nil {
30459		return err
30460	}
30461	return nil
30462	// {
30463	//   "description": "Deletes an existing dynamic targeting key.",
30464	//   "httpMethod": "DELETE",
30465	//   "id": "dfareporting.dynamicTargetingKeys.delete",
30466	//   "parameterOrder": [
30467	//     "profileId",
30468	//     "objectId",
30469	//     "name",
30470	//     "objectType"
30471	//   ],
30472	//   "parameters": {
30473	//     "name": {
30474	//       "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.",
30475	//       "location": "query",
30476	//       "required": true,
30477	//       "type": "string"
30478	//     },
30479	//     "objectId": {
30480	//       "description": "ID of the object of this dynamic targeting key. This is a required field.",
30481	//       "format": "int64",
30482	//       "location": "path",
30483	//       "required": true,
30484	//       "type": "string"
30485	//     },
30486	//     "objectType": {
30487	//       "description": "Type of the object of this dynamic targeting key. This is a required field.",
30488	//       "enum": [
30489	//         "OBJECT_AD",
30490	//         "OBJECT_ADVERTISER",
30491	//         "OBJECT_CREATIVE",
30492	//         "OBJECT_PLACEMENT"
30493	//       ],
30494	//       "enumDescriptions": [
30495	//         "",
30496	//         "",
30497	//         "",
30498	//         ""
30499	//       ],
30500	//       "location": "query",
30501	//       "required": true,
30502	//       "type": "string"
30503	//     },
30504	//     "profileId": {
30505	//       "description": "User profile ID associated with this request.",
30506	//       "format": "int64",
30507	//       "location": "path",
30508	//       "required": true,
30509	//       "type": "string"
30510	//     }
30511	//   },
30512	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys/{objectId}",
30513	//   "scopes": [
30514	//     "https://www.googleapis.com/auth/dfatrafficking"
30515	//   ]
30516	// }
30517
30518}
30519
30520// method id "dfareporting.dynamicTargetingKeys.insert":
30521
30522type DynamicTargetingKeysInsertCall struct {
30523	s                   *Service
30524	profileId           int64
30525	dynamictargetingkey *DynamicTargetingKey
30526	urlParams_          gensupport.URLParams
30527	ctx_                context.Context
30528	header_             http.Header
30529}
30530
30531// Insert: Inserts a new dynamic targeting key. Keys must be created at
30532// the advertiser level before being assigned to the advertiser's ads,
30533// creatives, or placements. There is a maximum of 1000 keys per
30534// advertiser, out of which a maximum of 20 keys can be assigned per ad,
30535// creative, or placement.
30536func (r *DynamicTargetingKeysService) Insert(profileId int64, dynamictargetingkey *DynamicTargetingKey) *DynamicTargetingKeysInsertCall {
30537	c := &DynamicTargetingKeysInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30538	c.profileId = profileId
30539	c.dynamictargetingkey = dynamictargetingkey
30540	return c
30541}
30542
30543// Fields allows partial responses to be retrieved. See
30544// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30545// for more information.
30546func (c *DynamicTargetingKeysInsertCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysInsertCall {
30547	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30548	return c
30549}
30550
30551// Context sets the context to be used in this call's Do method. Any
30552// pending HTTP request will be aborted if the provided context is
30553// canceled.
30554func (c *DynamicTargetingKeysInsertCall) Context(ctx context.Context) *DynamicTargetingKeysInsertCall {
30555	c.ctx_ = ctx
30556	return c
30557}
30558
30559// Header returns an http.Header that can be modified by the caller to
30560// add HTTP headers to the request.
30561func (c *DynamicTargetingKeysInsertCall) Header() http.Header {
30562	if c.header_ == nil {
30563		c.header_ = make(http.Header)
30564	}
30565	return c.header_
30566}
30567
30568func (c *DynamicTargetingKeysInsertCall) doRequest(alt string) (*http.Response, error) {
30569	reqHeaders := make(http.Header)
30570	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30571	for k, v := range c.header_ {
30572		reqHeaders[k] = v
30573	}
30574	reqHeaders.Set("User-Agent", c.s.userAgent())
30575	var body io.Reader = nil
30576	body, err := googleapi.WithoutDataWrapper.JSONReader(c.dynamictargetingkey)
30577	if err != nil {
30578		return nil, err
30579	}
30580	reqHeaders.Set("Content-Type", "application/json")
30581	c.urlParams_.Set("alt", alt)
30582	c.urlParams_.Set("prettyPrint", "false")
30583	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30584	urls += "?" + c.urlParams_.Encode()
30585	req, err := http.NewRequest("POST", urls, body)
30586	if err != nil {
30587		return nil, err
30588	}
30589	req.Header = reqHeaders
30590	googleapi.Expand(req.URL, map[string]string{
30591		"profileId": strconv.FormatInt(c.profileId, 10),
30592	})
30593	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30594}
30595
30596// Do executes the "dfareporting.dynamicTargetingKeys.insert" call.
30597// Exactly one of *DynamicTargetingKey or error will be non-nil. Any
30598// non-2xx status code is an error. Response headers are in either
30599// *DynamicTargetingKey.ServerResponse.Header or (if a response was
30600// returned at all) in error.(*googleapi.Error).Header. Use
30601// googleapi.IsNotModified to check whether the returned error was
30602// because http.StatusNotModified was returned.
30603func (c *DynamicTargetingKeysInsertCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKey, error) {
30604	gensupport.SetOptions(c.urlParams_, opts...)
30605	res, err := c.doRequest("json")
30606	if res != nil && res.StatusCode == http.StatusNotModified {
30607		if res.Body != nil {
30608			res.Body.Close()
30609		}
30610		return nil, &googleapi.Error{
30611			Code:   res.StatusCode,
30612			Header: res.Header,
30613		}
30614	}
30615	if err != nil {
30616		return nil, err
30617	}
30618	defer googleapi.CloseBody(res)
30619	if err := googleapi.CheckResponse(res); err != nil {
30620		return nil, err
30621	}
30622	ret := &DynamicTargetingKey{
30623		ServerResponse: googleapi.ServerResponse{
30624			Header:         res.Header,
30625			HTTPStatusCode: res.StatusCode,
30626		},
30627	}
30628	target := &ret
30629	if err := gensupport.DecodeResponse(target, res); err != nil {
30630		return nil, err
30631	}
30632	return ret, nil
30633	// {
30634	//   "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.",
30635	//   "httpMethod": "POST",
30636	//   "id": "dfareporting.dynamicTargetingKeys.insert",
30637	//   "parameterOrder": [
30638	//     "profileId"
30639	//   ],
30640	//   "parameters": {
30641	//     "profileId": {
30642	//       "description": "User profile ID associated with this request.",
30643	//       "format": "int64",
30644	//       "location": "path",
30645	//       "required": true,
30646	//       "type": "string"
30647	//     }
30648	//   },
30649	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30650	//   "request": {
30651	//     "$ref": "DynamicTargetingKey"
30652	//   },
30653	//   "response": {
30654	//     "$ref": "DynamicTargetingKey"
30655	//   },
30656	//   "scopes": [
30657	//     "https://www.googleapis.com/auth/dfatrafficking"
30658	//   ]
30659	// }
30660
30661}
30662
30663// method id "dfareporting.dynamicTargetingKeys.list":
30664
30665type DynamicTargetingKeysListCall struct {
30666	s            *Service
30667	profileId    int64
30668	urlParams_   gensupport.URLParams
30669	ifNoneMatch_ string
30670	ctx_         context.Context
30671	header_      http.Header
30672}
30673
30674// List: Retrieves a list of dynamic targeting keys.
30675func (r *DynamicTargetingKeysService) List(profileId int64) *DynamicTargetingKeysListCall {
30676	c := &DynamicTargetingKeysListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30677	c.profileId = profileId
30678	return c
30679}
30680
30681// AdvertiserId sets the optional parameter "advertiserId": Select only
30682// dynamic targeting keys whose object has this advertiser ID.
30683func (c *DynamicTargetingKeysListCall) AdvertiserId(advertiserId int64) *DynamicTargetingKeysListCall {
30684	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
30685	return c
30686}
30687
30688// Names sets the optional parameter "names": Select only dynamic
30689// targeting keys exactly matching these names.
30690func (c *DynamicTargetingKeysListCall) Names(names ...string) *DynamicTargetingKeysListCall {
30691	c.urlParams_.SetMulti("names", append([]string{}, names...))
30692	return c
30693}
30694
30695// ObjectId sets the optional parameter "objectId": Select only dynamic
30696// targeting keys with this object ID.
30697func (c *DynamicTargetingKeysListCall) ObjectId(objectId int64) *DynamicTargetingKeysListCall {
30698	c.urlParams_.Set("objectId", fmt.Sprint(objectId))
30699	return c
30700}
30701
30702// ObjectType sets the optional parameter "objectType": Select only
30703// dynamic targeting keys with this object type.
30704//
30705// Possible values:
30706//   "OBJECT_AD"
30707//   "OBJECT_ADVERTISER"
30708//   "OBJECT_CREATIVE"
30709//   "OBJECT_PLACEMENT"
30710func (c *DynamicTargetingKeysListCall) ObjectType(objectType string) *DynamicTargetingKeysListCall {
30711	c.urlParams_.Set("objectType", objectType)
30712	return c
30713}
30714
30715// Fields allows partial responses to be retrieved. See
30716// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30717// for more information.
30718func (c *DynamicTargetingKeysListCall) Fields(s ...googleapi.Field) *DynamicTargetingKeysListCall {
30719	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30720	return c
30721}
30722
30723// IfNoneMatch sets the optional parameter which makes the operation
30724// fail if the object's ETag matches the given value. This is useful for
30725// getting updates only after the object has changed since the last
30726// request. Use googleapi.IsNotModified to check whether the response
30727// error from Do is the result of In-None-Match.
30728func (c *DynamicTargetingKeysListCall) IfNoneMatch(entityTag string) *DynamicTargetingKeysListCall {
30729	c.ifNoneMatch_ = entityTag
30730	return c
30731}
30732
30733// Context sets the context to be used in this call's Do method. Any
30734// pending HTTP request will be aborted if the provided context is
30735// canceled.
30736func (c *DynamicTargetingKeysListCall) Context(ctx context.Context) *DynamicTargetingKeysListCall {
30737	c.ctx_ = ctx
30738	return c
30739}
30740
30741// Header returns an http.Header that can be modified by the caller to
30742// add HTTP headers to the request.
30743func (c *DynamicTargetingKeysListCall) Header() http.Header {
30744	if c.header_ == nil {
30745		c.header_ = make(http.Header)
30746	}
30747	return c.header_
30748}
30749
30750func (c *DynamicTargetingKeysListCall) doRequest(alt string) (*http.Response, error) {
30751	reqHeaders := make(http.Header)
30752	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30753	for k, v := range c.header_ {
30754		reqHeaders[k] = v
30755	}
30756	reqHeaders.Set("User-Agent", c.s.userAgent())
30757	if c.ifNoneMatch_ != "" {
30758		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
30759	}
30760	var body io.Reader = nil
30761	c.urlParams_.Set("alt", alt)
30762	c.urlParams_.Set("prettyPrint", "false")
30763	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/dynamicTargetingKeys")
30764	urls += "?" + c.urlParams_.Encode()
30765	req, err := http.NewRequest("GET", urls, body)
30766	if err != nil {
30767		return nil, err
30768	}
30769	req.Header = reqHeaders
30770	googleapi.Expand(req.URL, map[string]string{
30771		"profileId": strconv.FormatInt(c.profileId, 10),
30772	})
30773	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30774}
30775
30776// Do executes the "dfareporting.dynamicTargetingKeys.list" call.
30777// Exactly one of *DynamicTargetingKeysListResponse or error will be
30778// non-nil. Any non-2xx status code is an error. Response headers are in
30779// either *DynamicTargetingKeysListResponse.ServerResponse.Header or (if
30780// a response was returned at all) in error.(*googleapi.Error).Header.
30781// Use googleapi.IsNotModified to check whether the returned error was
30782// because http.StatusNotModified was returned.
30783func (c *DynamicTargetingKeysListCall) Do(opts ...googleapi.CallOption) (*DynamicTargetingKeysListResponse, error) {
30784	gensupport.SetOptions(c.urlParams_, opts...)
30785	res, err := c.doRequest("json")
30786	if res != nil && res.StatusCode == http.StatusNotModified {
30787		if res.Body != nil {
30788			res.Body.Close()
30789		}
30790		return nil, &googleapi.Error{
30791			Code:   res.StatusCode,
30792			Header: res.Header,
30793		}
30794	}
30795	if err != nil {
30796		return nil, err
30797	}
30798	defer googleapi.CloseBody(res)
30799	if err := googleapi.CheckResponse(res); err != nil {
30800		return nil, err
30801	}
30802	ret := &DynamicTargetingKeysListResponse{
30803		ServerResponse: googleapi.ServerResponse{
30804			Header:         res.Header,
30805			HTTPStatusCode: res.StatusCode,
30806		},
30807	}
30808	target := &ret
30809	if err := gensupport.DecodeResponse(target, res); err != nil {
30810		return nil, err
30811	}
30812	return ret, nil
30813	// {
30814	//   "description": "Retrieves a list of dynamic targeting keys.",
30815	//   "httpMethod": "GET",
30816	//   "id": "dfareporting.dynamicTargetingKeys.list",
30817	//   "parameterOrder": [
30818	//     "profileId"
30819	//   ],
30820	//   "parameters": {
30821	//     "advertiserId": {
30822	//       "description": "Select only dynamic targeting keys whose object has this advertiser ID.",
30823	//       "format": "int64",
30824	//       "location": "query",
30825	//       "type": "string"
30826	//     },
30827	//     "names": {
30828	//       "description": "Select only dynamic targeting keys exactly matching these names.",
30829	//       "location": "query",
30830	//       "repeated": true,
30831	//       "type": "string"
30832	//     },
30833	//     "objectId": {
30834	//       "description": "Select only dynamic targeting keys with this object ID.",
30835	//       "format": "int64",
30836	//       "location": "query",
30837	//       "type": "string"
30838	//     },
30839	//     "objectType": {
30840	//       "description": "Select only dynamic targeting keys with this object type.",
30841	//       "enum": [
30842	//         "OBJECT_AD",
30843	//         "OBJECT_ADVERTISER",
30844	//         "OBJECT_CREATIVE",
30845	//         "OBJECT_PLACEMENT"
30846	//       ],
30847	//       "enumDescriptions": [
30848	//         "",
30849	//         "",
30850	//         "",
30851	//         ""
30852	//       ],
30853	//       "location": "query",
30854	//       "type": "string"
30855	//     },
30856	//     "profileId": {
30857	//       "description": "User profile ID associated with this request.",
30858	//       "format": "int64",
30859	//       "location": "path",
30860	//       "required": true,
30861	//       "type": "string"
30862	//     }
30863	//   },
30864	//   "path": "userprofiles/{profileId}/dynamicTargetingKeys",
30865	//   "response": {
30866	//     "$ref": "DynamicTargetingKeysListResponse"
30867	//   },
30868	//   "scopes": [
30869	//     "https://www.googleapis.com/auth/dfatrafficking"
30870	//   ]
30871	// }
30872
30873}
30874
30875// method id "dfareporting.eventTags.delete":
30876
30877type EventTagsDeleteCall struct {
30878	s          *Service
30879	profileId  int64
30880	id         int64
30881	urlParams_ gensupport.URLParams
30882	ctx_       context.Context
30883	header_    http.Header
30884}
30885
30886// Delete: Deletes an existing event tag.
30887func (r *EventTagsService) Delete(profileId int64, id int64) *EventTagsDeleteCall {
30888	c := &EventTagsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
30889	c.profileId = profileId
30890	c.id = id
30891	return c
30892}
30893
30894// Fields allows partial responses to be retrieved. See
30895// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
30896// for more information.
30897func (c *EventTagsDeleteCall) Fields(s ...googleapi.Field) *EventTagsDeleteCall {
30898	c.urlParams_.Set("fields", googleapi.CombineFields(s))
30899	return c
30900}
30901
30902// Context sets the context to be used in this call's Do method. Any
30903// pending HTTP request will be aborted if the provided context is
30904// canceled.
30905func (c *EventTagsDeleteCall) Context(ctx context.Context) *EventTagsDeleteCall {
30906	c.ctx_ = ctx
30907	return c
30908}
30909
30910// Header returns an http.Header that can be modified by the caller to
30911// add HTTP headers to the request.
30912func (c *EventTagsDeleteCall) Header() http.Header {
30913	if c.header_ == nil {
30914		c.header_ = make(http.Header)
30915	}
30916	return c.header_
30917}
30918
30919func (c *EventTagsDeleteCall) doRequest(alt string) (*http.Response, error) {
30920	reqHeaders := make(http.Header)
30921	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
30922	for k, v := range c.header_ {
30923		reqHeaders[k] = v
30924	}
30925	reqHeaders.Set("User-Agent", c.s.userAgent())
30926	var body io.Reader = nil
30927	c.urlParams_.Set("alt", alt)
30928	c.urlParams_.Set("prettyPrint", "false")
30929	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
30930	urls += "?" + c.urlParams_.Encode()
30931	req, err := http.NewRequest("DELETE", urls, body)
30932	if err != nil {
30933		return nil, err
30934	}
30935	req.Header = reqHeaders
30936	googleapi.Expand(req.URL, map[string]string{
30937		"profileId": strconv.FormatInt(c.profileId, 10),
30938		"id":        strconv.FormatInt(c.id, 10),
30939	})
30940	return gensupport.SendRequest(c.ctx_, c.s.client, req)
30941}
30942
30943// Do executes the "dfareporting.eventTags.delete" call.
30944func (c *EventTagsDeleteCall) Do(opts ...googleapi.CallOption) error {
30945	gensupport.SetOptions(c.urlParams_, opts...)
30946	res, err := c.doRequest("json")
30947	if err != nil {
30948		return err
30949	}
30950	defer googleapi.CloseBody(res)
30951	if err := googleapi.CheckResponse(res); err != nil {
30952		return err
30953	}
30954	return nil
30955	// {
30956	//   "description": "Deletes an existing event tag.",
30957	//   "httpMethod": "DELETE",
30958	//   "id": "dfareporting.eventTags.delete",
30959	//   "parameterOrder": [
30960	//     "profileId",
30961	//     "id"
30962	//   ],
30963	//   "parameters": {
30964	//     "id": {
30965	//       "description": "Event tag ID.",
30966	//       "format": "int64",
30967	//       "location": "path",
30968	//       "required": true,
30969	//       "type": "string"
30970	//     },
30971	//     "profileId": {
30972	//       "description": "User profile ID associated with this request.",
30973	//       "format": "int64",
30974	//       "location": "path",
30975	//       "required": true,
30976	//       "type": "string"
30977	//     }
30978	//   },
30979	//   "path": "userprofiles/{profileId}/eventTags/{id}",
30980	//   "scopes": [
30981	//     "https://www.googleapis.com/auth/dfatrafficking"
30982	//   ]
30983	// }
30984
30985}
30986
30987// method id "dfareporting.eventTags.get":
30988
30989type EventTagsGetCall struct {
30990	s            *Service
30991	profileId    int64
30992	id           int64
30993	urlParams_   gensupport.URLParams
30994	ifNoneMatch_ string
30995	ctx_         context.Context
30996	header_      http.Header
30997}
30998
30999// Get: Gets one event tag by ID.
31000func (r *EventTagsService) Get(profileId int64, id int64) *EventTagsGetCall {
31001	c := &EventTagsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31002	c.profileId = profileId
31003	c.id = id
31004	return c
31005}
31006
31007// Fields allows partial responses to be retrieved. See
31008// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31009// for more information.
31010func (c *EventTagsGetCall) Fields(s ...googleapi.Field) *EventTagsGetCall {
31011	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31012	return c
31013}
31014
31015// IfNoneMatch sets the optional parameter which makes the operation
31016// fail if the object's ETag matches the given value. This is useful for
31017// getting updates only after the object has changed since the last
31018// request. Use googleapi.IsNotModified to check whether the response
31019// error from Do is the result of In-None-Match.
31020func (c *EventTagsGetCall) IfNoneMatch(entityTag string) *EventTagsGetCall {
31021	c.ifNoneMatch_ = entityTag
31022	return c
31023}
31024
31025// Context sets the context to be used in this call's Do method. Any
31026// pending HTTP request will be aborted if the provided context is
31027// canceled.
31028func (c *EventTagsGetCall) Context(ctx context.Context) *EventTagsGetCall {
31029	c.ctx_ = ctx
31030	return c
31031}
31032
31033// Header returns an http.Header that can be modified by the caller to
31034// add HTTP headers to the request.
31035func (c *EventTagsGetCall) Header() http.Header {
31036	if c.header_ == nil {
31037		c.header_ = make(http.Header)
31038	}
31039	return c.header_
31040}
31041
31042func (c *EventTagsGetCall) doRequest(alt string) (*http.Response, error) {
31043	reqHeaders := make(http.Header)
31044	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31045	for k, v := range c.header_ {
31046		reqHeaders[k] = v
31047	}
31048	reqHeaders.Set("User-Agent", c.s.userAgent())
31049	if c.ifNoneMatch_ != "" {
31050		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31051	}
31052	var body io.Reader = nil
31053	c.urlParams_.Set("alt", alt)
31054	c.urlParams_.Set("prettyPrint", "false")
31055	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags/{id}")
31056	urls += "?" + c.urlParams_.Encode()
31057	req, err := http.NewRequest("GET", urls, body)
31058	if err != nil {
31059		return nil, err
31060	}
31061	req.Header = reqHeaders
31062	googleapi.Expand(req.URL, map[string]string{
31063		"profileId": strconv.FormatInt(c.profileId, 10),
31064		"id":        strconv.FormatInt(c.id, 10),
31065	})
31066	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31067}
31068
31069// Do executes the "dfareporting.eventTags.get" call.
31070// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31071// code is an error. Response headers are in either
31072// *EventTag.ServerResponse.Header or (if a response was returned at
31073// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31074// to check whether the returned error was because
31075// http.StatusNotModified was returned.
31076func (c *EventTagsGetCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31077	gensupport.SetOptions(c.urlParams_, opts...)
31078	res, err := c.doRequest("json")
31079	if res != nil && res.StatusCode == http.StatusNotModified {
31080		if res.Body != nil {
31081			res.Body.Close()
31082		}
31083		return nil, &googleapi.Error{
31084			Code:   res.StatusCode,
31085			Header: res.Header,
31086		}
31087	}
31088	if err != nil {
31089		return nil, err
31090	}
31091	defer googleapi.CloseBody(res)
31092	if err := googleapi.CheckResponse(res); err != nil {
31093		return nil, err
31094	}
31095	ret := &EventTag{
31096		ServerResponse: googleapi.ServerResponse{
31097			Header:         res.Header,
31098			HTTPStatusCode: res.StatusCode,
31099		},
31100	}
31101	target := &ret
31102	if err := gensupport.DecodeResponse(target, res); err != nil {
31103		return nil, err
31104	}
31105	return ret, nil
31106	// {
31107	//   "description": "Gets one event tag by ID.",
31108	//   "httpMethod": "GET",
31109	//   "id": "dfareporting.eventTags.get",
31110	//   "parameterOrder": [
31111	//     "profileId",
31112	//     "id"
31113	//   ],
31114	//   "parameters": {
31115	//     "id": {
31116	//       "description": "Event tag ID.",
31117	//       "format": "int64",
31118	//       "location": "path",
31119	//       "required": true,
31120	//       "type": "string"
31121	//     },
31122	//     "profileId": {
31123	//       "description": "User profile ID associated with this request.",
31124	//       "format": "int64",
31125	//       "location": "path",
31126	//       "required": true,
31127	//       "type": "string"
31128	//     }
31129	//   },
31130	//   "path": "userprofiles/{profileId}/eventTags/{id}",
31131	//   "response": {
31132	//     "$ref": "EventTag"
31133	//   },
31134	//   "scopes": [
31135	//     "https://www.googleapis.com/auth/dfatrafficking"
31136	//   ]
31137	// }
31138
31139}
31140
31141// method id "dfareporting.eventTags.insert":
31142
31143type EventTagsInsertCall struct {
31144	s          *Service
31145	profileId  int64
31146	eventtag   *EventTag
31147	urlParams_ gensupport.URLParams
31148	ctx_       context.Context
31149	header_    http.Header
31150}
31151
31152// Insert: Inserts a new event tag.
31153func (r *EventTagsService) Insert(profileId int64, eventtag *EventTag) *EventTagsInsertCall {
31154	c := &EventTagsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31155	c.profileId = profileId
31156	c.eventtag = eventtag
31157	return c
31158}
31159
31160// Fields allows partial responses to be retrieved. See
31161// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31162// for more information.
31163func (c *EventTagsInsertCall) Fields(s ...googleapi.Field) *EventTagsInsertCall {
31164	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31165	return c
31166}
31167
31168// Context sets the context to be used in this call's Do method. Any
31169// pending HTTP request will be aborted if the provided context is
31170// canceled.
31171func (c *EventTagsInsertCall) Context(ctx context.Context) *EventTagsInsertCall {
31172	c.ctx_ = ctx
31173	return c
31174}
31175
31176// Header returns an http.Header that can be modified by the caller to
31177// add HTTP headers to the request.
31178func (c *EventTagsInsertCall) Header() http.Header {
31179	if c.header_ == nil {
31180		c.header_ = make(http.Header)
31181	}
31182	return c.header_
31183}
31184
31185func (c *EventTagsInsertCall) doRequest(alt string) (*http.Response, error) {
31186	reqHeaders := make(http.Header)
31187	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31188	for k, v := range c.header_ {
31189		reqHeaders[k] = v
31190	}
31191	reqHeaders.Set("User-Agent", c.s.userAgent())
31192	var body io.Reader = nil
31193	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31194	if err != nil {
31195		return nil, err
31196	}
31197	reqHeaders.Set("Content-Type", "application/json")
31198	c.urlParams_.Set("alt", alt)
31199	c.urlParams_.Set("prettyPrint", "false")
31200	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31201	urls += "?" + c.urlParams_.Encode()
31202	req, err := http.NewRequest("POST", urls, body)
31203	if err != nil {
31204		return nil, err
31205	}
31206	req.Header = reqHeaders
31207	googleapi.Expand(req.URL, map[string]string{
31208		"profileId": strconv.FormatInt(c.profileId, 10),
31209	})
31210	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31211}
31212
31213// Do executes the "dfareporting.eventTags.insert" call.
31214// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31215// code is an error. Response headers are in either
31216// *EventTag.ServerResponse.Header or (if a response was returned at
31217// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31218// to check whether the returned error was because
31219// http.StatusNotModified was returned.
31220func (c *EventTagsInsertCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31221	gensupport.SetOptions(c.urlParams_, opts...)
31222	res, err := c.doRequest("json")
31223	if res != nil && res.StatusCode == http.StatusNotModified {
31224		if res.Body != nil {
31225			res.Body.Close()
31226		}
31227		return nil, &googleapi.Error{
31228			Code:   res.StatusCode,
31229			Header: res.Header,
31230		}
31231	}
31232	if err != nil {
31233		return nil, err
31234	}
31235	defer googleapi.CloseBody(res)
31236	if err := googleapi.CheckResponse(res); err != nil {
31237		return nil, err
31238	}
31239	ret := &EventTag{
31240		ServerResponse: googleapi.ServerResponse{
31241			Header:         res.Header,
31242			HTTPStatusCode: res.StatusCode,
31243		},
31244	}
31245	target := &ret
31246	if err := gensupport.DecodeResponse(target, res); err != nil {
31247		return nil, err
31248	}
31249	return ret, nil
31250	// {
31251	//   "description": "Inserts a new event tag.",
31252	//   "httpMethod": "POST",
31253	//   "id": "dfareporting.eventTags.insert",
31254	//   "parameterOrder": [
31255	//     "profileId"
31256	//   ],
31257	//   "parameters": {
31258	//     "profileId": {
31259	//       "description": "User profile ID associated with this request.",
31260	//       "format": "int64",
31261	//       "location": "path",
31262	//       "required": true,
31263	//       "type": "string"
31264	//     }
31265	//   },
31266	//   "path": "userprofiles/{profileId}/eventTags",
31267	//   "request": {
31268	//     "$ref": "EventTag"
31269	//   },
31270	//   "response": {
31271	//     "$ref": "EventTag"
31272	//   },
31273	//   "scopes": [
31274	//     "https://www.googleapis.com/auth/dfatrafficking"
31275	//   ]
31276	// }
31277
31278}
31279
31280// method id "dfareporting.eventTags.list":
31281
31282type EventTagsListCall struct {
31283	s            *Service
31284	profileId    int64
31285	urlParams_   gensupport.URLParams
31286	ifNoneMatch_ string
31287	ctx_         context.Context
31288	header_      http.Header
31289}
31290
31291// List: Retrieves a list of event tags, possibly filtered.
31292func (r *EventTagsService) List(profileId int64) *EventTagsListCall {
31293	c := &EventTagsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31294	c.profileId = profileId
31295	return c
31296}
31297
31298// AdId sets the optional parameter "adId": Select only event tags that
31299// belong to this ad.
31300func (c *EventTagsListCall) AdId(adId int64) *EventTagsListCall {
31301	c.urlParams_.Set("adId", fmt.Sprint(adId))
31302	return c
31303}
31304
31305// AdvertiserId sets the optional parameter "advertiserId": Select only
31306// event tags that belong to this advertiser.
31307func (c *EventTagsListCall) AdvertiserId(advertiserId int64) *EventTagsListCall {
31308	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
31309	return c
31310}
31311
31312// CampaignId sets the optional parameter "campaignId": Select only
31313// event tags that belong to this campaign.
31314func (c *EventTagsListCall) CampaignId(campaignId int64) *EventTagsListCall {
31315	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
31316	return c
31317}
31318
31319// DefinitionsOnly sets the optional parameter "definitionsOnly":
31320// Examine only the specified campaign or advertiser's event tags for
31321// matching selector criteria. When set to false, the parent advertiser
31322// and parent campaign of the specified ad or campaign is examined as
31323// well. In addition, when set to false, the status field is examined as
31324// well, along with the enabledByDefault field. This parameter can not
31325// be set to true when adId is specified as ads do not define their own
31326// even tags.
31327func (c *EventTagsListCall) DefinitionsOnly(definitionsOnly bool) *EventTagsListCall {
31328	c.urlParams_.Set("definitionsOnly", fmt.Sprint(definitionsOnly))
31329	return c
31330}
31331
31332// Enabled sets the optional parameter "enabled": Select only enabled
31333// event tags. What is considered enabled or disabled depends on the
31334// definitionsOnly parameter. When definitionsOnly is set to true, only
31335// the specified advertiser or campaign's event tags' enabledByDefault
31336// field is examined. When definitionsOnly is set to false, the
31337// specified ad or specified campaign's parent advertiser's or parent
31338// campaign's event tags' enabledByDefault and status fields are
31339// examined as well.
31340func (c *EventTagsListCall) Enabled(enabled bool) *EventTagsListCall {
31341	c.urlParams_.Set("enabled", fmt.Sprint(enabled))
31342	return c
31343}
31344
31345// EventTagTypes sets the optional parameter "eventTagTypes": Select
31346// only event tags with the specified event tag types. Event tag types
31347// can be used to specify whether to use a third-party pixel, a
31348// third-party JavaScript URL, or a third-party click-through URL for
31349// either impression or click tracking.
31350//
31351// Possible values:
31352//   "CLICK_THROUGH_EVENT_TAG"
31353//   "IMPRESSION_IMAGE_EVENT_TAG"
31354//   "IMPRESSION_JAVASCRIPT_EVENT_TAG"
31355func (c *EventTagsListCall) EventTagTypes(eventTagTypes ...string) *EventTagsListCall {
31356	c.urlParams_.SetMulti("eventTagTypes", append([]string{}, eventTagTypes...))
31357	return c
31358}
31359
31360// Ids sets the optional parameter "ids": Select only event tags with
31361// these IDs.
31362func (c *EventTagsListCall) Ids(ids ...int64) *EventTagsListCall {
31363	var ids_ []string
31364	for _, v := range ids {
31365		ids_ = append(ids_, fmt.Sprint(v))
31366	}
31367	c.urlParams_.SetMulti("ids", ids_)
31368	return c
31369}
31370
31371// SearchString sets the optional parameter "searchString": Allows
31372// searching for objects by name or ID. Wildcards (*) are allowed. For
31373// example, "eventtag*2015" will return objects with names like
31374// "eventtag June 2015", "eventtag April 2015", or simply "eventtag
31375// 2015". Most of the searches also add wildcards implicitly at the
31376// start and the end of the search string. For example, a search string
31377// of "eventtag" will match objects with name "my eventtag", "eventtag
31378// 2015", or simply "eventtag".
31379func (c *EventTagsListCall) SearchString(searchString string) *EventTagsListCall {
31380	c.urlParams_.Set("searchString", searchString)
31381	return c
31382}
31383
31384// SortField sets the optional parameter "sortField": Field by which to
31385// sort the list.
31386//
31387// Possible values:
31388//   "ID" (default)
31389//   "NAME"
31390func (c *EventTagsListCall) SortField(sortField string) *EventTagsListCall {
31391	c.urlParams_.Set("sortField", sortField)
31392	return c
31393}
31394
31395// SortOrder sets the optional parameter "sortOrder": Order of sorted
31396// results.
31397//
31398// Possible values:
31399//   "ASCENDING" (default)
31400//   "DESCENDING"
31401func (c *EventTagsListCall) SortOrder(sortOrder string) *EventTagsListCall {
31402	c.urlParams_.Set("sortOrder", sortOrder)
31403	return c
31404}
31405
31406// Fields allows partial responses to be retrieved. See
31407// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31408// for more information.
31409func (c *EventTagsListCall) Fields(s ...googleapi.Field) *EventTagsListCall {
31410	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31411	return c
31412}
31413
31414// IfNoneMatch sets the optional parameter which makes the operation
31415// fail if the object's ETag matches the given value. This is useful for
31416// getting updates only after the object has changed since the last
31417// request. Use googleapi.IsNotModified to check whether the response
31418// error from Do is the result of In-None-Match.
31419func (c *EventTagsListCall) IfNoneMatch(entityTag string) *EventTagsListCall {
31420	c.ifNoneMatch_ = entityTag
31421	return c
31422}
31423
31424// Context sets the context to be used in this call's Do method. Any
31425// pending HTTP request will be aborted if the provided context is
31426// canceled.
31427func (c *EventTagsListCall) Context(ctx context.Context) *EventTagsListCall {
31428	c.ctx_ = ctx
31429	return c
31430}
31431
31432// Header returns an http.Header that can be modified by the caller to
31433// add HTTP headers to the request.
31434func (c *EventTagsListCall) Header() http.Header {
31435	if c.header_ == nil {
31436		c.header_ = make(http.Header)
31437	}
31438	return c.header_
31439}
31440
31441func (c *EventTagsListCall) doRequest(alt string) (*http.Response, error) {
31442	reqHeaders := make(http.Header)
31443	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31444	for k, v := range c.header_ {
31445		reqHeaders[k] = v
31446	}
31447	reqHeaders.Set("User-Agent", c.s.userAgent())
31448	if c.ifNoneMatch_ != "" {
31449		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31450	}
31451	var body io.Reader = nil
31452	c.urlParams_.Set("alt", alt)
31453	c.urlParams_.Set("prettyPrint", "false")
31454	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31455	urls += "?" + c.urlParams_.Encode()
31456	req, err := http.NewRequest("GET", urls, body)
31457	if err != nil {
31458		return nil, err
31459	}
31460	req.Header = reqHeaders
31461	googleapi.Expand(req.URL, map[string]string{
31462		"profileId": strconv.FormatInt(c.profileId, 10),
31463	})
31464	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31465}
31466
31467// Do executes the "dfareporting.eventTags.list" call.
31468// Exactly one of *EventTagsListResponse or error will be non-nil. Any
31469// non-2xx status code is an error. Response headers are in either
31470// *EventTagsListResponse.ServerResponse.Header or (if a response was
31471// returned at all) in error.(*googleapi.Error).Header. Use
31472// googleapi.IsNotModified to check whether the returned error was
31473// because http.StatusNotModified was returned.
31474func (c *EventTagsListCall) Do(opts ...googleapi.CallOption) (*EventTagsListResponse, error) {
31475	gensupport.SetOptions(c.urlParams_, opts...)
31476	res, err := c.doRequest("json")
31477	if res != nil && res.StatusCode == http.StatusNotModified {
31478		if res.Body != nil {
31479			res.Body.Close()
31480		}
31481		return nil, &googleapi.Error{
31482			Code:   res.StatusCode,
31483			Header: res.Header,
31484		}
31485	}
31486	if err != nil {
31487		return nil, err
31488	}
31489	defer googleapi.CloseBody(res)
31490	if err := googleapi.CheckResponse(res); err != nil {
31491		return nil, err
31492	}
31493	ret := &EventTagsListResponse{
31494		ServerResponse: googleapi.ServerResponse{
31495			Header:         res.Header,
31496			HTTPStatusCode: res.StatusCode,
31497		},
31498	}
31499	target := &ret
31500	if err := gensupport.DecodeResponse(target, res); err != nil {
31501		return nil, err
31502	}
31503	return ret, nil
31504	// {
31505	//   "description": "Retrieves a list of event tags, possibly filtered.",
31506	//   "httpMethod": "GET",
31507	//   "id": "dfareporting.eventTags.list",
31508	//   "parameterOrder": [
31509	//     "profileId"
31510	//   ],
31511	//   "parameters": {
31512	//     "adId": {
31513	//       "description": "Select only event tags that belong to this ad.",
31514	//       "format": "int64",
31515	//       "location": "query",
31516	//       "type": "string"
31517	//     },
31518	//     "advertiserId": {
31519	//       "description": "Select only event tags that belong to this advertiser.",
31520	//       "format": "int64",
31521	//       "location": "query",
31522	//       "type": "string"
31523	//     },
31524	//     "campaignId": {
31525	//       "description": "Select only event tags that belong to this campaign.",
31526	//       "format": "int64",
31527	//       "location": "query",
31528	//       "type": "string"
31529	//     },
31530	//     "definitionsOnly": {
31531	//       "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.",
31532	//       "location": "query",
31533	//       "type": "boolean"
31534	//     },
31535	//     "enabled": {
31536	//       "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.",
31537	//       "location": "query",
31538	//       "type": "boolean"
31539	//     },
31540	//     "eventTagTypes": {
31541	//       "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.",
31542	//       "enum": [
31543	//         "CLICK_THROUGH_EVENT_TAG",
31544	//         "IMPRESSION_IMAGE_EVENT_TAG",
31545	//         "IMPRESSION_JAVASCRIPT_EVENT_TAG"
31546	//       ],
31547	//       "enumDescriptions": [
31548	//         "",
31549	//         "",
31550	//         ""
31551	//       ],
31552	//       "location": "query",
31553	//       "repeated": true,
31554	//       "type": "string"
31555	//     },
31556	//     "ids": {
31557	//       "description": "Select only event tags with these IDs.",
31558	//       "format": "int64",
31559	//       "location": "query",
31560	//       "repeated": true,
31561	//       "type": "string"
31562	//     },
31563	//     "profileId": {
31564	//       "description": "User profile ID associated with this request.",
31565	//       "format": "int64",
31566	//       "location": "path",
31567	//       "required": true,
31568	//       "type": "string"
31569	//     },
31570	//     "searchString": {
31571	//       "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\".",
31572	//       "location": "query",
31573	//       "type": "string"
31574	//     },
31575	//     "sortField": {
31576	//       "default": "ID",
31577	//       "description": "Field by which to sort the list.",
31578	//       "enum": [
31579	//         "ID",
31580	//         "NAME"
31581	//       ],
31582	//       "enumDescriptions": [
31583	//         "",
31584	//         ""
31585	//       ],
31586	//       "location": "query",
31587	//       "type": "string"
31588	//     },
31589	//     "sortOrder": {
31590	//       "default": "ASCENDING",
31591	//       "description": "Order of sorted results.",
31592	//       "enum": [
31593	//         "ASCENDING",
31594	//         "DESCENDING"
31595	//       ],
31596	//       "enumDescriptions": [
31597	//         "",
31598	//         ""
31599	//       ],
31600	//       "location": "query",
31601	//       "type": "string"
31602	//     }
31603	//   },
31604	//   "path": "userprofiles/{profileId}/eventTags",
31605	//   "response": {
31606	//     "$ref": "EventTagsListResponse"
31607	//   },
31608	//   "scopes": [
31609	//     "https://www.googleapis.com/auth/dfatrafficking"
31610	//   ]
31611	// }
31612
31613}
31614
31615// method id "dfareporting.eventTags.patch":
31616
31617type EventTagsPatchCall struct {
31618	s          *Service
31619	profileId  int64
31620	eventtag   *EventTag
31621	urlParams_ gensupport.URLParams
31622	ctx_       context.Context
31623	header_    http.Header
31624}
31625
31626// Patch: Updates an existing event tag. This method supports patch
31627// semantics.
31628func (r *EventTagsService) Patch(profileId int64, id int64, eventtag *EventTag) *EventTagsPatchCall {
31629	c := &EventTagsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31630	c.profileId = profileId
31631	c.urlParams_.Set("id", fmt.Sprint(id))
31632	c.eventtag = eventtag
31633	return c
31634}
31635
31636// Fields allows partial responses to be retrieved. See
31637// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31638// for more information.
31639func (c *EventTagsPatchCall) Fields(s ...googleapi.Field) *EventTagsPatchCall {
31640	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31641	return c
31642}
31643
31644// Context sets the context to be used in this call's Do method. Any
31645// pending HTTP request will be aborted if the provided context is
31646// canceled.
31647func (c *EventTagsPatchCall) Context(ctx context.Context) *EventTagsPatchCall {
31648	c.ctx_ = ctx
31649	return c
31650}
31651
31652// Header returns an http.Header that can be modified by the caller to
31653// add HTTP headers to the request.
31654func (c *EventTagsPatchCall) Header() http.Header {
31655	if c.header_ == nil {
31656		c.header_ = make(http.Header)
31657	}
31658	return c.header_
31659}
31660
31661func (c *EventTagsPatchCall) doRequest(alt string) (*http.Response, error) {
31662	reqHeaders := make(http.Header)
31663	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31664	for k, v := range c.header_ {
31665		reqHeaders[k] = v
31666	}
31667	reqHeaders.Set("User-Agent", c.s.userAgent())
31668	var body io.Reader = nil
31669	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31670	if err != nil {
31671		return nil, err
31672	}
31673	reqHeaders.Set("Content-Type", "application/json")
31674	c.urlParams_.Set("alt", alt)
31675	c.urlParams_.Set("prettyPrint", "false")
31676	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31677	urls += "?" + c.urlParams_.Encode()
31678	req, err := http.NewRequest("PATCH", urls, body)
31679	if err != nil {
31680		return nil, err
31681	}
31682	req.Header = reqHeaders
31683	googleapi.Expand(req.URL, map[string]string{
31684		"profileId": strconv.FormatInt(c.profileId, 10),
31685	})
31686	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31687}
31688
31689// Do executes the "dfareporting.eventTags.patch" call.
31690// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31691// code is an error. Response headers are in either
31692// *EventTag.ServerResponse.Header or (if a response was returned at
31693// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31694// to check whether the returned error was because
31695// http.StatusNotModified was returned.
31696func (c *EventTagsPatchCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31697	gensupport.SetOptions(c.urlParams_, opts...)
31698	res, err := c.doRequest("json")
31699	if res != nil && res.StatusCode == http.StatusNotModified {
31700		if res.Body != nil {
31701			res.Body.Close()
31702		}
31703		return nil, &googleapi.Error{
31704			Code:   res.StatusCode,
31705			Header: res.Header,
31706		}
31707	}
31708	if err != nil {
31709		return nil, err
31710	}
31711	defer googleapi.CloseBody(res)
31712	if err := googleapi.CheckResponse(res); err != nil {
31713		return nil, err
31714	}
31715	ret := &EventTag{
31716		ServerResponse: googleapi.ServerResponse{
31717			Header:         res.Header,
31718			HTTPStatusCode: res.StatusCode,
31719		},
31720	}
31721	target := &ret
31722	if err := gensupport.DecodeResponse(target, res); err != nil {
31723		return nil, err
31724	}
31725	return ret, nil
31726	// {
31727	//   "description": "Updates an existing event tag. This method supports patch semantics.",
31728	//   "httpMethod": "PATCH",
31729	//   "id": "dfareporting.eventTags.patch",
31730	//   "parameterOrder": [
31731	//     "profileId",
31732	//     "id"
31733	//   ],
31734	//   "parameters": {
31735	//     "id": {
31736	//       "description": "Event tag ID.",
31737	//       "format": "int64",
31738	//       "location": "query",
31739	//       "required": true,
31740	//       "type": "string"
31741	//     },
31742	//     "profileId": {
31743	//       "description": "User profile ID associated with this request.",
31744	//       "format": "int64",
31745	//       "location": "path",
31746	//       "required": true,
31747	//       "type": "string"
31748	//     }
31749	//   },
31750	//   "path": "userprofiles/{profileId}/eventTags",
31751	//   "request": {
31752	//     "$ref": "EventTag"
31753	//   },
31754	//   "response": {
31755	//     "$ref": "EventTag"
31756	//   },
31757	//   "scopes": [
31758	//     "https://www.googleapis.com/auth/dfatrafficking"
31759	//   ]
31760	// }
31761
31762}
31763
31764// method id "dfareporting.eventTags.update":
31765
31766type EventTagsUpdateCall struct {
31767	s          *Service
31768	profileId  int64
31769	eventtag   *EventTag
31770	urlParams_ gensupport.URLParams
31771	ctx_       context.Context
31772	header_    http.Header
31773}
31774
31775// Update: Updates an existing event tag.
31776func (r *EventTagsService) Update(profileId int64, eventtag *EventTag) *EventTagsUpdateCall {
31777	c := &EventTagsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31778	c.profileId = profileId
31779	c.eventtag = eventtag
31780	return c
31781}
31782
31783// Fields allows partial responses to be retrieved. See
31784// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31785// for more information.
31786func (c *EventTagsUpdateCall) Fields(s ...googleapi.Field) *EventTagsUpdateCall {
31787	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31788	return c
31789}
31790
31791// Context sets the context to be used in this call's Do method. Any
31792// pending HTTP request will be aborted if the provided context is
31793// canceled.
31794func (c *EventTagsUpdateCall) Context(ctx context.Context) *EventTagsUpdateCall {
31795	c.ctx_ = ctx
31796	return c
31797}
31798
31799// Header returns an http.Header that can be modified by the caller to
31800// add HTTP headers to the request.
31801func (c *EventTagsUpdateCall) Header() http.Header {
31802	if c.header_ == nil {
31803		c.header_ = make(http.Header)
31804	}
31805	return c.header_
31806}
31807
31808func (c *EventTagsUpdateCall) doRequest(alt string) (*http.Response, error) {
31809	reqHeaders := make(http.Header)
31810	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31811	for k, v := range c.header_ {
31812		reqHeaders[k] = v
31813	}
31814	reqHeaders.Set("User-Agent", c.s.userAgent())
31815	var body io.Reader = nil
31816	body, err := googleapi.WithoutDataWrapper.JSONReader(c.eventtag)
31817	if err != nil {
31818		return nil, err
31819	}
31820	reqHeaders.Set("Content-Type", "application/json")
31821	c.urlParams_.Set("alt", alt)
31822	c.urlParams_.Set("prettyPrint", "false")
31823	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/eventTags")
31824	urls += "?" + c.urlParams_.Encode()
31825	req, err := http.NewRequest("PUT", urls, body)
31826	if err != nil {
31827		return nil, err
31828	}
31829	req.Header = reqHeaders
31830	googleapi.Expand(req.URL, map[string]string{
31831		"profileId": strconv.FormatInt(c.profileId, 10),
31832	})
31833	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31834}
31835
31836// Do executes the "dfareporting.eventTags.update" call.
31837// Exactly one of *EventTag or error will be non-nil. Any non-2xx status
31838// code is an error. Response headers are in either
31839// *EventTag.ServerResponse.Header or (if a response was returned at
31840// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
31841// to check whether the returned error was because
31842// http.StatusNotModified was returned.
31843func (c *EventTagsUpdateCall) Do(opts ...googleapi.CallOption) (*EventTag, error) {
31844	gensupport.SetOptions(c.urlParams_, opts...)
31845	res, err := c.doRequest("json")
31846	if res != nil && res.StatusCode == http.StatusNotModified {
31847		if res.Body != nil {
31848			res.Body.Close()
31849		}
31850		return nil, &googleapi.Error{
31851			Code:   res.StatusCode,
31852			Header: res.Header,
31853		}
31854	}
31855	if err != nil {
31856		return nil, err
31857	}
31858	defer googleapi.CloseBody(res)
31859	if err := googleapi.CheckResponse(res); err != nil {
31860		return nil, err
31861	}
31862	ret := &EventTag{
31863		ServerResponse: googleapi.ServerResponse{
31864			Header:         res.Header,
31865			HTTPStatusCode: res.StatusCode,
31866		},
31867	}
31868	target := &ret
31869	if err := gensupport.DecodeResponse(target, res); err != nil {
31870		return nil, err
31871	}
31872	return ret, nil
31873	// {
31874	//   "description": "Updates an existing event tag.",
31875	//   "httpMethod": "PUT",
31876	//   "id": "dfareporting.eventTags.update",
31877	//   "parameterOrder": [
31878	//     "profileId"
31879	//   ],
31880	//   "parameters": {
31881	//     "profileId": {
31882	//       "description": "User profile ID associated with this request.",
31883	//       "format": "int64",
31884	//       "location": "path",
31885	//       "required": true,
31886	//       "type": "string"
31887	//     }
31888	//   },
31889	//   "path": "userprofiles/{profileId}/eventTags",
31890	//   "request": {
31891	//     "$ref": "EventTag"
31892	//   },
31893	//   "response": {
31894	//     "$ref": "EventTag"
31895	//   },
31896	//   "scopes": [
31897	//     "https://www.googleapis.com/auth/dfatrafficking"
31898	//   ]
31899	// }
31900
31901}
31902
31903// method id "dfareporting.files.get":
31904
31905type FilesGetCall struct {
31906	s            *Service
31907	reportId     int64
31908	fileId       int64
31909	urlParams_   gensupport.URLParams
31910	ifNoneMatch_ string
31911	ctx_         context.Context
31912	header_      http.Header
31913}
31914
31915// Get: Retrieves a report file by its report ID and file ID. This
31916// method supports media download.
31917func (r *FilesService) Get(reportId int64, fileId int64) *FilesGetCall {
31918	c := &FilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
31919	c.reportId = reportId
31920	c.fileId = fileId
31921	return c
31922}
31923
31924// Fields allows partial responses to be retrieved. See
31925// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
31926// for more information.
31927func (c *FilesGetCall) Fields(s ...googleapi.Field) *FilesGetCall {
31928	c.urlParams_.Set("fields", googleapi.CombineFields(s))
31929	return c
31930}
31931
31932// IfNoneMatch sets the optional parameter which makes the operation
31933// fail if the object's ETag matches the given value. This is useful for
31934// getting updates only after the object has changed since the last
31935// request. Use googleapi.IsNotModified to check whether the response
31936// error from Do is the result of In-None-Match.
31937func (c *FilesGetCall) IfNoneMatch(entityTag string) *FilesGetCall {
31938	c.ifNoneMatch_ = entityTag
31939	return c
31940}
31941
31942// Context sets the context to be used in this call's Do and Download
31943// methods. Any pending HTTP request will be aborted if the provided
31944// context is canceled.
31945func (c *FilesGetCall) Context(ctx context.Context) *FilesGetCall {
31946	c.ctx_ = ctx
31947	return c
31948}
31949
31950// Header returns an http.Header that can be modified by the caller to
31951// add HTTP headers to the request.
31952func (c *FilesGetCall) Header() http.Header {
31953	if c.header_ == nil {
31954		c.header_ = make(http.Header)
31955	}
31956	return c.header_
31957}
31958
31959func (c *FilesGetCall) doRequest(alt string) (*http.Response, error) {
31960	reqHeaders := make(http.Header)
31961	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
31962	for k, v := range c.header_ {
31963		reqHeaders[k] = v
31964	}
31965	reqHeaders.Set("User-Agent", c.s.userAgent())
31966	if c.ifNoneMatch_ != "" {
31967		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
31968	}
31969	var body io.Reader = nil
31970	c.urlParams_.Set("alt", alt)
31971	c.urlParams_.Set("prettyPrint", "false")
31972	urls := googleapi.ResolveRelative(c.s.BasePath, "reports/{reportId}/files/{fileId}")
31973	urls += "?" + c.urlParams_.Encode()
31974	req, err := http.NewRequest("GET", urls, body)
31975	if err != nil {
31976		return nil, err
31977	}
31978	req.Header = reqHeaders
31979	googleapi.Expand(req.URL, map[string]string{
31980		"reportId": strconv.FormatInt(c.reportId, 10),
31981		"fileId":   strconv.FormatInt(c.fileId, 10),
31982	})
31983	return gensupport.SendRequest(c.ctx_, c.s.client, req)
31984}
31985
31986// Download fetches the API endpoint's "media" value, instead of the normal
31987// API response value. If the returned error is nil, the Response is guaranteed to
31988// have a 2xx status code. Callers must close the Response.Body as usual.
31989func (c *FilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
31990	gensupport.SetOptions(c.urlParams_, opts...)
31991	res, err := c.doRequest("media")
31992	if err != nil {
31993		return nil, err
31994	}
31995	if err := googleapi.CheckMediaResponse(res); err != nil {
31996		res.Body.Close()
31997		return nil, err
31998	}
31999	return res, nil
32000}
32001
32002// Do executes the "dfareporting.files.get" call.
32003// Exactly one of *File or error will be non-nil. Any non-2xx status
32004// code is an error. Response headers are in either
32005// *File.ServerResponse.Header or (if a response was returned at all) in
32006// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
32007// whether the returned error was because http.StatusNotModified was
32008// returned.
32009func (c *FilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
32010	gensupport.SetOptions(c.urlParams_, opts...)
32011	res, err := c.doRequest("json")
32012	if res != nil && res.StatusCode == http.StatusNotModified {
32013		if res.Body != nil {
32014			res.Body.Close()
32015		}
32016		return nil, &googleapi.Error{
32017			Code:   res.StatusCode,
32018			Header: res.Header,
32019		}
32020	}
32021	if err != nil {
32022		return nil, err
32023	}
32024	defer googleapi.CloseBody(res)
32025	if err := googleapi.CheckResponse(res); err != nil {
32026		return nil, err
32027	}
32028	ret := &File{
32029		ServerResponse: googleapi.ServerResponse{
32030			Header:         res.Header,
32031			HTTPStatusCode: res.StatusCode,
32032		},
32033	}
32034	target := &ret
32035	if err := gensupport.DecodeResponse(target, res); err != nil {
32036		return nil, err
32037	}
32038	return ret, nil
32039	// {
32040	//   "description": "Retrieves a report file by its report ID and file ID. This method supports media download.",
32041	//   "httpMethod": "GET",
32042	//   "id": "dfareporting.files.get",
32043	//   "parameterOrder": [
32044	//     "reportId",
32045	//     "fileId"
32046	//   ],
32047	//   "parameters": {
32048	//     "fileId": {
32049	//       "description": "The ID of the report file.",
32050	//       "format": "int64",
32051	//       "location": "path",
32052	//       "required": true,
32053	//       "type": "string"
32054	//     },
32055	//     "reportId": {
32056	//       "description": "The ID of the report.",
32057	//       "format": "int64",
32058	//       "location": "path",
32059	//       "required": true,
32060	//       "type": "string"
32061	//     }
32062	//   },
32063	//   "path": "reports/{reportId}/files/{fileId}",
32064	//   "response": {
32065	//     "$ref": "File"
32066	//   },
32067	//   "scopes": [
32068	//     "https://www.googleapis.com/auth/dfareporting"
32069	//   ],
32070	//   "supportsMediaDownload": true
32071	// }
32072
32073}
32074
32075// method id "dfareporting.files.list":
32076
32077type FilesListCall struct {
32078	s            *Service
32079	profileId    int64
32080	urlParams_   gensupport.URLParams
32081	ifNoneMatch_ string
32082	ctx_         context.Context
32083	header_      http.Header
32084}
32085
32086// List: Lists files for a user profile.
32087func (r *FilesService) List(profileId int64) *FilesListCall {
32088	c := &FilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32089	c.profileId = profileId
32090	return c
32091}
32092
32093// MaxResults sets the optional parameter "maxResults": Maximum number
32094// of results to return.
32095func (c *FilesListCall) MaxResults(maxResults int64) *FilesListCall {
32096	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32097	return c
32098}
32099
32100// PageToken sets the optional parameter "pageToken": The value of the
32101// nextToken from the previous result page.
32102func (c *FilesListCall) PageToken(pageToken string) *FilesListCall {
32103	c.urlParams_.Set("pageToken", pageToken)
32104	return c
32105}
32106
32107// Scope sets the optional parameter "scope": The scope that defines
32108// which results are returned.
32109//
32110// Possible values:
32111//   "ALL" - All files in account.
32112//   "MINE" (default) - My files.
32113//   "SHARED_WITH_ME" - Files shared with me.
32114func (c *FilesListCall) Scope(scope string) *FilesListCall {
32115	c.urlParams_.Set("scope", scope)
32116	return c
32117}
32118
32119// SortField sets the optional parameter "sortField": The field by which
32120// to sort the list.
32121//
32122// Possible values:
32123//   "ID" - Sort by file ID.
32124//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
32125func (c *FilesListCall) SortField(sortField string) *FilesListCall {
32126	c.urlParams_.Set("sortField", sortField)
32127	return c
32128}
32129
32130// SortOrder sets the optional parameter "sortOrder": Order of sorted
32131// results.
32132//
32133// Possible values:
32134//   "ASCENDING" - Ascending order.
32135//   "DESCENDING" (default) - Descending order.
32136func (c *FilesListCall) SortOrder(sortOrder string) *FilesListCall {
32137	c.urlParams_.Set("sortOrder", sortOrder)
32138	return c
32139}
32140
32141// Fields allows partial responses to be retrieved. See
32142// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32143// for more information.
32144func (c *FilesListCall) Fields(s ...googleapi.Field) *FilesListCall {
32145	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32146	return c
32147}
32148
32149// IfNoneMatch sets the optional parameter which makes the operation
32150// fail if the object's ETag matches the given value. This is useful for
32151// getting updates only after the object has changed since the last
32152// request. Use googleapi.IsNotModified to check whether the response
32153// error from Do is the result of In-None-Match.
32154func (c *FilesListCall) IfNoneMatch(entityTag string) *FilesListCall {
32155	c.ifNoneMatch_ = entityTag
32156	return c
32157}
32158
32159// Context sets the context to be used in this call's Do method. Any
32160// pending HTTP request will be aborted if the provided context is
32161// canceled.
32162func (c *FilesListCall) Context(ctx context.Context) *FilesListCall {
32163	c.ctx_ = ctx
32164	return c
32165}
32166
32167// Header returns an http.Header that can be modified by the caller to
32168// add HTTP headers to the request.
32169func (c *FilesListCall) Header() http.Header {
32170	if c.header_ == nil {
32171		c.header_ = make(http.Header)
32172	}
32173	return c.header_
32174}
32175
32176func (c *FilesListCall) doRequest(alt string) (*http.Response, error) {
32177	reqHeaders := make(http.Header)
32178	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32179	for k, v := range c.header_ {
32180		reqHeaders[k] = v
32181	}
32182	reqHeaders.Set("User-Agent", c.s.userAgent())
32183	if c.ifNoneMatch_ != "" {
32184		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32185	}
32186	var body io.Reader = nil
32187	c.urlParams_.Set("alt", alt)
32188	c.urlParams_.Set("prettyPrint", "false")
32189	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/files")
32190	urls += "?" + c.urlParams_.Encode()
32191	req, err := http.NewRequest("GET", urls, body)
32192	if err != nil {
32193		return nil, err
32194	}
32195	req.Header = reqHeaders
32196	googleapi.Expand(req.URL, map[string]string{
32197		"profileId": strconv.FormatInt(c.profileId, 10),
32198	})
32199	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32200}
32201
32202// Do executes the "dfareporting.files.list" call.
32203// Exactly one of *FileList or error will be non-nil. Any non-2xx status
32204// code is an error. Response headers are in either
32205// *FileList.ServerResponse.Header or (if a response was returned at
32206// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
32207// to check whether the returned error was because
32208// http.StatusNotModified was returned.
32209func (c *FilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
32210	gensupport.SetOptions(c.urlParams_, opts...)
32211	res, err := c.doRequest("json")
32212	if res != nil && res.StatusCode == http.StatusNotModified {
32213		if res.Body != nil {
32214			res.Body.Close()
32215		}
32216		return nil, &googleapi.Error{
32217			Code:   res.StatusCode,
32218			Header: res.Header,
32219		}
32220	}
32221	if err != nil {
32222		return nil, err
32223	}
32224	defer googleapi.CloseBody(res)
32225	if err := googleapi.CheckResponse(res); err != nil {
32226		return nil, err
32227	}
32228	ret := &FileList{
32229		ServerResponse: googleapi.ServerResponse{
32230			Header:         res.Header,
32231			HTTPStatusCode: res.StatusCode,
32232		},
32233	}
32234	target := &ret
32235	if err := gensupport.DecodeResponse(target, res); err != nil {
32236		return nil, err
32237	}
32238	return ret, nil
32239	// {
32240	//   "description": "Lists files for a user profile.",
32241	//   "httpMethod": "GET",
32242	//   "id": "dfareporting.files.list",
32243	//   "parameterOrder": [
32244	//     "profileId"
32245	//   ],
32246	//   "parameters": {
32247	//     "maxResults": {
32248	//       "default": "10",
32249	//       "description": "Maximum number of results to return.",
32250	//       "format": "int32",
32251	//       "location": "query",
32252	//       "maximum": "10",
32253	//       "minimum": "0",
32254	//       "type": "integer"
32255	//     },
32256	//     "pageToken": {
32257	//       "description": "The value of the nextToken from the previous result page.",
32258	//       "location": "query",
32259	//       "type": "string"
32260	//     },
32261	//     "profileId": {
32262	//       "description": "The DFA profile ID.",
32263	//       "format": "int64",
32264	//       "location": "path",
32265	//       "required": true,
32266	//       "type": "string"
32267	//     },
32268	//     "scope": {
32269	//       "default": "MINE",
32270	//       "description": "The scope that defines which results are returned.",
32271	//       "enum": [
32272	//         "ALL",
32273	//         "MINE",
32274	//         "SHARED_WITH_ME"
32275	//       ],
32276	//       "enumDescriptions": [
32277	//         "All files in account.",
32278	//         "My files.",
32279	//         "Files shared with me."
32280	//       ],
32281	//       "location": "query",
32282	//       "type": "string"
32283	//     },
32284	//     "sortField": {
32285	//       "default": "LAST_MODIFIED_TIME",
32286	//       "description": "The field by which to sort the list.",
32287	//       "enum": [
32288	//         "ID",
32289	//         "LAST_MODIFIED_TIME"
32290	//       ],
32291	//       "enumDescriptions": [
32292	//         "Sort by file ID.",
32293	//         "Sort by 'lastmodifiedAt' field."
32294	//       ],
32295	//       "location": "query",
32296	//       "type": "string"
32297	//     },
32298	//     "sortOrder": {
32299	//       "default": "DESCENDING",
32300	//       "description": "Order of sorted results.",
32301	//       "enum": [
32302	//         "ASCENDING",
32303	//         "DESCENDING"
32304	//       ],
32305	//       "enumDescriptions": [
32306	//         "Ascending order.",
32307	//         "Descending order."
32308	//       ],
32309	//       "location": "query",
32310	//       "type": "string"
32311	//     }
32312	//   },
32313	//   "path": "userprofiles/{profileId}/files",
32314	//   "response": {
32315	//     "$ref": "FileList"
32316	//   },
32317	//   "scopes": [
32318	//     "https://www.googleapis.com/auth/dfareporting"
32319	//   ]
32320	// }
32321
32322}
32323
32324// Pages invokes f for each page of results.
32325// A non-nil error returned from f will halt the iteration.
32326// The provided context supersedes any context provided to the Context method.
32327func (c *FilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
32328	c.ctx_ = ctx
32329	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
32330	for {
32331		x, err := c.Do()
32332		if err != nil {
32333			return err
32334		}
32335		if err := f(x); err != nil {
32336			return err
32337		}
32338		if x.NextPageToken == "" {
32339			return nil
32340		}
32341		c.PageToken(x.NextPageToken)
32342	}
32343}
32344
32345// method id "dfareporting.floodlightActivities.delete":
32346
32347type FloodlightActivitiesDeleteCall struct {
32348	s          *Service
32349	profileId  int64
32350	id         int64
32351	urlParams_ gensupport.URLParams
32352	ctx_       context.Context
32353	header_    http.Header
32354}
32355
32356// Delete: Deletes an existing floodlight activity.
32357func (r *FloodlightActivitiesService) Delete(profileId int64, id int64) *FloodlightActivitiesDeleteCall {
32358	c := &FloodlightActivitiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32359	c.profileId = profileId
32360	c.id = id
32361	return c
32362}
32363
32364// Fields allows partial responses to be retrieved. See
32365// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32366// for more information.
32367func (c *FloodlightActivitiesDeleteCall) Fields(s ...googleapi.Field) *FloodlightActivitiesDeleteCall {
32368	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32369	return c
32370}
32371
32372// Context sets the context to be used in this call's Do method. Any
32373// pending HTTP request will be aborted if the provided context is
32374// canceled.
32375func (c *FloodlightActivitiesDeleteCall) Context(ctx context.Context) *FloodlightActivitiesDeleteCall {
32376	c.ctx_ = ctx
32377	return c
32378}
32379
32380// Header returns an http.Header that can be modified by the caller to
32381// add HTTP headers to the request.
32382func (c *FloodlightActivitiesDeleteCall) Header() http.Header {
32383	if c.header_ == nil {
32384		c.header_ = make(http.Header)
32385	}
32386	return c.header_
32387}
32388
32389func (c *FloodlightActivitiesDeleteCall) doRequest(alt string) (*http.Response, error) {
32390	reqHeaders := make(http.Header)
32391	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32392	for k, v := range c.header_ {
32393		reqHeaders[k] = v
32394	}
32395	reqHeaders.Set("User-Agent", c.s.userAgent())
32396	var body io.Reader = nil
32397	c.urlParams_.Set("alt", alt)
32398	c.urlParams_.Set("prettyPrint", "false")
32399	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32400	urls += "?" + c.urlParams_.Encode()
32401	req, err := http.NewRequest("DELETE", urls, body)
32402	if err != nil {
32403		return nil, err
32404	}
32405	req.Header = reqHeaders
32406	googleapi.Expand(req.URL, map[string]string{
32407		"profileId": strconv.FormatInt(c.profileId, 10),
32408		"id":        strconv.FormatInt(c.id, 10),
32409	})
32410	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32411}
32412
32413// Do executes the "dfareporting.floodlightActivities.delete" call.
32414func (c *FloodlightActivitiesDeleteCall) Do(opts ...googleapi.CallOption) error {
32415	gensupport.SetOptions(c.urlParams_, opts...)
32416	res, err := c.doRequest("json")
32417	if err != nil {
32418		return err
32419	}
32420	defer googleapi.CloseBody(res)
32421	if err := googleapi.CheckResponse(res); err != nil {
32422		return err
32423	}
32424	return nil
32425	// {
32426	//   "description": "Deletes an existing floodlight activity.",
32427	//   "httpMethod": "DELETE",
32428	//   "id": "dfareporting.floodlightActivities.delete",
32429	//   "parameterOrder": [
32430	//     "profileId",
32431	//     "id"
32432	//   ],
32433	//   "parameters": {
32434	//     "id": {
32435	//       "description": "Floodlight activity ID.",
32436	//       "format": "int64",
32437	//       "location": "path",
32438	//       "required": true,
32439	//       "type": "string"
32440	//     },
32441	//     "profileId": {
32442	//       "description": "User profile ID associated with this request.",
32443	//       "format": "int64",
32444	//       "location": "path",
32445	//       "required": true,
32446	//       "type": "string"
32447	//     }
32448	//   },
32449	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32450	//   "scopes": [
32451	//     "https://www.googleapis.com/auth/dfatrafficking"
32452	//   ]
32453	// }
32454
32455}
32456
32457// method id "dfareporting.floodlightActivities.generatetag":
32458
32459type FloodlightActivitiesGeneratetagCall struct {
32460	s          *Service
32461	profileId  int64
32462	urlParams_ gensupport.URLParams
32463	ctx_       context.Context
32464	header_    http.Header
32465}
32466
32467// Generatetag: Generates a tag for a floodlight activity.
32468func (r *FloodlightActivitiesService) Generatetag(profileId int64) *FloodlightActivitiesGeneratetagCall {
32469	c := &FloodlightActivitiesGeneratetagCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32470	c.profileId = profileId
32471	return c
32472}
32473
32474// FloodlightActivityId sets the optional parameter
32475// "floodlightActivityId": Floodlight activity ID for which we want to
32476// generate a tag.
32477func (c *FloodlightActivitiesGeneratetagCall) FloodlightActivityId(floodlightActivityId int64) *FloodlightActivitiesGeneratetagCall {
32478	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
32479	return c
32480}
32481
32482// Fields allows partial responses to be retrieved. See
32483// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32484// for more information.
32485func (c *FloodlightActivitiesGeneratetagCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGeneratetagCall {
32486	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32487	return c
32488}
32489
32490// Context sets the context to be used in this call's Do method. Any
32491// pending HTTP request will be aborted if the provided context is
32492// canceled.
32493func (c *FloodlightActivitiesGeneratetagCall) Context(ctx context.Context) *FloodlightActivitiesGeneratetagCall {
32494	c.ctx_ = ctx
32495	return c
32496}
32497
32498// Header returns an http.Header that can be modified by the caller to
32499// add HTTP headers to the request.
32500func (c *FloodlightActivitiesGeneratetagCall) Header() http.Header {
32501	if c.header_ == nil {
32502		c.header_ = make(http.Header)
32503	}
32504	return c.header_
32505}
32506
32507func (c *FloodlightActivitiesGeneratetagCall) doRequest(alt string) (*http.Response, error) {
32508	reqHeaders := make(http.Header)
32509	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32510	for k, v := range c.header_ {
32511		reqHeaders[k] = v
32512	}
32513	reqHeaders.Set("User-Agent", c.s.userAgent())
32514	var body io.Reader = nil
32515	c.urlParams_.Set("alt", alt)
32516	c.urlParams_.Set("prettyPrint", "false")
32517	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/generatetag")
32518	urls += "?" + c.urlParams_.Encode()
32519	req, err := http.NewRequest("POST", urls, body)
32520	if err != nil {
32521		return nil, err
32522	}
32523	req.Header = reqHeaders
32524	googleapi.Expand(req.URL, map[string]string{
32525		"profileId": strconv.FormatInt(c.profileId, 10),
32526	})
32527	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32528}
32529
32530// Do executes the "dfareporting.floodlightActivities.generatetag" call.
32531// Exactly one of *FloodlightActivitiesGenerateTagResponse or error will
32532// be non-nil. Any non-2xx status code is an error. Response headers are
32533// in either
32534// *FloodlightActivitiesGenerateTagResponse.ServerResponse.Header or (if
32535// a response was returned at all) in error.(*googleapi.Error).Header.
32536// Use googleapi.IsNotModified to check whether the returned error was
32537// because http.StatusNotModified was returned.
32538func (c *FloodlightActivitiesGeneratetagCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesGenerateTagResponse, error) {
32539	gensupport.SetOptions(c.urlParams_, opts...)
32540	res, err := c.doRequest("json")
32541	if res != nil && res.StatusCode == http.StatusNotModified {
32542		if res.Body != nil {
32543			res.Body.Close()
32544		}
32545		return nil, &googleapi.Error{
32546			Code:   res.StatusCode,
32547			Header: res.Header,
32548		}
32549	}
32550	if err != nil {
32551		return nil, err
32552	}
32553	defer googleapi.CloseBody(res)
32554	if err := googleapi.CheckResponse(res); err != nil {
32555		return nil, err
32556	}
32557	ret := &FloodlightActivitiesGenerateTagResponse{
32558		ServerResponse: googleapi.ServerResponse{
32559			Header:         res.Header,
32560			HTTPStatusCode: res.StatusCode,
32561		},
32562	}
32563	target := &ret
32564	if err := gensupport.DecodeResponse(target, res); err != nil {
32565		return nil, err
32566	}
32567	return ret, nil
32568	// {
32569	//   "description": "Generates a tag for a floodlight activity.",
32570	//   "httpMethod": "POST",
32571	//   "id": "dfareporting.floodlightActivities.generatetag",
32572	//   "parameterOrder": [
32573	//     "profileId"
32574	//   ],
32575	//   "parameters": {
32576	//     "floodlightActivityId": {
32577	//       "description": "Floodlight activity ID for which we want to generate a tag.",
32578	//       "format": "int64",
32579	//       "location": "query",
32580	//       "type": "string"
32581	//     },
32582	//     "profileId": {
32583	//       "description": "User profile ID associated with this request.",
32584	//       "format": "int64",
32585	//       "location": "path",
32586	//       "required": true,
32587	//       "type": "string"
32588	//     }
32589	//   },
32590	//   "path": "userprofiles/{profileId}/floodlightActivities/generatetag",
32591	//   "response": {
32592	//     "$ref": "FloodlightActivitiesGenerateTagResponse"
32593	//   },
32594	//   "scopes": [
32595	//     "https://www.googleapis.com/auth/dfatrafficking"
32596	//   ]
32597	// }
32598
32599}
32600
32601// method id "dfareporting.floodlightActivities.get":
32602
32603type FloodlightActivitiesGetCall struct {
32604	s            *Service
32605	profileId    int64
32606	id           int64
32607	urlParams_   gensupport.URLParams
32608	ifNoneMatch_ string
32609	ctx_         context.Context
32610	header_      http.Header
32611}
32612
32613// Get: Gets one floodlight activity by ID.
32614func (r *FloodlightActivitiesService) Get(profileId int64, id int64) *FloodlightActivitiesGetCall {
32615	c := &FloodlightActivitiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32616	c.profileId = profileId
32617	c.id = id
32618	return c
32619}
32620
32621// Fields allows partial responses to be retrieved. See
32622// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32623// for more information.
32624func (c *FloodlightActivitiesGetCall) Fields(s ...googleapi.Field) *FloodlightActivitiesGetCall {
32625	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32626	return c
32627}
32628
32629// IfNoneMatch sets the optional parameter which makes the operation
32630// fail if the object's ETag matches the given value. This is useful for
32631// getting updates only after the object has changed since the last
32632// request. Use googleapi.IsNotModified to check whether the response
32633// error from Do is the result of In-None-Match.
32634func (c *FloodlightActivitiesGetCall) IfNoneMatch(entityTag string) *FloodlightActivitiesGetCall {
32635	c.ifNoneMatch_ = entityTag
32636	return c
32637}
32638
32639// Context sets the context to be used in this call's Do method. Any
32640// pending HTTP request will be aborted if the provided context is
32641// canceled.
32642func (c *FloodlightActivitiesGetCall) Context(ctx context.Context) *FloodlightActivitiesGetCall {
32643	c.ctx_ = ctx
32644	return c
32645}
32646
32647// Header returns an http.Header that can be modified by the caller to
32648// add HTTP headers to the request.
32649func (c *FloodlightActivitiesGetCall) Header() http.Header {
32650	if c.header_ == nil {
32651		c.header_ = make(http.Header)
32652	}
32653	return c.header_
32654}
32655
32656func (c *FloodlightActivitiesGetCall) doRequest(alt string) (*http.Response, error) {
32657	reqHeaders := make(http.Header)
32658	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32659	for k, v := range c.header_ {
32660		reqHeaders[k] = v
32661	}
32662	reqHeaders.Set("User-Agent", c.s.userAgent())
32663	if c.ifNoneMatch_ != "" {
32664		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
32665	}
32666	var body io.Reader = nil
32667	c.urlParams_.Set("alt", alt)
32668	c.urlParams_.Set("prettyPrint", "false")
32669	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities/{id}")
32670	urls += "?" + c.urlParams_.Encode()
32671	req, err := http.NewRequest("GET", urls, body)
32672	if err != nil {
32673		return nil, err
32674	}
32675	req.Header = reqHeaders
32676	googleapi.Expand(req.URL, map[string]string{
32677		"profileId": strconv.FormatInt(c.profileId, 10),
32678		"id":        strconv.FormatInt(c.id, 10),
32679	})
32680	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32681}
32682
32683// Do executes the "dfareporting.floodlightActivities.get" call.
32684// Exactly one of *FloodlightActivity or error will be non-nil. Any
32685// non-2xx status code is an error. Response headers are in either
32686// *FloodlightActivity.ServerResponse.Header or (if a response was
32687// returned at all) in error.(*googleapi.Error).Header. Use
32688// googleapi.IsNotModified to check whether the returned error was
32689// because http.StatusNotModified was returned.
32690func (c *FloodlightActivitiesGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32691	gensupport.SetOptions(c.urlParams_, opts...)
32692	res, err := c.doRequest("json")
32693	if res != nil && res.StatusCode == http.StatusNotModified {
32694		if res.Body != nil {
32695			res.Body.Close()
32696		}
32697		return nil, &googleapi.Error{
32698			Code:   res.StatusCode,
32699			Header: res.Header,
32700		}
32701	}
32702	if err != nil {
32703		return nil, err
32704	}
32705	defer googleapi.CloseBody(res)
32706	if err := googleapi.CheckResponse(res); err != nil {
32707		return nil, err
32708	}
32709	ret := &FloodlightActivity{
32710		ServerResponse: googleapi.ServerResponse{
32711			Header:         res.Header,
32712			HTTPStatusCode: res.StatusCode,
32713		},
32714	}
32715	target := &ret
32716	if err := gensupport.DecodeResponse(target, res); err != nil {
32717		return nil, err
32718	}
32719	return ret, nil
32720	// {
32721	//   "description": "Gets one floodlight activity by ID.",
32722	//   "httpMethod": "GET",
32723	//   "id": "dfareporting.floodlightActivities.get",
32724	//   "parameterOrder": [
32725	//     "profileId",
32726	//     "id"
32727	//   ],
32728	//   "parameters": {
32729	//     "id": {
32730	//       "description": "Floodlight activity ID.",
32731	//       "format": "int64",
32732	//       "location": "path",
32733	//       "required": true,
32734	//       "type": "string"
32735	//     },
32736	//     "profileId": {
32737	//       "description": "User profile ID associated with this request.",
32738	//       "format": "int64",
32739	//       "location": "path",
32740	//       "required": true,
32741	//       "type": "string"
32742	//     }
32743	//   },
32744	//   "path": "userprofiles/{profileId}/floodlightActivities/{id}",
32745	//   "response": {
32746	//     "$ref": "FloodlightActivity"
32747	//   },
32748	//   "scopes": [
32749	//     "https://www.googleapis.com/auth/dfatrafficking"
32750	//   ]
32751	// }
32752
32753}
32754
32755// method id "dfareporting.floodlightActivities.insert":
32756
32757type FloodlightActivitiesInsertCall struct {
32758	s                  *Service
32759	profileId          int64
32760	floodlightactivity *FloodlightActivity
32761	urlParams_         gensupport.URLParams
32762	ctx_               context.Context
32763	header_            http.Header
32764}
32765
32766// Insert: Inserts a new floodlight activity.
32767func (r *FloodlightActivitiesService) Insert(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesInsertCall {
32768	c := &FloodlightActivitiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32769	c.profileId = profileId
32770	c.floodlightactivity = floodlightactivity
32771	return c
32772}
32773
32774// Fields allows partial responses to be retrieved. See
32775// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
32776// for more information.
32777func (c *FloodlightActivitiesInsertCall) Fields(s ...googleapi.Field) *FloodlightActivitiesInsertCall {
32778	c.urlParams_.Set("fields", googleapi.CombineFields(s))
32779	return c
32780}
32781
32782// Context sets the context to be used in this call's Do method. Any
32783// pending HTTP request will be aborted if the provided context is
32784// canceled.
32785func (c *FloodlightActivitiesInsertCall) Context(ctx context.Context) *FloodlightActivitiesInsertCall {
32786	c.ctx_ = ctx
32787	return c
32788}
32789
32790// Header returns an http.Header that can be modified by the caller to
32791// add HTTP headers to the request.
32792func (c *FloodlightActivitiesInsertCall) Header() http.Header {
32793	if c.header_ == nil {
32794		c.header_ = make(http.Header)
32795	}
32796	return c.header_
32797}
32798
32799func (c *FloodlightActivitiesInsertCall) doRequest(alt string) (*http.Response, error) {
32800	reqHeaders := make(http.Header)
32801	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
32802	for k, v := range c.header_ {
32803		reqHeaders[k] = v
32804	}
32805	reqHeaders.Set("User-Agent", c.s.userAgent())
32806	var body io.Reader = nil
32807	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
32808	if err != nil {
32809		return nil, err
32810	}
32811	reqHeaders.Set("Content-Type", "application/json")
32812	c.urlParams_.Set("alt", alt)
32813	c.urlParams_.Set("prettyPrint", "false")
32814	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
32815	urls += "?" + c.urlParams_.Encode()
32816	req, err := http.NewRequest("POST", urls, body)
32817	if err != nil {
32818		return nil, err
32819	}
32820	req.Header = reqHeaders
32821	googleapi.Expand(req.URL, map[string]string{
32822		"profileId": strconv.FormatInt(c.profileId, 10),
32823	})
32824	return gensupport.SendRequest(c.ctx_, c.s.client, req)
32825}
32826
32827// Do executes the "dfareporting.floodlightActivities.insert" call.
32828// Exactly one of *FloodlightActivity or error will be non-nil. Any
32829// non-2xx status code is an error. Response headers are in either
32830// *FloodlightActivity.ServerResponse.Header or (if a response was
32831// returned at all) in error.(*googleapi.Error).Header. Use
32832// googleapi.IsNotModified to check whether the returned error was
32833// because http.StatusNotModified was returned.
32834func (c *FloodlightActivitiesInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
32835	gensupport.SetOptions(c.urlParams_, opts...)
32836	res, err := c.doRequest("json")
32837	if res != nil && res.StatusCode == http.StatusNotModified {
32838		if res.Body != nil {
32839			res.Body.Close()
32840		}
32841		return nil, &googleapi.Error{
32842			Code:   res.StatusCode,
32843			Header: res.Header,
32844		}
32845	}
32846	if err != nil {
32847		return nil, err
32848	}
32849	defer googleapi.CloseBody(res)
32850	if err := googleapi.CheckResponse(res); err != nil {
32851		return nil, err
32852	}
32853	ret := &FloodlightActivity{
32854		ServerResponse: googleapi.ServerResponse{
32855			Header:         res.Header,
32856			HTTPStatusCode: res.StatusCode,
32857		},
32858	}
32859	target := &ret
32860	if err := gensupport.DecodeResponse(target, res); err != nil {
32861		return nil, err
32862	}
32863	return ret, nil
32864	// {
32865	//   "description": "Inserts a new floodlight activity.",
32866	//   "httpMethod": "POST",
32867	//   "id": "dfareporting.floodlightActivities.insert",
32868	//   "parameterOrder": [
32869	//     "profileId"
32870	//   ],
32871	//   "parameters": {
32872	//     "profileId": {
32873	//       "description": "User profile ID associated with this request.",
32874	//       "format": "int64",
32875	//       "location": "path",
32876	//       "required": true,
32877	//       "type": "string"
32878	//     }
32879	//   },
32880	//   "path": "userprofiles/{profileId}/floodlightActivities",
32881	//   "request": {
32882	//     "$ref": "FloodlightActivity"
32883	//   },
32884	//   "response": {
32885	//     "$ref": "FloodlightActivity"
32886	//   },
32887	//   "scopes": [
32888	//     "https://www.googleapis.com/auth/dfatrafficking"
32889	//   ]
32890	// }
32891
32892}
32893
32894// method id "dfareporting.floodlightActivities.list":
32895
32896type FloodlightActivitiesListCall struct {
32897	s            *Service
32898	profileId    int64
32899	urlParams_   gensupport.URLParams
32900	ifNoneMatch_ string
32901	ctx_         context.Context
32902	header_      http.Header
32903}
32904
32905// List: Retrieves a list of floodlight activities, possibly filtered.
32906// This method supports paging.
32907func (r *FloodlightActivitiesService) List(profileId int64) *FloodlightActivitiesListCall {
32908	c := &FloodlightActivitiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
32909	c.profileId = profileId
32910	return c
32911}
32912
32913// AdvertiserId sets the optional parameter "advertiserId": Select only
32914// floodlight activities for the specified advertiser ID. Must specify
32915// either ids, advertiserId, or floodlightConfigurationId for a
32916// non-empty result.
32917func (c *FloodlightActivitiesListCall) AdvertiserId(advertiserId int64) *FloodlightActivitiesListCall {
32918	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
32919	return c
32920}
32921
32922// FloodlightActivityGroupIds sets the optional parameter
32923// "floodlightActivityGroupIds": Select only floodlight activities with
32924// the specified floodlight activity group IDs.
32925func (c *FloodlightActivitiesListCall) FloodlightActivityGroupIds(floodlightActivityGroupIds ...int64) *FloodlightActivitiesListCall {
32926	var floodlightActivityGroupIds_ []string
32927	for _, v := range floodlightActivityGroupIds {
32928		floodlightActivityGroupIds_ = append(floodlightActivityGroupIds_, fmt.Sprint(v))
32929	}
32930	c.urlParams_.SetMulti("floodlightActivityGroupIds", floodlightActivityGroupIds_)
32931	return c
32932}
32933
32934// FloodlightActivityGroupName sets the optional parameter
32935// "floodlightActivityGroupName": Select only floodlight activities with
32936// the specified floodlight activity group name.
32937func (c *FloodlightActivitiesListCall) FloodlightActivityGroupName(floodlightActivityGroupName string) *FloodlightActivitiesListCall {
32938	c.urlParams_.Set("floodlightActivityGroupName", floodlightActivityGroupName)
32939	return c
32940}
32941
32942// FloodlightActivityGroupTagString sets the optional parameter
32943// "floodlightActivityGroupTagString": Select only floodlight activities
32944// with the specified floodlight activity group tag string.
32945func (c *FloodlightActivitiesListCall) FloodlightActivityGroupTagString(floodlightActivityGroupTagString string) *FloodlightActivitiesListCall {
32946	c.urlParams_.Set("floodlightActivityGroupTagString", floodlightActivityGroupTagString)
32947	return c
32948}
32949
32950// FloodlightActivityGroupType sets the optional parameter
32951// "floodlightActivityGroupType": Select only floodlight activities with
32952// the specified floodlight activity group type.
32953//
32954// Possible values:
32955//   "COUNTER"
32956//   "SALE"
32957func (c *FloodlightActivitiesListCall) FloodlightActivityGroupType(floodlightActivityGroupType string) *FloodlightActivitiesListCall {
32958	c.urlParams_.Set("floodlightActivityGroupType", floodlightActivityGroupType)
32959	return c
32960}
32961
32962// FloodlightConfigurationId sets the optional parameter
32963// "floodlightConfigurationId": Select only floodlight activities for
32964// the specified floodlight configuration ID. Must specify either ids,
32965// advertiserId, or floodlightConfigurationId for a non-empty result.
32966func (c *FloodlightActivitiesListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivitiesListCall {
32967	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
32968	return c
32969}
32970
32971// Ids sets the optional parameter "ids": Select only floodlight
32972// activities with the specified IDs. Must specify either ids,
32973// advertiserId, or floodlightConfigurationId for a non-empty result.
32974func (c *FloodlightActivitiesListCall) Ids(ids ...int64) *FloodlightActivitiesListCall {
32975	var ids_ []string
32976	for _, v := range ids {
32977		ids_ = append(ids_, fmt.Sprint(v))
32978	}
32979	c.urlParams_.SetMulti("ids", ids_)
32980	return c
32981}
32982
32983// MaxResults sets the optional parameter "maxResults": Maximum number
32984// of results to return.
32985func (c *FloodlightActivitiesListCall) MaxResults(maxResults int64) *FloodlightActivitiesListCall {
32986	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
32987	return c
32988}
32989
32990// PageToken sets the optional parameter "pageToken": Value of the
32991// nextPageToken from the previous result page.
32992func (c *FloodlightActivitiesListCall) PageToken(pageToken string) *FloodlightActivitiesListCall {
32993	c.urlParams_.Set("pageToken", pageToken)
32994	return c
32995}
32996
32997// SearchString sets the optional parameter "searchString": Allows
32998// searching for objects by name or ID. Wildcards (*) are allowed. For
32999// example, "floodlightactivity*2015" will return objects with names
33000// like "floodlightactivity June 2015", "floodlightactivity April 2015",
33001// or simply "floodlightactivity 2015". Most of the searches also add
33002// wildcards implicitly at the start and the end of the search string.
33003// For example, a search string of "floodlightactivity" will match
33004// objects with name "my floodlightactivity activity",
33005// "floodlightactivity 2015", or simply "floodlightactivity".
33006func (c *FloodlightActivitiesListCall) SearchString(searchString string) *FloodlightActivitiesListCall {
33007	c.urlParams_.Set("searchString", searchString)
33008	return c
33009}
33010
33011// SortField sets the optional parameter "sortField": Field by which to
33012// sort the list.
33013//
33014// Possible values:
33015//   "ID" (default)
33016//   "NAME"
33017func (c *FloodlightActivitiesListCall) SortField(sortField string) *FloodlightActivitiesListCall {
33018	c.urlParams_.Set("sortField", sortField)
33019	return c
33020}
33021
33022// SortOrder sets the optional parameter "sortOrder": Order of sorted
33023// results.
33024//
33025// Possible values:
33026//   "ASCENDING" (default)
33027//   "DESCENDING"
33028func (c *FloodlightActivitiesListCall) SortOrder(sortOrder string) *FloodlightActivitiesListCall {
33029	c.urlParams_.Set("sortOrder", sortOrder)
33030	return c
33031}
33032
33033// TagString sets the optional parameter "tagString": Select only
33034// floodlight activities with the specified tag string.
33035func (c *FloodlightActivitiesListCall) TagString(tagString string) *FloodlightActivitiesListCall {
33036	c.urlParams_.Set("tagString", tagString)
33037	return c
33038}
33039
33040// Fields allows partial responses to be retrieved. See
33041// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33042// for more information.
33043func (c *FloodlightActivitiesListCall) Fields(s ...googleapi.Field) *FloodlightActivitiesListCall {
33044	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33045	return c
33046}
33047
33048// IfNoneMatch sets the optional parameter which makes the operation
33049// fail if the object's ETag matches the given value. This is useful for
33050// getting updates only after the object has changed since the last
33051// request. Use googleapi.IsNotModified to check whether the response
33052// error from Do is the result of In-None-Match.
33053func (c *FloodlightActivitiesListCall) IfNoneMatch(entityTag string) *FloodlightActivitiesListCall {
33054	c.ifNoneMatch_ = entityTag
33055	return c
33056}
33057
33058// Context sets the context to be used in this call's Do method. Any
33059// pending HTTP request will be aborted if the provided context is
33060// canceled.
33061func (c *FloodlightActivitiesListCall) Context(ctx context.Context) *FloodlightActivitiesListCall {
33062	c.ctx_ = ctx
33063	return c
33064}
33065
33066// Header returns an http.Header that can be modified by the caller to
33067// add HTTP headers to the request.
33068func (c *FloodlightActivitiesListCall) Header() http.Header {
33069	if c.header_ == nil {
33070		c.header_ = make(http.Header)
33071	}
33072	return c.header_
33073}
33074
33075func (c *FloodlightActivitiesListCall) doRequest(alt string) (*http.Response, error) {
33076	reqHeaders := make(http.Header)
33077	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33078	for k, v := range c.header_ {
33079		reqHeaders[k] = v
33080	}
33081	reqHeaders.Set("User-Agent", c.s.userAgent())
33082	if c.ifNoneMatch_ != "" {
33083		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33084	}
33085	var body io.Reader = nil
33086	c.urlParams_.Set("alt", alt)
33087	c.urlParams_.Set("prettyPrint", "false")
33088	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33089	urls += "?" + c.urlParams_.Encode()
33090	req, err := http.NewRequest("GET", urls, body)
33091	if err != nil {
33092		return nil, err
33093	}
33094	req.Header = reqHeaders
33095	googleapi.Expand(req.URL, map[string]string{
33096		"profileId": strconv.FormatInt(c.profileId, 10),
33097	})
33098	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33099}
33100
33101// Do executes the "dfareporting.floodlightActivities.list" call.
33102// Exactly one of *FloodlightActivitiesListResponse or error will be
33103// non-nil. Any non-2xx status code is an error. Response headers are in
33104// either *FloodlightActivitiesListResponse.ServerResponse.Header or (if
33105// a response was returned at all) in error.(*googleapi.Error).Header.
33106// Use googleapi.IsNotModified to check whether the returned error was
33107// because http.StatusNotModified was returned.
33108func (c *FloodlightActivitiesListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivitiesListResponse, error) {
33109	gensupport.SetOptions(c.urlParams_, opts...)
33110	res, err := c.doRequest("json")
33111	if res != nil && res.StatusCode == http.StatusNotModified {
33112		if res.Body != nil {
33113			res.Body.Close()
33114		}
33115		return nil, &googleapi.Error{
33116			Code:   res.StatusCode,
33117			Header: res.Header,
33118		}
33119	}
33120	if err != nil {
33121		return nil, err
33122	}
33123	defer googleapi.CloseBody(res)
33124	if err := googleapi.CheckResponse(res); err != nil {
33125		return nil, err
33126	}
33127	ret := &FloodlightActivitiesListResponse{
33128		ServerResponse: googleapi.ServerResponse{
33129			Header:         res.Header,
33130			HTTPStatusCode: res.StatusCode,
33131		},
33132	}
33133	target := &ret
33134	if err := gensupport.DecodeResponse(target, res); err != nil {
33135		return nil, err
33136	}
33137	return ret, nil
33138	// {
33139	//   "description": "Retrieves a list of floodlight activities, possibly filtered. This method supports paging.",
33140	//   "httpMethod": "GET",
33141	//   "id": "dfareporting.floodlightActivities.list",
33142	//   "parameterOrder": [
33143	//     "profileId"
33144	//   ],
33145	//   "parameters": {
33146	//     "advertiserId": {
33147	//       "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
33148	//       "format": "int64",
33149	//       "location": "query",
33150	//       "type": "string"
33151	//     },
33152	//     "floodlightActivityGroupIds": {
33153	//       "description": "Select only floodlight activities with the specified floodlight activity group IDs.",
33154	//       "format": "int64",
33155	//       "location": "query",
33156	//       "repeated": true,
33157	//       "type": "string"
33158	//     },
33159	//     "floodlightActivityGroupName": {
33160	//       "description": "Select only floodlight activities with the specified floodlight activity group name.",
33161	//       "location": "query",
33162	//       "type": "string"
33163	//     },
33164	//     "floodlightActivityGroupTagString": {
33165	//       "description": "Select only floodlight activities with the specified floodlight activity group tag string.",
33166	//       "location": "query",
33167	//       "type": "string"
33168	//     },
33169	//     "floodlightActivityGroupType": {
33170	//       "description": "Select only floodlight activities with the specified floodlight activity group type.",
33171	//       "enum": [
33172	//         "COUNTER",
33173	//         "SALE"
33174	//       ],
33175	//       "enumDescriptions": [
33176	//         "",
33177	//         ""
33178	//       ],
33179	//       "location": "query",
33180	//       "type": "string"
33181	//     },
33182	//     "floodlightConfigurationId": {
33183	//       "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
33184	//       "format": "int64",
33185	//       "location": "query",
33186	//       "type": "string"
33187	//     },
33188	//     "ids": {
33189	//       "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.",
33190	//       "format": "int64",
33191	//       "location": "query",
33192	//       "repeated": true,
33193	//       "type": "string"
33194	//     },
33195	//     "maxResults": {
33196	//       "default": "1000",
33197	//       "description": "Maximum number of results to return.",
33198	//       "format": "int32",
33199	//       "location": "query",
33200	//       "maximum": "1000",
33201	//       "minimum": "0",
33202	//       "type": "integer"
33203	//     },
33204	//     "pageToken": {
33205	//       "description": "Value of the nextPageToken from the previous result page.",
33206	//       "location": "query",
33207	//       "type": "string"
33208	//     },
33209	//     "profileId": {
33210	//       "description": "User profile ID associated with this request.",
33211	//       "format": "int64",
33212	//       "location": "path",
33213	//       "required": true,
33214	//       "type": "string"
33215	//     },
33216	//     "searchString": {
33217	//       "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\".",
33218	//       "location": "query",
33219	//       "type": "string"
33220	//     },
33221	//     "sortField": {
33222	//       "default": "ID",
33223	//       "description": "Field by which to sort the list.",
33224	//       "enum": [
33225	//         "ID",
33226	//         "NAME"
33227	//       ],
33228	//       "enumDescriptions": [
33229	//         "",
33230	//         ""
33231	//       ],
33232	//       "location": "query",
33233	//       "type": "string"
33234	//     },
33235	//     "sortOrder": {
33236	//       "default": "ASCENDING",
33237	//       "description": "Order of sorted results.",
33238	//       "enum": [
33239	//         "ASCENDING",
33240	//         "DESCENDING"
33241	//       ],
33242	//       "enumDescriptions": [
33243	//         "",
33244	//         ""
33245	//       ],
33246	//       "location": "query",
33247	//       "type": "string"
33248	//     },
33249	//     "tagString": {
33250	//       "description": "Select only floodlight activities with the specified tag string.",
33251	//       "location": "query",
33252	//       "type": "string"
33253	//     }
33254	//   },
33255	//   "path": "userprofiles/{profileId}/floodlightActivities",
33256	//   "response": {
33257	//     "$ref": "FloodlightActivitiesListResponse"
33258	//   },
33259	//   "scopes": [
33260	//     "https://www.googleapis.com/auth/dfatrafficking"
33261	//   ]
33262	// }
33263
33264}
33265
33266// Pages invokes f for each page of results.
33267// A non-nil error returned from f will halt the iteration.
33268// The provided context supersedes any context provided to the Context method.
33269func (c *FloodlightActivitiesListCall) Pages(ctx context.Context, f func(*FloodlightActivitiesListResponse) error) error {
33270	c.ctx_ = ctx
33271	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
33272	for {
33273		x, err := c.Do()
33274		if err != nil {
33275			return err
33276		}
33277		if err := f(x); err != nil {
33278			return err
33279		}
33280		if x.NextPageToken == "" {
33281			return nil
33282		}
33283		c.PageToken(x.NextPageToken)
33284	}
33285}
33286
33287// method id "dfareporting.floodlightActivities.patch":
33288
33289type FloodlightActivitiesPatchCall struct {
33290	s                  *Service
33291	profileId          int64
33292	floodlightactivity *FloodlightActivity
33293	urlParams_         gensupport.URLParams
33294	ctx_               context.Context
33295	header_            http.Header
33296}
33297
33298// Patch: Updates an existing floodlight activity. This method supports
33299// patch semantics.
33300func (r *FloodlightActivitiesService) Patch(profileId int64, id int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesPatchCall {
33301	c := &FloodlightActivitiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33302	c.profileId = profileId
33303	c.urlParams_.Set("id", fmt.Sprint(id))
33304	c.floodlightactivity = floodlightactivity
33305	return c
33306}
33307
33308// Fields allows partial responses to be retrieved. See
33309// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33310// for more information.
33311func (c *FloodlightActivitiesPatchCall) Fields(s ...googleapi.Field) *FloodlightActivitiesPatchCall {
33312	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33313	return c
33314}
33315
33316// Context sets the context to be used in this call's Do method. Any
33317// pending HTTP request will be aborted if the provided context is
33318// canceled.
33319func (c *FloodlightActivitiesPatchCall) Context(ctx context.Context) *FloodlightActivitiesPatchCall {
33320	c.ctx_ = ctx
33321	return c
33322}
33323
33324// Header returns an http.Header that can be modified by the caller to
33325// add HTTP headers to the request.
33326func (c *FloodlightActivitiesPatchCall) Header() http.Header {
33327	if c.header_ == nil {
33328		c.header_ = make(http.Header)
33329	}
33330	return c.header_
33331}
33332
33333func (c *FloodlightActivitiesPatchCall) doRequest(alt string) (*http.Response, error) {
33334	reqHeaders := make(http.Header)
33335	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33336	for k, v := range c.header_ {
33337		reqHeaders[k] = v
33338	}
33339	reqHeaders.Set("User-Agent", c.s.userAgent())
33340	var body io.Reader = nil
33341	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33342	if err != nil {
33343		return nil, err
33344	}
33345	reqHeaders.Set("Content-Type", "application/json")
33346	c.urlParams_.Set("alt", alt)
33347	c.urlParams_.Set("prettyPrint", "false")
33348	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33349	urls += "?" + c.urlParams_.Encode()
33350	req, err := http.NewRequest("PATCH", urls, body)
33351	if err != nil {
33352		return nil, err
33353	}
33354	req.Header = reqHeaders
33355	googleapi.Expand(req.URL, map[string]string{
33356		"profileId": strconv.FormatInt(c.profileId, 10),
33357	})
33358	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33359}
33360
33361// Do executes the "dfareporting.floodlightActivities.patch" call.
33362// Exactly one of *FloodlightActivity or error will be non-nil. Any
33363// non-2xx status code is an error. Response headers are in either
33364// *FloodlightActivity.ServerResponse.Header or (if a response was
33365// returned at all) in error.(*googleapi.Error).Header. Use
33366// googleapi.IsNotModified to check whether the returned error was
33367// because http.StatusNotModified was returned.
33368func (c *FloodlightActivitiesPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33369	gensupport.SetOptions(c.urlParams_, opts...)
33370	res, err := c.doRequest("json")
33371	if res != nil && res.StatusCode == http.StatusNotModified {
33372		if res.Body != nil {
33373			res.Body.Close()
33374		}
33375		return nil, &googleapi.Error{
33376			Code:   res.StatusCode,
33377			Header: res.Header,
33378		}
33379	}
33380	if err != nil {
33381		return nil, err
33382	}
33383	defer googleapi.CloseBody(res)
33384	if err := googleapi.CheckResponse(res); err != nil {
33385		return nil, err
33386	}
33387	ret := &FloodlightActivity{
33388		ServerResponse: googleapi.ServerResponse{
33389			Header:         res.Header,
33390			HTTPStatusCode: res.StatusCode,
33391		},
33392	}
33393	target := &ret
33394	if err := gensupport.DecodeResponse(target, res); err != nil {
33395		return nil, err
33396	}
33397	return ret, nil
33398	// {
33399	//   "description": "Updates an existing floodlight activity. This method supports patch semantics.",
33400	//   "httpMethod": "PATCH",
33401	//   "id": "dfareporting.floodlightActivities.patch",
33402	//   "parameterOrder": [
33403	//     "profileId",
33404	//     "id"
33405	//   ],
33406	//   "parameters": {
33407	//     "id": {
33408	//       "description": "Floodlight activity ID.",
33409	//       "format": "int64",
33410	//       "location": "query",
33411	//       "required": true,
33412	//       "type": "string"
33413	//     },
33414	//     "profileId": {
33415	//       "description": "User profile ID associated with this request.",
33416	//       "format": "int64",
33417	//       "location": "path",
33418	//       "required": true,
33419	//       "type": "string"
33420	//     }
33421	//   },
33422	//   "path": "userprofiles/{profileId}/floodlightActivities",
33423	//   "request": {
33424	//     "$ref": "FloodlightActivity"
33425	//   },
33426	//   "response": {
33427	//     "$ref": "FloodlightActivity"
33428	//   },
33429	//   "scopes": [
33430	//     "https://www.googleapis.com/auth/dfatrafficking"
33431	//   ]
33432	// }
33433
33434}
33435
33436// method id "dfareporting.floodlightActivities.update":
33437
33438type FloodlightActivitiesUpdateCall struct {
33439	s                  *Service
33440	profileId          int64
33441	floodlightactivity *FloodlightActivity
33442	urlParams_         gensupport.URLParams
33443	ctx_               context.Context
33444	header_            http.Header
33445}
33446
33447// Update: Updates an existing floodlight activity.
33448func (r *FloodlightActivitiesService) Update(profileId int64, floodlightactivity *FloodlightActivity) *FloodlightActivitiesUpdateCall {
33449	c := &FloodlightActivitiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33450	c.profileId = profileId
33451	c.floodlightactivity = floodlightactivity
33452	return c
33453}
33454
33455// Fields allows partial responses to be retrieved. See
33456// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33457// for more information.
33458func (c *FloodlightActivitiesUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivitiesUpdateCall {
33459	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33460	return c
33461}
33462
33463// Context sets the context to be used in this call's Do method. Any
33464// pending HTTP request will be aborted if the provided context is
33465// canceled.
33466func (c *FloodlightActivitiesUpdateCall) Context(ctx context.Context) *FloodlightActivitiesUpdateCall {
33467	c.ctx_ = ctx
33468	return c
33469}
33470
33471// Header returns an http.Header that can be modified by the caller to
33472// add HTTP headers to the request.
33473func (c *FloodlightActivitiesUpdateCall) Header() http.Header {
33474	if c.header_ == nil {
33475		c.header_ = make(http.Header)
33476	}
33477	return c.header_
33478}
33479
33480func (c *FloodlightActivitiesUpdateCall) doRequest(alt string) (*http.Response, error) {
33481	reqHeaders := make(http.Header)
33482	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33483	for k, v := range c.header_ {
33484		reqHeaders[k] = v
33485	}
33486	reqHeaders.Set("User-Agent", c.s.userAgent())
33487	var body io.Reader = nil
33488	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivity)
33489	if err != nil {
33490		return nil, err
33491	}
33492	reqHeaders.Set("Content-Type", "application/json")
33493	c.urlParams_.Set("alt", alt)
33494	c.urlParams_.Set("prettyPrint", "false")
33495	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivities")
33496	urls += "?" + c.urlParams_.Encode()
33497	req, err := http.NewRequest("PUT", urls, body)
33498	if err != nil {
33499		return nil, err
33500	}
33501	req.Header = reqHeaders
33502	googleapi.Expand(req.URL, map[string]string{
33503		"profileId": strconv.FormatInt(c.profileId, 10),
33504	})
33505	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33506}
33507
33508// Do executes the "dfareporting.floodlightActivities.update" call.
33509// Exactly one of *FloodlightActivity or error will be non-nil. Any
33510// non-2xx status code is an error. Response headers are in either
33511// *FloodlightActivity.ServerResponse.Header or (if a response was
33512// returned at all) in error.(*googleapi.Error).Header. Use
33513// googleapi.IsNotModified to check whether the returned error was
33514// because http.StatusNotModified was returned.
33515func (c *FloodlightActivitiesUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivity, error) {
33516	gensupport.SetOptions(c.urlParams_, opts...)
33517	res, err := c.doRequest("json")
33518	if res != nil && res.StatusCode == http.StatusNotModified {
33519		if res.Body != nil {
33520			res.Body.Close()
33521		}
33522		return nil, &googleapi.Error{
33523			Code:   res.StatusCode,
33524			Header: res.Header,
33525		}
33526	}
33527	if err != nil {
33528		return nil, err
33529	}
33530	defer googleapi.CloseBody(res)
33531	if err := googleapi.CheckResponse(res); err != nil {
33532		return nil, err
33533	}
33534	ret := &FloodlightActivity{
33535		ServerResponse: googleapi.ServerResponse{
33536			Header:         res.Header,
33537			HTTPStatusCode: res.StatusCode,
33538		},
33539	}
33540	target := &ret
33541	if err := gensupport.DecodeResponse(target, res); err != nil {
33542		return nil, err
33543	}
33544	return ret, nil
33545	// {
33546	//   "description": "Updates an existing floodlight activity.",
33547	//   "httpMethod": "PUT",
33548	//   "id": "dfareporting.floodlightActivities.update",
33549	//   "parameterOrder": [
33550	//     "profileId"
33551	//   ],
33552	//   "parameters": {
33553	//     "profileId": {
33554	//       "description": "User profile ID associated with this request.",
33555	//       "format": "int64",
33556	//       "location": "path",
33557	//       "required": true,
33558	//       "type": "string"
33559	//     }
33560	//   },
33561	//   "path": "userprofiles/{profileId}/floodlightActivities",
33562	//   "request": {
33563	//     "$ref": "FloodlightActivity"
33564	//   },
33565	//   "response": {
33566	//     "$ref": "FloodlightActivity"
33567	//   },
33568	//   "scopes": [
33569	//     "https://www.googleapis.com/auth/dfatrafficking"
33570	//   ]
33571	// }
33572
33573}
33574
33575// method id "dfareporting.floodlightActivityGroups.get":
33576
33577type FloodlightActivityGroupsGetCall struct {
33578	s            *Service
33579	profileId    int64
33580	id           int64
33581	urlParams_   gensupport.URLParams
33582	ifNoneMatch_ string
33583	ctx_         context.Context
33584	header_      http.Header
33585}
33586
33587// Get: Gets one floodlight activity group by ID.
33588func (r *FloodlightActivityGroupsService) Get(profileId int64, id int64) *FloodlightActivityGroupsGetCall {
33589	c := &FloodlightActivityGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33590	c.profileId = profileId
33591	c.id = id
33592	return c
33593}
33594
33595// Fields allows partial responses to be retrieved. See
33596// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33597// for more information.
33598func (c *FloodlightActivityGroupsGetCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsGetCall {
33599	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33600	return c
33601}
33602
33603// IfNoneMatch sets the optional parameter which makes the operation
33604// fail if the object's ETag matches the given value. This is useful for
33605// getting updates only after the object has changed since the last
33606// request. Use googleapi.IsNotModified to check whether the response
33607// error from Do is the result of In-None-Match.
33608func (c *FloodlightActivityGroupsGetCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsGetCall {
33609	c.ifNoneMatch_ = entityTag
33610	return c
33611}
33612
33613// Context sets the context to be used in this call's Do method. Any
33614// pending HTTP request will be aborted if the provided context is
33615// canceled.
33616func (c *FloodlightActivityGroupsGetCall) Context(ctx context.Context) *FloodlightActivityGroupsGetCall {
33617	c.ctx_ = ctx
33618	return c
33619}
33620
33621// Header returns an http.Header that can be modified by the caller to
33622// add HTTP headers to the request.
33623func (c *FloodlightActivityGroupsGetCall) Header() http.Header {
33624	if c.header_ == nil {
33625		c.header_ = make(http.Header)
33626	}
33627	return c.header_
33628}
33629
33630func (c *FloodlightActivityGroupsGetCall) doRequest(alt string) (*http.Response, error) {
33631	reqHeaders := make(http.Header)
33632	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33633	for k, v := range c.header_ {
33634		reqHeaders[k] = v
33635	}
33636	reqHeaders.Set("User-Agent", c.s.userAgent())
33637	if c.ifNoneMatch_ != "" {
33638		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
33639	}
33640	var body io.Reader = nil
33641	c.urlParams_.Set("alt", alt)
33642	c.urlParams_.Set("prettyPrint", "false")
33643	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups/{id}")
33644	urls += "?" + c.urlParams_.Encode()
33645	req, err := http.NewRequest("GET", urls, body)
33646	if err != nil {
33647		return nil, err
33648	}
33649	req.Header = reqHeaders
33650	googleapi.Expand(req.URL, map[string]string{
33651		"profileId": strconv.FormatInt(c.profileId, 10),
33652		"id":        strconv.FormatInt(c.id, 10),
33653	})
33654	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33655}
33656
33657// Do executes the "dfareporting.floodlightActivityGroups.get" call.
33658// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33659// non-2xx status code is an error. Response headers are in either
33660// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33661// returned at all) in error.(*googleapi.Error).Header. Use
33662// googleapi.IsNotModified to check whether the returned error was
33663// because http.StatusNotModified was returned.
33664func (c *FloodlightActivityGroupsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33665	gensupport.SetOptions(c.urlParams_, opts...)
33666	res, err := c.doRequest("json")
33667	if res != nil && res.StatusCode == http.StatusNotModified {
33668		if res.Body != nil {
33669			res.Body.Close()
33670		}
33671		return nil, &googleapi.Error{
33672			Code:   res.StatusCode,
33673			Header: res.Header,
33674		}
33675	}
33676	if err != nil {
33677		return nil, err
33678	}
33679	defer googleapi.CloseBody(res)
33680	if err := googleapi.CheckResponse(res); err != nil {
33681		return nil, err
33682	}
33683	ret := &FloodlightActivityGroup{
33684		ServerResponse: googleapi.ServerResponse{
33685			Header:         res.Header,
33686			HTTPStatusCode: res.StatusCode,
33687		},
33688	}
33689	target := &ret
33690	if err := gensupport.DecodeResponse(target, res); err != nil {
33691		return nil, err
33692	}
33693	return ret, nil
33694	// {
33695	//   "description": "Gets one floodlight activity group by ID.",
33696	//   "httpMethod": "GET",
33697	//   "id": "dfareporting.floodlightActivityGroups.get",
33698	//   "parameterOrder": [
33699	//     "profileId",
33700	//     "id"
33701	//   ],
33702	//   "parameters": {
33703	//     "id": {
33704	//       "description": "Floodlight activity Group ID.",
33705	//       "format": "int64",
33706	//       "location": "path",
33707	//       "required": true,
33708	//       "type": "string"
33709	//     },
33710	//     "profileId": {
33711	//       "description": "User profile ID associated with this request.",
33712	//       "format": "int64",
33713	//       "location": "path",
33714	//       "required": true,
33715	//       "type": "string"
33716	//     }
33717	//   },
33718	//   "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}",
33719	//   "response": {
33720	//     "$ref": "FloodlightActivityGroup"
33721	//   },
33722	//   "scopes": [
33723	//     "https://www.googleapis.com/auth/dfatrafficking"
33724	//   ]
33725	// }
33726
33727}
33728
33729// method id "dfareporting.floodlightActivityGroups.insert":
33730
33731type FloodlightActivityGroupsInsertCall struct {
33732	s                       *Service
33733	profileId               int64
33734	floodlightactivitygroup *FloodlightActivityGroup
33735	urlParams_              gensupport.URLParams
33736	ctx_                    context.Context
33737	header_                 http.Header
33738}
33739
33740// Insert: Inserts a new floodlight activity group.
33741func (r *FloodlightActivityGroupsService) Insert(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsInsertCall {
33742	c := &FloodlightActivityGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33743	c.profileId = profileId
33744	c.floodlightactivitygroup = floodlightactivitygroup
33745	return c
33746}
33747
33748// Fields allows partial responses to be retrieved. See
33749// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33750// for more information.
33751func (c *FloodlightActivityGroupsInsertCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsInsertCall {
33752	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33753	return c
33754}
33755
33756// Context sets the context to be used in this call's Do method. Any
33757// pending HTTP request will be aborted if the provided context is
33758// canceled.
33759func (c *FloodlightActivityGroupsInsertCall) Context(ctx context.Context) *FloodlightActivityGroupsInsertCall {
33760	c.ctx_ = ctx
33761	return c
33762}
33763
33764// Header returns an http.Header that can be modified by the caller to
33765// add HTTP headers to the request.
33766func (c *FloodlightActivityGroupsInsertCall) Header() http.Header {
33767	if c.header_ == nil {
33768		c.header_ = make(http.Header)
33769	}
33770	return c.header_
33771}
33772
33773func (c *FloodlightActivityGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
33774	reqHeaders := make(http.Header)
33775	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
33776	for k, v := range c.header_ {
33777		reqHeaders[k] = v
33778	}
33779	reqHeaders.Set("User-Agent", c.s.userAgent())
33780	var body io.Reader = nil
33781	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
33782	if err != nil {
33783		return nil, err
33784	}
33785	reqHeaders.Set("Content-Type", "application/json")
33786	c.urlParams_.Set("alt", alt)
33787	c.urlParams_.Set("prettyPrint", "false")
33788	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
33789	urls += "?" + c.urlParams_.Encode()
33790	req, err := http.NewRequest("POST", urls, body)
33791	if err != nil {
33792		return nil, err
33793	}
33794	req.Header = reqHeaders
33795	googleapi.Expand(req.URL, map[string]string{
33796		"profileId": strconv.FormatInt(c.profileId, 10),
33797	})
33798	return gensupport.SendRequest(c.ctx_, c.s.client, req)
33799}
33800
33801// Do executes the "dfareporting.floodlightActivityGroups.insert" call.
33802// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
33803// non-2xx status code is an error. Response headers are in either
33804// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
33805// returned at all) in error.(*googleapi.Error).Header. Use
33806// googleapi.IsNotModified to check whether the returned error was
33807// because http.StatusNotModified was returned.
33808func (c *FloodlightActivityGroupsInsertCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
33809	gensupport.SetOptions(c.urlParams_, opts...)
33810	res, err := c.doRequest("json")
33811	if res != nil && res.StatusCode == http.StatusNotModified {
33812		if res.Body != nil {
33813			res.Body.Close()
33814		}
33815		return nil, &googleapi.Error{
33816			Code:   res.StatusCode,
33817			Header: res.Header,
33818		}
33819	}
33820	if err != nil {
33821		return nil, err
33822	}
33823	defer googleapi.CloseBody(res)
33824	if err := googleapi.CheckResponse(res); err != nil {
33825		return nil, err
33826	}
33827	ret := &FloodlightActivityGroup{
33828		ServerResponse: googleapi.ServerResponse{
33829			Header:         res.Header,
33830			HTTPStatusCode: res.StatusCode,
33831		},
33832	}
33833	target := &ret
33834	if err := gensupport.DecodeResponse(target, res); err != nil {
33835		return nil, err
33836	}
33837	return ret, nil
33838	// {
33839	//   "description": "Inserts a new floodlight activity group.",
33840	//   "httpMethod": "POST",
33841	//   "id": "dfareporting.floodlightActivityGroups.insert",
33842	//   "parameterOrder": [
33843	//     "profileId"
33844	//   ],
33845	//   "parameters": {
33846	//     "profileId": {
33847	//       "description": "User profile ID associated with this request.",
33848	//       "format": "int64",
33849	//       "location": "path",
33850	//       "required": true,
33851	//       "type": "string"
33852	//     }
33853	//   },
33854	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
33855	//   "request": {
33856	//     "$ref": "FloodlightActivityGroup"
33857	//   },
33858	//   "response": {
33859	//     "$ref": "FloodlightActivityGroup"
33860	//   },
33861	//   "scopes": [
33862	//     "https://www.googleapis.com/auth/dfatrafficking"
33863	//   ]
33864	// }
33865
33866}
33867
33868// method id "dfareporting.floodlightActivityGroups.list":
33869
33870type FloodlightActivityGroupsListCall struct {
33871	s            *Service
33872	profileId    int64
33873	urlParams_   gensupport.URLParams
33874	ifNoneMatch_ string
33875	ctx_         context.Context
33876	header_      http.Header
33877}
33878
33879// List: Retrieves a list of floodlight activity groups, possibly
33880// filtered. This method supports paging.
33881func (r *FloodlightActivityGroupsService) List(profileId int64) *FloodlightActivityGroupsListCall {
33882	c := &FloodlightActivityGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
33883	c.profileId = profileId
33884	return c
33885}
33886
33887// AdvertiserId sets the optional parameter "advertiserId": Select only
33888// floodlight activity groups with the specified advertiser ID. Must
33889// specify either advertiserId or floodlightConfigurationId for a
33890// non-empty result.
33891func (c *FloodlightActivityGroupsListCall) AdvertiserId(advertiserId int64) *FloodlightActivityGroupsListCall {
33892	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
33893	return c
33894}
33895
33896// FloodlightConfigurationId sets the optional parameter
33897// "floodlightConfigurationId": Select only floodlight activity groups
33898// with the specified floodlight configuration ID. Must specify either
33899// advertiserId, or floodlightConfigurationId for a non-empty result.
33900func (c *FloodlightActivityGroupsListCall) FloodlightConfigurationId(floodlightConfigurationId int64) *FloodlightActivityGroupsListCall {
33901	c.urlParams_.Set("floodlightConfigurationId", fmt.Sprint(floodlightConfigurationId))
33902	return c
33903}
33904
33905// Ids sets the optional parameter "ids": Select only floodlight
33906// activity groups with the specified IDs. Must specify either
33907// advertiserId or floodlightConfigurationId for a non-empty result.
33908func (c *FloodlightActivityGroupsListCall) Ids(ids ...int64) *FloodlightActivityGroupsListCall {
33909	var ids_ []string
33910	for _, v := range ids {
33911		ids_ = append(ids_, fmt.Sprint(v))
33912	}
33913	c.urlParams_.SetMulti("ids", ids_)
33914	return c
33915}
33916
33917// MaxResults sets the optional parameter "maxResults": Maximum number
33918// of results to return.
33919func (c *FloodlightActivityGroupsListCall) MaxResults(maxResults int64) *FloodlightActivityGroupsListCall {
33920	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
33921	return c
33922}
33923
33924// PageToken sets the optional parameter "pageToken": Value of the
33925// nextPageToken from the previous result page.
33926func (c *FloodlightActivityGroupsListCall) PageToken(pageToken string) *FloodlightActivityGroupsListCall {
33927	c.urlParams_.Set("pageToken", pageToken)
33928	return c
33929}
33930
33931// SearchString sets the optional parameter "searchString": Allows
33932// searching for objects by name or ID. Wildcards (*) are allowed. For
33933// example, "floodlightactivitygroup*2015" will return objects with
33934// names like "floodlightactivitygroup June 2015",
33935// "floodlightactivitygroup April 2015", or simply
33936// "floodlightactivitygroup 2015". Most of the searches also add
33937// wildcards implicitly at the start and the end of the search string.
33938// For example, a search string of "floodlightactivitygroup" will match
33939// objects with name "my floodlightactivitygroup activity",
33940// "floodlightactivitygroup 2015", or simply "floodlightactivitygroup".
33941func (c *FloodlightActivityGroupsListCall) SearchString(searchString string) *FloodlightActivityGroupsListCall {
33942	c.urlParams_.Set("searchString", searchString)
33943	return c
33944}
33945
33946// SortField sets the optional parameter "sortField": Field by which to
33947// sort the list.
33948//
33949// Possible values:
33950//   "ID" (default)
33951//   "NAME"
33952func (c *FloodlightActivityGroupsListCall) SortField(sortField string) *FloodlightActivityGroupsListCall {
33953	c.urlParams_.Set("sortField", sortField)
33954	return c
33955}
33956
33957// SortOrder sets the optional parameter "sortOrder": Order of sorted
33958// results.
33959//
33960// Possible values:
33961//   "ASCENDING" (default)
33962//   "DESCENDING"
33963func (c *FloodlightActivityGroupsListCall) SortOrder(sortOrder string) *FloodlightActivityGroupsListCall {
33964	c.urlParams_.Set("sortOrder", sortOrder)
33965	return c
33966}
33967
33968// Type sets the optional parameter "type": Select only floodlight
33969// activity groups with the specified floodlight activity group type.
33970//
33971// Possible values:
33972//   "COUNTER"
33973//   "SALE"
33974func (c *FloodlightActivityGroupsListCall) Type(type_ string) *FloodlightActivityGroupsListCall {
33975	c.urlParams_.Set("type", type_)
33976	return c
33977}
33978
33979// Fields allows partial responses to be retrieved. See
33980// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
33981// for more information.
33982func (c *FloodlightActivityGroupsListCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsListCall {
33983	c.urlParams_.Set("fields", googleapi.CombineFields(s))
33984	return c
33985}
33986
33987// IfNoneMatch sets the optional parameter which makes the operation
33988// fail if the object's ETag matches the given value. This is useful for
33989// getting updates only after the object has changed since the last
33990// request. Use googleapi.IsNotModified to check whether the response
33991// error from Do is the result of In-None-Match.
33992func (c *FloodlightActivityGroupsListCall) IfNoneMatch(entityTag string) *FloodlightActivityGroupsListCall {
33993	c.ifNoneMatch_ = entityTag
33994	return c
33995}
33996
33997// Context sets the context to be used in this call's Do method. Any
33998// pending HTTP request will be aborted if the provided context is
33999// canceled.
34000func (c *FloodlightActivityGroupsListCall) Context(ctx context.Context) *FloodlightActivityGroupsListCall {
34001	c.ctx_ = ctx
34002	return c
34003}
34004
34005// Header returns an http.Header that can be modified by the caller to
34006// add HTTP headers to the request.
34007func (c *FloodlightActivityGroupsListCall) Header() http.Header {
34008	if c.header_ == nil {
34009		c.header_ = make(http.Header)
34010	}
34011	return c.header_
34012}
34013
34014func (c *FloodlightActivityGroupsListCall) doRequest(alt string) (*http.Response, error) {
34015	reqHeaders := make(http.Header)
34016	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34017	for k, v := range c.header_ {
34018		reqHeaders[k] = v
34019	}
34020	reqHeaders.Set("User-Agent", c.s.userAgent())
34021	if c.ifNoneMatch_ != "" {
34022		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34023	}
34024	var body io.Reader = nil
34025	c.urlParams_.Set("alt", alt)
34026	c.urlParams_.Set("prettyPrint", "false")
34027	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34028	urls += "?" + c.urlParams_.Encode()
34029	req, err := http.NewRequest("GET", urls, body)
34030	if err != nil {
34031		return nil, err
34032	}
34033	req.Header = reqHeaders
34034	googleapi.Expand(req.URL, map[string]string{
34035		"profileId": strconv.FormatInt(c.profileId, 10),
34036	})
34037	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34038}
34039
34040// Do executes the "dfareporting.floodlightActivityGroups.list" call.
34041// Exactly one of *FloodlightActivityGroupsListResponse or error will be
34042// non-nil. Any non-2xx status code is an error. Response headers are in
34043// either *FloodlightActivityGroupsListResponse.ServerResponse.Header or
34044// (if a response was returned at all) in
34045// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34046// whether the returned error was because http.StatusNotModified was
34047// returned.
34048func (c *FloodlightActivityGroupsListCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroupsListResponse, error) {
34049	gensupport.SetOptions(c.urlParams_, opts...)
34050	res, err := c.doRequest("json")
34051	if res != nil && res.StatusCode == http.StatusNotModified {
34052		if res.Body != nil {
34053			res.Body.Close()
34054		}
34055		return nil, &googleapi.Error{
34056			Code:   res.StatusCode,
34057			Header: res.Header,
34058		}
34059	}
34060	if err != nil {
34061		return nil, err
34062	}
34063	defer googleapi.CloseBody(res)
34064	if err := googleapi.CheckResponse(res); err != nil {
34065		return nil, err
34066	}
34067	ret := &FloodlightActivityGroupsListResponse{
34068		ServerResponse: googleapi.ServerResponse{
34069			Header:         res.Header,
34070			HTTPStatusCode: res.StatusCode,
34071		},
34072	}
34073	target := &ret
34074	if err := gensupport.DecodeResponse(target, res); err != nil {
34075		return nil, err
34076	}
34077	return ret, nil
34078	// {
34079	//   "description": "Retrieves a list of floodlight activity groups, possibly filtered. This method supports paging.",
34080	//   "httpMethod": "GET",
34081	//   "id": "dfareporting.floodlightActivityGroups.list",
34082	//   "parameterOrder": [
34083	//     "profileId"
34084	//   ],
34085	//   "parameters": {
34086	//     "advertiserId": {
34087	//       "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
34088	//       "format": "int64",
34089	//       "location": "query",
34090	//       "type": "string"
34091	//     },
34092	//     "floodlightConfigurationId": {
34093	//       "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.",
34094	//       "format": "int64",
34095	//       "location": "query",
34096	//       "type": "string"
34097	//     },
34098	//     "ids": {
34099	//       "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.",
34100	//       "format": "int64",
34101	//       "location": "query",
34102	//       "repeated": true,
34103	//       "type": "string"
34104	//     },
34105	//     "maxResults": {
34106	//       "default": "1000",
34107	//       "description": "Maximum number of results to return.",
34108	//       "format": "int32",
34109	//       "location": "query",
34110	//       "maximum": "1000",
34111	//       "minimum": "0",
34112	//       "type": "integer"
34113	//     },
34114	//     "pageToken": {
34115	//       "description": "Value of the nextPageToken from the previous result page.",
34116	//       "location": "query",
34117	//       "type": "string"
34118	//     },
34119	//     "profileId": {
34120	//       "description": "User profile ID associated with this request.",
34121	//       "format": "int64",
34122	//       "location": "path",
34123	//       "required": true,
34124	//       "type": "string"
34125	//     },
34126	//     "searchString": {
34127	//       "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\".",
34128	//       "location": "query",
34129	//       "type": "string"
34130	//     },
34131	//     "sortField": {
34132	//       "default": "ID",
34133	//       "description": "Field by which to sort the list.",
34134	//       "enum": [
34135	//         "ID",
34136	//         "NAME"
34137	//       ],
34138	//       "enumDescriptions": [
34139	//         "",
34140	//         ""
34141	//       ],
34142	//       "location": "query",
34143	//       "type": "string"
34144	//     },
34145	//     "sortOrder": {
34146	//       "default": "ASCENDING",
34147	//       "description": "Order of sorted results.",
34148	//       "enum": [
34149	//         "ASCENDING",
34150	//         "DESCENDING"
34151	//       ],
34152	//       "enumDescriptions": [
34153	//         "",
34154	//         ""
34155	//       ],
34156	//       "location": "query",
34157	//       "type": "string"
34158	//     },
34159	//     "type": {
34160	//       "description": "Select only floodlight activity groups with the specified floodlight activity group type.",
34161	//       "enum": [
34162	//         "COUNTER",
34163	//         "SALE"
34164	//       ],
34165	//       "enumDescriptions": [
34166	//         "",
34167	//         ""
34168	//       ],
34169	//       "location": "query",
34170	//       "type": "string"
34171	//     }
34172	//   },
34173	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34174	//   "response": {
34175	//     "$ref": "FloodlightActivityGroupsListResponse"
34176	//   },
34177	//   "scopes": [
34178	//     "https://www.googleapis.com/auth/dfatrafficking"
34179	//   ]
34180	// }
34181
34182}
34183
34184// Pages invokes f for each page of results.
34185// A non-nil error returned from f will halt the iteration.
34186// The provided context supersedes any context provided to the Context method.
34187func (c *FloodlightActivityGroupsListCall) Pages(ctx context.Context, f func(*FloodlightActivityGroupsListResponse) error) error {
34188	c.ctx_ = ctx
34189	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
34190	for {
34191		x, err := c.Do()
34192		if err != nil {
34193			return err
34194		}
34195		if err := f(x); err != nil {
34196			return err
34197		}
34198		if x.NextPageToken == "" {
34199			return nil
34200		}
34201		c.PageToken(x.NextPageToken)
34202	}
34203}
34204
34205// method id "dfareporting.floodlightActivityGroups.patch":
34206
34207type FloodlightActivityGroupsPatchCall struct {
34208	s                       *Service
34209	profileId               int64
34210	floodlightactivitygroup *FloodlightActivityGroup
34211	urlParams_              gensupport.URLParams
34212	ctx_                    context.Context
34213	header_                 http.Header
34214}
34215
34216// Patch: Updates an existing floodlight activity group. This method
34217// supports patch semantics.
34218func (r *FloodlightActivityGroupsService) Patch(profileId int64, id int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsPatchCall {
34219	c := &FloodlightActivityGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34220	c.profileId = profileId
34221	c.urlParams_.Set("id", fmt.Sprint(id))
34222	c.floodlightactivitygroup = floodlightactivitygroup
34223	return c
34224}
34225
34226// Fields allows partial responses to be retrieved. See
34227// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34228// for more information.
34229func (c *FloodlightActivityGroupsPatchCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsPatchCall {
34230	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34231	return c
34232}
34233
34234// Context sets the context to be used in this call's Do method. Any
34235// pending HTTP request will be aborted if the provided context is
34236// canceled.
34237func (c *FloodlightActivityGroupsPatchCall) Context(ctx context.Context) *FloodlightActivityGroupsPatchCall {
34238	c.ctx_ = ctx
34239	return c
34240}
34241
34242// Header returns an http.Header that can be modified by the caller to
34243// add HTTP headers to the request.
34244func (c *FloodlightActivityGroupsPatchCall) Header() http.Header {
34245	if c.header_ == nil {
34246		c.header_ = make(http.Header)
34247	}
34248	return c.header_
34249}
34250
34251func (c *FloodlightActivityGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
34252	reqHeaders := make(http.Header)
34253	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34254	for k, v := range c.header_ {
34255		reqHeaders[k] = v
34256	}
34257	reqHeaders.Set("User-Agent", c.s.userAgent())
34258	var body io.Reader = nil
34259	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
34260	if err != nil {
34261		return nil, err
34262	}
34263	reqHeaders.Set("Content-Type", "application/json")
34264	c.urlParams_.Set("alt", alt)
34265	c.urlParams_.Set("prettyPrint", "false")
34266	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34267	urls += "?" + c.urlParams_.Encode()
34268	req, err := http.NewRequest("PATCH", urls, body)
34269	if err != nil {
34270		return nil, err
34271	}
34272	req.Header = reqHeaders
34273	googleapi.Expand(req.URL, map[string]string{
34274		"profileId": strconv.FormatInt(c.profileId, 10),
34275	})
34276	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34277}
34278
34279// Do executes the "dfareporting.floodlightActivityGroups.patch" call.
34280// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
34281// non-2xx status code is an error. Response headers are in either
34282// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
34283// returned at all) in error.(*googleapi.Error).Header. Use
34284// googleapi.IsNotModified to check whether the returned error was
34285// because http.StatusNotModified was returned.
34286func (c *FloodlightActivityGroupsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
34287	gensupport.SetOptions(c.urlParams_, opts...)
34288	res, err := c.doRequest("json")
34289	if res != nil && res.StatusCode == http.StatusNotModified {
34290		if res.Body != nil {
34291			res.Body.Close()
34292		}
34293		return nil, &googleapi.Error{
34294			Code:   res.StatusCode,
34295			Header: res.Header,
34296		}
34297	}
34298	if err != nil {
34299		return nil, err
34300	}
34301	defer googleapi.CloseBody(res)
34302	if err := googleapi.CheckResponse(res); err != nil {
34303		return nil, err
34304	}
34305	ret := &FloodlightActivityGroup{
34306		ServerResponse: googleapi.ServerResponse{
34307			Header:         res.Header,
34308			HTTPStatusCode: res.StatusCode,
34309		},
34310	}
34311	target := &ret
34312	if err := gensupport.DecodeResponse(target, res); err != nil {
34313		return nil, err
34314	}
34315	return ret, nil
34316	// {
34317	//   "description": "Updates an existing floodlight activity group. This method supports patch semantics.",
34318	//   "httpMethod": "PATCH",
34319	//   "id": "dfareporting.floodlightActivityGroups.patch",
34320	//   "parameterOrder": [
34321	//     "profileId",
34322	//     "id"
34323	//   ],
34324	//   "parameters": {
34325	//     "id": {
34326	//       "description": "Floodlight activity Group ID.",
34327	//       "format": "int64",
34328	//       "location": "query",
34329	//       "required": true,
34330	//       "type": "string"
34331	//     },
34332	//     "profileId": {
34333	//       "description": "User profile ID associated with this request.",
34334	//       "format": "int64",
34335	//       "location": "path",
34336	//       "required": true,
34337	//       "type": "string"
34338	//     }
34339	//   },
34340	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34341	//   "request": {
34342	//     "$ref": "FloodlightActivityGroup"
34343	//   },
34344	//   "response": {
34345	//     "$ref": "FloodlightActivityGroup"
34346	//   },
34347	//   "scopes": [
34348	//     "https://www.googleapis.com/auth/dfatrafficking"
34349	//   ]
34350	// }
34351
34352}
34353
34354// method id "dfareporting.floodlightActivityGroups.update":
34355
34356type FloodlightActivityGroupsUpdateCall struct {
34357	s                       *Service
34358	profileId               int64
34359	floodlightactivitygroup *FloodlightActivityGroup
34360	urlParams_              gensupport.URLParams
34361	ctx_                    context.Context
34362	header_                 http.Header
34363}
34364
34365// Update: Updates an existing floodlight activity group.
34366func (r *FloodlightActivityGroupsService) Update(profileId int64, floodlightactivitygroup *FloodlightActivityGroup) *FloodlightActivityGroupsUpdateCall {
34367	c := &FloodlightActivityGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34368	c.profileId = profileId
34369	c.floodlightactivitygroup = floodlightactivitygroup
34370	return c
34371}
34372
34373// Fields allows partial responses to be retrieved. See
34374// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34375// for more information.
34376func (c *FloodlightActivityGroupsUpdateCall) Fields(s ...googleapi.Field) *FloodlightActivityGroupsUpdateCall {
34377	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34378	return c
34379}
34380
34381// Context sets the context to be used in this call's Do method. Any
34382// pending HTTP request will be aborted if the provided context is
34383// canceled.
34384func (c *FloodlightActivityGroupsUpdateCall) Context(ctx context.Context) *FloodlightActivityGroupsUpdateCall {
34385	c.ctx_ = ctx
34386	return c
34387}
34388
34389// Header returns an http.Header that can be modified by the caller to
34390// add HTTP headers to the request.
34391func (c *FloodlightActivityGroupsUpdateCall) Header() http.Header {
34392	if c.header_ == nil {
34393		c.header_ = make(http.Header)
34394	}
34395	return c.header_
34396}
34397
34398func (c *FloodlightActivityGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
34399	reqHeaders := make(http.Header)
34400	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34401	for k, v := range c.header_ {
34402		reqHeaders[k] = v
34403	}
34404	reqHeaders.Set("User-Agent", c.s.userAgent())
34405	var body io.Reader = nil
34406	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightactivitygroup)
34407	if err != nil {
34408		return nil, err
34409	}
34410	reqHeaders.Set("Content-Type", "application/json")
34411	c.urlParams_.Set("alt", alt)
34412	c.urlParams_.Set("prettyPrint", "false")
34413	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightActivityGroups")
34414	urls += "?" + c.urlParams_.Encode()
34415	req, err := http.NewRequest("PUT", urls, body)
34416	if err != nil {
34417		return nil, err
34418	}
34419	req.Header = reqHeaders
34420	googleapi.Expand(req.URL, map[string]string{
34421		"profileId": strconv.FormatInt(c.profileId, 10),
34422	})
34423	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34424}
34425
34426// Do executes the "dfareporting.floodlightActivityGroups.update" call.
34427// Exactly one of *FloodlightActivityGroup or error will be non-nil. Any
34428// non-2xx status code is an error. Response headers are in either
34429// *FloodlightActivityGroup.ServerResponse.Header or (if a response was
34430// returned at all) in error.(*googleapi.Error).Header. Use
34431// googleapi.IsNotModified to check whether the returned error was
34432// because http.StatusNotModified was returned.
34433func (c *FloodlightActivityGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightActivityGroup, error) {
34434	gensupport.SetOptions(c.urlParams_, opts...)
34435	res, err := c.doRequest("json")
34436	if res != nil && res.StatusCode == http.StatusNotModified {
34437		if res.Body != nil {
34438			res.Body.Close()
34439		}
34440		return nil, &googleapi.Error{
34441			Code:   res.StatusCode,
34442			Header: res.Header,
34443		}
34444	}
34445	if err != nil {
34446		return nil, err
34447	}
34448	defer googleapi.CloseBody(res)
34449	if err := googleapi.CheckResponse(res); err != nil {
34450		return nil, err
34451	}
34452	ret := &FloodlightActivityGroup{
34453		ServerResponse: googleapi.ServerResponse{
34454			Header:         res.Header,
34455			HTTPStatusCode: res.StatusCode,
34456		},
34457	}
34458	target := &ret
34459	if err := gensupport.DecodeResponse(target, res); err != nil {
34460		return nil, err
34461	}
34462	return ret, nil
34463	// {
34464	//   "description": "Updates an existing floodlight activity group.",
34465	//   "httpMethod": "PUT",
34466	//   "id": "dfareporting.floodlightActivityGroups.update",
34467	//   "parameterOrder": [
34468	//     "profileId"
34469	//   ],
34470	//   "parameters": {
34471	//     "profileId": {
34472	//       "description": "User profile ID associated with this request.",
34473	//       "format": "int64",
34474	//       "location": "path",
34475	//       "required": true,
34476	//       "type": "string"
34477	//     }
34478	//   },
34479	//   "path": "userprofiles/{profileId}/floodlightActivityGroups",
34480	//   "request": {
34481	//     "$ref": "FloodlightActivityGroup"
34482	//   },
34483	//   "response": {
34484	//     "$ref": "FloodlightActivityGroup"
34485	//   },
34486	//   "scopes": [
34487	//     "https://www.googleapis.com/auth/dfatrafficking"
34488	//   ]
34489	// }
34490
34491}
34492
34493// method id "dfareporting.floodlightConfigurations.get":
34494
34495type FloodlightConfigurationsGetCall struct {
34496	s            *Service
34497	profileId    int64
34498	id           int64
34499	urlParams_   gensupport.URLParams
34500	ifNoneMatch_ string
34501	ctx_         context.Context
34502	header_      http.Header
34503}
34504
34505// Get: Gets one floodlight configuration by ID.
34506func (r *FloodlightConfigurationsService) Get(profileId int64, id int64) *FloodlightConfigurationsGetCall {
34507	c := &FloodlightConfigurationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34508	c.profileId = profileId
34509	c.id = id
34510	return c
34511}
34512
34513// Fields allows partial responses to be retrieved. See
34514// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34515// for more information.
34516func (c *FloodlightConfigurationsGetCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsGetCall {
34517	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34518	return c
34519}
34520
34521// IfNoneMatch sets the optional parameter which makes the operation
34522// fail if the object's ETag matches the given value. This is useful for
34523// getting updates only after the object has changed since the last
34524// request. Use googleapi.IsNotModified to check whether the response
34525// error from Do is the result of In-None-Match.
34526func (c *FloodlightConfigurationsGetCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsGetCall {
34527	c.ifNoneMatch_ = entityTag
34528	return c
34529}
34530
34531// Context sets the context to be used in this call's Do method. Any
34532// pending HTTP request will be aborted if the provided context is
34533// canceled.
34534func (c *FloodlightConfigurationsGetCall) Context(ctx context.Context) *FloodlightConfigurationsGetCall {
34535	c.ctx_ = ctx
34536	return c
34537}
34538
34539// Header returns an http.Header that can be modified by the caller to
34540// add HTTP headers to the request.
34541func (c *FloodlightConfigurationsGetCall) Header() http.Header {
34542	if c.header_ == nil {
34543		c.header_ = make(http.Header)
34544	}
34545	return c.header_
34546}
34547
34548func (c *FloodlightConfigurationsGetCall) doRequest(alt string) (*http.Response, error) {
34549	reqHeaders := make(http.Header)
34550	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34551	for k, v := range c.header_ {
34552		reqHeaders[k] = v
34553	}
34554	reqHeaders.Set("User-Agent", c.s.userAgent())
34555	if c.ifNoneMatch_ != "" {
34556		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34557	}
34558	var body io.Reader = nil
34559	c.urlParams_.Set("alt", alt)
34560	c.urlParams_.Set("prettyPrint", "false")
34561	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations/{id}")
34562	urls += "?" + c.urlParams_.Encode()
34563	req, err := http.NewRequest("GET", urls, body)
34564	if err != nil {
34565		return nil, err
34566	}
34567	req.Header = reqHeaders
34568	googleapi.Expand(req.URL, map[string]string{
34569		"profileId": strconv.FormatInt(c.profileId, 10),
34570		"id":        strconv.FormatInt(c.id, 10),
34571	})
34572	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34573}
34574
34575// Do executes the "dfareporting.floodlightConfigurations.get" call.
34576// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34577// non-2xx status code is an error. Response headers are in either
34578// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34579// returned at all) in error.(*googleapi.Error).Header. Use
34580// googleapi.IsNotModified to check whether the returned error was
34581// because http.StatusNotModified was returned.
34582func (c *FloodlightConfigurationsGetCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34583	gensupport.SetOptions(c.urlParams_, opts...)
34584	res, err := c.doRequest("json")
34585	if res != nil && res.StatusCode == http.StatusNotModified {
34586		if res.Body != nil {
34587			res.Body.Close()
34588		}
34589		return nil, &googleapi.Error{
34590			Code:   res.StatusCode,
34591			Header: res.Header,
34592		}
34593	}
34594	if err != nil {
34595		return nil, err
34596	}
34597	defer googleapi.CloseBody(res)
34598	if err := googleapi.CheckResponse(res); err != nil {
34599		return nil, err
34600	}
34601	ret := &FloodlightConfiguration{
34602		ServerResponse: googleapi.ServerResponse{
34603			Header:         res.Header,
34604			HTTPStatusCode: res.StatusCode,
34605		},
34606	}
34607	target := &ret
34608	if err := gensupport.DecodeResponse(target, res); err != nil {
34609		return nil, err
34610	}
34611	return ret, nil
34612	// {
34613	//   "description": "Gets one floodlight configuration by ID.",
34614	//   "httpMethod": "GET",
34615	//   "id": "dfareporting.floodlightConfigurations.get",
34616	//   "parameterOrder": [
34617	//     "profileId",
34618	//     "id"
34619	//   ],
34620	//   "parameters": {
34621	//     "id": {
34622	//       "description": "Floodlight configuration ID.",
34623	//       "format": "int64",
34624	//       "location": "path",
34625	//       "required": true,
34626	//       "type": "string"
34627	//     },
34628	//     "profileId": {
34629	//       "description": "User profile ID associated with this request.",
34630	//       "format": "int64",
34631	//       "location": "path",
34632	//       "required": true,
34633	//       "type": "string"
34634	//     }
34635	//   },
34636	//   "path": "userprofiles/{profileId}/floodlightConfigurations/{id}",
34637	//   "response": {
34638	//     "$ref": "FloodlightConfiguration"
34639	//   },
34640	//   "scopes": [
34641	//     "https://www.googleapis.com/auth/dfatrafficking"
34642	//   ]
34643	// }
34644
34645}
34646
34647// method id "dfareporting.floodlightConfigurations.list":
34648
34649type FloodlightConfigurationsListCall struct {
34650	s            *Service
34651	profileId    int64
34652	urlParams_   gensupport.URLParams
34653	ifNoneMatch_ string
34654	ctx_         context.Context
34655	header_      http.Header
34656}
34657
34658// List: Retrieves a list of floodlight configurations, possibly
34659// filtered.
34660func (r *FloodlightConfigurationsService) List(profileId int64) *FloodlightConfigurationsListCall {
34661	c := &FloodlightConfigurationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34662	c.profileId = profileId
34663	return c
34664}
34665
34666// Ids sets the optional parameter "ids": Set of IDs of floodlight
34667// configurations to retrieve. Required field; otherwise an empty list
34668// will be returned.
34669func (c *FloodlightConfigurationsListCall) Ids(ids ...int64) *FloodlightConfigurationsListCall {
34670	var ids_ []string
34671	for _, v := range ids {
34672		ids_ = append(ids_, fmt.Sprint(v))
34673	}
34674	c.urlParams_.SetMulti("ids", ids_)
34675	return c
34676}
34677
34678// Fields allows partial responses to be retrieved. See
34679// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34680// for more information.
34681func (c *FloodlightConfigurationsListCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsListCall {
34682	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34683	return c
34684}
34685
34686// IfNoneMatch sets the optional parameter which makes the operation
34687// fail if the object's ETag matches the given value. This is useful for
34688// getting updates only after the object has changed since the last
34689// request. Use googleapi.IsNotModified to check whether the response
34690// error from Do is the result of In-None-Match.
34691func (c *FloodlightConfigurationsListCall) IfNoneMatch(entityTag string) *FloodlightConfigurationsListCall {
34692	c.ifNoneMatch_ = entityTag
34693	return c
34694}
34695
34696// Context sets the context to be used in this call's Do method. Any
34697// pending HTTP request will be aborted if the provided context is
34698// canceled.
34699func (c *FloodlightConfigurationsListCall) Context(ctx context.Context) *FloodlightConfigurationsListCall {
34700	c.ctx_ = ctx
34701	return c
34702}
34703
34704// Header returns an http.Header that can be modified by the caller to
34705// add HTTP headers to the request.
34706func (c *FloodlightConfigurationsListCall) Header() http.Header {
34707	if c.header_ == nil {
34708		c.header_ = make(http.Header)
34709	}
34710	return c.header_
34711}
34712
34713func (c *FloodlightConfigurationsListCall) doRequest(alt string) (*http.Response, error) {
34714	reqHeaders := make(http.Header)
34715	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34716	for k, v := range c.header_ {
34717		reqHeaders[k] = v
34718	}
34719	reqHeaders.Set("User-Agent", c.s.userAgent())
34720	if c.ifNoneMatch_ != "" {
34721		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
34722	}
34723	var body io.Reader = nil
34724	c.urlParams_.Set("alt", alt)
34725	c.urlParams_.Set("prettyPrint", "false")
34726	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34727	urls += "?" + c.urlParams_.Encode()
34728	req, err := http.NewRequest("GET", urls, body)
34729	if err != nil {
34730		return nil, err
34731	}
34732	req.Header = reqHeaders
34733	googleapi.Expand(req.URL, map[string]string{
34734		"profileId": strconv.FormatInt(c.profileId, 10),
34735	})
34736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34737}
34738
34739// Do executes the "dfareporting.floodlightConfigurations.list" call.
34740// Exactly one of *FloodlightConfigurationsListResponse or error will be
34741// non-nil. Any non-2xx status code is an error. Response headers are in
34742// either *FloodlightConfigurationsListResponse.ServerResponse.Header or
34743// (if a response was returned at all) in
34744// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
34745// whether the returned error was because http.StatusNotModified was
34746// returned.
34747func (c *FloodlightConfigurationsListCall) Do(opts ...googleapi.CallOption) (*FloodlightConfigurationsListResponse, error) {
34748	gensupport.SetOptions(c.urlParams_, opts...)
34749	res, err := c.doRequest("json")
34750	if res != nil && res.StatusCode == http.StatusNotModified {
34751		if res.Body != nil {
34752			res.Body.Close()
34753		}
34754		return nil, &googleapi.Error{
34755			Code:   res.StatusCode,
34756			Header: res.Header,
34757		}
34758	}
34759	if err != nil {
34760		return nil, err
34761	}
34762	defer googleapi.CloseBody(res)
34763	if err := googleapi.CheckResponse(res); err != nil {
34764		return nil, err
34765	}
34766	ret := &FloodlightConfigurationsListResponse{
34767		ServerResponse: googleapi.ServerResponse{
34768			Header:         res.Header,
34769			HTTPStatusCode: res.StatusCode,
34770		},
34771	}
34772	target := &ret
34773	if err := gensupport.DecodeResponse(target, res); err != nil {
34774		return nil, err
34775	}
34776	return ret, nil
34777	// {
34778	//   "description": "Retrieves a list of floodlight configurations, possibly filtered.",
34779	//   "httpMethod": "GET",
34780	//   "id": "dfareporting.floodlightConfigurations.list",
34781	//   "parameterOrder": [
34782	//     "profileId"
34783	//   ],
34784	//   "parameters": {
34785	//     "ids": {
34786	//       "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.",
34787	//       "format": "int64",
34788	//       "location": "query",
34789	//       "repeated": true,
34790	//       "type": "string"
34791	//     },
34792	//     "profileId": {
34793	//       "description": "User profile ID associated with this request.",
34794	//       "format": "int64",
34795	//       "location": "path",
34796	//       "required": true,
34797	//       "type": "string"
34798	//     }
34799	//   },
34800	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34801	//   "response": {
34802	//     "$ref": "FloodlightConfigurationsListResponse"
34803	//   },
34804	//   "scopes": [
34805	//     "https://www.googleapis.com/auth/dfatrafficking"
34806	//   ]
34807	// }
34808
34809}
34810
34811// method id "dfareporting.floodlightConfigurations.patch":
34812
34813type FloodlightConfigurationsPatchCall struct {
34814	s                       *Service
34815	profileId               int64
34816	floodlightconfiguration *FloodlightConfiguration
34817	urlParams_              gensupport.URLParams
34818	ctx_                    context.Context
34819	header_                 http.Header
34820}
34821
34822// Patch: Updates an existing floodlight configuration. This method
34823// supports patch semantics.
34824func (r *FloodlightConfigurationsService) Patch(profileId int64, id int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsPatchCall {
34825	c := &FloodlightConfigurationsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34826	c.profileId = profileId
34827	c.urlParams_.Set("id", fmt.Sprint(id))
34828	c.floodlightconfiguration = floodlightconfiguration
34829	return c
34830}
34831
34832// Fields allows partial responses to be retrieved. See
34833// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34834// for more information.
34835func (c *FloodlightConfigurationsPatchCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsPatchCall {
34836	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34837	return c
34838}
34839
34840// Context sets the context to be used in this call's Do method. Any
34841// pending HTTP request will be aborted if the provided context is
34842// canceled.
34843func (c *FloodlightConfigurationsPatchCall) Context(ctx context.Context) *FloodlightConfigurationsPatchCall {
34844	c.ctx_ = ctx
34845	return c
34846}
34847
34848// Header returns an http.Header that can be modified by the caller to
34849// add HTTP headers to the request.
34850func (c *FloodlightConfigurationsPatchCall) Header() http.Header {
34851	if c.header_ == nil {
34852		c.header_ = make(http.Header)
34853	}
34854	return c.header_
34855}
34856
34857func (c *FloodlightConfigurationsPatchCall) doRequest(alt string) (*http.Response, error) {
34858	reqHeaders := make(http.Header)
34859	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
34860	for k, v := range c.header_ {
34861		reqHeaders[k] = v
34862	}
34863	reqHeaders.Set("User-Agent", c.s.userAgent())
34864	var body io.Reader = nil
34865	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
34866	if err != nil {
34867		return nil, err
34868	}
34869	reqHeaders.Set("Content-Type", "application/json")
34870	c.urlParams_.Set("alt", alt)
34871	c.urlParams_.Set("prettyPrint", "false")
34872	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
34873	urls += "?" + c.urlParams_.Encode()
34874	req, err := http.NewRequest("PATCH", urls, body)
34875	if err != nil {
34876		return nil, err
34877	}
34878	req.Header = reqHeaders
34879	googleapi.Expand(req.URL, map[string]string{
34880		"profileId": strconv.FormatInt(c.profileId, 10),
34881	})
34882	return gensupport.SendRequest(c.ctx_, c.s.client, req)
34883}
34884
34885// Do executes the "dfareporting.floodlightConfigurations.patch" call.
34886// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
34887// non-2xx status code is an error. Response headers are in either
34888// *FloodlightConfiguration.ServerResponse.Header or (if a response was
34889// returned at all) in error.(*googleapi.Error).Header. Use
34890// googleapi.IsNotModified to check whether the returned error was
34891// because http.StatusNotModified was returned.
34892func (c *FloodlightConfigurationsPatchCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
34893	gensupport.SetOptions(c.urlParams_, opts...)
34894	res, err := c.doRequest("json")
34895	if res != nil && res.StatusCode == http.StatusNotModified {
34896		if res.Body != nil {
34897			res.Body.Close()
34898		}
34899		return nil, &googleapi.Error{
34900			Code:   res.StatusCode,
34901			Header: res.Header,
34902		}
34903	}
34904	if err != nil {
34905		return nil, err
34906	}
34907	defer googleapi.CloseBody(res)
34908	if err := googleapi.CheckResponse(res); err != nil {
34909		return nil, err
34910	}
34911	ret := &FloodlightConfiguration{
34912		ServerResponse: googleapi.ServerResponse{
34913			Header:         res.Header,
34914			HTTPStatusCode: res.StatusCode,
34915		},
34916	}
34917	target := &ret
34918	if err := gensupport.DecodeResponse(target, res); err != nil {
34919		return nil, err
34920	}
34921	return ret, nil
34922	// {
34923	//   "description": "Updates an existing floodlight configuration. This method supports patch semantics.",
34924	//   "httpMethod": "PATCH",
34925	//   "id": "dfareporting.floodlightConfigurations.patch",
34926	//   "parameterOrder": [
34927	//     "profileId",
34928	//     "id"
34929	//   ],
34930	//   "parameters": {
34931	//     "id": {
34932	//       "description": "Floodlight configuration ID.",
34933	//       "format": "int64",
34934	//       "location": "query",
34935	//       "required": true,
34936	//       "type": "string"
34937	//     },
34938	//     "profileId": {
34939	//       "description": "User profile ID associated with this request.",
34940	//       "format": "int64",
34941	//       "location": "path",
34942	//       "required": true,
34943	//       "type": "string"
34944	//     }
34945	//   },
34946	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
34947	//   "request": {
34948	//     "$ref": "FloodlightConfiguration"
34949	//   },
34950	//   "response": {
34951	//     "$ref": "FloodlightConfiguration"
34952	//   },
34953	//   "scopes": [
34954	//     "https://www.googleapis.com/auth/dfatrafficking"
34955	//   ]
34956	// }
34957
34958}
34959
34960// method id "dfareporting.floodlightConfigurations.update":
34961
34962type FloodlightConfigurationsUpdateCall struct {
34963	s                       *Service
34964	profileId               int64
34965	floodlightconfiguration *FloodlightConfiguration
34966	urlParams_              gensupport.URLParams
34967	ctx_                    context.Context
34968	header_                 http.Header
34969}
34970
34971// Update: Updates an existing floodlight configuration.
34972func (r *FloodlightConfigurationsService) Update(profileId int64, floodlightconfiguration *FloodlightConfiguration) *FloodlightConfigurationsUpdateCall {
34973	c := &FloodlightConfigurationsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
34974	c.profileId = profileId
34975	c.floodlightconfiguration = floodlightconfiguration
34976	return c
34977}
34978
34979// Fields allows partial responses to be retrieved. See
34980// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
34981// for more information.
34982func (c *FloodlightConfigurationsUpdateCall) Fields(s ...googleapi.Field) *FloodlightConfigurationsUpdateCall {
34983	c.urlParams_.Set("fields", googleapi.CombineFields(s))
34984	return c
34985}
34986
34987// Context sets the context to be used in this call's Do method. Any
34988// pending HTTP request will be aborted if the provided context is
34989// canceled.
34990func (c *FloodlightConfigurationsUpdateCall) Context(ctx context.Context) *FloodlightConfigurationsUpdateCall {
34991	c.ctx_ = ctx
34992	return c
34993}
34994
34995// Header returns an http.Header that can be modified by the caller to
34996// add HTTP headers to the request.
34997func (c *FloodlightConfigurationsUpdateCall) Header() http.Header {
34998	if c.header_ == nil {
34999		c.header_ = make(http.Header)
35000	}
35001	return c.header_
35002}
35003
35004func (c *FloodlightConfigurationsUpdateCall) doRequest(alt string) (*http.Response, error) {
35005	reqHeaders := make(http.Header)
35006	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35007	for k, v := range c.header_ {
35008		reqHeaders[k] = v
35009	}
35010	reqHeaders.Set("User-Agent", c.s.userAgent())
35011	var body io.Reader = nil
35012	body, err := googleapi.WithoutDataWrapper.JSONReader(c.floodlightconfiguration)
35013	if err != nil {
35014		return nil, err
35015	}
35016	reqHeaders.Set("Content-Type", "application/json")
35017	c.urlParams_.Set("alt", alt)
35018	c.urlParams_.Set("prettyPrint", "false")
35019	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/floodlightConfigurations")
35020	urls += "?" + c.urlParams_.Encode()
35021	req, err := http.NewRequest("PUT", urls, body)
35022	if err != nil {
35023		return nil, err
35024	}
35025	req.Header = reqHeaders
35026	googleapi.Expand(req.URL, map[string]string{
35027		"profileId": strconv.FormatInt(c.profileId, 10),
35028	})
35029	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35030}
35031
35032// Do executes the "dfareporting.floodlightConfigurations.update" call.
35033// Exactly one of *FloodlightConfiguration or error will be non-nil. Any
35034// non-2xx status code is an error. Response headers are in either
35035// *FloodlightConfiguration.ServerResponse.Header or (if a response was
35036// returned at all) in error.(*googleapi.Error).Header. Use
35037// googleapi.IsNotModified to check whether the returned error was
35038// because http.StatusNotModified was returned.
35039func (c *FloodlightConfigurationsUpdateCall) Do(opts ...googleapi.CallOption) (*FloodlightConfiguration, error) {
35040	gensupport.SetOptions(c.urlParams_, opts...)
35041	res, err := c.doRequest("json")
35042	if res != nil && res.StatusCode == http.StatusNotModified {
35043		if res.Body != nil {
35044			res.Body.Close()
35045		}
35046		return nil, &googleapi.Error{
35047			Code:   res.StatusCode,
35048			Header: res.Header,
35049		}
35050	}
35051	if err != nil {
35052		return nil, err
35053	}
35054	defer googleapi.CloseBody(res)
35055	if err := googleapi.CheckResponse(res); err != nil {
35056		return nil, err
35057	}
35058	ret := &FloodlightConfiguration{
35059		ServerResponse: googleapi.ServerResponse{
35060			Header:         res.Header,
35061			HTTPStatusCode: res.StatusCode,
35062		},
35063	}
35064	target := &ret
35065	if err := gensupport.DecodeResponse(target, res); err != nil {
35066		return nil, err
35067	}
35068	return ret, nil
35069	// {
35070	//   "description": "Updates an existing floodlight configuration.",
35071	//   "httpMethod": "PUT",
35072	//   "id": "dfareporting.floodlightConfigurations.update",
35073	//   "parameterOrder": [
35074	//     "profileId"
35075	//   ],
35076	//   "parameters": {
35077	//     "profileId": {
35078	//       "description": "User profile ID associated with this request.",
35079	//       "format": "int64",
35080	//       "location": "path",
35081	//       "required": true,
35082	//       "type": "string"
35083	//     }
35084	//   },
35085	//   "path": "userprofiles/{profileId}/floodlightConfigurations",
35086	//   "request": {
35087	//     "$ref": "FloodlightConfiguration"
35088	//   },
35089	//   "response": {
35090	//     "$ref": "FloodlightConfiguration"
35091	//   },
35092	//   "scopes": [
35093	//     "https://www.googleapis.com/auth/dfatrafficking"
35094	//   ]
35095	// }
35096
35097}
35098
35099// method id "dfareporting.inventoryItems.get":
35100
35101type InventoryItemsGetCall struct {
35102	s            *Service
35103	profileId    int64
35104	projectId    int64
35105	id           int64
35106	urlParams_   gensupport.URLParams
35107	ifNoneMatch_ string
35108	ctx_         context.Context
35109	header_      http.Header
35110}
35111
35112// Get: Gets one inventory item by ID.
35113func (r *InventoryItemsService) Get(profileId int64, projectId int64, id int64) *InventoryItemsGetCall {
35114	c := &InventoryItemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35115	c.profileId = profileId
35116	c.projectId = projectId
35117	c.id = id
35118	return c
35119}
35120
35121// Fields allows partial responses to be retrieved. See
35122// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35123// for more information.
35124func (c *InventoryItemsGetCall) Fields(s ...googleapi.Field) *InventoryItemsGetCall {
35125	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35126	return c
35127}
35128
35129// IfNoneMatch sets the optional parameter which makes the operation
35130// fail if the object's ETag matches the given value. This is useful for
35131// getting updates only after the object has changed since the last
35132// request. Use googleapi.IsNotModified to check whether the response
35133// error from Do is the result of In-None-Match.
35134func (c *InventoryItemsGetCall) IfNoneMatch(entityTag string) *InventoryItemsGetCall {
35135	c.ifNoneMatch_ = entityTag
35136	return c
35137}
35138
35139// Context sets the context to be used in this call's Do method. Any
35140// pending HTTP request will be aborted if the provided context is
35141// canceled.
35142func (c *InventoryItemsGetCall) Context(ctx context.Context) *InventoryItemsGetCall {
35143	c.ctx_ = ctx
35144	return c
35145}
35146
35147// Header returns an http.Header that can be modified by the caller to
35148// add HTTP headers to the request.
35149func (c *InventoryItemsGetCall) Header() http.Header {
35150	if c.header_ == nil {
35151		c.header_ = make(http.Header)
35152	}
35153	return c.header_
35154}
35155
35156func (c *InventoryItemsGetCall) doRequest(alt string) (*http.Response, error) {
35157	reqHeaders := make(http.Header)
35158	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35159	for k, v := range c.header_ {
35160		reqHeaders[k] = v
35161	}
35162	reqHeaders.Set("User-Agent", c.s.userAgent())
35163	if c.ifNoneMatch_ != "" {
35164		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35165	}
35166	var body io.Reader = nil
35167	c.urlParams_.Set("alt", alt)
35168	c.urlParams_.Set("prettyPrint", "false")
35169	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}")
35170	urls += "?" + c.urlParams_.Encode()
35171	req, err := http.NewRequest("GET", urls, body)
35172	if err != nil {
35173		return nil, err
35174	}
35175	req.Header = reqHeaders
35176	googleapi.Expand(req.URL, map[string]string{
35177		"profileId": strconv.FormatInt(c.profileId, 10),
35178		"projectId": strconv.FormatInt(c.projectId, 10),
35179		"id":        strconv.FormatInt(c.id, 10),
35180	})
35181	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35182}
35183
35184// Do executes the "dfareporting.inventoryItems.get" call.
35185// Exactly one of *InventoryItem or error will be non-nil. Any non-2xx
35186// status code is an error. Response headers are in either
35187// *InventoryItem.ServerResponse.Header or (if a response was returned
35188// at all) in error.(*googleapi.Error).Header. Use
35189// googleapi.IsNotModified to check whether the returned error was
35190// because http.StatusNotModified was returned.
35191func (c *InventoryItemsGetCall) Do(opts ...googleapi.CallOption) (*InventoryItem, error) {
35192	gensupport.SetOptions(c.urlParams_, opts...)
35193	res, err := c.doRequest("json")
35194	if res != nil && res.StatusCode == http.StatusNotModified {
35195		if res.Body != nil {
35196			res.Body.Close()
35197		}
35198		return nil, &googleapi.Error{
35199			Code:   res.StatusCode,
35200			Header: res.Header,
35201		}
35202	}
35203	if err != nil {
35204		return nil, err
35205	}
35206	defer googleapi.CloseBody(res)
35207	if err := googleapi.CheckResponse(res); err != nil {
35208		return nil, err
35209	}
35210	ret := &InventoryItem{
35211		ServerResponse: googleapi.ServerResponse{
35212			Header:         res.Header,
35213			HTTPStatusCode: res.StatusCode,
35214		},
35215	}
35216	target := &ret
35217	if err := gensupport.DecodeResponse(target, res); err != nil {
35218		return nil, err
35219	}
35220	return ret, nil
35221	// {
35222	//   "description": "Gets one inventory item by ID.",
35223	//   "httpMethod": "GET",
35224	//   "id": "dfareporting.inventoryItems.get",
35225	//   "parameterOrder": [
35226	//     "profileId",
35227	//     "projectId",
35228	//     "id"
35229	//   ],
35230	//   "parameters": {
35231	//     "id": {
35232	//       "description": "Inventory item ID.",
35233	//       "format": "int64",
35234	//       "location": "path",
35235	//       "required": true,
35236	//       "type": "string"
35237	//     },
35238	//     "profileId": {
35239	//       "description": "User profile ID associated with this request.",
35240	//       "format": "int64",
35241	//       "location": "path",
35242	//       "required": true,
35243	//       "type": "string"
35244	//     },
35245	//     "projectId": {
35246	//       "description": "Project ID for order documents.",
35247	//       "format": "int64",
35248	//       "location": "path",
35249	//       "required": true,
35250	//       "type": "string"
35251	//     }
35252	//   },
35253	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}",
35254	//   "response": {
35255	//     "$ref": "InventoryItem"
35256	//   },
35257	//   "scopes": [
35258	//     "https://www.googleapis.com/auth/dfatrafficking"
35259	//   ]
35260	// }
35261
35262}
35263
35264// method id "dfareporting.inventoryItems.list":
35265
35266type InventoryItemsListCall struct {
35267	s            *Service
35268	profileId    int64
35269	projectId    int64
35270	urlParams_   gensupport.URLParams
35271	ifNoneMatch_ string
35272	ctx_         context.Context
35273	header_      http.Header
35274}
35275
35276// List: Retrieves a list of inventory items, possibly filtered. This
35277// method supports paging.
35278func (r *InventoryItemsService) List(profileId int64, projectId int64) *InventoryItemsListCall {
35279	c := &InventoryItemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35280	c.profileId = profileId
35281	c.projectId = projectId
35282	return c
35283}
35284
35285// Ids sets the optional parameter "ids": Select only inventory items
35286// with these IDs.
35287func (c *InventoryItemsListCall) Ids(ids ...int64) *InventoryItemsListCall {
35288	var ids_ []string
35289	for _, v := range ids {
35290		ids_ = append(ids_, fmt.Sprint(v))
35291	}
35292	c.urlParams_.SetMulti("ids", ids_)
35293	return c
35294}
35295
35296// InPlan sets the optional parameter "inPlan": Select only inventory
35297// items that are in plan.
35298func (c *InventoryItemsListCall) InPlan(inPlan bool) *InventoryItemsListCall {
35299	c.urlParams_.Set("inPlan", fmt.Sprint(inPlan))
35300	return c
35301}
35302
35303// MaxResults sets the optional parameter "maxResults": Maximum number
35304// of results to return.
35305func (c *InventoryItemsListCall) MaxResults(maxResults int64) *InventoryItemsListCall {
35306	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
35307	return c
35308}
35309
35310// OrderId sets the optional parameter "orderId": Select only inventory
35311// items that belong to specified orders.
35312func (c *InventoryItemsListCall) OrderId(orderId ...int64) *InventoryItemsListCall {
35313	var orderId_ []string
35314	for _, v := range orderId {
35315		orderId_ = append(orderId_, fmt.Sprint(v))
35316	}
35317	c.urlParams_.SetMulti("orderId", orderId_)
35318	return c
35319}
35320
35321// PageToken sets the optional parameter "pageToken": Value of the
35322// nextPageToken from the previous result page.
35323func (c *InventoryItemsListCall) PageToken(pageToken string) *InventoryItemsListCall {
35324	c.urlParams_.Set("pageToken", pageToken)
35325	return c
35326}
35327
35328// SiteId sets the optional parameter "siteId": Select only inventory
35329// items that are associated with these sites.
35330func (c *InventoryItemsListCall) SiteId(siteId ...int64) *InventoryItemsListCall {
35331	var siteId_ []string
35332	for _, v := range siteId {
35333		siteId_ = append(siteId_, fmt.Sprint(v))
35334	}
35335	c.urlParams_.SetMulti("siteId", siteId_)
35336	return c
35337}
35338
35339// SortField sets the optional parameter "sortField": Field by which to
35340// sort the list.
35341//
35342// Possible values:
35343//   "ID" (default)
35344//   "NAME"
35345func (c *InventoryItemsListCall) SortField(sortField string) *InventoryItemsListCall {
35346	c.urlParams_.Set("sortField", sortField)
35347	return c
35348}
35349
35350// SortOrder sets the optional parameter "sortOrder": Order of sorted
35351// results.
35352//
35353// Possible values:
35354//   "ASCENDING" (default)
35355//   "DESCENDING"
35356func (c *InventoryItemsListCall) SortOrder(sortOrder string) *InventoryItemsListCall {
35357	c.urlParams_.Set("sortOrder", sortOrder)
35358	return c
35359}
35360
35361// Type sets the optional parameter "type": Select only inventory items
35362// with this type.
35363//
35364// Possible values:
35365//   "PLANNING_PLACEMENT_TYPE_CREDIT"
35366//   "PLANNING_PLACEMENT_TYPE_REGULAR"
35367func (c *InventoryItemsListCall) Type(type_ string) *InventoryItemsListCall {
35368	c.urlParams_.Set("type", type_)
35369	return c
35370}
35371
35372// Fields allows partial responses to be retrieved. See
35373// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35374// for more information.
35375func (c *InventoryItemsListCall) Fields(s ...googleapi.Field) *InventoryItemsListCall {
35376	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35377	return c
35378}
35379
35380// IfNoneMatch sets the optional parameter which makes the operation
35381// fail if the object's ETag matches the given value. This is useful for
35382// getting updates only after the object has changed since the last
35383// request. Use googleapi.IsNotModified to check whether the response
35384// error from Do is the result of In-None-Match.
35385func (c *InventoryItemsListCall) IfNoneMatch(entityTag string) *InventoryItemsListCall {
35386	c.ifNoneMatch_ = entityTag
35387	return c
35388}
35389
35390// Context sets the context to be used in this call's Do method. Any
35391// pending HTTP request will be aborted if the provided context is
35392// canceled.
35393func (c *InventoryItemsListCall) Context(ctx context.Context) *InventoryItemsListCall {
35394	c.ctx_ = ctx
35395	return c
35396}
35397
35398// Header returns an http.Header that can be modified by the caller to
35399// add HTTP headers to the request.
35400func (c *InventoryItemsListCall) Header() http.Header {
35401	if c.header_ == nil {
35402		c.header_ = make(http.Header)
35403	}
35404	return c.header_
35405}
35406
35407func (c *InventoryItemsListCall) doRequest(alt string) (*http.Response, error) {
35408	reqHeaders := make(http.Header)
35409	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35410	for k, v := range c.header_ {
35411		reqHeaders[k] = v
35412	}
35413	reqHeaders.Set("User-Agent", c.s.userAgent())
35414	if c.ifNoneMatch_ != "" {
35415		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35416	}
35417	var body io.Reader = nil
35418	c.urlParams_.Set("alt", alt)
35419	c.urlParams_.Set("prettyPrint", "false")
35420	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/inventoryItems")
35421	urls += "?" + c.urlParams_.Encode()
35422	req, err := http.NewRequest("GET", urls, body)
35423	if err != nil {
35424		return nil, err
35425	}
35426	req.Header = reqHeaders
35427	googleapi.Expand(req.URL, map[string]string{
35428		"profileId": strconv.FormatInt(c.profileId, 10),
35429		"projectId": strconv.FormatInt(c.projectId, 10),
35430	})
35431	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35432}
35433
35434// Do executes the "dfareporting.inventoryItems.list" call.
35435// Exactly one of *InventoryItemsListResponse or error will be non-nil.
35436// Any non-2xx status code is an error. Response headers are in either
35437// *InventoryItemsListResponse.ServerResponse.Header or (if a response
35438// was returned at all) in error.(*googleapi.Error).Header. Use
35439// googleapi.IsNotModified to check whether the returned error was
35440// because http.StatusNotModified was returned.
35441func (c *InventoryItemsListCall) Do(opts ...googleapi.CallOption) (*InventoryItemsListResponse, error) {
35442	gensupport.SetOptions(c.urlParams_, opts...)
35443	res, err := c.doRequest("json")
35444	if res != nil && res.StatusCode == http.StatusNotModified {
35445		if res.Body != nil {
35446			res.Body.Close()
35447		}
35448		return nil, &googleapi.Error{
35449			Code:   res.StatusCode,
35450			Header: res.Header,
35451		}
35452	}
35453	if err != nil {
35454		return nil, err
35455	}
35456	defer googleapi.CloseBody(res)
35457	if err := googleapi.CheckResponse(res); err != nil {
35458		return nil, err
35459	}
35460	ret := &InventoryItemsListResponse{
35461		ServerResponse: googleapi.ServerResponse{
35462			Header:         res.Header,
35463			HTTPStatusCode: res.StatusCode,
35464		},
35465	}
35466	target := &ret
35467	if err := gensupport.DecodeResponse(target, res); err != nil {
35468		return nil, err
35469	}
35470	return ret, nil
35471	// {
35472	//   "description": "Retrieves a list of inventory items, possibly filtered. This method supports paging.",
35473	//   "httpMethod": "GET",
35474	//   "id": "dfareporting.inventoryItems.list",
35475	//   "parameterOrder": [
35476	//     "profileId",
35477	//     "projectId"
35478	//   ],
35479	//   "parameters": {
35480	//     "ids": {
35481	//       "description": "Select only inventory items with these IDs.",
35482	//       "format": "int64",
35483	//       "location": "query",
35484	//       "repeated": true,
35485	//       "type": "string"
35486	//     },
35487	//     "inPlan": {
35488	//       "description": "Select only inventory items that are in plan.",
35489	//       "location": "query",
35490	//       "type": "boolean"
35491	//     },
35492	//     "maxResults": {
35493	//       "default": "1000",
35494	//       "description": "Maximum number of results to return.",
35495	//       "format": "int32",
35496	//       "location": "query",
35497	//       "maximum": "1000",
35498	//       "minimum": "0",
35499	//       "type": "integer"
35500	//     },
35501	//     "orderId": {
35502	//       "description": "Select only inventory items that belong to specified orders.",
35503	//       "format": "int64",
35504	//       "location": "query",
35505	//       "repeated": true,
35506	//       "type": "string"
35507	//     },
35508	//     "pageToken": {
35509	//       "description": "Value of the nextPageToken from the previous result page.",
35510	//       "location": "query",
35511	//       "type": "string"
35512	//     },
35513	//     "profileId": {
35514	//       "description": "User profile ID associated with this request.",
35515	//       "format": "int64",
35516	//       "location": "path",
35517	//       "required": true,
35518	//       "type": "string"
35519	//     },
35520	//     "projectId": {
35521	//       "description": "Project ID for order documents.",
35522	//       "format": "int64",
35523	//       "location": "path",
35524	//       "required": true,
35525	//       "type": "string"
35526	//     },
35527	//     "siteId": {
35528	//       "description": "Select only inventory items that are associated with these sites.",
35529	//       "format": "int64",
35530	//       "location": "query",
35531	//       "repeated": true,
35532	//       "type": "string"
35533	//     },
35534	//     "sortField": {
35535	//       "default": "ID",
35536	//       "description": "Field by which to sort the list.",
35537	//       "enum": [
35538	//         "ID",
35539	//         "NAME"
35540	//       ],
35541	//       "enumDescriptions": [
35542	//         "",
35543	//         ""
35544	//       ],
35545	//       "location": "query",
35546	//       "type": "string"
35547	//     },
35548	//     "sortOrder": {
35549	//       "default": "ASCENDING",
35550	//       "description": "Order of sorted results.",
35551	//       "enum": [
35552	//         "ASCENDING",
35553	//         "DESCENDING"
35554	//       ],
35555	//       "enumDescriptions": [
35556	//         "",
35557	//         ""
35558	//       ],
35559	//       "location": "query",
35560	//       "type": "string"
35561	//     },
35562	//     "type": {
35563	//       "description": "Select only inventory items with this type.",
35564	//       "enum": [
35565	//         "PLANNING_PLACEMENT_TYPE_CREDIT",
35566	//         "PLANNING_PLACEMENT_TYPE_REGULAR"
35567	//       ],
35568	//       "enumDescriptions": [
35569	//         "",
35570	//         ""
35571	//       ],
35572	//       "location": "query",
35573	//       "type": "string"
35574	//     }
35575	//   },
35576	//   "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems",
35577	//   "response": {
35578	//     "$ref": "InventoryItemsListResponse"
35579	//   },
35580	//   "scopes": [
35581	//     "https://www.googleapis.com/auth/dfatrafficking"
35582	//   ]
35583	// }
35584
35585}
35586
35587// Pages invokes f for each page of results.
35588// A non-nil error returned from f will halt the iteration.
35589// The provided context supersedes any context provided to the Context method.
35590func (c *InventoryItemsListCall) Pages(ctx context.Context, f func(*InventoryItemsListResponse) error) error {
35591	c.ctx_ = ctx
35592	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
35593	for {
35594		x, err := c.Do()
35595		if err != nil {
35596			return err
35597		}
35598		if err := f(x); err != nil {
35599			return err
35600		}
35601		if x.NextPageToken == "" {
35602			return nil
35603		}
35604		c.PageToken(x.NextPageToken)
35605	}
35606}
35607
35608// method id "dfareporting.languages.list":
35609
35610type LanguagesListCall struct {
35611	s            *Service
35612	profileId    int64
35613	urlParams_   gensupport.URLParams
35614	ifNoneMatch_ string
35615	ctx_         context.Context
35616	header_      http.Header
35617}
35618
35619// List: Retrieves a list of languages.
35620func (r *LanguagesService) List(profileId int64) *LanguagesListCall {
35621	c := &LanguagesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35622	c.profileId = profileId
35623	return c
35624}
35625
35626// Fields allows partial responses to be retrieved. See
35627// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35628// for more information.
35629func (c *LanguagesListCall) Fields(s ...googleapi.Field) *LanguagesListCall {
35630	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35631	return c
35632}
35633
35634// IfNoneMatch sets the optional parameter which makes the operation
35635// fail if the object's ETag matches the given value. This is useful for
35636// getting updates only after the object has changed since the last
35637// request. Use googleapi.IsNotModified to check whether the response
35638// error from Do is the result of In-None-Match.
35639func (c *LanguagesListCall) IfNoneMatch(entityTag string) *LanguagesListCall {
35640	c.ifNoneMatch_ = entityTag
35641	return c
35642}
35643
35644// Context sets the context to be used in this call's Do method. Any
35645// pending HTTP request will be aborted if the provided context is
35646// canceled.
35647func (c *LanguagesListCall) Context(ctx context.Context) *LanguagesListCall {
35648	c.ctx_ = ctx
35649	return c
35650}
35651
35652// Header returns an http.Header that can be modified by the caller to
35653// add HTTP headers to the request.
35654func (c *LanguagesListCall) Header() http.Header {
35655	if c.header_ == nil {
35656		c.header_ = make(http.Header)
35657	}
35658	return c.header_
35659}
35660
35661func (c *LanguagesListCall) doRequest(alt string) (*http.Response, error) {
35662	reqHeaders := make(http.Header)
35663	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35664	for k, v := range c.header_ {
35665		reqHeaders[k] = v
35666	}
35667	reqHeaders.Set("User-Agent", c.s.userAgent())
35668	if c.ifNoneMatch_ != "" {
35669		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35670	}
35671	var body io.Reader = nil
35672	c.urlParams_.Set("alt", alt)
35673	c.urlParams_.Set("prettyPrint", "false")
35674	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/languages")
35675	urls += "?" + c.urlParams_.Encode()
35676	req, err := http.NewRequest("GET", urls, body)
35677	if err != nil {
35678		return nil, err
35679	}
35680	req.Header = reqHeaders
35681	googleapi.Expand(req.URL, map[string]string{
35682		"profileId": strconv.FormatInt(c.profileId, 10),
35683	})
35684	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35685}
35686
35687// Do executes the "dfareporting.languages.list" call.
35688// Exactly one of *LanguagesListResponse or error will be non-nil. Any
35689// non-2xx status code is an error. Response headers are in either
35690// *LanguagesListResponse.ServerResponse.Header or (if a response was
35691// returned at all) in error.(*googleapi.Error).Header. Use
35692// googleapi.IsNotModified to check whether the returned error was
35693// because http.StatusNotModified was returned.
35694func (c *LanguagesListCall) Do(opts ...googleapi.CallOption) (*LanguagesListResponse, error) {
35695	gensupport.SetOptions(c.urlParams_, opts...)
35696	res, err := c.doRequest("json")
35697	if res != nil && res.StatusCode == http.StatusNotModified {
35698		if res.Body != nil {
35699			res.Body.Close()
35700		}
35701		return nil, &googleapi.Error{
35702			Code:   res.StatusCode,
35703			Header: res.Header,
35704		}
35705	}
35706	if err != nil {
35707		return nil, err
35708	}
35709	defer googleapi.CloseBody(res)
35710	if err := googleapi.CheckResponse(res); err != nil {
35711		return nil, err
35712	}
35713	ret := &LanguagesListResponse{
35714		ServerResponse: googleapi.ServerResponse{
35715			Header:         res.Header,
35716			HTTPStatusCode: res.StatusCode,
35717		},
35718	}
35719	target := &ret
35720	if err := gensupport.DecodeResponse(target, res); err != nil {
35721		return nil, err
35722	}
35723	return ret, nil
35724	// {
35725	//   "description": "Retrieves a list of languages.",
35726	//   "httpMethod": "GET",
35727	//   "id": "dfareporting.languages.list",
35728	//   "parameterOrder": [
35729	//     "profileId"
35730	//   ],
35731	//   "parameters": {
35732	//     "profileId": {
35733	//       "description": "User profile ID associated with this request.",
35734	//       "format": "int64",
35735	//       "location": "path",
35736	//       "required": true,
35737	//       "type": "string"
35738	//     }
35739	//   },
35740	//   "path": "userprofiles/{profileId}/languages",
35741	//   "response": {
35742	//     "$ref": "LanguagesListResponse"
35743	//   },
35744	//   "scopes": [
35745	//     "https://www.googleapis.com/auth/dfatrafficking"
35746	//   ]
35747	// }
35748
35749}
35750
35751// method id "dfareporting.metros.list":
35752
35753type MetrosListCall struct {
35754	s            *Service
35755	profileId    int64
35756	urlParams_   gensupport.URLParams
35757	ifNoneMatch_ string
35758	ctx_         context.Context
35759	header_      http.Header
35760}
35761
35762// List: Retrieves a list of metros.
35763func (r *MetrosService) List(profileId int64) *MetrosListCall {
35764	c := &MetrosListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35765	c.profileId = profileId
35766	return c
35767}
35768
35769// Fields allows partial responses to be retrieved. See
35770// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35771// for more information.
35772func (c *MetrosListCall) Fields(s ...googleapi.Field) *MetrosListCall {
35773	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35774	return c
35775}
35776
35777// IfNoneMatch sets the optional parameter which makes the operation
35778// fail if the object's ETag matches the given value. This is useful for
35779// getting updates only after the object has changed since the last
35780// request. Use googleapi.IsNotModified to check whether the response
35781// error from Do is the result of In-None-Match.
35782func (c *MetrosListCall) IfNoneMatch(entityTag string) *MetrosListCall {
35783	c.ifNoneMatch_ = entityTag
35784	return c
35785}
35786
35787// Context sets the context to be used in this call's Do method. Any
35788// pending HTTP request will be aborted if the provided context is
35789// canceled.
35790func (c *MetrosListCall) Context(ctx context.Context) *MetrosListCall {
35791	c.ctx_ = ctx
35792	return c
35793}
35794
35795// Header returns an http.Header that can be modified by the caller to
35796// add HTTP headers to the request.
35797func (c *MetrosListCall) Header() http.Header {
35798	if c.header_ == nil {
35799		c.header_ = make(http.Header)
35800	}
35801	return c.header_
35802}
35803
35804func (c *MetrosListCall) doRequest(alt string) (*http.Response, error) {
35805	reqHeaders := make(http.Header)
35806	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35807	for k, v := range c.header_ {
35808		reqHeaders[k] = v
35809	}
35810	reqHeaders.Set("User-Agent", c.s.userAgent())
35811	if c.ifNoneMatch_ != "" {
35812		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35813	}
35814	var body io.Reader = nil
35815	c.urlParams_.Set("alt", alt)
35816	c.urlParams_.Set("prettyPrint", "false")
35817	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/metros")
35818	urls += "?" + c.urlParams_.Encode()
35819	req, err := http.NewRequest("GET", urls, body)
35820	if err != nil {
35821		return nil, err
35822	}
35823	req.Header = reqHeaders
35824	googleapi.Expand(req.URL, map[string]string{
35825		"profileId": strconv.FormatInt(c.profileId, 10),
35826	})
35827	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35828}
35829
35830// Do executes the "dfareporting.metros.list" call.
35831// Exactly one of *MetrosListResponse or error will be non-nil. Any
35832// non-2xx status code is an error. Response headers are in either
35833// *MetrosListResponse.ServerResponse.Header or (if a response was
35834// returned at all) in error.(*googleapi.Error).Header. Use
35835// googleapi.IsNotModified to check whether the returned error was
35836// because http.StatusNotModified was returned.
35837func (c *MetrosListCall) Do(opts ...googleapi.CallOption) (*MetrosListResponse, error) {
35838	gensupport.SetOptions(c.urlParams_, opts...)
35839	res, err := c.doRequest("json")
35840	if res != nil && res.StatusCode == http.StatusNotModified {
35841		if res.Body != nil {
35842			res.Body.Close()
35843		}
35844		return nil, &googleapi.Error{
35845			Code:   res.StatusCode,
35846			Header: res.Header,
35847		}
35848	}
35849	if err != nil {
35850		return nil, err
35851	}
35852	defer googleapi.CloseBody(res)
35853	if err := googleapi.CheckResponse(res); err != nil {
35854		return nil, err
35855	}
35856	ret := &MetrosListResponse{
35857		ServerResponse: googleapi.ServerResponse{
35858			Header:         res.Header,
35859			HTTPStatusCode: res.StatusCode,
35860		},
35861	}
35862	target := &ret
35863	if err := gensupport.DecodeResponse(target, res); err != nil {
35864		return nil, err
35865	}
35866	return ret, nil
35867	// {
35868	//   "description": "Retrieves a list of metros.",
35869	//   "httpMethod": "GET",
35870	//   "id": "dfareporting.metros.list",
35871	//   "parameterOrder": [
35872	//     "profileId"
35873	//   ],
35874	//   "parameters": {
35875	//     "profileId": {
35876	//       "description": "User profile ID associated with this request.",
35877	//       "format": "int64",
35878	//       "location": "path",
35879	//       "required": true,
35880	//       "type": "string"
35881	//     }
35882	//   },
35883	//   "path": "userprofiles/{profileId}/metros",
35884	//   "response": {
35885	//     "$ref": "MetrosListResponse"
35886	//   },
35887	//   "scopes": [
35888	//     "https://www.googleapis.com/auth/dfatrafficking"
35889	//   ]
35890	// }
35891
35892}
35893
35894// method id "dfareporting.mobileApps.get":
35895
35896type MobileAppsGetCall struct {
35897	s            *Service
35898	profileId    int64
35899	id           string
35900	urlParams_   gensupport.URLParams
35901	ifNoneMatch_ string
35902	ctx_         context.Context
35903	header_      http.Header
35904}
35905
35906// Get: Gets one mobile app by ID.
35907func (r *MobileAppsService) Get(profileId int64, id string) *MobileAppsGetCall {
35908	c := &MobileAppsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
35909	c.profileId = profileId
35910	c.id = id
35911	return c
35912}
35913
35914// Fields allows partial responses to be retrieved. See
35915// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
35916// for more information.
35917func (c *MobileAppsGetCall) Fields(s ...googleapi.Field) *MobileAppsGetCall {
35918	c.urlParams_.Set("fields", googleapi.CombineFields(s))
35919	return c
35920}
35921
35922// IfNoneMatch sets the optional parameter which makes the operation
35923// fail if the object's ETag matches the given value. This is useful for
35924// getting updates only after the object has changed since the last
35925// request. Use googleapi.IsNotModified to check whether the response
35926// error from Do is the result of In-None-Match.
35927func (c *MobileAppsGetCall) IfNoneMatch(entityTag string) *MobileAppsGetCall {
35928	c.ifNoneMatch_ = entityTag
35929	return c
35930}
35931
35932// Context sets the context to be used in this call's Do method. Any
35933// pending HTTP request will be aborted if the provided context is
35934// canceled.
35935func (c *MobileAppsGetCall) Context(ctx context.Context) *MobileAppsGetCall {
35936	c.ctx_ = ctx
35937	return c
35938}
35939
35940// Header returns an http.Header that can be modified by the caller to
35941// add HTTP headers to the request.
35942func (c *MobileAppsGetCall) Header() http.Header {
35943	if c.header_ == nil {
35944		c.header_ = make(http.Header)
35945	}
35946	return c.header_
35947}
35948
35949func (c *MobileAppsGetCall) doRequest(alt string) (*http.Response, error) {
35950	reqHeaders := make(http.Header)
35951	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
35952	for k, v := range c.header_ {
35953		reqHeaders[k] = v
35954	}
35955	reqHeaders.Set("User-Agent", c.s.userAgent())
35956	if c.ifNoneMatch_ != "" {
35957		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
35958	}
35959	var body io.Reader = nil
35960	c.urlParams_.Set("alt", alt)
35961	c.urlParams_.Set("prettyPrint", "false")
35962	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps/{id}")
35963	urls += "?" + c.urlParams_.Encode()
35964	req, err := http.NewRequest("GET", urls, body)
35965	if err != nil {
35966		return nil, err
35967	}
35968	req.Header = reqHeaders
35969	googleapi.Expand(req.URL, map[string]string{
35970		"profileId": strconv.FormatInt(c.profileId, 10),
35971		"id":        c.id,
35972	})
35973	return gensupport.SendRequest(c.ctx_, c.s.client, req)
35974}
35975
35976// Do executes the "dfareporting.mobileApps.get" call.
35977// Exactly one of *MobileApp or error will be non-nil. Any non-2xx
35978// status code is an error. Response headers are in either
35979// *MobileApp.ServerResponse.Header or (if a response was returned at
35980// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
35981// to check whether the returned error was because
35982// http.StatusNotModified was returned.
35983func (c *MobileAppsGetCall) Do(opts ...googleapi.CallOption) (*MobileApp, error) {
35984	gensupport.SetOptions(c.urlParams_, opts...)
35985	res, err := c.doRequest("json")
35986	if res != nil && res.StatusCode == http.StatusNotModified {
35987		if res.Body != nil {
35988			res.Body.Close()
35989		}
35990		return nil, &googleapi.Error{
35991			Code:   res.StatusCode,
35992			Header: res.Header,
35993		}
35994	}
35995	if err != nil {
35996		return nil, err
35997	}
35998	defer googleapi.CloseBody(res)
35999	if err := googleapi.CheckResponse(res); err != nil {
36000		return nil, err
36001	}
36002	ret := &MobileApp{
36003		ServerResponse: googleapi.ServerResponse{
36004			Header:         res.Header,
36005			HTTPStatusCode: res.StatusCode,
36006		},
36007	}
36008	target := &ret
36009	if err := gensupport.DecodeResponse(target, res); err != nil {
36010		return nil, err
36011	}
36012	return ret, nil
36013	// {
36014	//   "description": "Gets one mobile app by ID.",
36015	//   "httpMethod": "GET",
36016	//   "id": "dfareporting.mobileApps.get",
36017	//   "parameterOrder": [
36018	//     "profileId",
36019	//     "id"
36020	//   ],
36021	//   "parameters": {
36022	//     "id": {
36023	//       "description": "Mobile app ID.",
36024	//       "location": "path",
36025	//       "required": true,
36026	//       "type": "string"
36027	//     },
36028	//     "profileId": {
36029	//       "description": "User profile ID associated with this request.",
36030	//       "format": "int64",
36031	//       "location": "path",
36032	//       "required": true,
36033	//       "type": "string"
36034	//     }
36035	//   },
36036	//   "path": "userprofiles/{profileId}/mobileApps/{id}",
36037	//   "response": {
36038	//     "$ref": "MobileApp"
36039	//   },
36040	//   "scopes": [
36041	//     "https://www.googleapis.com/auth/dfatrafficking"
36042	//   ]
36043	// }
36044
36045}
36046
36047// method id "dfareporting.mobileApps.list":
36048
36049type MobileAppsListCall struct {
36050	s            *Service
36051	profileId    int64
36052	urlParams_   gensupport.URLParams
36053	ifNoneMatch_ string
36054	ctx_         context.Context
36055	header_      http.Header
36056}
36057
36058// List: Retrieves list of available mobile apps.
36059func (r *MobileAppsService) List(profileId int64) *MobileAppsListCall {
36060	c := &MobileAppsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36061	c.profileId = profileId
36062	return c
36063}
36064
36065// Directories sets the optional parameter "directories": Select only
36066// apps from these directories.
36067//
36068// Possible values:
36069//   "APPLE_APP_STORE"
36070//   "GOOGLE_PLAY_STORE"
36071//   "UNKNOWN"
36072func (c *MobileAppsListCall) Directories(directories ...string) *MobileAppsListCall {
36073	c.urlParams_.SetMulti("directories", append([]string{}, directories...))
36074	return c
36075}
36076
36077// Ids sets the optional parameter "ids": Select only apps with these
36078// IDs.
36079func (c *MobileAppsListCall) Ids(ids ...string) *MobileAppsListCall {
36080	c.urlParams_.SetMulti("ids", append([]string{}, ids...))
36081	return c
36082}
36083
36084// MaxResults sets the optional parameter "maxResults": Maximum number
36085// of results to return.
36086func (c *MobileAppsListCall) MaxResults(maxResults int64) *MobileAppsListCall {
36087	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
36088	return c
36089}
36090
36091// PageToken sets the optional parameter "pageToken": Value of the
36092// nextPageToken from the previous result page.
36093func (c *MobileAppsListCall) PageToken(pageToken string) *MobileAppsListCall {
36094	c.urlParams_.Set("pageToken", pageToken)
36095	return c
36096}
36097
36098// SearchString sets the optional parameter "searchString": Allows
36099// searching for objects by name or ID. Wildcards (*) are allowed. For
36100// example, "app*2015" will return objects with names like "app Jan
36101// 2018", "app Jan 2018", or simply "app 2018". Most of the searches
36102// also add wildcards implicitly at the start and the end of the search
36103// string. For example, a search string of "app" will match objects with
36104// name "my app", "app 2018", or simply "app".
36105func (c *MobileAppsListCall) SearchString(searchString string) *MobileAppsListCall {
36106	c.urlParams_.Set("searchString", searchString)
36107	return c
36108}
36109
36110// Fields allows partial responses to be retrieved. See
36111// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36112// for more information.
36113func (c *MobileAppsListCall) Fields(s ...googleapi.Field) *MobileAppsListCall {
36114	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36115	return c
36116}
36117
36118// IfNoneMatch sets the optional parameter which makes the operation
36119// fail if the object's ETag matches the given value. This is useful for
36120// getting updates only after the object has changed since the last
36121// request. Use googleapi.IsNotModified to check whether the response
36122// error from Do is the result of In-None-Match.
36123func (c *MobileAppsListCall) IfNoneMatch(entityTag string) *MobileAppsListCall {
36124	c.ifNoneMatch_ = entityTag
36125	return c
36126}
36127
36128// Context sets the context to be used in this call's Do method. Any
36129// pending HTTP request will be aborted if the provided context is
36130// canceled.
36131func (c *MobileAppsListCall) Context(ctx context.Context) *MobileAppsListCall {
36132	c.ctx_ = ctx
36133	return c
36134}
36135
36136// Header returns an http.Header that can be modified by the caller to
36137// add HTTP headers to the request.
36138func (c *MobileAppsListCall) Header() http.Header {
36139	if c.header_ == nil {
36140		c.header_ = make(http.Header)
36141	}
36142	return c.header_
36143}
36144
36145func (c *MobileAppsListCall) doRequest(alt string) (*http.Response, error) {
36146	reqHeaders := make(http.Header)
36147	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36148	for k, v := range c.header_ {
36149		reqHeaders[k] = v
36150	}
36151	reqHeaders.Set("User-Agent", c.s.userAgent())
36152	if c.ifNoneMatch_ != "" {
36153		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36154	}
36155	var body io.Reader = nil
36156	c.urlParams_.Set("alt", alt)
36157	c.urlParams_.Set("prettyPrint", "false")
36158	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileApps")
36159	urls += "?" + c.urlParams_.Encode()
36160	req, err := http.NewRequest("GET", urls, body)
36161	if err != nil {
36162		return nil, err
36163	}
36164	req.Header = reqHeaders
36165	googleapi.Expand(req.URL, map[string]string{
36166		"profileId": strconv.FormatInt(c.profileId, 10),
36167	})
36168	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36169}
36170
36171// Do executes the "dfareporting.mobileApps.list" call.
36172// Exactly one of *MobileAppsListResponse or error will be non-nil. Any
36173// non-2xx status code is an error. Response headers are in either
36174// *MobileAppsListResponse.ServerResponse.Header or (if a response was
36175// returned at all) in error.(*googleapi.Error).Header. Use
36176// googleapi.IsNotModified to check whether the returned error was
36177// because http.StatusNotModified was returned.
36178func (c *MobileAppsListCall) Do(opts ...googleapi.CallOption) (*MobileAppsListResponse, error) {
36179	gensupport.SetOptions(c.urlParams_, opts...)
36180	res, err := c.doRequest("json")
36181	if res != nil && res.StatusCode == http.StatusNotModified {
36182		if res.Body != nil {
36183			res.Body.Close()
36184		}
36185		return nil, &googleapi.Error{
36186			Code:   res.StatusCode,
36187			Header: res.Header,
36188		}
36189	}
36190	if err != nil {
36191		return nil, err
36192	}
36193	defer googleapi.CloseBody(res)
36194	if err := googleapi.CheckResponse(res); err != nil {
36195		return nil, err
36196	}
36197	ret := &MobileAppsListResponse{
36198		ServerResponse: googleapi.ServerResponse{
36199			Header:         res.Header,
36200			HTTPStatusCode: res.StatusCode,
36201		},
36202	}
36203	target := &ret
36204	if err := gensupport.DecodeResponse(target, res); err != nil {
36205		return nil, err
36206	}
36207	return ret, nil
36208	// {
36209	//   "description": "Retrieves list of available mobile apps.",
36210	//   "httpMethod": "GET",
36211	//   "id": "dfareporting.mobileApps.list",
36212	//   "parameterOrder": [
36213	//     "profileId"
36214	//   ],
36215	//   "parameters": {
36216	//     "directories": {
36217	//       "description": "Select only apps from these directories.",
36218	//       "enum": [
36219	//         "APPLE_APP_STORE",
36220	//         "GOOGLE_PLAY_STORE",
36221	//         "UNKNOWN"
36222	//       ],
36223	//       "enumDescriptions": [
36224	//         "",
36225	//         "",
36226	//         ""
36227	//       ],
36228	//       "location": "query",
36229	//       "repeated": true,
36230	//       "type": "string"
36231	//     },
36232	//     "ids": {
36233	//       "description": "Select only apps with these IDs.",
36234	//       "location": "query",
36235	//       "repeated": true,
36236	//       "type": "string"
36237	//     },
36238	//     "maxResults": {
36239	//       "default": "1000",
36240	//       "description": "Maximum number of results to return.",
36241	//       "format": "int32",
36242	//       "location": "query",
36243	//       "maximum": "1000",
36244	//       "minimum": "0",
36245	//       "type": "integer"
36246	//     },
36247	//     "pageToken": {
36248	//       "description": "Value of the nextPageToken from the previous result page.",
36249	//       "location": "query",
36250	//       "type": "string"
36251	//     },
36252	//     "profileId": {
36253	//       "description": "User profile ID associated with this request.",
36254	//       "format": "int64",
36255	//       "location": "path",
36256	//       "required": true,
36257	//       "type": "string"
36258	//     },
36259	//     "searchString": {
36260	//       "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\".",
36261	//       "location": "query",
36262	//       "type": "string"
36263	//     }
36264	//   },
36265	//   "path": "userprofiles/{profileId}/mobileApps",
36266	//   "response": {
36267	//     "$ref": "MobileAppsListResponse"
36268	//   },
36269	//   "scopes": [
36270	//     "https://www.googleapis.com/auth/dfatrafficking"
36271	//   ]
36272	// }
36273
36274}
36275
36276// Pages invokes f for each page of results.
36277// A non-nil error returned from f will halt the iteration.
36278// The provided context supersedes any context provided to the Context method.
36279func (c *MobileAppsListCall) Pages(ctx context.Context, f func(*MobileAppsListResponse) error) error {
36280	c.ctx_ = ctx
36281	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
36282	for {
36283		x, err := c.Do()
36284		if err != nil {
36285			return err
36286		}
36287		if err := f(x); err != nil {
36288			return err
36289		}
36290		if x.NextPageToken == "" {
36291			return nil
36292		}
36293		c.PageToken(x.NextPageToken)
36294	}
36295}
36296
36297// method id "dfareporting.mobileCarriers.get":
36298
36299type MobileCarriersGetCall struct {
36300	s            *Service
36301	profileId    int64
36302	id           int64
36303	urlParams_   gensupport.URLParams
36304	ifNoneMatch_ string
36305	ctx_         context.Context
36306	header_      http.Header
36307}
36308
36309// Get: Gets one mobile carrier by ID.
36310func (r *MobileCarriersService) Get(profileId int64, id int64) *MobileCarriersGetCall {
36311	c := &MobileCarriersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36312	c.profileId = profileId
36313	c.id = id
36314	return c
36315}
36316
36317// Fields allows partial responses to be retrieved. See
36318// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36319// for more information.
36320func (c *MobileCarriersGetCall) Fields(s ...googleapi.Field) *MobileCarriersGetCall {
36321	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36322	return c
36323}
36324
36325// IfNoneMatch sets the optional parameter which makes the operation
36326// fail if the object's ETag matches the given value. This is useful for
36327// getting updates only after the object has changed since the last
36328// request. Use googleapi.IsNotModified to check whether the response
36329// error from Do is the result of In-None-Match.
36330func (c *MobileCarriersGetCall) IfNoneMatch(entityTag string) *MobileCarriersGetCall {
36331	c.ifNoneMatch_ = entityTag
36332	return c
36333}
36334
36335// Context sets the context to be used in this call's Do method. Any
36336// pending HTTP request will be aborted if the provided context is
36337// canceled.
36338func (c *MobileCarriersGetCall) Context(ctx context.Context) *MobileCarriersGetCall {
36339	c.ctx_ = ctx
36340	return c
36341}
36342
36343// Header returns an http.Header that can be modified by the caller to
36344// add HTTP headers to the request.
36345func (c *MobileCarriersGetCall) Header() http.Header {
36346	if c.header_ == nil {
36347		c.header_ = make(http.Header)
36348	}
36349	return c.header_
36350}
36351
36352func (c *MobileCarriersGetCall) doRequest(alt string) (*http.Response, error) {
36353	reqHeaders := make(http.Header)
36354	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36355	for k, v := range c.header_ {
36356		reqHeaders[k] = v
36357	}
36358	reqHeaders.Set("User-Agent", c.s.userAgent())
36359	if c.ifNoneMatch_ != "" {
36360		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36361	}
36362	var body io.Reader = nil
36363	c.urlParams_.Set("alt", alt)
36364	c.urlParams_.Set("prettyPrint", "false")
36365	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers/{id}")
36366	urls += "?" + c.urlParams_.Encode()
36367	req, err := http.NewRequest("GET", urls, body)
36368	if err != nil {
36369		return nil, err
36370	}
36371	req.Header = reqHeaders
36372	googleapi.Expand(req.URL, map[string]string{
36373		"profileId": strconv.FormatInt(c.profileId, 10),
36374		"id":        strconv.FormatInt(c.id, 10),
36375	})
36376	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36377}
36378
36379// Do executes the "dfareporting.mobileCarriers.get" call.
36380// Exactly one of *MobileCarrier or error will be non-nil. Any non-2xx
36381// status code is an error. Response headers are in either
36382// *MobileCarrier.ServerResponse.Header or (if a response was returned
36383// at all) in error.(*googleapi.Error).Header. Use
36384// googleapi.IsNotModified to check whether the returned error was
36385// because http.StatusNotModified was returned.
36386func (c *MobileCarriersGetCall) Do(opts ...googleapi.CallOption) (*MobileCarrier, error) {
36387	gensupport.SetOptions(c.urlParams_, opts...)
36388	res, err := c.doRequest("json")
36389	if res != nil && res.StatusCode == http.StatusNotModified {
36390		if res.Body != nil {
36391			res.Body.Close()
36392		}
36393		return nil, &googleapi.Error{
36394			Code:   res.StatusCode,
36395			Header: res.Header,
36396		}
36397	}
36398	if err != nil {
36399		return nil, err
36400	}
36401	defer googleapi.CloseBody(res)
36402	if err := googleapi.CheckResponse(res); err != nil {
36403		return nil, err
36404	}
36405	ret := &MobileCarrier{
36406		ServerResponse: googleapi.ServerResponse{
36407			Header:         res.Header,
36408			HTTPStatusCode: res.StatusCode,
36409		},
36410	}
36411	target := &ret
36412	if err := gensupport.DecodeResponse(target, res); err != nil {
36413		return nil, err
36414	}
36415	return ret, nil
36416	// {
36417	//   "description": "Gets one mobile carrier by ID.",
36418	//   "httpMethod": "GET",
36419	//   "id": "dfareporting.mobileCarriers.get",
36420	//   "parameterOrder": [
36421	//     "profileId",
36422	//     "id"
36423	//   ],
36424	//   "parameters": {
36425	//     "id": {
36426	//       "description": "Mobile carrier ID.",
36427	//       "format": "int64",
36428	//       "location": "path",
36429	//       "required": true,
36430	//       "type": "string"
36431	//     },
36432	//     "profileId": {
36433	//       "description": "User profile ID associated with this request.",
36434	//       "format": "int64",
36435	//       "location": "path",
36436	//       "required": true,
36437	//       "type": "string"
36438	//     }
36439	//   },
36440	//   "path": "userprofiles/{profileId}/mobileCarriers/{id}",
36441	//   "response": {
36442	//     "$ref": "MobileCarrier"
36443	//   },
36444	//   "scopes": [
36445	//     "https://www.googleapis.com/auth/dfatrafficking"
36446	//   ]
36447	// }
36448
36449}
36450
36451// method id "dfareporting.mobileCarriers.list":
36452
36453type MobileCarriersListCall struct {
36454	s            *Service
36455	profileId    int64
36456	urlParams_   gensupport.URLParams
36457	ifNoneMatch_ string
36458	ctx_         context.Context
36459	header_      http.Header
36460}
36461
36462// List: Retrieves a list of mobile carriers.
36463func (r *MobileCarriersService) List(profileId int64) *MobileCarriersListCall {
36464	c := &MobileCarriersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36465	c.profileId = profileId
36466	return c
36467}
36468
36469// Fields allows partial responses to be retrieved. See
36470// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36471// for more information.
36472func (c *MobileCarriersListCall) Fields(s ...googleapi.Field) *MobileCarriersListCall {
36473	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36474	return c
36475}
36476
36477// IfNoneMatch sets the optional parameter which makes the operation
36478// fail if the object's ETag matches the given value. This is useful for
36479// getting updates only after the object has changed since the last
36480// request. Use googleapi.IsNotModified to check whether the response
36481// error from Do is the result of In-None-Match.
36482func (c *MobileCarriersListCall) IfNoneMatch(entityTag string) *MobileCarriersListCall {
36483	c.ifNoneMatch_ = entityTag
36484	return c
36485}
36486
36487// Context sets the context to be used in this call's Do method. Any
36488// pending HTTP request will be aborted if the provided context is
36489// canceled.
36490func (c *MobileCarriersListCall) Context(ctx context.Context) *MobileCarriersListCall {
36491	c.ctx_ = ctx
36492	return c
36493}
36494
36495// Header returns an http.Header that can be modified by the caller to
36496// add HTTP headers to the request.
36497func (c *MobileCarriersListCall) Header() http.Header {
36498	if c.header_ == nil {
36499		c.header_ = make(http.Header)
36500	}
36501	return c.header_
36502}
36503
36504func (c *MobileCarriersListCall) doRequest(alt string) (*http.Response, error) {
36505	reqHeaders := make(http.Header)
36506	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36507	for k, v := range c.header_ {
36508		reqHeaders[k] = v
36509	}
36510	reqHeaders.Set("User-Agent", c.s.userAgent())
36511	if c.ifNoneMatch_ != "" {
36512		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36513	}
36514	var body io.Reader = nil
36515	c.urlParams_.Set("alt", alt)
36516	c.urlParams_.Set("prettyPrint", "false")
36517	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/mobileCarriers")
36518	urls += "?" + c.urlParams_.Encode()
36519	req, err := http.NewRequest("GET", urls, body)
36520	if err != nil {
36521		return nil, err
36522	}
36523	req.Header = reqHeaders
36524	googleapi.Expand(req.URL, map[string]string{
36525		"profileId": strconv.FormatInt(c.profileId, 10),
36526	})
36527	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36528}
36529
36530// Do executes the "dfareporting.mobileCarriers.list" call.
36531// Exactly one of *MobileCarriersListResponse or error will be non-nil.
36532// Any non-2xx status code is an error. Response headers are in either
36533// *MobileCarriersListResponse.ServerResponse.Header or (if a response
36534// was returned at all) in error.(*googleapi.Error).Header. Use
36535// googleapi.IsNotModified to check whether the returned error was
36536// because http.StatusNotModified was returned.
36537func (c *MobileCarriersListCall) Do(opts ...googleapi.CallOption) (*MobileCarriersListResponse, error) {
36538	gensupport.SetOptions(c.urlParams_, opts...)
36539	res, err := c.doRequest("json")
36540	if res != nil && res.StatusCode == http.StatusNotModified {
36541		if res.Body != nil {
36542			res.Body.Close()
36543		}
36544		return nil, &googleapi.Error{
36545			Code:   res.StatusCode,
36546			Header: res.Header,
36547		}
36548	}
36549	if err != nil {
36550		return nil, err
36551	}
36552	defer googleapi.CloseBody(res)
36553	if err := googleapi.CheckResponse(res); err != nil {
36554		return nil, err
36555	}
36556	ret := &MobileCarriersListResponse{
36557		ServerResponse: googleapi.ServerResponse{
36558			Header:         res.Header,
36559			HTTPStatusCode: res.StatusCode,
36560		},
36561	}
36562	target := &ret
36563	if err := gensupport.DecodeResponse(target, res); err != nil {
36564		return nil, err
36565	}
36566	return ret, nil
36567	// {
36568	//   "description": "Retrieves a list of mobile carriers.",
36569	//   "httpMethod": "GET",
36570	//   "id": "dfareporting.mobileCarriers.list",
36571	//   "parameterOrder": [
36572	//     "profileId"
36573	//   ],
36574	//   "parameters": {
36575	//     "profileId": {
36576	//       "description": "User profile ID associated with this request.",
36577	//       "format": "int64",
36578	//       "location": "path",
36579	//       "required": true,
36580	//       "type": "string"
36581	//     }
36582	//   },
36583	//   "path": "userprofiles/{profileId}/mobileCarriers",
36584	//   "response": {
36585	//     "$ref": "MobileCarriersListResponse"
36586	//   },
36587	//   "scopes": [
36588	//     "https://www.googleapis.com/auth/dfatrafficking"
36589	//   ]
36590	// }
36591
36592}
36593
36594// method id "dfareporting.operatingSystemVersions.get":
36595
36596type OperatingSystemVersionsGetCall struct {
36597	s            *Service
36598	profileId    int64
36599	id           int64
36600	urlParams_   gensupport.URLParams
36601	ifNoneMatch_ string
36602	ctx_         context.Context
36603	header_      http.Header
36604}
36605
36606// Get: Gets one operating system version by ID.
36607func (r *OperatingSystemVersionsService) Get(profileId int64, id int64) *OperatingSystemVersionsGetCall {
36608	c := &OperatingSystemVersionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36609	c.profileId = profileId
36610	c.id = id
36611	return c
36612}
36613
36614// Fields allows partial responses to be retrieved. See
36615// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36616// for more information.
36617func (c *OperatingSystemVersionsGetCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsGetCall {
36618	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36619	return c
36620}
36621
36622// IfNoneMatch sets the optional parameter which makes the operation
36623// fail if the object's ETag matches the given value. This is useful for
36624// getting updates only after the object has changed since the last
36625// request. Use googleapi.IsNotModified to check whether the response
36626// error from Do is the result of In-None-Match.
36627func (c *OperatingSystemVersionsGetCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsGetCall {
36628	c.ifNoneMatch_ = entityTag
36629	return c
36630}
36631
36632// Context sets the context to be used in this call's Do method. Any
36633// pending HTTP request will be aborted if the provided context is
36634// canceled.
36635func (c *OperatingSystemVersionsGetCall) Context(ctx context.Context) *OperatingSystemVersionsGetCall {
36636	c.ctx_ = ctx
36637	return c
36638}
36639
36640// Header returns an http.Header that can be modified by the caller to
36641// add HTTP headers to the request.
36642func (c *OperatingSystemVersionsGetCall) Header() http.Header {
36643	if c.header_ == nil {
36644		c.header_ = make(http.Header)
36645	}
36646	return c.header_
36647}
36648
36649func (c *OperatingSystemVersionsGetCall) doRequest(alt string) (*http.Response, error) {
36650	reqHeaders := make(http.Header)
36651	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36652	for k, v := range c.header_ {
36653		reqHeaders[k] = v
36654	}
36655	reqHeaders.Set("User-Agent", c.s.userAgent())
36656	if c.ifNoneMatch_ != "" {
36657		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36658	}
36659	var body io.Reader = nil
36660	c.urlParams_.Set("alt", alt)
36661	c.urlParams_.Set("prettyPrint", "false")
36662	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions/{id}")
36663	urls += "?" + c.urlParams_.Encode()
36664	req, err := http.NewRequest("GET", urls, body)
36665	if err != nil {
36666		return nil, err
36667	}
36668	req.Header = reqHeaders
36669	googleapi.Expand(req.URL, map[string]string{
36670		"profileId": strconv.FormatInt(c.profileId, 10),
36671		"id":        strconv.FormatInt(c.id, 10),
36672	})
36673	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36674}
36675
36676// Do executes the "dfareporting.operatingSystemVersions.get" call.
36677// Exactly one of *OperatingSystemVersion or error will be non-nil. Any
36678// non-2xx status code is an error. Response headers are in either
36679// *OperatingSystemVersion.ServerResponse.Header or (if a response was
36680// returned at all) in error.(*googleapi.Error).Header. Use
36681// googleapi.IsNotModified to check whether the returned error was
36682// because http.StatusNotModified was returned.
36683func (c *OperatingSystemVersionsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersion, error) {
36684	gensupport.SetOptions(c.urlParams_, opts...)
36685	res, err := c.doRequest("json")
36686	if res != nil && res.StatusCode == http.StatusNotModified {
36687		if res.Body != nil {
36688			res.Body.Close()
36689		}
36690		return nil, &googleapi.Error{
36691			Code:   res.StatusCode,
36692			Header: res.Header,
36693		}
36694	}
36695	if err != nil {
36696		return nil, err
36697	}
36698	defer googleapi.CloseBody(res)
36699	if err := googleapi.CheckResponse(res); err != nil {
36700		return nil, err
36701	}
36702	ret := &OperatingSystemVersion{
36703		ServerResponse: googleapi.ServerResponse{
36704			Header:         res.Header,
36705			HTTPStatusCode: res.StatusCode,
36706		},
36707	}
36708	target := &ret
36709	if err := gensupport.DecodeResponse(target, res); err != nil {
36710		return nil, err
36711	}
36712	return ret, nil
36713	// {
36714	//   "description": "Gets one operating system version by ID.",
36715	//   "httpMethod": "GET",
36716	//   "id": "dfareporting.operatingSystemVersions.get",
36717	//   "parameterOrder": [
36718	//     "profileId",
36719	//     "id"
36720	//   ],
36721	//   "parameters": {
36722	//     "id": {
36723	//       "description": "Operating system version ID.",
36724	//       "format": "int64",
36725	//       "location": "path",
36726	//       "required": true,
36727	//       "type": "string"
36728	//     },
36729	//     "profileId": {
36730	//       "description": "User profile ID associated with this request.",
36731	//       "format": "int64",
36732	//       "location": "path",
36733	//       "required": true,
36734	//       "type": "string"
36735	//     }
36736	//   },
36737	//   "path": "userprofiles/{profileId}/operatingSystemVersions/{id}",
36738	//   "response": {
36739	//     "$ref": "OperatingSystemVersion"
36740	//   },
36741	//   "scopes": [
36742	//     "https://www.googleapis.com/auth/dfatrafficking"
36743	//   ]
36744	// }
36745
36746}
36747
36748// method id "dfareporting.operatingSystemVersions.list":
36749
36750type OperatingSystemVersionsListCall struct {
36751	s            *Service
36752	profileId    int64
36753	urlParams_   gensupport.URLParams
36754	ifNoneMatch_ string
36755	ctx_         context.Context
36756	header_      http.Header
36757}
36758
36759// List: Retrieves a list of operating system versions.
36760func (r *OperatingSystemVersionsService) List(profileId int64) *OperatingSystemVersionsListCall {
36761	c := &OperatingSystemVersionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36762	c.profileId = profileId
36763	return c
36764}
36765
36766// Fields allows partial responses to be retrieved. See
36767// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
36768// for more information.
36769func (c *OperatingSystemVersionsListCall) Fields(s ...googleapi.Field) *OperatingSystemVersionsListCall {
36770	c.urlParams_.Set("fields", googleapi.CombineFields(s))
36771	return c
36772}
36773
36774// IfNoneMatch sets the optional parameter which makes the operation
36775// fail if the object's ETag matches the given value. This is useful for
36776// getting updates only after the object has changed since the last
36777// request. Use googleapi.IsNotModified to check whether the response
36778// error from Do is the result of In-None-Match.
36779func (c *OperatingSystemVersionsListCall) IfNoneMatch(entityTag string) *OperatingSystemVersionsListCall {
36780	c.ifNoneMatch_ = entityTag
36781	return c
36782}
36783
36784// Context sets the context to be used in this call's Do method. Any
36785// pending HTTP request will be aborted if the provided context is
36786// canceled.
36787func (c *OperatingSystemVersionsListCall) Context(ctx context.Context) *OperatingSystemVersionsListCall {
36788	c.ctx_ = ctx
36789	return c
36790}
36791
36792// Header returns an http.Header that can be modified by the caller to
36793// add HTTP headers to the request.
36794func (c *OperatingSystemVersionsListCall) Header() http.Header {
36795	if c.header_ == nil {
36796		c.header_ = make(http.Header)
36797	}
36798	return c.header_
36799}
36800
36801func (c *OperatingSystemVersionsListCall) doRequest(alt string) (*http.Response, error) {
36802	reqHeaders := make(http.Header)
36803	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
36804	for k, v := range c.header_ {
36805		reqHeaders[k] = v
36806	}
36807	reqHeaders.Set("User-Agent", c.s.userAgent())
36808	if c.ifNoneMatch_ != "" {
36809		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
36810	}
36811	var body io.Reader = nil
36812	c.urlParams_.Set("alt", alt)
36813	c.urlParams_.Set("prettyPrint", "false")
36814	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystemVersions")
36815	urls += "?" + c.urlParams_.Encode()
36816	req, err := http.NewRequest("GET", urls, body)
36817	if err != nil {
36818		return nil, err
36819	}
36820	req.Header = reqHeaders
36821	googleapi.Expand(req.URL, map[string]string{
36822		"profileId": strconv.FormatInt(c.profileId, 10),
36823	})
36824	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36825}
36826
36827// Do executes the "dfareporting.operatingSystemVersions.list" call.
36828// Exactly one of *OperatingSystemVersionsListResponse or error will be
36829// non-nil. Any non-2xx status code is an error. Response headers are in
36830// either *OperatingSystemVersionsListResponse.ServerResponse.Header or
36831// (if a response was returned at all) in
36832// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
36833// whether the returned error was because http.StatusNotModified was
36834// returned.
36835func (c *OperatingSystemVersionsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemVersionsListResponse, error) {
36836	gensupport.SetOptions(c.urlParams_, opts...)
36837	res, err := c.doRequest("json")
36838	if res != nil && res.StatusCode == http.StatusNotModified {
36839		if res.Body != nil {
36840			res.Body.Close()
36841		}
36842		return nil, &googleapi.Error{
36843			Code:   res.StatusCode,
36844			Header: res.Header,
36845		}
36846	}
36847	if err != nil {
36848		return nil, err
36849	}
36850	defer googleapi.CloseBody(res)
36851	if err := googleapi.CheckResponse(res); err != nil {
36852		return nil, err
36853	}
36854	ret := &OperatingSystemVersionsListResponse{
36855		ServerResponse: googleapi.ServerResponse{
36856			Header:         res.Header,
36857			HTTPStatusCode: res.StatusCode,
36858		},
36859	}
36860	target := &ret
36861	if err := gensupport.DecodeResponse(target, res); err != nil {
36862		return nil, err
36863	}
36864	return ret, nil
36865	// {
36866	//   "description": "Retrieves a list of operating system versions.",
36867	//   "httpMethod": "GET",
36868	//   "id": "dfareporting.operatingSystemVersions.list",
36869	//   "parameterOrder": [
36870	//     "profileId"
36871	//   ],
36872	//   "parameters": {
36873	//     "profileId": {
36874	//       "description": "User profile ID associated with this request.",
36875	//       "format": "int64",
36876	//       "location": "path",
36877	//       "required": true,
36878	//       "type": "string"
36879	//     }
36880	//   },
36881	//   "path": "userprofiles/{profileId}/operatingSystemVersions",
36882	//   "response": {
36883	//     "$ref": "OperatingSystemVersionsListResponse"
36884	//   },
36885	//   "scopes": [
36886	//     "https://www.googleapis.com/auth/dfatrafficking"
36887	//   ]
36888	// }
36889
36890}
36891
36892// method id "dfareporting.operatingSystems.get":
36893
36894type OperatingSystemsGetCall struct {
36895	s            *Service
36896	profileId    int64
36897	dartId       int64
36898	urlParams_   gensupport.URLParams
36899	ifNoneMatch_ string
36900	ctx_         context.Context
36901	header_      http.Header
36902}
36903
36904// Get: Gets one operating system by DART ID.
36905func (r *OperatingSystemsService) Get(profileId int64, dartId int64) *OperatingSystemsGetCall {
36906	c := &OperatingSystemsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
36907	c.profileId = profileId
36908	c.dartId = dartId
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 *OperatingSystemsGetCall) Fields(s ...googleapi.Field) *OperatingSystemsGetCall {
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 *OperatingSystemsGetCall) IfNoneMatch(entityTag string) *OperatingSystemsGetCall {
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 *OperatingSystemsGetCall) Context(ctx context.Context) *OperatingSystemsGetCall {
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 *OperatingSystemsGetCall) Header() http.Header {
36941	if c.header_ == nil {
36942		c.header_ = make(http.Header)
36943	}
36944	return c.header_
36945}
36946
36947func (c *OperatingSystemsGetCall) doRequest(alt string) (*http.Response, error) {
36948	reqHeaders := make(http.Header)
36949	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
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}/operatingSystems/{dartId}")
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		"dartId":    strconv.FormatInt(c.dartId, 10),
36970	})
36971	return gensupport.SendRequest(c.ctx_, c.s.client, req)
36972}
36973
36974// Do executes the "dfareporting.operatingSystems.get" call.
36975// Exactly one of *OperatingSystem or error will be non-nil. Any non-2xx
36976// status code is an error. Response headers are in either
36977// *OperatingSystem.ServerResponse.Header or (if a response was returned
36978// 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 *OperatingSystemsGetCall) Do(opts ...googleapi.CallOption) (*OperatingSystem, 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 := &OperatingSystem{
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": "Gets one operating system by DART ID.",
37013	//   "httpMethod": "GET",
37014	//   "id": "dfareporting.operatingSystems.get",
37015	//   "parameterOrder": [
37016	//     "profileId",
37017	//     "dartId"
37018	//   ],
37019	//   "parameters": {
37020	//     "dartId": {
37021	//       "description": "Operating system DART ID.",
37022	//       "format": "int64",
37023	//       "location": "path",
37024	//       "required": true,
37025	//       "type": "string"
37026	//     },
37027	//     "profileId": {
37028	//       "description": "User profile ID associated with this request.",
37029	//       "format": "int64",
37030	//       "location": "path",
37031	//       "required": true,
37032	//       "type": "string"
37033	//     }
37034	//   },
37035	//   "path": "userprofiles/{profileId}/operatingSystems/{dartId}",
37036	//   "response": {
37037	//     "$ref": "OperatingSystem"
37038	//   },
37039	//   "scopes": [
37040	//     "https://www.googleapis.com/auth/dfatrafficking"
37041	//   ]
37042	// }
37043
37044}
37045
37046// method id "dfareporting.operatingSystems.list":
37047
37048type OperatingSystemsListCall struct {
37049	s            *Service
37050	profileId    int64
37051	urlParams_   gensupport.URLParams
37052	ifNoneMatch_ string
37053	ctx_         context.Context
37054	header_      http.Header
37055}
37056
37057// List: Retrieves a list of operating systems.
37058func (r *OperatingSystemsService) List(profileId int64) *OperatingSystemsListCall {
37059	c := &OperatingSystemsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37060	c.profileId = profileId
37061	return c
37062}
37063
37064// Fields allows partial responses to be retrieved. See
37065// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37066// for more information.
37067func (c *OperatingSystemsListCall) Fields(s ...googleapi.Field) *OperatingSystemsListCall {
37068	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37069	return c
37070}
37071
37072// IfNoneMatch sets the optional parameter which makes the operation
37073// fail if the object's ETag matches the given value. This is useful for
37074// getting updates only after the object has changed since the last
37075// request. Use googleapi.IsNotModified to check whether the response
37076// error from Do is the result of In-None-Match.
37077func (c *OperatingSystemsListCall) IfNoneMatch(entityTag string) *OperatingSystemsListCall {
37078	c.ifNoneMatch_ = entityTag
37079	return c
37080}
37081
37082// Context sets the context to be used in this call's Do method. Any
37083// pending HTTP request will be aborted if the provided context is
37084// canceled.
37085func (c *OperatingSystemsListCall) Context(ctx context.Context) *OperatingSystemsListCall {
37086	c.ctx_ = ctx
37087	return c
37088}
37089
37090// Header returns an http.Header that can be modified by the caller to
37091// add HTTP headers to the request.
37092func (c *OperatingSystemsListCall) Header() http.Header {
37093	if c.header_ == nil {
37094		c.header_ = make(http.Header)
37095	}
37096	return c.header_
37097}
37098
37099func (c *OperatingSystemsListCall) doRequest(alt string) (*http.Response, error) {
37100	reqHeaders := make(http.Header)
37101	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37102	for k, v := range c.header_ {
37103		reqHeaders[k] = v
37104	}
37105	reqHeaders.Set("User-Agent", c.s.userAgent())
37106	if c.ifNoneMatch_ != "" {
37107		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37108	}
37109	var body io.Reader = nil
37110	c.urlParams_.Set("alt", alt)
37111	c.urlParams_.Set("prettyPrint", "false")
37112	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/operatingSystems")
37113	urls += "?" + c.urlParams_.Encode()
37114	req, err := http.NewRequest("GET", urls, body)
37115	if err != nil {
37116		return nil, err
37117	}
37118	req.Header = reqHeaders
37119	googleapi.Expand(req.URL, map[string]string{
37120		"profileId": strconv.FormatInt(c.profileId, 10),
37121	})
37122	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37123}
37124
37125// Do executes the "dfareporting.operatingSystems.list" call.
37126// Exactly one of *OperatingSystemsListResponse or error will be
37127// non-nil. Any non-2xx status code is an error. Response headers are in
37128// either *OperatingSystemsListResponse.ServerResponse.Header or (if a
37129// response was returned at all) in error.(*googleapi.Error).Header. Use
37130// googleapi.IsNotModified to check whether the returned error was
37131// because http.StatusNotModified was returned.
37132func (c *OperatingSystemsListCall) Do(opts ...googleapi.CallOption) (*OperatingSystemsListResponse, error) {
37133	gensupport.SetOptions(c.urlParams_, opts...)
37134	res, err := c.doRequest("json")
37135	if res != nil && res.StatusCode == http.StatusNotModified {
37136		if res.Body != nil {
37137			res.Body.Close()
37138		}
37139		return nil, &googleapi.Error{
37140			Code:   res.StatusCode,
37141			Header: res.Header,
37142		}
37143	}
37144	if err != nil {
37145		return nil, err
37146	}
37147	defer googleapi.CloseBody(res)
37148	if err := googleapi.CheckResponse(res); err != nil {
37149		return nil, err
37150	}
37151	ret := &OperatingSystemsListResponse{
37152		ServerResponse: googleapi.ServerResponse{
37153			Header:         res.Header,
37154			HTTPStatusCode: res.StatusCode,
37155		},
37156	}
37157	target := &ret
37158	if err := gensupport.DecodeResponse(target, res); err != nil {
37159		return nil, err
37160	}
37161	return ret, nil
37162	// {
37163	//   "description": "Retrieves a list of operating systems.",
37164	//   "httpMethod": "GET",
37165	//   "id": "dfareporting.operatingSystems.list",
37166	//   "parameterOrder": [
37167	//     "profileId"
37168	//   ],
37169	//   "parameters": {
37170	//     "profileId": {
37171	//       "description": "User profile ID associated with this request.",
37172	//       "format": "int64",
37173	//       "location": "path",
37174	//       "required": true,
37175	//       "type": "string"
37176	//     }
37177	//   },
37178	//   "path": "userprofiles/{profileId}/operatingSystems",
37179	//   "response": {
37180	//     "$ref": "OperatingSystemsListResponse"
37181	//   },
37182	//   "scopes": [
37183	//     "https://www.googleapis.com/auth/dfatrafficking"
37184	//   ]
37185	// }
37186
37187}
37188
37189// method id "dfareporting.orderDocuments.get":
37190
37191type OrderDocumentsGetCall struct {
37192	s            *Service
37193	profileId    int64
37194	projectId    int64
37195	id           int64
37196	urlParams_   gensupport.URLParams
37197	ifNoneMatch_ string
37198	ctx_         context.Context
37199	header_      http.Header
37200}
37201
37202// Get: Gets one order document by ID.
37203func (r *OrderDocumentsService) Get(profileId int64, projectId int64, id int64) *OrderDocumentsGetCall {
37204	c := &OrderDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37205	c.profileId = profileId
37206	c.projectId = projectId
37207	c.id = id
37208	return c
37209}
37210
37211// Fields allows partial responses to be retrieved. See
37212// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37213// for more information.
37214func (c *OrderDocumentsGetCall) Fields(s ...googleapi.Field) *OrderDocumentsGetCall {
37215	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37216	return c
37217}
37218
37219// IfNoneMatch sets the optional parameter which makes the operation
37220// fail if the object's ETag matches the given value. This is useful for
37221// getting updates only after the object has changed since the last
37222// request. Use googleapi.IsNotModified to check whether the response
37223// error from Do is the result of In-None-Match.
37224func (c *OrderDocumentsGetCall) IfNoneMatch(entityTag string) *OrderDocumentsGetCall {
37225	c.ifNoneMatch_ = entityTag
37226	return c
37227}
37228
37229// Context sets the context to be used in this call's Do method. Any
37230// pending HTTP request will be aborted if the provided context is
37231// canceled.
37232func (c *OrderDocumentsGetCall) Context(ctx context.Context) *OrderDocumentsGetCall {
37233	c.ctx_ = ctx
37234	return c
37235}
37236
37237// Header returns an http.Header that can be modified by the caller to
37238// add HTTP headers to the request.
37239func (c *OrderDocumentsGetCall) Header() http.Header {
37240	if c.header_ == nil {
37241		c.header_ = make(http.Header)
37242	}
37243	return c.header_
37244}
37245
37246func (c *OrderDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
37247	reqHeaders := make(http.Header)
37248	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37249	for k, v := range c.header_ {
37250		reqHeaders[k] = v
37251	}
37252	reqHeaders.Set("User-Agent", c.s.userAgent())
37253	if c.ifNoneMatch_ != "" {
37254		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37255	}
37256	var body io.Reader = nil
37257	c.urlParams_.Set("alt", alt)
37258	c.urlParams_.Set("prettyPrint", "false")
37259	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}")
37260	urls += "?" + c.urlParams_.Encode()
37261	req, err := http.NewRequest("GET", urls, body)
37262	if err != nil {
37263		return nil, err
37264	}
37265	req.Header = reqHeaders
37266	googleapi.Expand(req.URL, map[string]string{
37267		"profileId": strconv.FormatInt(c.profileId, 10),
37268		"projectId": strconv.FormatInt(c.projectId, 10),
37269		"id":        strconv.FormatInt(c.id, 10),
37270	})
37271	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37272}
37273
37274// Do executes the "dfareporting.orderDocuments.get" call.
37275// Exactly one of *OrderDocument or error will be non-nil. Any non-2xx
37276// status code is an error. Response headers are in either
37277// *OrderDocument.ServerResponse.Header or (if a response was returned
37278// at all) in error.(*googleapi.Error).Header. Use
37279// googleapi.IsNotModified to check whether the returned error was
37280// because http.StatusNotModified was returned.
37281func (c *OrderDocumentsGetCall) Do(opts ...googleapi.CallOption) (*OrderDocument, error) {
37282	gensupport.SetOptions(c.urlParams_, opts...)
37283	res, err := c.doRequest("json")
37284	if res != nil && res.StatusCode == http.StatusNotModified {
37285		if res.Body != nil {
37286			res.Body.Close()
37287		}
37288		return nil, &googleapi.Error{
37289			Code:   res.StatusCode,
37290			Header: res.Header,
37291		}
37292	}
37293	if err != nil {
37294		return nil, err
37295	}
37296	defer googleapi.CloseBody(res)
37297	if err := googleapi.CheckResponse(res); err != nil {
37298		return nil, err
37299	}
37300	ret := &OrderDocument{
37301		ServerResponse: googleapi.ServerResponse{
37302			Header:         res.Header,
37303			HTTPStatusCode: res.StatusCode,
37304		},
37305	}
37306	target := &ret
37307	if err := gensupport.DecodeResponse(target, res); err != nil {
37308		return nil, err
37309	}
37310	return ret, nil
37311	// {
37312	//   "description": "Gets one order document by ID.",
37313	//   "httpMethod": "GET",
37314	//   "id": "dfareporting.orderDocuments.get",
37315	//   "parameterOrder": [
37316	//     "profileId",
37317	//     "projectId",
37318	//     "id"
37319	//   ],
37320	//   "parameters": {
37321	//     "id": {
37322	//       "description": "Order document ID.",
37323	//       "format": "int64",
37324	//       "location": "path",
37325	//       "required": true,
37326	//       "type": "string"
37327	//     },
37328	//     "profileId": {
37329	//       "description": "User profile ID associated with this request.",
37330	//       "format": "int64",
37331	//       "location": "path",
37332	//       "required": true,
37333	//       "type": "string"
37334	//     },
37335	//     "projectId": {
37336	//       "description": "Project ID for order documents.",
37337	//       "format": "int64",
37338	//       "location": "path",
37339	//       "required": true,
37340	//       "type": "string"
37341	//     }
37342	//   },
37343	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}",
37344	//   "response": {
37345	//     "$ref": "OrderDocument"
37346	//   },
37347	//   "scopes": [
37348	//     "https://www.googleapis.com/auth/dfatrafficking"
37349	//   ]
37350	// }
37351
37352}
37353
37354// method id "dfareporting.orderDocuments.list":
37355
37356type OrderDocumentsListCall struct {
37357	s            *Service
37358	profileId    int64
37359	projectId    int64
37360	urlParams_   gensupport.URLParams
37361	ifNoneMatch_ string
37362	ctx_         context.Context
37363	header_      http.Header
37364}
37365
37366// List: Retrieves a list of order documents, possibly filtered. This
37367// method supports paging.
37368func (r *OrderDocumentsService) List(profileId int64, projectId int64) *OrderDocumentsListCall {
37369	c := &OrderDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37370	c.profileId = profileId
37371	c.projectId = projectId
37372	return c
37373}
37374
37375// Approved sets the optional parameter "approved": Select only order
37376// documents that have been approved by at least one user.
37377func (c *OrderDocumentsListCall) Approved(approved bool) *OrderDocumentsListCall {
37378	c.urlParams_.Set("approved", fmt.Sprint(approved))
37379	return c
37380}
37381
37382// Ids sets the optional parameter "ids": Select only order documents
37383// with these IDs.
37384func (c *OrderDocumentsListCall) Ids(ids ...int64) *OrderDocumentsListCall {
37385	var ids_ []string
37386	for _, v := range ids {
37387		ids_ = append(ids_, fmt.Sprint(v))
37388	}
37389	c.urlParams_.SetMulti("ids", ids_)
37390	return c
37391}
37392
37393// MaxResults sets the optional parameter "maxResults": Maximum number
37394// of results to return.
37395func (c *OrderDocumentsListCall) MaxResults(maxResults int64) *OrderDocumentsListCall {
37396	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37397	return c
37398}
37399
37400// OrderId sets the optional parameter "orderId": Select only order
37401// documents for specified orders.
37402func (c *OrderDocumentsListCall) OrderId(orderId ...int64) *OrderDocumentsListCall {
37403	var orderId_ []string
37404	for _, v := range orderId {
37405		orderId_ = append(orderId_, fmt.Sprint(v))
37406	}
37407	c.urlParams_.SetMulti("orderId", orderId_)
37408	return c
37409}
37410
37411// PageToken sets the optional parameter "pageToken": Value of the
37412// nextPageToken from the previous result page.
37413func (c *OrderDocumentsListCall) PageToken(pageToken string) *OrderDocumentsListCall {
37414	c.urlParams_.Set("pageToken", pageToken)
37415	return c
37416}
37417
37418// SearchString sets the optional parameter "searchString": Allows
37419// searching for order documents by name or ID. Wildcards (*) are
37420// allowed. For example, "orderdocument*2015" will return order
37421// documents with names like "orderdocument June 2015", "orderdocument
37422// April 2015", or simply "orderdocument 2015". Most of the searches
37423// also add wildcards implicitly at the start and the end of the search
37424// string. For example, a search string of "orderdocument" will match
37425// order documents with name "my orderdocument", "orderdocument 2015",
37426// or simply "orderdocument".
37427func (c *OrderDocumentsListCall) SearchString(searchString string) *OrderDocumentsListCall {
37428	c.urlParams_.Set("searchString", searchString)
37429	return c
37430}
37431
37432// SiteId sets the optional parameter "siteId": Select only order
37433// documents that are associated with these sites.
37434func (c *OrderDocumentsListCall) SiteId(siteId ...int64) *OrderDocumentsListCall {
37435	var siteId_ []string
37436	for _, v := range siteId {
37437		siteId_ = append(siteId_, fmt.Sprint(v))
37438	}
37439	c.urlParams_.SetMulti("siteId", siteId_)
37440	return c
37441}
37442
37443// SortField sets the optional parameter "sortField": Field by which to
37444// sort the list.
37445//
37446// Possible values:
37447//   "ID" (default)
37448//   "NAME"
37449func (c *OrderDocumentsListCall) SortField(sortField string) *OrderDocumentsListCall {
37450	c.urlParams_.Set("sortField", sortField)
37451	return c
37452}
37453
37454// SortOrder sets the optional parameter "sortOrder": Order of sorted
37455// results.
37456//
37457// Possible values:
37458//   "ASCENDING" (default)
37459//   "DESCENDING"
37460func (c *OrderDocumentsListCall) SortOrder(sortOrder string) *OrderDocumentsListCall {
37461	c.urlParams_.Set("sortOrder", sortOrder)
37462	return c
37463}
37464
37465// Fields allows partial responses to be retrieved. See
37466// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37467// for more information.
37468func (c *OrderDocumentsListCall) Fields(s ...googleapi.Field) *OrderDocumentsListCall {
37469	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37470	return c
37471}
37472
37473// IfNoneMatch sets the optional parameter which makes the operation
37474// fail if the object's ETag matches the given value. This is useful for
37475// getting updates only after the object has changed since the last
37476// request. Use googleapi.IsNotModified to check whether the response
37477// error from Do is the result of In-None-Match.
37478func (c *OrderDocumentsListCall) IfNoneMatch(entityTag string) *OrderDocumentsListCall {
37479	c.ifNoneMatch_ = entityTag
37480	return c
37481}
37482
37483// Context sets the context to be used in this call's Do method. Any
37484// pending HTTP request will be aborted if the provided context is
37485// canceled.
37486func (c *OrderDocumentsListCall) Context(ctx context.Context) *OrderDocumentsListCall {
37487	c.ctx_ = ctx
37488	return c
37489}
37490
37491// Header returns an http.Header that can be modified by the caller to
37492// add HTTP headers to the request.
37493func (c *OrderDocumentsListCall) Header() http.Header {
37494	if c.header_ == nil {
37495		c.header_ = make(http.Header)
37496	}
37497	return c.header_
37498}
37499
37500func (c *OrderDocumentsListCall) doRequest(alt string) (*http.Response, error) {
37501	reqHeaders := make(http.Header)
37502	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37503	for k, v := range c.header_ {
37504		reqHeaders[k] = v
37505	}
37506	reqHeaders.Set("User-Agent", c.s.userAgent())
37507	if c.ifNoneMatch_ != "" {
37508		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37509	}
37510	var body io.Reader = nil
37511	c.urlParams_.Set("alt", alt)
37512	c.urlParams_.Set("prettyPrint", "false")
37513	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orderDocuments")
37514	urls += "?" + c.urlParams_.Encode()
37515	req, err := http.NewRequest("GET", urls, body)
37516	if err != nil {
37517		return nil, err
37518	}
37519	req.Header = reqHeaders
37520	googleapi.Expand(req.URL, map[string]string{
37521		"profileId": strconv.FormatInt(c.profileId, 10),
37522		"projectId": strconv.FormatInt(c.projectId, 10),
37523	})
37524	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37525}
37526
37527// Do executes the "dfareporting.orderDocuments.list" call.
37528// Exactly one of *OrderDocumentsListResponse or error will be non-nil.
37529// Any non-2xx status code is an error. Response headers are in either
37530// *OrderDocumentsListResponse.ServerResponse.Header or (if a response
37531// was returned at all) in error.(*googleapi.Error).Header. Use
37532// googleapi.IsNotModified to check whether the returned error was
37533// because http.StatusNotModified was returned.
37534func (c *OrderDocumentsListCall) Do(opts ...googleapi.CallOption) (*OrderDocumentsListResponse, error) {
37535	gensupport.SetOptions(c.urlParams_, opts...)
37536	res, err := c.doRequest("json")
37537	if res != nil && res.StatusCode == http.StatusNotModified {
37538		if res.Body != nil {
37539			res.Body.Close()
37540		}
37541		return nil, &googleapi.Error{
37542			Code:   res.StatusCode,
37543			Header: res.Header,
37544		}
37545	}
37546	if err != nil {
37547		return nil, err
37548	}
37549	defer googleapi.CloseBody(res)
37550	if err := googleapi.CheckResponse(res); err != nil {
37551		return nil, err
37552	}
37553	ret := &OrderDocumentsListResponse{
37554		ServerResponse: googleapi.ServerResponse{
37555			Header:         res.Header,
37556			HTTPStatusCode: res.StatusCode,
37557		},
37558	}
37559	target := &ret
37560	if err := gensupport.DecodeResponse(target, res); err != nil {
37561		return nil, err
37562	}
37563	return ret, nil
37564	// {
37565	//   "description": "Retrieves a list of order documents, possibly filtered. This method supports paging.",
37566	//   "httpMethod": "GET",
37567	//   "id": "dfareporting.orderDocuments.list",
37568	//   "parameterOrder": [
37569	//     "profileId",
37570	//     "projectId"
37571	//   ],
37572	//   "parameters": {
37573	//     "approved": {
37574	//       "description": "Select only order documents that have been approved by at least one user.",
37575	//       "location": "query",
37576	//       "type": "boolean"
37577	//     },
37578	//     "ids": {
37579	//       "description": "Select only order documents with these IDs.",
37580	//       "format": "int64",
37581	//       "location": "query",
37582	//       "repeated": true,
37583	//       "type": "string"
37584	//     },
37585	//     "maxResults": {
37586	//       "default": "1000",
37587	//       "description": "Maximum number of results to return.",
37588	//       "format": "int32",
37589	//       "location": "query",
37590	//       "maximum": "1000",
37591	//       "minimum": "0",
37592	//       "type": "integer"
37593	//     },
37594	//     "orderId": {
37595	//       "description": "Select only order documents for specified orders.",
37596	//       "format": "int64",
37597	//       "location": "query",
37598	//       "repeated": true,
37599	//       "type": "string"
37600	//     },
37601	//     "pageToken": {
37602	//       "description": "Value of the nextPageToken from the previous result page.",
37603	//       "location": "query",
37604	//       "type": "string"
37605	//     },
37606	//     "profileId": {
37607	//       "description": "User profile ID associated with this request.",
37608	//       "format": "int64",
37609	//       "location": "path",
37610	//       "required": true,
37611	//       "type": "string"
37612	//     },
37613	//     "projectId": {
37614	//       "description": "Project ID for order documents.",
37615	//       "format": "int64",
37616	//       "location": "path",
37617	//       "required": true,
37618	//       "type": "string"
37619	//     },
37620	//     "searchString": {
37621	//       "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\".",
37622	//       "location": "query",
37623	//       "type": "string"
37624	//     },
37625	//     "siteId": {
37626	//       "description": "Select only order documents that are associated with these sites.",
37627	//       "format": "int64",
37628	//       "location": "query",
37629	//       "repeated": true,
37630	//       "type": "string"
37631	//     },
37632	//     "sortField": {
37633	//       "default": "ID",
37634	//       "description": "Field by which to sort the list.",
37635	//       "enum": [
37636	//         "ID",
37637	//         "NAME"
37638	//       ],
37639	//       "enumDescriptions": [
37640	//         "",
37641	//         ""
37642	//       ],
37643	//       "location": "query",
37644	//       "type": "string"
37645	//     },
37646	//     "sortOrder": {
37647	//       "default": "ASCENDING",
37648	//       "description": "Order of sorted results.",
37649	//       "enum": [
37650	//         "ASCENDING",
37651	//         "DESCENDING"
37652	//       ],
37653	//       "enumDescriptions": [
37654	//         "",
37655	//         ""
37656	//       ],
37657	//       "location": "query",
37658	//       "type": "string"
37659	//     }
37660	//   },
37661	//   "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments",
37662	//   "response": {
37663	//     "$ref": "OrderDocumentsListResponse"
37664	//   },
37665	//   "scopes": [
37666	//     "https://www.googleapis.com/auth/dfatrafficking"
37667	//   ]
37668	// }
37669
37670}
37671
37672// Pages invokes f for each page of results.
37673// A non-nil error returned from f will halt the iteration.
37674// The provided context supersedes any context provided to the Context method.
37675func (c *OrderDocumentsListCall) Pages(ctx context.Context, f func(*OrderDocumentsListResponse) error) error {
37676	c.ctx_ = ctx
37677	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
37678	for {
37679		x, err := c.Do()
37680		if err != nil {
37681			return err
37682		}
37683		if err := f(x); err != nil {
37684			return err
37685		}
37686		if x.NextPageToken == "" {
37687			return nil
37688		}
37689		c.PageToken(x.NextPageToken)
37690	}
37691}
37692
37693// method id "dfareporting.orders.get":
37694
37695type OrdersGetCall struct {
37696	s            *Service
37697	profileId    int64
37698	projectId    int64
37699	id           int64
37700	urlParams_   gensupport.URLParams
37701	ifNoneMatch_ string
37702	ctx_         context.Context
37703	header_      http.Header
37704}
37705
37706// Get: Gets one order by ID.
37707func (r *OrdersService) Get(profileId int64, projectId int64, id int64) *OrdersGetCall {
37708	c := &OrdersGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37709	c.profileId = profileId
37710	c.projectId = projectId
37711	c.id = id
37712	return c
37713}
37714
37715// Fields allows partial responses to be retrieved. See
37716// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37717// for more information.
37718func (c *OrdersGetCall) Fields(s ...googleapi.Field) *OrdersGetCall {
37719	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37720	return c
37721}
37722
37723// IfNoneMatch sets the optional parameter which makes the operation
37724// fail if the object's ETag matches the given value. This is useful for
37725// getting updates only after the object has changed since the last
37726// request. Use googleapi.IsNotModified to check whether the response
37727// error from Do is the result of In-None-Match.
37728func (c *OrdersGetCall) IfNoneMatch(entityTag string) *OrdersGetCall {
37729	c.ifNoneMatch_ = entityTag
37730	return c
37731}
37732
37733// Context sets the context to be used in this call's Do method. Any
37734// pending HTTP request will be aborted if the provided context is
37735// canceled.
37736func (c *OrdersGetCall) Context(ctx context.Context) *OrdersGetCall {
37737	c.ctx_ = ctx
37738	return c
37739}
37740
37741// Header returns an http.Header that can be modified by the caller to
37742// add HTTP headers to the request.
37743func (c *OrdersGetCall) Header() http.Header {
37744	if c.header_ == nil {
37745		c.header_ = make(http.Header)
37746	}
37747	return c.header_
37748}
37749
37750func (c *OrdersGetCall) doRequest(alt string) (*http.Response, error) {
37751	reqHeaders := make(http.Header)
37752	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37753	for k, v := range c.header_ {
37754		reqHeaders[k] = v
37755	}
37756	reqHeaders.Set("User-Agent", c.s.userAgent())
37757	if c.ifNoneMatch_ != "" {
37758		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37759	}
37760	var body io.Reader = nil
37761	c.urlParams_.Set("alt", alt)
37762	c.urlParams_.Set("prettyPrint", "false")
37763	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders/{id}")
37764	urls += "?" + c.urlParams_.Encode()
37765	req, err := http.NewRequest("GET", urls, body)
37766	if err != nil {
37767		return nil, err
37768	}
37769	req.Header = reqHeaders
37770	googleapi.Expand(req.URL, map[string]string{
37771		"profileId": strconv.FormatInt(c.profileId, 10),
37772		"projectId": strconv.FormatInt(c.projectId, 10),
37773		"id":        strconv.FormatInt(c.id, 10),
37774	})
37775	return gensupport.SendRequest(c.ctx_, c.s.client, req)
37776}
37777
37778// Do executes the "dfareporting.orders.get" call.
37779// Exactly one of *Order or error will be non-nil. Any non-2xx status
37780// code is an error. Response headers are in either
37781// *Order.ServerResponse.Header or (if a response was returned at all)
37782// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
37783// check whether the returned error was because http.StatusNotModified
37784// was returned.
37785func (c *OrdersGetCall) Do(opts ...googleapi.CallOption) (*Order, error) {
37786	gensupport.SetOptions(c.urlParams_, opts...)
37787	res, err := c.doRequest("json")
37788	if res != nil && res.StatusCode == http.StatusNotModified {
37789		if res.Body != nil {
37790			res.Body.Close()
37791		}
37792		return nil, &googleapi.Error{
37793			Code:   res.StatusCode,
37794			Header: res.Header,
37795		}
37796	}
37797	if err != nil {
37798		return nil, err
37799	}
37800	defer googleapi.CloseBody(res)
37801	if err := googleapi.CheckResponse(res); err != nil {
37802		return nil, err
37803	}
37804	ret := &Order{
37805		ServerResponse: googleapi.ServerResponse{
37806			Header:         res.Header,
37807			HTTPStatusCode: res.StatusCode,
37808		},
37809	}
37810	target := &ret
37811	if err := gensupport.DecodeResponse(target, res); err != nil {
37812		return nil, err
37813	}
37814	return ret, nil
37815	// {
37816	//   "description": "Gets one order by ID.",
37817	//   "httpMethod": "GET",
37818	//   "id": "dfareporting.orders.get",
37819	//   "parameterOrder": [
37820	//     "profileId",
37821	//     "projectId",
37822	//     "id"
37823	//   ],
37824	//   "parameters": {
37825	//     "id": {
37826	//       "description": "Order ID.",
37827	//       "format": "int64",
37828	//       "location": "path",
37829	//       "required": true,
37830	//       "type": "string"
37831	//     },
37832	//     "profileId": {
37833	//       "description": "User profile ID associated with this request.",
37834	//       "format": "int64",
37835	//       "location": "path",
37836	//       "required": true,
37837	//       "type": "string"
37838	//     },
37839	//     "projectId": {
37840	//       "description": "Project ID for orders.",
37841	//       "format": "int64",
37842	//       "location": "path",
37843	//       "required": true,
37844	//       "type": "string"
37845	//     }
37846	//   },
37847	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}",
37848	//   "response": {
37849	//     "$ref": "Order"
37850	//   },
37851	//   "scopes": [
37852	//     "https://www.googleapis.com/auth/dfatrafficking"
37853	//   ]
37854	// }
37855
37856}
37857
37858// method id "dfareporting.orders.list":
37859
37860type OrdersListCall struct {
37861	s            *Service
37862	profileId    int64
37863	projectId    int64
37864	urlParams_   gensupport.URLParams
37865	ifNoneMatch_ string
37866	ctx_         context.Context
37867	header_      http.Header
37868}
37869
37870// List: Retrieves a list of orders, possibly filtered. This method
37871// supports paging.
37872func (r *OrdersService) List(profileId int64, projectId int64) *OrdersListCall {
37873	c := &OrdersListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
37874	c.profileId = profileId
37875	c.projectId = projectId
37876	return c
37877}
37878
37879// Ids sets the optional parameter "ids": Select only orders with these
37880// IDs.
37881func (c *OrdersListCall) Ids(ids ...int64) *OrdersListCall {
37882	var ids_ []string
37883	for _, v := range ids {
37884		ids_ = append(ids_, fmt.Sprint(v))
37885	}
37886	c.urlParams_.SetMulti("ids", ids_)
37887	return c
37888}
37889
37890// MaxResults sets the optional parameter "maxResults": Maximum number
37891// of results to return.
37892func (c *OrdersListCall) MaxResults(maxResults int64) *OrdersListCall {
37893	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
37894	return c
37895}
37896
37897// PageToken sets the optional parameter "pageToken": Value of the
37898// nextPageToken from the previous result page.
37899func (c *OrdersListCall) PageToken(pageToken string) *OrdersListCall {
37900	c.urlParams_.Set("pageToken", pageToken)
37901	return c
37902}
37903
37904// SearchString sets the optional parameter "searchString": Allows
37905// searching for orders by name or ID. Wildcards (*) are allowed. For
37906// example, "order*2015" will return orders with names like "order June
37907// 2015", "order April 2015", or simply "order 2015". Most of the
37908// searches also add wildcards implicitly at the start and the end of
37909// the search string. For example, a search string of "order" will match
37910// orders with name "my order", "order 2015", or simply "order".
37911func (c *OrdersListCall) SearchString(searchString string) *OrdersListCall {
37912	c.urlParams_.Set("searchString", searchString)
37913	return c
37914}
37915
37916// SiteId sets the optional parameter "siteId": Select only orders that
37917// are associated with these site IDs.
37918func (c *OrdersListCall) SiteId(siteId ...int64) *OrdersListCall {
37919	var siteId_ []string
37920	for _, v := range siteId {
37921		siteId_ = append(siteId_, fmt.Sprint(v))
37922	}
37923	c.urlParams_.SetMulti("siteId", siteId_)
37924	return c
37925}
37926
37927// SortField sets the optional parameter "sortField": Field by which to
37928// sort the list.
37929//
37930// Possible values:
37931//   "ID" (default)
37932//   "NAME"
37933func (c *OrdersListCall) SortField(sortField string) *OrdersListCall {
37934	c.urlParams_.Set("sortField", sortField)
37935	return c
37936}
37937
37938// SortOrder sets the optional parameter "sortOrder": Order of sorted
37939// results.
37940//
37941// Possible values:
37942//   "ASCENDING" (default)
37943//   "DESCENDING"
37944func (c *OrdersListCall) SortOrder(sortOrder string) *OrdersListCall {
37945	c.urlParams_.Set("sortOrder", sortOrder)
37946	return c
37947}
37948
37949// Fields allows partial responses to be retrieved. See
37950// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
37951// for more information.
37952func (c *OrdersListCall) Fields(s ...googleapi.Field) *OrdersListCall {
37953	c.urlParams_.Set("fields", googleapi.CombineFields(s))
37954	return c
37955}
37956
37957// IfNoneMatch sets the optional parameter which makes the operation
37958// fail if the object's ETag matches the given value. This is useful for
37959// getting updates only after the object has changed since the last
37960// request. Use googleapi.IsNotModified to check whether the response
37961// error from Do is the result of In-None-Match.
37962func (c *OrdersListCall) IfNoneMatch(entityTag string) *OrdersListCall {
37963	c.ifNoneMatch_ = entityTag
37964	return c
37965}
37966
37967// Context sets the context to be used in this call's Do method. Any
37968// pending HTTP request will be aborted if the provided context is
37969// canceled.
37970func (c *OrdersListCall) Context(ctx context.Context) *OrdersListCall {
37971	c.ctx_ = ctx
37972	return c
37973}
37974
37975// Header returns an http.Header that can be modified by the caller to
37976// add HTTP headers to the request.
37977func (c *OrdersListCall) Header() http.Header {
37978	if c.header_ == nil {
37979		c.header_ = make(http.Header)
37980	}
37981	return c.header_
37982}
37983
37984func (c *OrdersListCall) doRequest(alt string) (*http.Response, error) {
37985	reqHeaders := make(http.Header)
37986	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
37987	for k, v := range c.header_ {
37988		reqHeaders[k] = v
37989	}
37990	reqHeaders.Set("User-Agent", c.s.userAgent())
37991	if c.ifNoneMatch_ != "" {
37992		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
37993	}
37994	var body io.Reader = nil
37995	c.urlParams_.Set("alt", alt)
37996	c.urlParams_.Set("prettyPrint", "false")
37997	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{projectId}/orders")
37998	urls += "?" + c.urlParams_.Encode()
37999	req, err := http.NewRequest("GET", urls, body)
38000	if err != nil {
38001		return nil, err
38002	}
38003	req.Header = reqHeaders
38004	googleapi.Expand(req.URL, map[string]string{
38005		"profileId": strconv.FormatInt(c.profileId, 10),
38006		"projectId": strconv.FormatInt(c.projectId, 10),
38007	})
38008	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38009}
38010
38011// Do executes the "dfareporting.orders.list" call.
38012// Exactly one of *OrdersListResponse or error will be non-nil. Any
38013// non-2xx status code is an error. Response headers are in either
38014// *OrdersListResponse.ServerResponse.Header or (if a response was
38015// returned at all) in error.(*googleapi.Error).Header. Use
38016// googleapi.IsNotModified to check whether the returned error was
38017// because http.StatusNotModified was returned.
38018func (c *OrdersListCall) Do(opts ...googleapi.CallOption) (*OrdersListResponse, error) {
38019	gensupport.SetOptions(c.urlParams_, opts...)
38020	res, err := c.doRequest("json")
38021	if res != nil && res.StatusCode == http.StatusNotModified {
38022		if res.Body != nil {
38023			res.Body.Close()
38024		}
38025		return nil, &googleapi.Error{
38026			Code:   res.StatusCode,
38027			Header: res.Header,
38028		}
38029	}
38030	if err != nil {
38031		return nil, err
38032	}
38033	defer googleapi.CloseBody(res)
38034	if err := googleapi.CheckResponse(res); err != nil {
38035		return nil, err
38036	}
38037	ret := &OrdersListResponse{
38038		ServerResponse: googleapi.ServerResponse{
38039			Header:         res.Header,
38040			HTTPStatusCode: res.StatusCode,
38041		},
38042	}
38043	target := &ret
38044	if err := gensupport.DecodeResponse(target, res); err != nil {
38045		return nil, err
38046	}
38047	return ret, nil
38048	// {
38049	//   "description": "Retrieves a list of orders, possibly filtered. This method supports paging.",
38050	//   "httpMethod": "GET",
38051	//   "id": "dfareporting.orders.list",
38052	//   "parameterOrder": [
38053	//     "profileId",
38054	//     "projectId"
38055	//   ],
38056	//   "parameters": {
38057	//     "ids": {
38058	//       "description": "Select only orders with these IDs.",
38059	//       "format": "int64",
38060	//       "location": "query",
38061	//       "repeated": true,
38062	//       "type": "string"
38063	//     },
38064	//     "maxResults": {
38065	//       "default": "1000",
38066	//       "description": "Maximum number of results to return.",
38067	//       "format": "int32",
38068	//       "location": "query",
38069	//       "maximum": "1000",
38070	//       "minimum": "0",
38071	//       "type": "integer"
38072	//     },
38073	//     "pageToken": {
38074	//       "description": "Value of the nextPageToken from the previous result page.",
38075	//       "location": "query",
38076	//       "type": "string"
38077	//     },
38078	//     "profileId": {
38079	//       "description": "User profile ID associated with this request.",
38080	//       "format": "int64",
38081	//       "location": "path",
38082	//       "required": true,
38083	//       "type": "string"
38084	//     },
38085	//     "projectId": {
38086	//       "description": "Project ID for orders.",
38087	//       "format": "int64",
38088	//       "location": "path",
38089	//       "required": true,
38090	//       "type": "string"
38091	//     },
38092	//     "searchString": {
38093	//       "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\".",
38094	//       "location": "query",
38095	//       "type": "string"
38096	//     },
38097	//     "siteId": {
38098	//       "description": "Select only orders that are associated with these site IDs.",
38099	//       "format": "int64",
38100	//       "location": "query",
38101	//       "repeated": true,
38102	//       "type": "string"
38103	//     },
38104	//     "sortField": {
38105	//       "default": "ID",
38106	//       "description": "Field by which to sort the list.",
38107	//       "enum": [
38108	//         "ID",
38109	//         "NAME"
38110	//       ],
38111	//       "enumDescriptions": [
38112	//         "",
38113	//         ""
38114	//       ],
38115	//       "location": "query",
38116	//       "type": "string"
38117	//     },
38118	//     "sortOrder": {
38119	//       "default": "ASCENDING",
38120	//       "description": "Order of sorted results.",
38121	//       "enum": [
38122	//         "ASCENDING",
38123	//         "DESCENDING"
38124	//       ],
38125	//       "enumDescriptions": [
38126	//         "",
38127	//         ""
38128	//       ],
38129	//       "location": "query",
38130	//       "type": "string"
38131	//     }
38132	//   },
38133	//   "path": "userprofiles/{profileId}/projects/{projectId}/orders",
38134	//   "response": {
38135	//     "$ref": "OrdersListResponse"
38136	//   },
38137	//   "scopes": [
38138	//     "https://www.googleapis.com/auth/dfatrafficking"
38139	//   ]
38140	// }
38141
38142}
38143
38144// Pages invokes f for each page of results.
38145// A non-nil error returned from f will halt the iteration.
38146// The provided context supersedes any context provided to the Context method.
38147func (c *OrdersListCall) Pages(ctx context.Context, f func(*OrdersListResponse) error) error {
38148	c.ctx_ = ctx
38149	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38150	for {
38151		x, err := c.Do()
38152		if err != nil {
38153			return err
38154		}
38155		if err := f(x); err != nil {
38156			return err
38157		}
38158		if x.NextPageToken == "" {
38159			return nil
38160		}
38161		c.PageToken(x.NextPageToken)
38162	}
38163}
38164
38165// method id "dfareporting.placementGroups.get":
38166
38167type PlacementGroupsGetCall struct {
38168	s            *Service
38169	profileId    int64
38170	id           int64
38171	urlParams_   gensupport.URLParams
38172	ifNoneMatch_ string
38173	ctx_         context.Context
38174	header_      http.Header
38175}
38176
38177// Get: Gets one placement group by ID.
38178func (r *PlacementGroupsService) Get(profileId int64, id int64) *PlacementGroupsGetCall {
38179	c := &PlacementGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38180	c.profileId = profileId
38181	c.id = id
38182	return c
38183}
38184
38185// Fields allows partial responses to be retrieved. See
38186// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38187// for more information.
38188func (c *PlacementGroupsGetCall) Fields(s ...googleapi.Field) *PlacementGroupsGetCall {
38189	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38190	return c
38191}
38192
38193// IfNoneMatch sets the optional parameter which makes the operation
38194// fail if the object's ETag matches the given value. This is useful for
38195// getting updates only after the object has changed since the last
38196// request. Use googleapi.IsNotModified to check whether the response
38197// error from Do is the result of In-None-Match.
38198func (c *PlacementGroupsGetCall) IfNoneMatch(entityTag string) *PlacementGroupsGetCall {
38199	c.ifNoneMatch_ = entityTag
38200	return c
38201}
38202
38203// Context sets the context to be used in this call's Do method. Any
38204// pending HTTP request will be aborted if the provided context is
38205// canceled.
38206func (c *PlacementGroupsGetCall) Context(ctx context.Context) *PlacementGroupsGetCall {
38207	c.ctx_ = ctx
38208	return c
38209}
38210
38211// Header returns an http.Header that can be modified by the caller to
38212// add HTTP headers to the request.
38213func (c *PlacementGroupsGetCall) Header() http.Header {
38214	if c.header_ == nil {
38215		c.header_ = make(http.Header)
38216	}
38217	return c.header_
38218}
38219
38220func (c *PlacementGroupsGetCall) doRequest(alt string) (*http.Response, error) {
38221	reqHeaders := make(http.Header)
38222	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38223	for k, v := range c.header_ {
38224		reqHeaders[k] = v
38225	}
38226	reqHeaders.Set("User-Agent", c.s.userAgent())
38227	if c.ifNoneMatch_ != "" {
38228		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38229	}
38230	var body io.Reader = nil
38231	c.urlParams_.Set("alt", alt)
38232	c.urlParams_.Set("prettyPrint", "false")
38233	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups/{id}")
38234	urls += "?" + c.urlParams_.Encode()
38235	req, err := http.NewRequest("GET", urls, body)
38236	if err != nil {
38237		return nil, err
38238	}
38239	req.Header = reqHeaders
38240	googleapi.Expand(req.URL, map[string]string{
38241		"profileId": strconv.FormatInt(c.profileId, 10),
38242		"id":        strconv.FormatInt(c.id, 10),
38243	})
38244	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38245}
38246
38247// Do executes the "dfareporting.placementGroups.get" call.
38248// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38249// status code is an error. Response headers are in either
38250// *PlacementGroup.ServerResponse.Header or (if a response was returned
38251// at all) in error.(*googleapi.Error).Header. Use
38252// googleapi.IsNotModified to check whether the returned error was
38253// because http.StatusNotModified was returned.
38254func (c *PlacementGroupsGetCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38255	gensupport.SetOptions(c.urlParams_, opts...)
38256	res, err := c.doRequest("json")
38257	if res != nil && res.StatusCode == http.StatusNotModified {
38258		if res.Body != nil {
38259			res.Body.Close()
38260		}
38261		return nil, &googleapi.Error{
38262			Code:   res.StatusCode,
38263			Header: res.Header,
38264		}
38265	}
38266	if err != nil {
38267		return nil, err
38268	}
38269	defer googleapi.CloseBody(res)
38270	if err := googleapi.CheckResponse(res); err != nil {
38271		return nil, err
38272	}
38273	ret := &PlacementGroup{
38274		ServerResponse: googleapi.ServerResponse{
38275			Header:         res.Header,
38276			HTTPStatusCode: res.StatusCode,
38277		},
38278	}
38279	target := &ret
38280	if err := gensupport.DecodeResponse(target, res); err != nil {
38281		return nil, err
38282	}
38283	return ret, nil
38284	// {
38285	//   "description": "Gets one placement group by ID.",
38286	//   "httpMethod": "GET",
38287	//   "id": "dfareporting.placementGroups.get",
38288	//   "parameterOrder": [
38289	//     "profileId",
38290	//     "id"
38291	//   ],
38292	//   "parameters": {
38293	//     "id": {
38294	//       "description": "Placement group ID.",
38295	//       "format": "int64",
38296	//       "location": "path",
38297	//       "required": true,
38298	//       "type": "string"
38299	//     },
38300	//     "profileId": {
38301	//       "description": "User profile ID associated with this request.",
38302	//       "format": "int64",
38303	//       "location": "path",
38304	//       "required": true,
38305	//       "type": "string"
38306	//     }
38307	//   },
38308	//   "path": "userprofiles/{profileId}/placementGroups/{id}",
38309	//   "response": {
38310	//     "$ref": "PlacementGroup"
38311	//   },
38312	//   "scopes": [
38313	//     "https://www.googleapis.com/auth/dfatrafficking"
38314	//   ]
38315	// }
38316
38317}
38318
38319// method id "dfareporting.placementGroups.insert":
38320
38321type PlacementGroupsInsertCall struct {
38322	s              *Service
38323	profileId      int64
38324	placementgroup *PlacementGroup
38325	urlParams_     gensupport.URLParams
38326	ctx_           context.Context
38327	header_        http.Header
38328}
38329
38330// Insert: Inserts a new placement group.
38331func (r *PlacementGroupsService) Insert(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsInsertCall {
38332	c := &PlacementGroupsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38333	c.profileId = profileId
38334	c.placementgroup = placementgroup
38335	return c
38336}
38337
38338// Fields allows partial responses to be retrieved. See
38339// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38340// for more information.
38341func (c *PlacementGroupsInsertCall) Fields(s ...googleapi.Field) *PlacementGroupsInsertCall {
38342	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38343	return c
38344}
38345
38346// Context sets the context to be used in this call's Do method. Any
38347// pending HTTP request will be aborted if the provided context is
38348// canceled.
38349func (c *PlacementGroupsInsertCall) Context(ctx context.Context) *PlacementGroupsInsertCall {
38350	c.ctx_ = ctx
38351	return c
38352}
38353
38354// Header returns an http.Header that can be modified by the caller to
38355// add HTTP headers to the request.
38356func (c *PlacementGroupsInsertCall) Header() http.Header {
38357	if c.header_ == nil {
38358		c.header_ = make(http.Header)
38359	}
38360	return c.header_
38361}
38362
38363func (c *PlacementGroupsInsertCall) doRequest(alt string) (*http.Response, error) {
38364	reqHeaders := make(http.Header)
38365	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38366	for k, v := range c.header_ {
38367		reqHeaders[k] = v
38368	}
38369	reqHeaders.Set("User-Agent", c.s.userAgent())
38370	var body io.Reader = nil
38371	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
38372	if err != nil {
38373		return nil, err
38374	}
38375	reqHeaders.Set("Content-Type", "application/json")
38376	c.urlParams_.Set("alt", alt)
38377	c.urlParams_.Set("prettyPrint", "false")
38378	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38379	urls += "?" + c.urlParams_.Encode()
38380	req, err := http.NewRequest("POST", urls, body)
38381	if err != nil {
38382		return nil, err
38383	}
38384	req.Header = reqHeaders
38385	googleapi.Expand(req.URL, map[string]string{
38386		"profileId": strconv.FormatInt(c.profileId, 10),
38387	})
38388	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38389}
38390
38391// Do executes the "dfareporting.placementGroups.insert" call.
38392// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
38393// status code is an error. Response headers are in either
38394// *PlacementGroup.ServerResponse.Header or (if a response was returned
38395// at all) in error.(*googleapi.Error).Header. Use
38396// googleapi.IsNotModified to check whether the returned error was
38397// because http.StatusNotModified was returned.
38398func (c *PlacementGroupsInsertCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
38399	gensupport.SetOptions(c.urlParams_, opts...)
38400	res, err := c.doRequest("json")
38401	if res != nil && res.StatusCode == http.StatusNotModified {
38402		if res.Body != nil {
38403			res.Body.Close()
38404		}
38405		return nil, &googleapi.Error{
38406			Code:   res.StatusCode,
38407			Header: res.Header,
38408		}
38409	}
38410	if err != nil {
38411		return nil, err
38412	}
38413	defer googleapi.CloseBody(res)
38414	if err := googleapi.CheckResponse(res); err != nil {
38415		return nil, err
38416	}
38417	ret := &PlacementGroup{
38418		ServerResponse: googleapi.ServerResponse{
38419			Header:         res.Header,
38420			HTTPStatusCode: res.StatusCode,
38421		},
38422	}
38423	target := &ret
38424	if err := gensupport.DecodeResponse(target, res); err != nil {
38425		return nil, err
38426	}
38427	return ret, nil
38428	// {
38429	//   "description": "Inserts a new placement group.",
38430	//   "httpMethod": "POST",
38431	//   "id": "dfareporting.placementGroups.insert",
38432	//   "parameterOrder": [
38433	//     "profileId"
38434	//   ],
38435	//   "parameters": {
38436	//     "profileId": {
38437	//       "description": "User profile ID associated with this request.",
38438	//       "format": "int64",
38439	//       "location": "path",
38440	//       "required": true,
38441	//       "type": "string"
38442	//     }
38443	//   },
38444	//   "path": "userprofiles/{profileId}/placementGroups",
38445	//   "request": {
38446	//     "$ref": "PlacementGroup"
38447	//   },
38448	//   "response": {
38449	//     "$ref": "PlacementGroup"
38450	//   },
38451	//   "scopes": [
38452	//     "https://www.googleapis.com/auth/dfatrafficking"
38453	//   ]
38454	// }
38455
38456}
38457
38458// method id "dfareporting.placementGroups.list":
38459
38460type PlacementGroupsListCall struct {
38461	s            *Service
38462	profileId    int64
38463	urlParams_   gensupport.URLParams
38464	ifNoneMatch_ string
38465	ctx_         context.Context
38466	header_      http.Header
38467}
38468
38469// List: Retrieves a list of placement groups, possibly filtered. This
38470// method supports paging.
38471func (r *PlacementGroupsService) List(profileId int64) *PlacementGroupsListCall {
38472	c := &PlacementGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38473	c.profileId = profileId
38474	return c
38475}
38476
38477// AdvertiserIds sets the optional parameter "advertiserIds": Select
38478// only placement groups that belong to these advertisers.
38479func (c *PlacementGroupsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementGroupsListCall {
38480	var advertiserIds_ []string
38481	for _, v := range advertiserIds {
38482		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
38483	}
38484	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
38485	return c
38486}
38487
38488// Archived sets the optional parameter "archived": Select only archived
38489// placements. Don't set this field to select both archived and
38490// non-archived placements.
38491func (c *PlacementGroupsListCall) Archived(archived bool) *PlacementGroupsListCall {
38492	c.urlParams_.Set("archived", fmt.Sprint(archived))
38493	return c
38494}
38495
38496// CampaignIds sets the optional parameter "campaignIds": Select only
38497// placement groups that belong to these campaigns.
38498func (c *PlacementGroupsListCall) CampaignIds(campaignIds ...int64) *PlacementGroupsListCall {
38499	var campaignIds_ []string
38500	for _, v := range campaignIds {
38501		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
38502	}
38503	c.urlParams_.SetMulti("campaignIds", campaignIds_)
38504	return c
38505}
38506
38507// ContentCategoryIds sets the optional parameter "contentCategoryIds":
38508// Select only placement groups that are associated with these content
38509// categories.
38510func (c *PlacementGroupsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementGroupsListCall {
38511	var contentCategoryIds_ []string
38512	for _, v := range contentCategoryIds {
38513		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
38514	}
38515	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
38516	return c
38517}
38518
38519// DirectorySiteIds sets the optional parameter "directorySiteIds":
38520// Select only placement groups that are associated with these directory
38521// sites.
38522func (c *PlacementGroupsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementGroupsListCall {
38523	var directorySiteIds_ []string
38524	for _, v := range directorySiteIds {
38525		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
38526	}
38527	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
38528	return c
38529}
38530
38531// Ids sets the optional parameter "ids": Select only placement groups
38532// with these IDs.
38533func (c *PlacementGroupsListCall) Ids(ids ...int64) *PlacementGroupsListCall {
38534	var ids_ []string
38535	for _, v := range ids {
38536		ids_ = append(ids_, fmt.Sprint(v))
38537	}
38538	c.urlParams_.SetMulti("ids", ids_)
38539	return c
38540}
38541
38542// MaxEndDate sets the optional parameter "maxEndDate": Select only
38543// placements or placement groups whose end date is on or before the
38544// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
38545func (c *PlacementGroupsListCall) MaxEndDate(maxEndDate string) *PlacementGroupsListCall {
38546	c.urlParams_.Set("maxEndDate", maxEndDate)
38547	return c
38548}
38549
38550// MaxResults sets the optional parameter "maxResults": Maximum number
38551// of results to return.
38552func (c *PlacementGroupsListCall) MaxResults(maxResults int64) *PlacementGroupsListCall {
38553	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
38554	return c
38555}
38556
38557// MaxStartDate sets the optional parameter "maxStartDate": Select only
38558// placements or placement groups whose start date is on or before the
38559// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
38560func (c *PlacementGroupsListCall) MaxStartDate(maxStartDate string) *PlacementGroupsListCall {
38561	c.urlParams_.Set("maxStartDate", maxStartDate)
38562	return c
38563}
38564
38565// MinEndDate sets the optional parameter "minEndDate": Select only
38566// placements or placement groups whose end date is on or after the
38567// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
38568func (c *PlacementGroupsListCall) MinEndDate(minEndDate string) *PlacementGroupsListCall {
38569	c.urlParams_.Set("minEndDate", minEndDate)
38570	return c
38571}
38572
38573// MinStartDate sets the optional parameter "minStartDate": Select only
38574// placements or placement groups whose start date is on or after the
38575// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
38576func (c *PlacementGroupsListCall) MinStartDate(minStartDate string) *PlacementGroupsListCall {
38577	c.urlParams_.Set("minStartDate", minStartDate)
38578	return c
38579}
38580
38581// PageToken sets the optional parameter "pageToken": Value of the
38582// nextPageToken from the previous result page.
38583func (c *PlacementGroupsListCall) PageToken(pageToken string) *PlacementGroupsListCall {
38584	c.urlParams_.Set("pageToken", pageToken)
38585	return c
38586}
38587
38588// PlacementGroupType sets the optional parameter "placementGroupType":
38589// Select only placement groups belonging with this group type. A
38590// package is a simple group of placements that acts as a single pricing
38591// point for a group of tags. A roadblock is a group of placements that
38592// not only acts as a single pricing point but also assumes that all the
38593// tags in it will be served at the same time. A roadblock requires one
38594// of its assigned placements to be marked as primary for reporting.
38595//
38596// Possible values:
38597//   "PLACEMENT_PACKAGE"
38598//   "PLACEMENT_ROADBLOCK"
38599func (c *PlacementGroupsListCall) PlacementGroupType(placementGroupType string) *PlacementGroupsListCall {
38600	c.urlParams_.Set("placementGroupType", placementGroupType)
38601	return c
38602}
38603
38604// PlacementStrategyIds sets the optional parameter
38605// "placementStrategyIds": Select only placement groups that are
38606// associated with these placement strategies.
38607func (c *PlacementGroupsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementGroupsListCall {
38608	var placementStrategyIds_ []string
38609	for _, v := range placementStrategyIds {
38610		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
38611	}
38612	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
38613	return c
38614}
38615
38616// PricingTypes sets the optional parameter "pricingTypes": Select only
38617// placement groups with these pricing types.
38618//
38619// Possible values:
38620//   "PRICING_TYPE_CPA"
38621//   "PRICING_TYPE_CPC"
38622//   "PRICING_TYPE_CPM"
38623//   "PRICING_TYPE_CPM_ACTIVEVIEW"
38624//   "PRICING_TYPE_FLAT_RATE_CLICKS"
38625//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
38626func (c *PlacementGroupsListCall) PricingTypes(pricingTypes ...string) *PlacementGroupsListCall {
38627	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
38628	return c
38629}
38630
38631// SearchString sets the optional parameter "searchString": Allows
38632// searching for placement groups by name or ID. Wildcards (*) are
38633// allowed. For example, "placement*2015" will return placement groups
38634// with names like "placement group June 2015", "placement group May
38635// 2015", or simply "placements 2015". Most of the searches also add
38636// wildcards implicitly at the start and the end of the search string.
38637// For example, a search string of "placementgroup" will match placement
38638// groups with name "my placementgroup", "placementgroup 2015", or
38639// simply "placementgroup".
38640func (c *PlacementGroupsListCall) SearchString(searchString string) *PlacementGroupsListCall {
38641	c.urlParams_.Set("searchString", searchString)
38642	return c
38643}
38644
38645// SiteIds sets the optional parameter "siteIds": Select only placement
38646// groups that are associated with these sites.
38647func (c *PlacementGroupsListCall) SiteIds(siteIds ...int64) *PlacementGroupsListCall {
38648	var siteIds_ []string
38649	for _, v := range siteIds {
38650		siteIds_ = append(siteIds_, fmt.Sprint(v))
38651	}
38652	c.urlParams_.SetMulti("siteIds", siteIds_)
38653	return c
38654}
38655
38656// SortField sets the optional parameter "sortField": Field by which to
38657// sort the list.
38658//
38659// Possible values:
38660//   "ID" (default)
38661//   "NAME"
38662func (c *PlacementGroupsListCall) SortField(sortField string) *PlacementGroupsListCall {
38663	c.urlParams_.Set("sortField", sortField)
38664	return c
38665}
38666
38667// SortOrder sets the optional parameter "sortOrder": Order of sorted
38668// results.
38669//
38670// Possible values:
38671//   "ASCENDING" (default)
38672//   "DESCENDING"
38673func (c *PlacementGroupsListCall) SortOrder(sortOrder string) *PlacementGroupsListCall {
38674	c.urlParams_.Set("sortOrder", sortOrder)
38675	return c
38676}
38677
38678// Fields allows partial responses to be retrieved. See
38679// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
38680// for more information.
38681func (c *PlacementGroupsListCall) Fields(s ...googleapi.Field) *PlacementGroupsListCall {
38682	c.urlParams_.Set("fields", googleapi.CombineFields(s))
38683	return c
38684}
38685
38686// IfNoneMatch sets the optional parameter which makes the operation
38687// fail if the object's ETag matches the given value. This is useful for
38688// getting updates only after the object has changed since the last
38689// request. Use googleapi.IsNotModified to check whether the response
38690// error from Do is the result of In-None-Match.
38691func (c *PlacementGroupsListCall) IfNoneMatch(entityTag string) *PlacementGroupsListCall {
38692	c.ifNoneMatch_ = entityTag
38693	return c
38694}
38695
38696// Context sets the context to be used in this call's Do method. Any
38697// pending HTTP request will be aborted if the provided context is
38698// canceled.
38699func (c *PlacementGroupsListCall) Context(ctx context.Context) *PlacementGroupsListCall {
38700	c.ctx_ = ctx
38701	return c
38702}
38703
38704// Header returns an http.Header that can be modified by the caller to
38705// add HTTP headers to the request.
38706func (c *PlacementGroupsListCall) Header() http.Header {
38707	if c.header_ == nil {
38708		c.header_ = make(http.Header)
38709	}
38710	return c.header_
38711}
38712
38713func (c *PlacementGroupsListCall) doRequest(alt string) (*http.Response, error) {
38714	reqHeaders := make(http.Header)
38715	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
38716	for k, v := range c.header_ {
38717		reqHeaders[k] = v
38718	}
38719	reqHeaders.Set("User-Agent", c.s.userAgent())
38720	if c.ifNoneMatch_ != "" {
38721		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
38722	}
38723	var body io.Reader = nil
38724	c.urlParams_.Set("alt", alt)
38725	c.urlParams_.Set("prettyPrint", "false")
38726	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
38727	urls += "?" + c.urlParams_.Encode()
38728	req, err := http.NewRequest("GET", urls, body)
38729	if err != nil {
38730		return nil, err
38731	}
38732	req.Header = reqHeaders
38733	googleapi.Expand(req.URL, map[string]string{
38734		"profileId": strconv.FormatInt(c.profileId, 10),
38735	})
38736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
38737}
38738
38739// Do executes the "dfareporting.placementGroups.list" call.
38740// Exactly one of *PlacementGroupsListResponse or error will be non-nil.
38741// Any non-2xx status code is an error. Response headers are in either
38742// *PlacementGroupsListResponse.ServerResponse.Header or (if a response
38743// was returned at all) in error.(*googleapi.Error).Header. Use
38744// googleapi.IsNotModified to check whether the returned error was
38745// because http.StatusNotModified was returned.
38746func (c *PlacementGroupsListCall) Do(opts ...googleapi.CallOption) (*PlacementGroupsListResponse, error) {
38747	gensupport.SetOptions(c.urlParams_, opts...)
38748	res, err := c.doRequest("json")
38749	if res != nil && res.StatusCode == http.StatusNotModified {
38750		if res.Body != nil {
38751			res.Body.Close()
38752		}
38753		return nil, &googleapi.Error{
38754			Code:   res.StatusCode,
38755			Header: res.Header,
38756		}
38757	}
38758	if err != nil {
38759		return nil, err
38760	}
38761	defer googleapi.CloseBody(res)
38762	if err := googleapi.CheckResponse(res); err != nil {
38763		return nil, err
38764	}
38765	ret := &PlacementGroupsListResponse{
38766		ServerResponse: googleapi.ServerResponse{
38767			Header:         res.Header,
38768			HTTPStatusCode: res.StatusCode,
38769		},
38770	}
38771	target := &ret
38772	if err := gensupport.DecodeResponse(target, res); err != nil {
38773		return nil, err
38774	}
38775	return ret, nil
38776	// {
38777	//   "description": "Retrieves a list of placement groups, possibly filtered. This method supports paging.",
38778	//   "httpMethod": "GET",
38779	//   "id": "dfareporting.placementGroups.list",
38780	//   "parameterOrder": [
38781	//     "profileId"
38782	//   ],
38783	//   "parameters": {
38784	//     "advertiserIds": {
38785	//       "description": "Select only placement groups that belong to these advertisers.",
38786	//       "format": "int64",
38787	//       "location": "query",
38788	//       "repeated": true,
38789	//       "type": "string"
38790	//     },
38791	//     "archived": {
38792	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
38793	//       "location": "query",
38794	//       "type": "boolean"
38795	//     },
38796	//     "campaignIds": {
38797	//       "description": "Select only placement groups that belong to these campaigns.",
38798	//       "format": "int64",
38799	//       "location": "query",
38800	//       "repeated": true,
38801	//       "type": "string"
38802	//     },
38803	//     "contentCategoryIds": {
38804	//       "description": "Select only placement groups that are associated with these content categories.",
38805	//       "format": "int64",
38806	//       "location": "query",
38807	//       "repeated": true,
38808	//       "type": "string"
38809	//     },
38810	//     "directorySiteIds": {
38811	//       "description": "Select only placement groups that are associated with these directory sites.",
38812	//       "format": "int64",
38813	//       "location": "query",
38814	//       "repeated": true,
38815	//       "type": "string"
38816	//     },
38817	//     "ids": {
38818	//       "description": "Select only placement groups with these IDs.",
38819	//       "format": "int64",
38820	//       "location": "query",
38821	//       "repeated": true,
38822	//       "type": "string"
38823	//     },
38824	//     "maxEndDate": {
38825	//       "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\".",
38826	//       "location": "query",
38827	//       "type": "string"
38828	//     },
38829	//     "maxResults": {
38830	//       "default": "800",
38831	//       "description": "Maximum number of results to return.",
38832	//       "format": "int32",
38833	//       "location": "query",
38834	//       "maximum": "800",
38835	//       "minimum": "0",
38836	//       "type": "integer"
38837	//     },
38838	//     "maxStartDate": {
38839	//       "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\".",
38840	//       "location": "query",
38841	//       "type": "string"
38842	//     },
38843	//     "minEndDate": {
38844	//       "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\".",
38845	//       "location": "query",
38846	//       "type": "string"
38847	//     },
38848	//     "minStartDate": {
38849	//       "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\".",
38850	//       "location": "query",
38851	//       "type": "string"
38852	//     },
38853	//     "pageToken": {
38854	//       "description": "Value of the nextPageToken from the previous result page.",
38855	//       "location": "query",
38856	//       "type": "string"
38857	//     },
38858	//     "placementGroupType": {
38859	//       "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.",
38860	//       "enum": [
38861	//         "PLACEMENT_PACKAGE",
38862	//         "PLACEMENT_ROADBLOCK"
38863	//       ],
38864	//       "enumDescriptions": [
38865	//         "",
38866	//         ""
38867	//       ],
38868	//       "location": "query",
38869	//       "type": "string"
38870	//     },
38871	//     "placementStrategyIds": {
38872	//       "description": "Select only placement groups that are associated with these placement strategies.",
38873	//       "format": "int64",
38874	//       "location": "query",
38875	//       "repeated": true,
38876	//       "type": "string"
38877	//     },
38878	//     "pricingTypes": {
38879	//       "description": "Select only placement groups with these pricing types.",
38880	//       "enum": [
38881	//         "PRICING_TYPE_CPA",
38882	//         "PRICING_TYPE_CPC",
38883	//         "PRICING_TYPE_CPM",
38884	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
38885	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
38886	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
38887	//       ],
38888	//       "enumDescriptions": [
38889	//         "",
38890	//         "",
38891	//         "",
38892	//         "",
38893	//         "",
38894	//         ""
38895	//       ],
38896	//       "location": "query",
38897	//       "repeated": true,
38898	//       "type": "string"
38899	//     },
38900	//     "profileId": {
38901	//       "description": "User profile ID associated with this request.",
38902	//       "format": "int64",
38903	//       "location": "path",
38904	//       "required": true,
38905	//       "type": "string"
38906	//     },
38907	//     "searchString": {
38908	//       "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\".",
38909	//       "location": "query",
38910	//       "type": "string"
38911	//     },
38912	//     "siteIds": {
38913	//       "description": "Select only placement groups that are associated with these sites.",
38914	//       "format": "int64",
38915	//       "location": "query",
38916	//       "repeated": true,
38917	//       "type": "string"
38918	//     },
38919	//     "sortField": {
38920	//       "default": "ID",
38921	//       "description": "Field by which to sort the list.",
38922	//       "enum": [
38923	//         "ID",
38924	//         "NAME"
38925	//       ],
38926	//       "enumDescriptions": [
38927	//         "",
38928	//         ""
38929	//       ],
38930	//       "location": "query",
38931	//       "type": "string"
38932	//     },
38933	//     "sortOrder": {
38934	//       "default": "ASCENDING",
38935	//       "description": "Order of sorted results.",
38936	//       "enum": [
38937	//         "ASCENDING",
38938	//         "DESCENDING"
38939	//       ],
38940	//       "enumDescriptions": [
38941	//         "",
38942	//         ""
38943	//       ],
38944	//       "location": "query",
38945	//       "type": "string"
38946	//     }
38947	//   },
38948	//   "path": "userprofiles/{profileId}/placementGroups",
38949	//   "response": {
38950	//     "$ref": "PlacementGroupsListResponse"
38951	//   },
38952	//   "scopes": [
38953	//     "https://www.googleapis.com/auth/dfatrafficking"
38954	//   ]
38955	// }
38956
38957}
38958
38959// Pages invokes f for each page of results.
38960// A non-nil error returned from f will halt the iteration.
38961// The provided context supersedes any context provided to the Context method.
38962func (c *PlacementGroupsListCall) Pages(ctx context.Context, f func(*PlacementGroupsListResponse) error) error {
38963	c.ctx_ = ctx
38964	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
38965	for {
38966		x, err := c.Do()
38967		if err != nil {
38968			return err
38969		}
38970		if err := f(x); err != nil {
38971			return err
38972		}
38973		if x.NextPageToken == "" {
38974			return nil
38975		}
38976		c.PageToken(x.NextPageToken)
38977	}
38978}
38979
38980// method id "dfareporting.placementGroups.patch":
38981
38982type PlacementGroupsPatchCall struct {
38983	s              *Service
38984	profileId      int64
38985	placementgroup *PlacementGroup
38986	urlParams_     gensupport.URLParams
38987	ctx_           context.Context
38988	header_        http.Header
38989}
38990
38991// Patch: Updates an existing placement group. This method supports
38992// patch semantics.
38993func (r *PlacementGroupsService) Patch(profileId int64, id int64, placementgroup *PlacementGroup) *PlacementGroupsPatchCall {
38994	c := &PlacementGroupsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
38995	c.profileId = profileId
38996	c.urlParams_.Set("id", fmt.Sprint(id))
38997	c.placementgroup = placementgroup
38998	return c
38999}
39000
39001// Fields allows partial responses to be retrieved. See
39002// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39003// for more information.
39004func (c *PlacementGroupsPatchCall) Fields(s ...googleapi.Field) *PlacementGroupsPatchCall {
39005	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39006	return c
39007}
39008
39009// Context sets the context to be used in this call's Do method. Any
39010// pending HTTP request will be aborted if the provided context is
39011// canceled.
39012func (c *PlacementGroupsPatchCall) Context(ctx context.Context) *PlacementGroupsPatchCall {
39013	c.ctx_ = ctx
39014	return c
39015}
39016
39017// Header returns an http.Header that can be modified by the caller to
39018// add HTTP headers to the request.
39019func (c *PlacementGroupsPatchCall) Header() http.Header {
39020	if c.header_ == nil {
39021		c.header_ = make(http.Header)
39022	}
39023	return c.header_
39024}
39025
39026func (c *PlacementGroupsPatchCall) doRequest(alt string) (*http.Response, error) {
39027	reqHeaders := make(http.Header)
39028	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39029	for k, v := range c.header_ {
39030		reqHeaders[k] = v
39031	}
39032	reqHeaders.Set("User-Agent", c.s.userAgent())
39033	var body io.Reader = nil
39034	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
39035	if err != nil {
39036		return nil, err
39037	}
39038	reqHeaders.Set("Content-Type", "application/json")
39039	c.urlParams_.Set("alt", alt)
39040	c.urlParams_.Set("prettyPrint", "false")
39041	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
39042	urls += "?" + c.urlParams_.Encode()
39043	req, err := http.NewRequest("PATCH", urls, body)
39044	if err != nil {
39045		return nil, err
39046	}
39047	req.Header = reqHeaders
39048	googleapi.Expand(req.URL, map[string]string{
39049		"profileId": strconv.FormatInt(c.profileId, 10),
39050	})
39051	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39052}
39053
39054// Do executes the "dfareporting.placementGroups.patch" call.
39055// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
39056// status code is an error. Response headers are in either
39057// *PlacementGroup.ServerResponse.Header or (if a response was returned
39058// at all) in error.(*googleapi.Error).Header. Use
39059// googleapi.IsNotModified to check whether the returned error was
39060// because http.StatusNotModified was returned.
39061func (c *PlacementGroupsPatchCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
39062	gensupport.SetOptions(c.urlParams_, opts...)
39063	res, err := c.doRequest("json")
39064	if res != nil && res.StatusCode == http.StatusNotModified {
39065		if res.Body != nil {
39066			res.Body.Close()
39067		}
39068		return nil, &googleapi.Error{
39069			Code:   res.StatusCode,
39070			Header: res.Header,
39071		}
39072	}
39073	if err != nil {
39074		return nil, err
39075	}
39076	defer googleapi.CloseBody(res)
39077	if err := googleapi.CheckResponse(res); err != nil {
39078		return nil, err
39079	}
39080	ret := &PlacementGroup{
39081		ServerResponse: googleapi.ServerResponse{
39082			Header:         res.Header,
39083			HTTPStatusCode: res.StatusCode,
39084		},
39085	}
39086	target := &ret
39087	if err := gensupport.DecodeResponse(target, res); err != nil {
39088		return nil, err
39089	}
39090	return ret, nil
39091	// {
39092	//   "description": "Updates an existing placement group. This method supports patch semantics.",
39093	//   "httpMethod": "PATCH",
39094	//   "id": "dfareporting.placementGroups.patch",
39095	//   "parameterOrder": [
39096	//     "profileId",
39097	//     "id"
39098	//   ],
39099	//   "parameters": {
39100	//     "id": {
39101	//       "description": "Placement group ID.",
39102	//       "format": "int64",
39103	//       "location": "query",
39104	//       "required": true,
39105	//       "type": "string"
39106	//     },
39107	//     "profileId": {
39108	//       "description": "User profile ID associated with this request.",
39109	//       "format": "int64",
39110	//       "location": "path",
39111	//       "required": true,
39112	//       "type": "string"
39113	//     }
39114	//   },
39115	//   "path": "userprofiles/{profileId}/placementGroups",
39116	//   "request": {
39117	//     "$ref": "PlacementGroup"
39118	//   },
39119	//   "response": {
39120	//     "$ref": "PlacementGroup"
39121	//   },
39122	//   "scopes": [
39123	//     "https://www.googleapis.com/auth/dfatrafficking"
39124	//   ]
39125	// }
39126
39127}
39128
39129// method id "dfareporting.placementGroups.update":
39130
39131type PlacementGroupsUpdateCall struct {
39132	s              *Service
39133	profileId      int64
39134	placementgroup *PlacementGroup
39135	urlParams_     gensupport.URLParams
39136	ctx_           context.Context
39137	header_        http.Header
39138}
39139
39140// Update: Updates an existing placement group.
39141func (r *PlacementGroupsService) Update(profileId int64, placementgroup *PlacementGroup) *PlacementGroupsUpdateCall {
39142	c := &PlacementGroupsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39143	c.profileId = profileId
39144	c.placementgroup = placementgroup
39145	return c
39146}
39147
39148// Fields allows partial responses to be retrieved. See
39149// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39150// for more information.
39151func (c *PlacementGroupsUpdateCall) Fields(s ...googleapi.Field) *PlacementGroupsUpdateCall {
39152	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39153	return c
39154}
39155
39156// Context sets the context to be used in this call's Do method. Any
39157// pending HTTP request will be aborted if the provided context is
39158// canceled.
39159func (c *PlacementGroupsUpdateCall) Context(ctx context.Context) *PlacementGroupsUpdateCall {
39160	c.ctx_ = ctx
39161	return c
39162}
39163
39164// Header returns an http.Header that can be modified by the caller to
39165// add HTTP headers to the request.
39166func (c *PlacementGroupsUpdateCall) Header() http.Header {
39167	if c.header_ == nil {
39168		c.header_ = make(http.Header)
39169	}
39170	return c.header_
39171}
39172
39173func (c *PlacementGroupsUpdateCall) doRequest(alt string) (*http.Response, error) {
39174	reqHeaders := make(http.Header)
39175	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39176	for k, v := range c.header_ {
39177		reqHeaders[k] = v
39178	}
39179	reqHeaders.Set("User-Agent", c.s.userAgent())
39180	var body io.Reader = nil
39181	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementgroup)
39182	if err != nil {
39183		return nil, err
39184	}
39185	reqHeaders.Set("Content-Type", "application/json")
39186	c.urlParams_.Set("alt", alt)
39187	c.urlParams_.Set("prettyPrint", "false")
39188	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementGroups")
39189	urls += "?" + c.urlParams_.Encode()
39190	req, err := http.NewRequest("PUT", urls, body)
39191	if err != nil {
39192		return nil, err
39193	}
39194	req.Header = reqHeaders
39195	googleapi.Expand(req.URL, map[string]string{
39196		"profileId": strconv.FormatInt(c.profileId, 10),
39197	})
39198	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39199}
39200
39201// Do executes the "dfareporting.placementGroups.update" call.
39202// Exactly one of *PlacementGroup or error will be non-nil. Any non-2xx
39203// status code is an error. Response headers are in either
39204// *PlacementGroup.ServerResponse.Header or (if a response was returned
39205// at all) in error.(*googleapi.Error).Header. Use
39206// googleapi.IsNotModified to check whether the returned error was
39207// because http.StatusNotModified was returned.
39208func (c *PlacementGroupsUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementGroup, error) {
39209	gensupport.SetOptions(c.urlParams_, opts...)
39210	res, err := c.doRequest("json")
39211	if res != nil && res.StatusCode == http.StatusNotModified {
39212		if res.Body != nil {
39213			res.Body.Close()
39214		}
39215		return nil, &googleapi.Error{
39216			Code:   res.StatusCode,
39217			Header: res.Header,
39218		}
39219	}
39220	if err != nil {
39221		return nil, err
39222	}
39223	defer googleapi.CloseBody(res)
39224	if err := googleapi.CheckResponse(res); err != nil {
39225		return nil, err
39226	}
39227	ret := &PlacementGroup{
39228		ServerResponse: googleapi.ServerResponse{
39229			Header:         res.Header,
39230			HTTPStatusCode: res.StatusCode,
39231		},
39232	}
39233	target := &ret
39234	if err := gensupport.DecodeResponse(target, res); err != nil {
39235		return nil, err
39236	}
39237	return ret, nil
39238	// {
39239	//   "description": "Updates an existing placement group.",
39240	//   "httpMethod": "PUT",
39241	//   "id": "dfareporting.placementGroups.update",
39242	//   "parameterOrder": [
39243	//     "profileId"
39244	//   ],
39245	//   "parameters": {
39246	//     "profileId": {
39247	//       "description": "User profile ID associated with this request.",
39248	//       "format": "int64",
39249	//       "location": "path",
39250	//       "required": true,
39251	//       "type": "string"
39252	//     }
39253	//   },
39254	//   "path": "userprofiles/{profileId}/placementGroups",
39255	//   "request": {
39256	//     "$ref": "PlacementGroup"
39257	//   },
39258	//   "response": {
39259	//     "$ref": "PlacementGroup"
39260	//   },
39261	//   "scopes": [
39262	//     "https://www.googleapis.com/auth/dfatrafficking"
39263	//   ]
39264	// }
39265
39266}
39267
39268// method id "dfareporting.placementStrategies.delete":
39269
39270type PlacementStrategiesDeleteCall struct {
39271	s          *Service
39272	profileId  int64
39273	id         int64
39274	urlParams_ gensupport.URLParams
39275	ctx_       context.Context
39276	header_    http.Header
39277}
39278
39279// Delete: Deletes an existing placement strategy.
39280func (r *PlacementStrategiesService) Delete(profileId int64, id int64) *PlacementStrategiesDeleteCall {
39281	c := &PlacementStrategiesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39282	c.profileId = profileId
39283	c.id = id
39284	return c
39285}
39286
39287// Fields allows partial responses to be retrieved. See
39288// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39289// for more information.
39290func (c *PlacementStrategiesDeleteCall) Fields(s ...googleapi.Field) *PlacementStrategiesDeleteCall {
39291	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39292	return c
39293}
39294
39295// Context sets the context to be used in this call's Do method. Any
39296// pending HTTP request will be aborted if the provided context is
39297// canceled.
39298func (c *PlacementStrategiesDeleteCall) Context(ctx context.Context) *PlacementStrategiesDeleteCall {
39299	c.ctx_ = ctx
39300	return c
39301}
39302
39303// Header returns an http.Header that can be modified by the caller to
39304// add HTTP headers to the request.
39305func (c *PlacementStrategiesDeleteCall) Header() http.Header {
39306	if c.header_ == nil {
39307		c.header_ = make(http.Header)
39308	}
39309	return c.header_
39310}
39311
39312func (c *PlacementStrategiesDeleteCall) doRequest(alt string) (*http.Response, error) {
39313	reqHeaders := make(http.Header)
39314	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39315	for k, v := range c.header_ {
39316		reqHeaders[k] = v
39317	}
39318	reqHeaders.Set("User-Agent", c.s.userAgent())
39319	var body io.Reader = nil
39320	c.urlParams_.Set("alt", alt)
39321	c.urlParams_.Set("prettyPrint", "false")
39322	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39323	urls += "?" + c.urlParams_.Encode()
39324	req, err := http.NewRequest("DELETE", urls, body)
39325	if err != nil {
39326		return nil, err
39327	}
39328	req.Header = reqHeaders
39329	googleapi.Expand(req.URL, map[string]string{
39330		"profileId": strconv.FormatInt(c.profileId, 10),
39331		"id":        strconv.FormatInt(c.id, 10),
39332	})
39333	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39334}
39335
39336// Do executes the "dfareporting.placementStrategies.delete" call.
39337func (c *PlacementStrategiesDeleteCall) Do(opts ...googleapi.CallOption) error {
39338	gensupport.SetOptions(c.urlParams_, opts...)
39339	res, err := c.doRequest("json")
39340	if err != nil {
39341		return err
39342	}
39343	defer googleapi.CloseBody(res)
39344	if err := googleapi.CheckResponse(res); err != nil {
39345		return err
39346	}
39347	return nil
39348	// {
39349	//   "description": "Deletes an existing placement strategy.",
39350	//   "httpMethod": "DELETE",
39351	//   "id": "dfareporting.placementStrategies.delete",
39352	//   "parameterOrder": [
39353	//     "profileId",
39354	//     "id"
39355	//   ],
39356	//   "parameters": {
39357	//     "id": {
39358	//       "description": "Placement strategy ID.",
39359	//       "format": "int64",
39360	//       "location": "path",
39361	//       "required": true,
39362	//       "type": "string"
39363	//     },
39364	//     "profileId": {
39365	//       "description": "User profile ID associated with this request.",
39366	//       "format": "int64",
39367	//       "location": "path",
39368	//       "required": true,
39369	//       "type": "string"
39370	//     }
39371	//   },
39372	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39373	//   "scopes": [
39374	//     "https://www.googleapis.com/auth/dfatrafficking"
39375	//   ]
39376	// }
39377
39378}
39379
39380// method id "dfareporting.placementStrategies.get":
39381
39382type PlacementStrategiesGetCall struct {
39383	s            *Service
39384	profileId    int64
39385	id           int64
39386	urlParams_   gensupport.URLParams
39387	ifNoneMatch_ string
39388	ctx_         context.Context
39389	header_      http.Header
39390}
39391
39392// Get: Gets one placement strategy by ID.
39393func (r *PlacementStrategiesService) Get(profileId int64, id int64) *PlacementStrategiesGetCall {
39394	c := &PlacementStrategiesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39395	c.profileId = profileId
39396	c.id = id
39397	return c
39398}
39399
39400// Fields allows partial responses to be retrieved. See
39401// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39402// for more information.
39403func (c *PlacementStrategiesGetCall) Fields(s ...googleapi.Field) *PlacementStrategiesGetCall {
39404	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39405	return c
39406}
39407
39408// IfNoneMatch sets the optional parameter which makes the operation
39409// fail if the object's ETag matches the given value. This is useful for
39410// getting updates only after the object has changed since the last
39411// request. Use googleapi.IsNotModified to check whether the response
39412// error from Do is the result of In-None-Match.
39413func (c *PlacementStrategiesGetCall) IfNoneMatch(entityTag string) *PlacementStrategiesGetCall {
39414	c.ifNoneMatch_ = entityTag
39415	return c
39416}
39417
39418// Context sets the context to be used in this call's Do method. Any
39419// pending HTTP request will be aborted if the provided context is
39420// canceled.
39421func (c *PlacementStrategiesGetCall) Context(ctx context.Context) *PlacementStrategiesGetCall {
39422	c.ctx_ = ctx
39423	return c
39424}
39425
39426// Header returns an http.Header that can be modified by the caller to
39427// add HTTP headers to the request.
39428func (c *PlacementStrategiesGetCall) Header() http.Header {
39429	if c.header_ == nil {
39430		c.header_ = make(http.Header)
39431	}
39432	return c.header_
39433}
39434
39435func (c *PlacementStrategiesGetCall) doRequest(alt string) (*http.Response, error) {
39436	reqHeaders := make(http.Header)
39437	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39438	for k, v := range c.header_ {
39439		reqHeaders[k] = v
39440	}
39441	reqHeaders.Set("User-Agent", c.s.userAgent())
39442	if c.ifNoneMatch_ != "" {
39443		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39444	}
39445	var body io.Reader = nil
39446	c.urlParams_.Set("alt", alt)
39447	c.urlParams_.Set("prettyPrint", "false")
39448	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies/{id}")
39449	urls += "?" + c.urlParams_.Encode()
39450	req, err := http.NewRequest("GET", urls, body)
39451	if err != nil {
39452		return nil, err
39453	}
39454	req.Header = reqHeaders
39455	googleapi.Expand(req.URL, map[string]string{
39456		"profileId": strconv.FormatInt(c.profileId, 10),
39457		"id":        strconv.FormatInt(c.id, 10),
39458	})
39459	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39460}
39461
39462// Do executes the "dfareporting.placementStrategies.get" call.
39463// Exactly one of *PlacementStrategy or error will be non-nil. Any
39464// non-2xx status code is an error. Response headers are in either
39465// *PlacementStrategy.ServerResponse.Header or (if a response was
39466// returned at all) in error.(*googleapi.Error).Header. Use
39467// googleapi.IsNotModified to check whether the returned error was
39468// because http.StatusNotModified was returned.
39469func (c *PlacementStrategiesGetCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39470	gensupport.SetOptions(c.urlParams_, opts...)
39471	res, err := c.doRequest("json")
39472	if res != nil && res.StatusCode == http.StatusNotModified {
39473		if res.Body != nil {
39474			res.Body.Close()
39475		}
39476		return nil, &googleapi.Error{
39477			Code:   res.StatusCode,
39478			Header: res.Header,
39479		}
39480	}
39481	if err != nil {
39482		return nil, err
39483	}
39484	defer googleapi.CloseBody(res)
39485	if err := googleapi.CheckResponse(res); err != nil {
39486		return nil, err
39487	}
39488	ret := &PlacementStrategy{
39489		ServerResponse: googleapi.ServerResponse{
39490			Header:         res.Header,
39491			HTTPStatusCode: res.StatusCode,
39492		},
39493	}
39494	target := &ret
39495	if err := gensupport.DecodeResponse(target, res); err != nil {
39496		return nil, err
39497	}
39498	return ret, nil
39499	// {
39500	//   "description": "Gets one placement strategy by ID.",
39501	//   "httpMethod": "GET",
39502	//   "id": "dfareporting.placementStrategies.get",
39503	//   "parameterOrder": [
39504	//     "profileId",
39505	//     "id"
39506	//   ],
39507	//   "parameters": {
39508	//     "id": {
39509	//       "description": "Placement strategy ID.",
39510	//       "format": "int64",
39511	//       "location": "path",
39512	//       "required": true,
39513	//       "type": "string"
39514	//     },
39515	//     "profileId": {
39516	//       "description": "User profile ID associated with this request.",
39517	//       "format": "int64",
39518	//       "location": "path",
39519	//       "required": true,
39520	//       "type": "string"
39521	//     }
39522	//   },
39523	//   "path": "userprofiles/{profileId}/placementStrategies/{id}",
39524	//   "response": {
39525	//     "$ref": "PlacementStrategy"
39526	//   },
39527	//   "scopes": [
39528	//     "https://www.googleapis.com/auth/dfatrafficking"
39529	//   ]
39530	// }
39531
39532}
39533
39534// method id "dfareporting.placementStrategies.insert":
39535
39536type PlacementStrategiesInsertCall struct {
39537	s                 *Service
39538	profileId         int64
39539	placementstrategy *PlacementStrategy
39540	urlParams_        gensupport.URLParams
39541	ctx_              context.Context
39542	header_           http.Header
39543}
39544
39545// Insert: Inserts a new placement strategy.
39546func (r *PlacementStrategiesService) Insert(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesInsertCall {
39547	c := &PlacementStrategiesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39548	c.profileId = profileId
39549	c.placementstrategy = placementstrategy
39550	return c
39551}
39552
39553// Fields allows partial responses to be retrieved. See
39554// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39555// for more information.
39556func (c *PlacementStrategiesInsertCall) Fields(s ...googleapi.Field) *PlacementStrategiesInsertCall {
39557	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39558	return c
39559}
39560
39561// Context sets the context to be used in this call's Do method. Any
39562// pending HTTP request will be aborted if the provided context is
39563// canceled.
39564func (c *PlacementStrategiesInsertCall) Context(ctx context.Context) *PlacementStrategiesInsertCall {
39565	c.ctx_ = ctx
39566	return c
39567}
39568
39569// Header returns an http.Header that can be modified by the caller to
39570// add HTTP headers to the request.
39571func (c *PlacementStrategiesInsertCall) Header() http.Header {
39572	if c.header_ == nil {
39573		c.header_ = make(http.Header)
39574	}
39575	return c.header_
39576}
39577
39578func (c *PlacementStrategiesInsertCall) doRequest(alt string) (*http.Response, error) {
39579	reqHeaders := make(http.Header)
39580	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39581	for k, v := range c.header_ {
39582		reqHeaders[k] = v
39583	}
39584	reqHeaders.Set("User-Agent", c.s.userAgent())
39585	var body io.Reader = nil
39586	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
39587	if err != nil {
39588		return nil, err
39589	}
39590	reqHeaders.Set("Content-Type", "application/json")
39591	c.urlParams_.Set("alt", alt)
39592	c.urlParams_.Set("prettyPrint", "false")
39593	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
39594	urls += "?" + c.urlParams_.Encode()
39595	req, err := http.NewRequest("POST", urls, body)
39596	if err != nil {
39597		return nil, err
39598	}
39599	req.Header = reqHeaders
39600	googleapi.Expand(req.URL, map[string]string{
39601		"profileId": strconv.FormatInt(c.profileId, 10),
39602	})
39603	return gensupport.SendRequest(c.ctx_, c.s.client, req)
39604}
39605
39606// Do executes the "dfareporting.placementStrategies.insert" call.
39607// Exactly one of *PlacementStrategy or error will be non-nil. Any
39608// non-2xx status code is an error. Response headers are in either
39609// *PlacementStrategy.ServerResponse.Header or (if a response was
39610// returned at all) in error.(*googleapi.Error).Header. Use
39611// googleapi.IsNotModified to check whether the returned error was
39612// because http.StatusNotModified was returned.
39613func (c *PlacementStrategiesInsertCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
39614	gensupport.SetOptions(c.urlParams_, opts...)
39615	res, err := c.doRequest("json")
39616	if res != nil && res.StatusCode == http.StatusNotModified {
39617		if res.Body != nil {
39618			res.Body.Close()
39619		}
39620		return nil, &googleapi.Error{
39621			Code:   res.StatusCode,
39622			Header: res.Header,
39623		}
39624	}
39625	if err != nil {
39626		return nil, err
39627	}
39628	defer googleapi.CloseBody(res)
39629	if err := googleapi.CheckResponse(res); err != nil {
39630		return nil, err
39631	}
39632	ret := &PlacementStrategy{
39633		ServerResponse: googleapi.ServerResponse{
39634			Header:         res.Header,
39635			HTTPStatusCode: res.StatusCode,
39636		},
39637	}
39638	target := &ret
39639	if err := gensupport.DecodeResponse(target, res); err != nil {
39640		return nil, err
39641	}
39642	return ret, nil
39643	// {
39644	//   "description": "Inserts a new placement strategy.",
39645	//   "httpMethod": "POST",
39646	//   "id": "dfareporting.placementStrategies.insert",
39647	//   "parameterOrder": [
39648	//     "profileId"
39649	//   ],
39650	//   "parameters": {
39651	//     "profileId": {
39652	//       "description": "User profile ID associated with this request.",
39653	//       "format": "int64",
39654	//       "location": "path",
39655	//       "required": true,
39656	//       "type": "string"
39657	//     }
39658	//   },
39659	//   "path": "userprofiles/{profileId}/placementStrategies",
39660	//   "request": {
39661	//     "$ref": "PlacementStrategy"
39662	//   },
39663	//   "response": {
39664	//     "$ref": "PlacementStrategy"
39665	//   },
39666	//   "scopes": [
39667	//     "https://www.googleapis.com/auth/dfatrafficking"
39668	//   ]
39669	// }
39670
39671}
39672
39673// method id "dfareporting.placementStrategies.list":
39674
39675type PlacementStrategiesListCall struct {
39676	s            *Service
39677	profileId    int64
39678	urlParams_   gensupport.URLParams
39679	ifNoneMatch_ string
39680	ctx_         context.Context
39681	header_      http.Header
39682}
39683
39684// List: Retrieves a list of placement strategies, possibly filtered.
39685// This method supports paging.
39686func (r *PlacementStrategiesService) List(profileId int64) *PlacementStrategiesListCall {
39687	c := &PlacementStrategiesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39688	c.profileId = profileId
39689	return c
39690}
39691
39692// Ids sets the optional parameter "ids": Select only placement
39693// strategies with these IDs.
39694func (c *PlacementStrategiesListCall) Ids(ids ...int64) *PlacementStrategiesListCall {
39695	var ids_ []string
39696	for _, v := range ids {
39697		ids_ = append(ids_, fmt.Sprint(v))
39698	}
39699	c.urlParams_.SetMulti("ids", ids_)
39700	return c
39701}
39702
39703// MaxResults sets the optional parameter "maxResults": Maximum number
39704// of results to return.
39705func (c *PlacementStrategiesListCall) MaxResults(maxResults int64) *PlacementStrategiesListCall {
39706	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
39707	return c
39708}
39709
39710// PageToken sets the optional parameter "pageToken": Value of the
39711// nextPageToken from the previous result page.
39712func (c *PlacementStrategiesListCall) PageToken(pageToken string) *PlacementStrategiesListCall {
39713	c.urlParams_.Set("pageToken", pageToken)
39714	return c
39715}
39716
39717// SearchString sets the optional parameter "searchString": Allows
39718// searching for objects by name or ID. Wildcards (*) are allowed. For
39719// example, "placementstrategy*2015" will return objects with names like
39720// "placementstrategy June 2015", "placementstrategy April 2015", or
39721// simply "placementstrategy 2015". Most of the searches also add
39722// wildcards implicitly at the start and the end of the search string.
39723// For example, a search string of "placementstrategy" will match
39724// objects with name "my placementstrategy", "placementstrategy 2015",
39725// or simply "placementstrategy".
39726func (c *PlacementStrategiesListCall) SearchString(searchString string) *PlacementStrategiesListCall {
39727	c.urlParams_.Set("searchString", searchString)
39728	return c
39729}
39730
39731// SortField sets the optional parameter "sortField": Field by which to
39732// sort the list.
39733//
39734// Possible values:
39735//   "ID" (default)
39736//   "NAME"
39737func (c *PlacementStrategiesListCall) SortField(sortField string) *PlacementStrategiesListCall {
39738	c.urlParams_.Set("sortField", sortField)
39739	return c
39740}
39741
39742// SortOrder sets the optional parameter "sortOrder": Order of sorted
39743// results.
39744//
39745// Possible values:
39746//   "ASCENDING" (default)
39747//   "DESCENDING"
39748func (c *PlacementStrategiesListCall) SortOrder(sortOrder string) *PlacementStrategiesListCall {
39749	c.urlParams_.Set("sortOrder", sortOrder)
39750	return c
39751}
39752
39753// Fields allows partial responses to be retrieved. See
39754// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39755// for more information.
39756func (c *PlacementStrategiesListCall) Fields(s ...googleapi.Field) *PlacementStrategiesListCall {
39757	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39758	return c
39759}
39760
39761// IfNoneMatch sets the optional parameter which makes the operation
39762// fail if the object's ETag matches the given value. This is useful for
39763// getting updates only after the object has changed since the last
39764// request. Use googleapi.IsNotModified to check whether the response
39765// error from Do is the result of In-None-Match.
39766func (c *PlacementStrategiesListCall) IfNoneMatch(entityTag string) *PlacementStrategiesListCall {
39767	c.ifNoneMatch_ = entityTag
39768	return c
39769}
39770
39771// Context sets the context to be used in this call's Do method. Any
39772// pending HTTP request will be aborted if the provided context is
39773// canceled.
39774func (c *PlacementStrategiesListCall) Context(ctx context.Context) *PlacementStrategiesListCall {
39775	c.ctx_ = ctx
39776	return c
39777}
39778
39779// Header returns an http.Header that can be modified by the caller to
39780// add HTTP headers to the request.
39781func (c *PlacementStrategiesListCall) Header() http.Header {
39782	if c.header_ == nil {
39783		c.header_ = make(http.Header)
39784	}
39785	return c.header_
39786}
39787
39788func (c *PlacementStrategiesListCall) doRequest(alt string) (*http.Response, error) {
39789	reqHeaders := make(http.Header)
39790	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
39791	for k, v := range c.header_ {
39792		reqHeaders[k] = v
39793	}
39794	reqHeaders.Set("User-Agent", c.s.userAgent())
39795	if c.ifNoneMatch_ != "" {
39796		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
39797	}
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}/placementStrategies")
39802	urls += "?" + c.urlParams_.Encode()
39803	req, err := http.NewRequest("GET", 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.placementStrategies.list" call.
39815// Exactly one of *PlacementStrategiesListResponse or error will be
39816// non-nil. Any non-2xx status code is an error. Response headers are in
39817// either *PlacementStrategiesListResponse.ServerResponse.Header or (if
39818// a response was returned at all) in error.(*googleapi.Error).Header.
39819// Use googleapi.IsNotModified to check whether the returned error was
39820// because http.StatusNotModified was returned.
39821func (c *PlacementStrategiesListCall) Do(opts ...googleapi.CallOption) (*PlacementStrategiesListResponse, 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 := &PlacementStrategiesListResponse{
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": "Retrieves a list of placement strategies, possibly filtered. This method supports paging.",
39853	//   "httpMethod": "GET",
39854	//   "id": "dfareporting.placementStrategies.list",
39855	//   "parameterOrder": [
39856	//     "profileId"
39857	//   ],
39858	//   "parameters": {
39859	//     "ids": {
39860	//       "description": "Select only placement strategies with these IDs.",
39861	//       "format": "int64",
39862	//       "location": "query",
39863	//       "repeated": true,
39864	//       "type": "string"
39865	//     },
39866	//     "maxResults": {
39867	//       "default": "1000",
39868	//       "description": "Maximum number of results to return.",
39869	//       "format": "int32",
39870	//       "location": "query",
39871	//       "maximum": "1000",
39872	//       "minimum": "0",
39873	//       "type": "integer"
39874	//     },
39875	//     "pageToken": {
39876	//       "description": "Value of the nextPageToken from the previous result page.",
39877	//       "location": "query",
39878	//       "type": "string"
39879	//     },
39880	//     "profileId": {
39881	//       "description": "User profile ID associated with this request.",
39882	//       "format": "int64",
39883	//       "location": "path",
39884	//       "required": true,
39885	//       "type": "string"
39886	//     },
39887	//     "searchString": {
39888	//       "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\".",
39889	//       "location": "query",
39890	//       "type": "string"
39891	//     },
39892	//     "sortField": {
39893	//       "default": "ID",
39894	//       "description": "Field by which to sort the list.",
39895	//       "enum": [
39896	//         "ID",
39897	//         "NAME"
39898	//       ],
39899	//       "enumDescriptions": [
39900	//         "",
39901	//         ""
39902	//       ],
39903	//       "location": "query",
39904	//       "type": "string"
39905	//     },
39906	//     "sortOrder": {
39907	//       "default": "ASCENDING",
39908	//       "description": "Order of sorted results.",
39909	//       "enum": [
39910	//         "ASCENDING",
39911	//         "DESCENDING"
39912	//       ],
39913	//       "enumDescriptions": [
39914	//         "",
39915	//         ""
39916	//       ],
39917	//       "location": "query",
39918	//       "type": "string"
39919	//     }
39920	//   },
39921	//   "path": "userprofiles/{profileId}/placementStrategies",
39922	//   "response": {
39923	//     "$ref": "PlacementStrategiesListResponse"
39924	//   },
39925	//   "scopes": [
39926	//     "https://www.googleapis.com/auth/dfatrafficking"
39927	//   ]
39928	// }
39929
39930}
39931
39932// Pages invokes f for each page of results.
39933// A non-nil error returned from f will halt the iteration.
39934// The provided context supersedes any context provided to the Context method.
39935func (c *PlacementStrategiesListCall) Pages(ctx context.Context, f func(*PlacementStrategiesListResponse) error) error {
39936	c.ctx_ = ctx
39937	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
39938	for {
39939		x, err := c.Do()
39940		if err != nil {
39941			return err
39942		}
39943		if err := f(x); err != nil {
39944			return err
39945		}
39946		if x.NextPageToken == "" {
39947			return nil
39948		}
39949		c.PageToken(x.NextPageToken)
39950	}
39951}
39952
39953// method id "dfareporting.placementStrategies.patch":
39954
39955type PlacementStrategiesPatchCall struct {
39956	s                 *Service
39957	profileId         int64
39958	placementstrategy *PlacementStrategy
39959	urlParams_        gensupport.URLParams
39960	ctx_              context.Context
39961	header_           http.Header
39962}
39963
39964// Patch: Updates an existing placement strategy. This method supports
39965// patch semantics.
39966func (r *PlacementStrategiesService) Patch(profileId int64, id int64, placementstrategy *PlacementStrategy) *PlacementStrategiesPatchCall {
39967	c := &PlacementStrategiesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
39968	c.profileId = profileId
39969	c.urlParams_.Set("id", fmt.Sprint(id))
39970	c.placementstrategy = placementstrategy
39971	return c
39972}
39973
39974// Fields allows partial responses to be retrieved. See
39975// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
39976// for more information.
39977func (c *PlacementStrategiesPatchCall) Fields(s ...googleapi.Field) *PlacementStrategiesPatchCall {
39978	c.urlParams_.Set("fields", googleapi.CombineFields(s))
39979	return c
39980}
39981
39982// Context sets the context to be used in this call's Do method. Any
39983// pending HTTP request will be aborted if the provided context is
39984// canceled.
39985func (c *PlacementStrategiesPatchCall) Context(ctx context.Context) *PlacementStrategiesPatchCall {
39986	c.ctx_ = ctx
39987	return c
39988}
39989
39990// Header returns an http.Header that can be modified by the caller to
39991// add HTTP headers to the request.
39992func (c *PlacementStrategiesPatchCall) Header() http.Header {
39993	if c.header_ == nil {
39994		c.header_ = make(http.Header)
39995	}
39996	return c.header_
39997}
39998
39999func (c *PlacementStrategiesPatchCall) doRequest(alt string) (*http.Response, error) {
40000	reqHeaders := make(http.Header)
40001	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40002	for k, v := range c.header_ {
40003		reqHeaders[k] = v
40004	}
40005	reqHeaders.Set("User-Agent", c.s.userAgent())
40006	var body io.Reader = nil
40007	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
40008	if err != nil {
40009		return nil, err
40010	}
40011	reqHeaders.Set("Content-Type", "application/json")
40012	c.urlParams_.Set("alt", alt)
40013	c.urlParams_.Set("prettyPrint", "false")
40014	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
40015	urls += "?" + c.urlParams_.Encode()
40016	req, err := http.NewRequest("PATCH", urls, body)
40017	if err != nil {
40018		return nil, err
40019	}
40020	req.Header = reqHeaders
40021	googleapi.Expand(req.URL, map[string]string{
40022		"profileId": strconv.FormatInt(c.profileId, 10),
40023	})
40024	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40025}
40026
40027// Do executes the "dfareporting.placementStrategies.patch" call.
40028// Exactly one of *PlacementStrategy or error will be non-nil. Any
40029// non-2xx status code is an error. Response headers are in either
40030// *PlacementStrategy.ServerResponse.Header or (if a response was
40031// returned at all) in error.(*googleapi.Error).Header. Use
40032// googleapi.IsNotModified to check whether the returned error was
40033// because http.StatusNotModified was returned.
40034func (c *PlacementStrategiesPatchCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
40035	gensupport.SetOptions(c.urlParams_, opts...)
40036	res, err := c.doRequest("json")
40037	if res != nil && res.StatusCode == http.StatusNotModified {
40038		if res.Body != nil {
40039			res.Body.Close()
40040		}
40041		return nil, &googleapi.Error{
40042			Code:   res.StatusCode,
40043			Header: res.Header,
40044		}
40045	}
40046	if err != nil {
40047		return nil, err
40048	}
40049	defer googleapi.CloseBody(res)
40050	if err := googleapi.CheckResponse(res); err != nil {
40051		return nil, err
40052	}
40053	ret := &PlacementStrategy{
40054		ServerResponse: googleapi.ServerResponse{
40055			Header:         res.Header,
40056			HTTPStatusCode: res.StatusCode,
40057		},
40058	}
40059	target := &ret
40060	if err := gensupport.DecodeResponse(target, res); err != nil {
40061		return nil, err
40062	}
40063	return ret, nil
40064	// {
40065	//   "description": "Updates an existing placement strategy. This method supports patch semantics.",
40066	//   "httpMethod": "PATCH",
40067	//   "id": "dfareporting.placementStrategies.patch",
40068	//   "parameterOrder": [
40069	//     "profileId",
40070	//     "id"
40071	//   ],
40072	//   "parameters": {
40073	//     "id": {
40074	//       "description": "Placement strategy ID.",
40075	//       "format": "int64",
40076	//       "location": "query",
40077	//       "required": true,
40078	//       "type": "string"
40079	//     },
40080	//     "profileId": {
40081	//       "description": "User profile ID associated with this request.",
40082	//       "format": "int64",
40083	//       "location": "path",
40084	//       "required": true,
40085	//       "type": "string"
40086	//     }
40087	//   },
40088	//   "path": "userprofiles/{profileId}/placementStrategies",
40089	//   "request": {
40090	//     "$ref": "PlacementStrategy"
40091	//   },
40092	//   "response": {
40093	//     "$ref": "PlacementStrategy"
40094	//   },
40095	//   "scopes": [
40096	//     "https://www.googleapis.com/auth/dfatrafficking"
40097	//   ]
40098	// }
40099
40100}
40101
40102// method id "dfareporting.placementStrategies.update":
40103
40104type PlacementStrategiesUpdateCall struct {
40105	s                 *Service
40106	profileId         int64
40107	placementstrategy *PlacementStrategy
40108	urlParams_        gensupport.URLParams
40109	ctx_              context.Context
40110	header_           http.Header
40111}
40112
40113// Update: Updates an existing placement strategy.
40114func (r *PlacementStrategiesService) Update(profileId int64, placementstrategy *PlacementStrategy) *PlacementStrategiesUpdateCall {
40115	c := &PlacementStrategiesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40116	c.profileId = profileId
40117	c.placementstrategy = placementstrategy
40118	return c
40119}
40120
40121// Fields allows partial responses to be retrieved. See
40122// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40123// for more information.
40124func (c *PlacementStrategiesUpdateCall) Fields(s ...googleapi.Field) *PlacementStrategiesUpdateCall {
40125	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40126	return c
40127}
40128
40129// Context sets the context to be used in this call's Do method. Any
40130// pending HTTP request will be aborted if the provided context is
40131// canceled.
40132func (c *PlacementStrategiesUpdateCall) Context(ctx context.Context) *PlacementStrategiesUpdateCall {
40133	c.ctx_ = ctx
40134	return c
40135}
40136
40137// Header returns an http.Header that can be modified by the caller to
40138// add HTTP headers to the request.
40139func (c *PlacementStrategiesUpdateCall) Header() http.Header {
40140	if c.header_ == nil {
40141		c.header_ = make(http.Header)
40142	}
40143	return c.header_
40144}
40145
40146func (c *PlacementStrategiesUpdateCall) doRequest(alt string) (*http.Response, error) {
40147	reqHeaders := make(http.Header)
40148	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40149	for k, v := range c.header_ {
40150		reqHeaders[k] = v
40151	}
40152	reqHeaders.Set("User-Agent", c.s.userAgent())
40153	var body io.Reader = nil
40154	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placementstrategy)
40155	if err != nil {
40156		return nil, err
40157	}
40158	reqHeaders.Set("Content-Type", "application/json")
40159	c.urlParams_.Set("alt", alt)
40160	c.urlParams_.Set("prettyPrint", "false")
40161	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placementStrategies")
40162	urls += "?" + c.urlParams_.Encode()
40163	req, err := http.NewRequest("PUT", urls, body)
40164	if err != nil {
40165		return nil, err
40166	}
40167	req.Header = reqHeaders
40168	googleapi.Expand(req.URL, map[string]string{
40169		"profileId": strconv.FormatInt(c.profileId, 10),
40170	})
40171	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40172}
40173
40174// Do executes the "dfareporting.placementStrategies.update" call.
40175// Exactly one of *PlacementStrategy or error will be non-nil. Any
40176// non-2xx status code is an error. Response headers are in either
40177// *PlacementStrategy.ServerResponse.Header or (if a response was
40178// returned at all) in error.(*googleapi.Error).Header. Use
40179// googleapi.IsNotModified to check whether the returned error was
40180// because http.StatusNotModified was returned.
40181func (c *PlacementStrategiesUpdateCall) Do(opts ...googleapi.CallOption) (*PlacementStrategy, error) {
40182	gensupport.SetOptions(c.urlParams_, opts...)
40183	res, err := c.doRequest("json")
40184	if res != nil && res.StatusCode == http.StatusNotModified {
40185		if res.Body != nil {
40186			res.Body.Close()
40187		}
40188		return nil, &googleapi.Error{
40189			Code:   res.StatusCode,
40190			Header: res.Header,
40191		}
40192	}
40193	if err != nil {
40194		return nil, err
40195	}
40196	defer googleapi.CloseBody(res)
40197	if err := googleapi.CheckResponse(res); err != nil {
40198		return nil, err
40199	}
40200	ret := &PlacementStrategy{
40201		ServerResponse: googleapi.ServerResponse{
40202			Header:         res.Header,
40203			HTTPStatusCode: res.StatusCode,
40204		},
40205	}
40206	target := &ret
40207	if err := gensupport.DecodeResponse(target, res); err != nil {
40208		return nil, err
40209	}
40210	return ret, nil
40211	// {
40212	//   "description": "Updates an existing placement strategy.",
40213	//   "httpMethod": "PUT",
40214	//   "id": "dfareporting.placementStrategies.update",
40215	//   "parameterOrder": [
40216	//     "profileId"
40217	//   ],
40218	//   "parameters": {
40219	//     "profileId": {
40220	//       "description": "User profile ID associated with this request.",
40221	//       "format": "int64",
40222	//       "location": "path",
40223	//       "required": true,
40224	//       "type": "string"
40225	//     }
40226	//   },
40227	//   "path": "userprofiles/{profileId}/placementStrategies",
40228	//   "request": {
40229	//     "$ref": "PlacementStrategy"
40230	//   },
40231	//   "response": {
40232	//     "$ref": "PlacementStrategy"
40233	//   },
40234	//   "scopes": [
40235	//     "https://www.googleapis.com/auth/dfatrafficking"
40236	//   ]
40237	// }
40238
40239}
40240
40241// method id "dfareporting.placements.generatetags":
40242
40243type PlacementsGeneratetagsCall struct {
40244	s          *Service
40245	profileId  int64
40246	urlParams_ gensupport.URLParams
40247	ctx_       context.Context
40248	header_    http.Header
40249}
40250
40251// Generatetags: Generates tags for a placement.
40252func (r *PlacementsService) Generatetags(profileId int64) *PlacementsGeneratetagsCall {
40253	c := &PlacementsGeneratetagsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40254	c.profileId = profileId
40255	return c
40256}
40257
40258// CampaignId sets the optional parameter "campaignId": Generate
40259// placements belonging to this campaign. This is a required field.
40260func (c *PlacementsGeneratetagsCall) CampaignId(campaignId int64) *PlacementsGeneratetagsCall {
40261	c.urlParams_.Set("campaignId", fmt.Sprint(campaignId))
40262	return c
40263}
40264
40265// PlacementIds sets the optional parameter "placementIds": Generate
40266// tags for these placements.
40267func (c *PlacementsGeneratetagsCall) PlacementIds(placementIds ...int64) *PlacementsGeneratetagsCall {
40268	var placementIds_ []string
40269	for _, v := range placementIds {
40270		placementIds_ = append(placementIds_, fmt.Sprint(v))
40271	}
40272	c.urlParams_.SetMulti("placementIds", placementIds_)
40273	return c
40274}
40275
40276// TagFormats sets the optional parameter "tagFormats": Tag formats to
40277// generate for these placements.
40278//
40279// Note: PLACEMENT_TAG_STANDARD can only be generated for 1x1
40280// placements.
40281//
40282// Possible values:
40283//   "PLACEMENT_TAG_CLICK_COMMANDS"
40284//   "PLACEMENT_TAG_IFRAME_ILAYER"
40285//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT"
40286//   "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY"
40287//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH"
40288//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3"
40289//   "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4"
40290//   "PLACEMENT_TAG_INTERNAL_REDIRECT"
40291//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT"
40292//   "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY"
40293//   "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT"
40294//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT"
40295//   "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY"
40296//   "PLACEMENT_TAG_JAVASCRIPT"
40297//   "PLACEMENT_TAG_JAVASCRIPT_LEGACY"
40298//   "PLACEMENT_TAG_STANDARD"
40299//   "PLACEMENT_TAG_TRACKING"
40300//   "PLACEMENT_TAG_TRACKING_IFRAME"
40301//   "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
40302func (c *PlacementsGeneratetagsCall) TagFormats(tagFormats ...string) *PlacementsGeneratetagsCall {
40303	c.urlParams_.SetMulti("tagFormats", append([]string{}, tagFormats...))
40304	return c
40305}
40306
40307// Fields allows partial responses to be retrieved. See
40308// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40309// for more information.
40310func (c *PlacementsGeneratetagsCall) Fields(s ...googleapi.Field) *PlacementsGeneratetagsCall {
40311	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40312	return c
40313}
40314
40315// Context sets the context to be used in this call's Do method. Any
40316// pending HTTP request will be aborted if the provided context is
40317// canceled.
40318func (c *PlacementsGeneratetagsCall) Context(ctx context.Context) *PlacementsGeneratetagsCall {
40319	c.ctx_ = ctx
40320	return c
40321}
40322
40323// Header returns an http.Header that can be modified by the caller to
40324// add HTTP headers to the request.
40325func (c *PlacementsGeneratetagsCall) Header() http.Header {
40326	if c.header_ == nil {
40327		c.header_ = make(http.Header)
40328	}
40329	return c.header_
40330}
40331
40332func (c *PlacementsGeneratetagsCall) doRequest(alt string) (*http.Response, error) {
40333	reqHeaders := make(http.Header)
40334	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40335	for k, v := range c.header_ {
40336		reqHeaders[k] = v
40337	}
40338	reqHeaders.Set("User-Agent", c.s.userAgent())
40339	var body io.Reader = nil
40340	c.urlParams_.Set("alt", alt)
40341	c.urlParams_.Set("prettyPrint", "false")
40342	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/generatetags")
40343	urls += "?" + c.urlParams_.Encode()
40344	req, err := http.NewRequest("POST", urls, body)
40345	if err != nil {
40346		return nil, err
40347	}
40348	req.Header = reqHeaders
40349	googleapi.Expand(req.URL, map[string]string{
40350		"profileId": strconv.FormatInt(c.profileId, 10),
40351	})
40352	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40353}
40354
40355// Do executes the "dfareporting.placements.generatetags" call.
40356// Exactly one of *PlacementsGenerateTagsResponse or error will be
40357// non-nil. Any non-2xx status code is an error. Response headers are in
40358// either *PlacementsGenerateTagsResponse.ServerResponse.Header or (if a
40359// response was returned at all) in error.(*googleapi.Error).Header. Use
40360// googleapi.IsNotModified to check whether the returned error was
40361// because http.StatusNotModified was returned.
40362func (c *PlacementsGeneratetagsCall) Do(opts ...googleapi.CallOption) (*PlacementsGenerateTagsResponse, error) {
40363	gensupport.SetOptions(c.urlParams_, opts...)
40364	res, err := c.doRequest("json")
40365	if res != nil && res.StatusCode == http.StatusNotModified {
40366		if res.Body != nil {
40367			res.Body.Close()
40368		}
40369		return nil, &googleapi.Error{
40370			Code:   res.StatusCode,
40371			Header: res.Header,
40372		}
40373	}
40374	if err != nil {
40375		return nil, err
40376	}
40377	defer googleapi.CloseBody(res)
40378	if err := googleapi.CheckResponse(res); err != nil {
40379		return nil, err
40380	}
40381	ret := &PlacementsGenerateTagsResponse{
40382		ServerResponse: googleapi.ServerResponse{
40383			Header:         res.Header,
40384			HTTPStatusCode: res.StatusCode,
40385		},
40386	}
40387	target := &ret
40388	if err := gensupport.DecodeResponse(target, res); err != nil {
40389		return nil, err
40390	}
40391	return ret, nil
40392	// {
40393	//   "description": "Generates tags for a placement.",
40394	//   "httpMethod": "POST",
40395	//   "id": "dfareporting.placements.generatetags",
40396	//   "parameterOrder": [
40397	//     "profileId"
40398	//   ],
40399	//   "parameters": {
40400	//     "campaignId": {
40401	//       "description": "Generate placements belonging to this campaign. This is a required field.",
40402	//       "format": "int64",
40403	//       "location": "query",
40404	//       "type": "string"
40405	//     },
40406	//     "placementIds": {
40407	//       "description": "Generate tags for these placements.",
40408	//       "format": "int64",
40409	//       "location": "query",
40410	//       "repeated": true,
40411	//       "type": "string"
40412	//     },
40413	//     "profileId": {
40414	//       "description": "User profile ID associated with this request.",
40415	//       "format": "int64",
40416	//       "location": "path",
40417	//       "required": true,
40418	//       "type": "string"
40419	//     },
40420	//     "tagFormats": {
40421	//       "description": "Tag formats to generate for these placements.\n\nNote: PLACEMENT_TAG_STANDARD can only be generated for 1x1 placements.",
40422	//       "enum": [
40423	//         "PLACEMENT_TAG_CLICK_COMMANDS",
40424	//         "PLACEMENT_TAG_IFRAME_ILAYER",
40425	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT",
40426	//         "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY",
40427	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH",
40428	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3",
40429	//         "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_4",
40430	//         "PLACEMENT_TAG_INTERNAL_REDIRECT",
40431	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT",
40432	//         "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY",
40433	//         "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT",
40434	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT",
40435	//         "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY",
40436	//         "PLACEMENT_TAG_JAVASCRIPT",
40437	//         "PLACEMENT_TAG_JAVASCRIPT_LEGACY",
40438	//         "PLACEMENT_TAG_STANDARD",
40439	//         "PLACEMENT_TAG_TRACKING",
40440	//         "PLACEMENT_TAG_TRACKING_IFRAME",
40441	//         "PLACEMENT_TAG_TRACKING_JAVASCRIPT"
40442	//       ],
40443	//       "enumDescriptions": [
40444	//         "",
40445	//         "",
40446	//         "",
40447	//         "",
40448	//         "",
40449	//         "",
40450	//         "",
40451	//         "",
40452	//         "",
40453	//         "",
40454	//         "",
40455	//         "",
40456	//         "",
40457	//         "",
40458	//         "",
40459	//         "",
40460	//         "",
40461	//         "",
40462	//         ""
40463	//       ],
40464	//       "location": "query",
40465	//       "repeated": true,
40466	//       "type": "string"
40467	//     }
40468	//   },
40469	//   "path": "userprofiles/{profileId}/placements/generatetags",
40470	//   "response": {
40471	//     "$ref": "PlacementsGenerateTagsResponse"
40472	//   },
40473	//   "scopes": [
40474	//     "https://www.googleapis.com/auth/dfatrafficking"
40475	//   ]
40476	// }
40477
40478}
40479
40480// method id "dfareporting.placements.get":
40481
40482type PlacementsGetCall struct {
40483	s            *Service
40484	profileId    int64
40485	id           int64
40486	urlParams_   gensupport.URLParams
40487	ifNoneMatch_ string
40488	ctx_         context.Context
40489	header_      http.Header
40490}
40491
40492// Get: Gets one placement by ID.
40493func (r *PlacementsService) Get(profileId int64, id int64) *PlacementsGetCall {
40494	c := &PlacementsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40495	c.profileId = profileId
40496	c.id = id
40497	return c
40498}
40499
40500// Fields allows partial responses to be retrieved. See
40501// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40502// for more information.
40503func (c *PlacementsGetCall) Fields(s ...googleapi.Field) *PlacementsGetCall {
40504	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40505	return c
40506}
40507
40508// IfNoneMatch sets the optional parameter which makes the operation
40509// fail if the object's ETag matches the given value. This is useful for
40510// getting updates only after the object has changed since the last
40511// request. Use googleapi.IsNotModified to check whether the response
40512// error from Do is the result of In-None-Match.
40513func (c *PlacementsGetCall) IfNoneMatch(entityTag string) *PlacementsGetCall {
40514	c.ifNoneMatch_ = entityTag
40515	return c
40516}
40517
40518// Context sets the context to be used in this call's Do method. Any
40519// pending HTTP request will be aborted if the provided context is
40520// canceled.
40521func (c *PlacementsGetCall) Context(ctx context.Context) *PlacementsGetCall {
40522	c.ctx_ = ctx
40523	return c
40524}
40525
40526// Header returns an http.Header that can be modified by the caller to
40527// add HTTP headers to the request.
40528func (c *PlacementsGetCall) Header() http.Header {
40529	if c.header_ == nil {
40530		c.header_ = make(http.Header)
40531	}
40532	return c.header_
40533}
40534
40535func (c *PlacementsGetCall) doRequest(alt string) (*http.Response, error) {
40536	reqHeaders := make(http.Header)
40537	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40538	for k, v := range c.header_ {
40539		reqHeaders[k] = v
40540	}
40541	reqHeaders.Set("User-Agent", c.s.userAgent())
40542	if c.ifNoneMatch_ != "" {
40543		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
40544	}
40545	var body io.Reader = nil
40546	c.urlParams_.Set("alt", alt)
40547	c.urlParams_.Set("prettyPrint", "false")
40548	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements/{id}")
40549	urls += "?" + c.urlParams_.Encode()
40550	req, err := http.NewRequest("GET", urls, body)
40551	if err != nil {
40552		return nil, err
40553	}
40554	req.Header = reqHeaders
40555	googleapi.Expand(req.URL, map[string]string{
40556		"profileId": strconv.FormatInt(c.profileId, 10),
40557		"id":        strconv.FormatInt(c.id, 10),
40558	})
40559	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40560}
40561
40562// Do executes the "dfareporting.placements.get" call.
40563// Exactly one of *Placement or error will be non-nil. Any non-2xx
40564// status code is an error. Response headers are in either
40565// *Placement.ServerResponse.Header or (if a response was returned at
40566// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40567// to check whether the returned error was because
40568// http.StatusNotModified was returned.
40569func (c *PlacementsGetCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40570	gensupport.SetOptions(c.urlParams_, opts...)
40571	res, err := c.doRequest("json")
40572	if res != nil && res.StatusCode == http.StatusNotModified {
40573		if res.Body != nil {
40574			res.Body.Close()
40575		}
40576		return nil, &googleapi.Error{
40577			Code:   res.StatusCode,
40578			Header: res.Header,
40579		}
40580	}
40581	if err != nil {
40582		return nil, err
40583	}
40584	defer googleapi.CloseBody(res)
40585	if err := googleapi.CheckResponse(res); err != nil {
40586		return nil, err
40587	}
40588	ret := &Placement{
40589		ServerResponse: googleapi.ServerResponse{
40590			Header:         res.Header,
40591			HTTPStatusCode: res.StatusCode,
40592		},
40593	}
40594	target := &ret
40595	if err := gensupport.DecodeResponse(target, res); err != nil {
40596		return nil, err
40597	}
40598	return ret, nil
40599	// {
40600	//   "description": "Gets one placement by ID.",
40601	//   "httpMethod": "GET",
40602	//   "id": "dfareporting.placements.get",
40603	//   "parameterOrder": [
40604	//     "profileId",
40605	//     "id"
40606	//   ],
40607	//   "parameters": {
40608	//     "id": {
40609	//       "description": "Placement ID.",
40610	//       "format": "int64",
40611	//       "location": "path",
40612	//       "required": true,
40613	//       "type": "string"
40614	//     },
40615	//     "profileId": {
40616	//       "description": "User profile ID associated with this request.",
40617	//       "format": "int64",
40618	//       "location": "path",
40619	//       "required": true,
40620	//       "type": "string"
40621	//     }
40622	//   },
40623	//   "path": "userprofiles/{profileId}/placements/{id}",
40624	//   "response": {
40625	//     "$ref": "Placement"
40626	//   },
40627	//   "scopes": [
40628	//     "https://www.googleapis.com/auth/dfatrafficking"
40629	//   ]
40630	// }
40631
40632}
40633
40634// method id "dfareporting.placements.insert":
40635
40636type PlacementsInsertCall struct {
40637	s          *Service
40638	profileId  int64
40639	placement  *Placement
40640	urlParams_ gensupport.URLParams
40641	ctx_       context.Context
40642	header_    http.Header
40643}
40644
40645// Insert: Inserts a new placement.
40646func (r *PlacementsService) Insert(profileId int64, placement *Placement) *PlacementsInsertCall {
40647	c := &PlacementsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40648	c.profileId = profileId
40649	c.placement = placement
40650	return c
40651}
40652
40653// Fields allows partial responses to be retrieved. See
40654// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
40655// for more information.
40656func (c *PlacementsInsertCall) Fields(s ...googleapi.Field) *PlacementsInsertCall {
40657	c.urlParams_.Set("fields", googleapi.CombineFields(s))
40658	return c
40659}
40660
40661// Context sets the context to be used in this call's Do method. Any
40662// pending HTTP request will be aborted if the provided context is
40663// canceled.
40664func (c *PlacementsInsertCall) Context(ctx context.Context) *PlacementsInsertCall {
40665	c.ctx_ = ctx
40666	return c
40667}
40668
40669// Header returns an http.Header that can be modified by the caller to
40670// add HTTP headers to the request.
40671func (c *PlacementsInsertCall) Header() http.Header {
40672	if c.header_ == nil {
40673		c.header_ = make(http.Header)
40674	}
40675	return c.header_
40676}
40677
40678func (c *PlacementsInsertCall) doRequest(alt string) (*http.Response, error) {
40679	reqHeaders := make(http.Header)
40680	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
40681	for k, v := range c.header_ {
40682		reqHeaders[k] = v
40683	}
40684	reqHeaders.Set("User-Agent", c.s.userAgent())
40685	var body io.Reader = nil
40686	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
40687	if err != nil {
40688		return nil, err
40689	}
40690	reqHeaders.Set("Content-Type", "application/json")
40691	c.urlParams_.Set("alt", alt)
40692	c.urlParams_.Set("prettyPrint", "false")
40693	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
40694	urls += "?" + c.urlParams_.Encode()
40695	req, err := http.NewRequest("POST", urls, body)
40696	if err != nil {
40697		return nil, err
40698	}
40699	req.Header = reqHeaders
40700	googleapi.Expand(req.URL, map[string]string{
40701		"profileId": strconv.FormatInt(c.profileId, 10),
40702	})
40703	return gensupport.SendRequest(c.ctx_, c.s.client, req)
40704}
40705
40706// Do executes the "dfareporting.placements.insert" call.
40707// Exactly one of *Placement or error will be non-nil. Any non-2xx
40708// status code is an error. Response headers are in either
40709// *Placement.ServerResponse.Header or (if a response was returned at
40710// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
40711// to check whether the returned error was because
40712// http.StatusNotModified was returned.
40713func (c *PlacementsInsertCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
40714	gensupport.SetOptions(c.urlParams_, opts...)
40715	res, err := c.doRequest("json")
40716	if res != nil && res.StatusCode == http.StatusNotModified {
40717		if res.Body != nil {
40718			res.Body.Close()
40719		}
40720		return nil, &googleapi.Error{
40721			Code:   res.StatusCode,
40722			Header: res.Header,
40723		}
40724	}
40725	if err != nil {
40726		return nil, err
40727	}
40728	defer googleapi.CloseBody(res)
40729	if err := googleapi.CheckResponse(res); err != nil {
40730		return nil, err
40731	}
40732	ret := &Placement{
40733		ServerResponse: googleapi.ServerResponse{
40734			Header:         res.Header,
40735			HTTPStatusCode: res.StatusCode,
40736		},
40737	}
40738	target := &ret
40739	if err := gensupport.DecodeResponse(target, res); err != nil {
40740		return nil, err
40741	}
40742	return ret, nil
40743	// {
40744	//   "description": "Inserts a new placement.",
40745	//   "httpMethod": "POST",
40746	//   "id": "dfareporting.placements.insert",
40747	//   "parameterOrder": [
40748	//     "profileId"
40749	//   ],
40750	//   "parameters": {
40751	//     "profileId": {
40752	//       "description": "User profile ID associated with this request.",
40753	//       "format": "int64",
40754	//       "location": "path",
40755	//       "required": true,
40756	//       "type": "string"
40757	//     }
40758	//   },
40759	//   "path": "userprofiles/{profileId}/placements",
40760	//   "request": {
40761	//     "$ref": "Placement"
40762	//   },
40763	//   "response": {
40764	//     "$ref": "Placement"
40765	//   },
40766	//   "scopes": [
40767	//     "https://www.googleapis.com/auth/dfatrafficking"
40768	//   ]
40769	// }
40770
40771}
40772
40773// method id "dfareporting.placements.list":
40774
40775type PlacementsListCall struct {
40776	s            *Service
40777	profileId    int64
40778	urlParams_   gensupport.URLParams
40779	ifNoneMatch_ string
40780	ctx_         context.Context
40781	header_      http.Header
40782}
40783
40784// List: Retrieves a list of placements, possibly filtered. This method
40785// supports paging.
40786func (r *PlacementsService) List(profileId int64) *PlacementsListCall {
40787	c := &PlacementsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
40788	c.profileId = profileId
40789	return c
40790}
40791
40792// AdvertiserIds sets the optional parameter "advertiserIds": Select
40793// only placements that belong to these advertisers.
40794func (c *PlacementsListCall) AdvertiserIds(advertiserIds ...int64) *PlacementsListCall {
40795	var advertiserIds_ []string
40796	for _, v := range advertiserIds {
40797		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
40798	}
40799	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
40800	return c
40801}
40802
40803// Archived sets the optional parameter "archived": Select only archived
40804// placements. Don't set this field to select both archived and
40805// non-archived placements.
40806func (c *PlacementsListCall) Archived(archived bool) *PlacementsListCall {
40807	c.urlParams_.Set("archived", fmt.Sprint(archived))
40808	return c
40809}
40810
40811// CampaignIds sets the optional parameter "campaignIds": Select only
40812// placements that belong to these campaigns.
40813func (c *PlacementsListCall) CampaignIds(campaignIds ...int64) *PlacementsListCall {
40814	var campaignIds_ []string
40815	for _, v := range campaignIds {
40816		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
40817	}
40818	c.urlParams_.SetMulti("campaignIds", campaignIds_)
40819	return c
40820}
40821
40822// Compatibilities sets the optional parameter "compatibilities": Select
40823// only placements that are associated with these compatibilities.
40824// DISPLAY and DISPLAY_INTERSTITIAL refer to rendering either on desktop
40825// or on mobile devices for regular or interstitial ads respectively.
40826// APP and APP_INTERSTITIAL are for rendering in mobile apps.
40827// IN_STREAM_VIDEO refers to rendering in in-stream video ads developed
40828// with the VAST standard.
40829//
40830// Possible values:
40831//   "APP"
40832//   "APP_INTERSTITIAL"
40833//   "DISPLAY"
40834//   "DISPLAY_INTERSTITIAL"
40835//   "IN_STREAM_AUDIO"
40836//   "IN_STREAM_VIDEO"
40837func (c *PlacementsListCall) Compatibilities(compatibilities ...string) *PlacementsListCall {
40838	c.urlParams_.SetMulti("compatibilities", append([]string{}, compatibilities...))
40839	return c
40840}
40841
40842// ContentCategoryIds sets the optional parameter "contentCategoryIds":
40843// Select only placements that are associated with these content
40844// categories.
40845func (c *PlacementsListCall) ContentCategoryIds(contentCategoryIds ...int64) *PlacementsListCall {
40846	var contentCategoryIds_ []string
40847	for _, v := range contentCategoryIds {
40848		contentCategoryIds_ = append(contentCategoryIds_, fmt.Sprint(v))
40849	}
40850	c.urlParams_.SetMulti("contentCategoryIds", contentCategoryIds_)
40851	return c
40852}
40853
40854// DirectorySiteIds sets the optional parameter "directorySiteIds":
40855// Select only placements that are associated with these directory
40856// sites.
40857func (c *PlacementsListCall) DirectorySiteIds(directorySiteIds ...int64) *PlacementsListCall {
40858	var directorySiteIds_ []string
40859	for _, v := range directorySiteIds {
40860		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
40861	}
40862	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
40863	return c
40864}
40865
40866// GroupIds sets the optional parameter "groupIds": Select only
40867// placements that belong to these placement groups.
40868func (c *PlacementsListCall) GroupIds(groupIds ...int64) *PlacementsListCall {
40869	var groupIds_ []string
40870	for _, v := range groupIds {
40871		groupIds_ = append(groupIds_, fmt.Sprint(v))
40872	}
40873	c.urlParams_.SetMulti("groupIds", groupIds_)
40874	return c
40875}
40876
40877// Ids sets the optional parameter "ids": Select only placements with
40878// these IDs.
40879func (c *PlacementsListCall) Ids(ids ...int64) *PlacementsListCall {
40880	var ids_ []string
40881	for _, v := range ids {
40882		ids_ = append(ids_, fmt.Sprint(v))
40883	}
40884	c.urlParams_.SetMulti("ids", ids_)
40885	return c
40886}
40887
40888// MaxEndDate sets the optional parameter "maxEndDate": Select only
40889// placements or placement groups whose end date is on or before the
40890// specified maxEndDate. The date should be formatted as "yyyy-MM-dd".
40891func (c *PlacementsListCall) MaxEndDate(maxEndDate string) *PlacementsListCall {
40892	c.urlParams_.Set("maxEndDate", maxEndDate)
40893	return c
40894}
40895
40896// MaxResults sets the optional parameter "maxResults": Maximum number
40897// of results to return.
40898func (c *PlacementsListCall) MaxResults(maxResults int64) *PlacementsListCall {
40899	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
40900	return c
40901}
40902
40903// MaxStartDate sets the optional parameter "maxStartDate": Select only
40904// placements or placement groups whose start date is on or before the
40905// specified maxStartDate. The date should be formatted as "yyyy-MM-dd".
40906func (c *PlacementsListCall) MaxStartDate(maxStartDate string) *PlacementsListCall {
40907	c.urlParams_.Set("maxStartDate", maxStartDate)
40908	return c
40909}
40910
40911// MinEndDate sets the optional parameter "minEndDate": Select only
40912// placements or placement groups whose end date is on or after the
40913// specified minEndDate. The date should be formatted as "yyyy-MM-dd".
40914func (c *PlacementsListCall) MinEndDate(minEndDate string) *PlacementsListCall {
40915	c.urlParams_.Set("minEndDate", minEndDate)
40916	return c
40917}
40918
40919// MinStartDate sets the optional parameter "minStartDate": Select only
40920// placements or placement groups whose start date is on or after the
40921// specified minStartDate. The date should be formatted as "yyyy-MM-dd".
40922func (c *PlacementsListCall) MinStartDate(minStartDate string) *PlacementsListCall {
40923	c.urlParams_.Set("minStartDate", minStartDate)
40924	return c
40925}
40926
40927// PageToken sets the optional parameter "pageToken": Value of the
40928// nextPageToken from the previous result page.
40929func (c *PlacementsListCall) PageToken(pageToken string) *PlacementsListCall {
40930	c.urlParams_.Set("pageToken", pageToken)
40931	return c
40932}
40933
40934// PaymentSource sets the optional parameter "paymentSource": Select
40935// only placements with this payment source.
40936//
40937// Possible values:
40938//   "PLACEMENT_AGENCY_PAID"
40939//   "PLACEMENT_PUBLISHER_PAID"
40940func (c *PlacementsListCall) PaymentSource(paymentSource string) *PlacementsListCall {
40941	c.urlParams_.Set("paymentSource", paymentSource)
40942	return c
40943}
40944
40945// PlacementStrategyIds sets the optional parameter
40946// "placementStrategyIds": Select only placements that are associated
40947// with these placement strategies.
40948func (c *PlacementsListCall) PlacementStrategyIds(placementStrategyIds ...int64) *PlacementsListCall {
40949	var placementStrategyIds_ []string
40950	for _, v := range placementStrategyIds {
40951		placementStrategyIds_ = append(placementStrategyIds_, fmt.Sprint(v))
40952	}
40953	c.urlParams_.SetMulti("placementStrategyIds", placementStrategyIds_)
40954	return c
40955}
40956
40957// PricingTypes sets the optional parameter "pricingTypes": Select only
40958// placements with these pricing types.
40959//
40960// Possible values:
40961//   "PRICING_TYPE_CPA"
40962//   "PRICING_TYPE_CPC"
40963//   "PRICING_TYPE_CPM"
40964//   "PRICING_TYPE_CPM_ACTIVEVIEW"
40965//   "PRICING_TYPE_FLAT_RATE_CLICKS"
40966//   "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
40967func (c *PlacementsListCall) PricingTypes(pricingTypes ...string) *PlacementsListCall {
40968	c.urlParams_.SetMulti("pricingTypes", append([]string{}, pricingTypes...))
40969	return c
40970}
40971
40972// SearchString sets the optional parameter "searchString": Allows
40973// searching for placements by name or ID. Wildcards (*) are allowed.
40974// For example, "placement*2015" will return placements with names like
40975// "placement June 2015", "placement May 2015", or simply "placements
40976// 2015". Most of the searches also add wildcards implicitly at the
40977// start and the end of the search string. For example, a search string
40978// of "placement" will match placements with name "my placement",
40979// "placement 2015", or simply "placement".
40980func (c *PlacementsListCall) SearchString(searchString string) *PlacementsListCall {
40981	c.urlParams_.Set("searchString", searchString)
40982	return c
40983}
40984
40985// SiteIds sets the optional parameter "siteIds": Select only placements
40986// that are associated with these sites.
40987func (c *PlacementsListCall) SiteIds(siteIds ...int64) *PlacementsListCall {
40988	var siteIds_ []string
40989	for _, v := range siteIds {
40990		siteIds_ = append(siteIds_, fmt.Sprint(v))
40991	}
40992	c.urlParams_.SetMulti("siteIds", siteIds_)
40993	return c
40994}
40995
40996// SizeIds sets the optional parameter "sizeIds": Select only placements
40997// that are associated with these sizes.
40998func (c *PlacementsListCall) SizeIds(sizeIds ...int64) *PlacementsListCall {
40999	var sizeIds_ []string
41000	for _, v := range sizeIds {
41001		sizeIds_ = append(sizeIds_, fmt.Sprint(v))
41002	}
41003	c.urlParams_.SetMulti("sizeIds", sizeIds_)
41004	return c
41005}
41006
41007// SortField sets the optional parameter "sortField": Field by which to
41008// sort the list.
41009//
41010// Possible values:
41011//   "ID" (default)
41012//   "NAME"
41013func (c *PlacementsListCall) SortField(sortField string) *PlacementsListCall {
41014	c.urlParams_.Set("sortField", sortField)
41015	return c
41016}
41017
41018// SortOrder sets the optional parameter "sortOrder": Order of sorted
41019// results.
41020//
41021// Possible values:
41022//   "ASCENDING" (default)
41023//   "DESCENDING"
41024func (c *PlacementsListCall) SortOrder(sortOrder string) *PlacementsListCall {
41025	c.urlParams_.Set("sortOrder", sortOrder)
41026	return c
41027}
41028
41029// Fields allows partial responses to be retrieved. See
41030// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41031// for more information.
41032func (c *PlacementsListCall) Fields(s ...googleapi.Field) *PlacementsListCall {
41033	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41034	return c
41035}
41036
41037// IfNoneMatch sets the optional parameter which makes the operation
41038// fail if the object's ETag matches the given value. This is useful for
41039// getting updates only after the object has changed since the last
41040// request. Use googleapi.IsNotModified to check whether the response
41041// error from Do is the result of In-None-Match.
41042func (c *PlacementsListCall) IfNoneMatch(entityTag string) *PlacementsListCall {
41043	c.ifNoneMatch_ = entityTag
41044	return c
41045}
41046
41047// Context sets the context to be used in this call's Do method. Any
41048// pending HTTP request will be aborted if the provided context is
41049// canceled.
41050func (c *PlacementsListCall) Context(ctx context.Context) *PlacementsListCall {
41051	c.ctx_ = ctx
41052	return c
41053}
41054
41055// Header returns an http.Header that can be modified by the caller to
41056// add HTTP headers to the request.
41057func (c *PlacementsListCall) Header() http.Header {
41058	if c.header_ == nil {
41059		c.header_ = make(http.Header)
41060	}
41061	return c.header_
41062}
41063
41064func (c *PlacementsListCall) doRequest(alt string) (*http.Response, error) {
41065	reqHeaders := make(http.Header)
41066	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41067	for k, v := range c.header_ {
41068		reqHeaders[k] = v
41069	}
41070	reqHeaders.Set("User-Agent", c.s.userAgent())
41071	if c.ifNoneMatch_ != "" {
41072		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41073	}
41074	var body io.Reader = nil
41075	c.urlParams_.Set("alt", alt)
41076	c.urlParams_.Set("prettyPrint", "false")
41077	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41078	urls += "?" + c.urlParams_.Encode()
41079	req, err := http.NewRequest("GET", urls, body)
41080	if err != nil {
41081		return nil, err
41082	}
41083	req.Header = reqHeaders
41084	googleapi.Expand(req.URL, map[string]string{
41085		"profileId": strconv.FormatInt(c.profileId, 10),
41086	})
41087	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41088}
41089
41090// Do executes the "dfareporting.placements.list" call.
41091// Exactly one of *PlacementsListResponse or error will be non-nil. Any
41092// non-2xx status code is an error. Response headers are in either
41093// *PlacementsListResponse.ServerResponse.Header or (if a response was
41094// returned at all) in error.(*googleapi.Error).Header. Use
41095// googleapi.IsNotModified to check whether the returned error was
41096// because http.StatusNotModified was returned.
41097func (c *PlacementsListCall) Do(opts ...googleapi.CallOption) (*PlacementsListResponse, error) {
41098	gensupport.SetOptions(c.urlParams_, opts...)
41099	res, err := c.doRequest("json")
41100	if res != nil && res.StatusCode == http.StatusNotModified {
41101		if res.Body != nil {
41102			res.Body.Close()
41103		}
41104		return nil, &googleapi.Error{
41105			Code:   res.StatusCode,
41106			Header: res.Header,
41107		}
41108	}
41109	if err != nil {
41110		return nil, err
41111	}
41112	defer googleapi.CloseBody(res)
41113	if err := googleapi.CheckResponse(res); err != nil {
41114		return nil, err
41115	}
41116	ret := &PlacementsListResponse{
41117		ServerResponse: googleapi.ServerResponse{
41118			Header:         res.Header,
41119			HTTPStatusCode: res.StatusCode,
41120		},
41121	}
41122	target := &ret
41123	if err := gensupport.DecodeResponse(target, res); err != nil {
41124		return nil, err
41125	}
41126	return ret, nil
41127	// {
41128	//   "description": "Retrieves a list of placements, possibly filtered. This method supports paging.",
41129	//   "httpMethod": "GET",
41130	//   "id": "dfareporting.placements.list",
41131	//   "parameterOrder": [
41132	//     "profileId"
41133	//   ],
41134	//   "parameters": {
41135	//     "advertiserIds": {
41136	//       "description": "Select only placements that belong to these advertisers.",
41137	//       "format": "int64",
41138	//       "location": "query",
41139	//       "repeated": true,
41140	//       "type": "string"
41141	//     },
41142	//     "archived": {
41143	//       "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.",
41144	//       "location": "query",
41145	//       "type": "boolean"
41146	//     },
41147	//     "campaignIds": {
41148	//       "description": "Select only placements that belong to these campaigns.",
41149	//       "format": "int64",
41150	//       "location": "query",
41151	//       "repeated": true,
41152	//       "type": "string"
41153	//     },
41154	//     "compatibilities": {
41155	//       "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.",
41156	//       "enum": [
41157	//         "APP",
41158	//         "APP_INTERSTITIAL",
41159	//         "DISPLAY",
41160	//         "DISPLAY_INTERSTITIAL",
41161	//         "IN_STREAM_AUDIO",
41162	//         "IN_STREAM_VIDEO"
41163	//       ],
41164	//       "enumDescriptions": [
41165	//         "",
41166	//         "",
41167	//         "",
41168	//         "",
41169	//         "",
41170	//         ""
41171	//       ],
41172	//       "location": "query",
41173	//       "repeated": true,
41174	//       "type": "string"
41175	//     },
41176	//     "contentCategoryIds": {
41177	//       "description": "Select only placements that are associated with these content categories.",
41178	//       "format": "int64",
41179	//       "location": "query",
41180	//       "repeated": true,
41181	//       "type": "string"
41182	//     },
41183	//     "directorySiteIds": {
41184	//       "description": "Select only placements that are associated with these directory sites.",
41185	//       "format": "int64",
41186	//       "location": "query",
41187	//       "repeated": true,
41188	//       "type": "string"
41189	//     },
41190	//     "groupIds": {
41191	//       "description": "Select only placements that belong to these placement groups.",
41192	//       "format": "int64",
41193	//       "location": "query",
41194	//       "repeated": true,
41195	//       "type": "string"
41196	//     },
41197	//     "ids": {
41198	//       "description": "Select only placements with these IDs.",
41199	//       "format": "int64",
41200	//       "location": "query",
41201	//       "repeated": true,
41202	//       "type": "string"
41203	//     },
41204	//     "maxEndDate": {
41205	//       "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\".",
41206	//       "location": "query",
41207	//       "type": "string"
41208	//     },
41209	//     "maxResults": {
41210	//       "default": "1000",
41211	//       "description": "Maximum number of results to return.",
41212	//       "format": "int32",
41213	//       "location": "query",
41214	//       "maximum": "1000",
41215	//       "minimum": "0",
41216	//       "type": "integer"
41217	//     },
41218	//     "maxStartDate": {
41219	//       "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\".",
41220	//       "location": "query",
41221	//       "type": "string"
41222	//     },
41223	//     "minEndDate": {
41224	//       "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\".",
41225	//       "location": "query",
41226	//       "type": "string"
41227	//     },
41228	//     "minStartDate": {
41229	//       "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\".",
41230	//       "location": "query",
41231	//       "type": "string"
41232	//     },
41233	//     "pageToken": {
41234	//       "description": "Value of the nextPageToken from the previous result page.",
41235	//       "location": "query",
41236	//       "type": "string"
41237	//     },
41238	//     "paymentSource": {
41239	//       "description": "Select only placements with this payment source.",
41240	//       "enum": [
41241	//         "PLACEMENT_AGENCY_PAID",
41242	//         "PLACEMENT_PUBLISHER_PAID"
41243	//       ],
41244	//       "enumDescriptions": [
41245	//         "",
41246	//         ""
41247	//       ],
41248	//       "location": "query",
41249	//       "type": "string"
41250	//     },
41251	//     "placementStrategyIds": {
41252	//       "description": "Select only placements that are associated with these placement strategies.",
41253	//       "format": "int64",
41254	//       "location": "query",
41255	//       "repeated": true,
41256	//       "type": "string"
41257	//     },
41258	//     "pricingTypes": {
41259	//       "description": "Select only placements with these pricing types.",
41260	//       "enum": [
41261	//         "PRICING_TYPE_CPA",
41262	//         "PRICING_TYPE_CPC",
41263	//         "PRICING_TYPE_CPM",
41264	//         "PRICING_TYPE_CPM_ACTIVEVIEW",
41265	//         "PRICING_TYPE_FLAT_RATE_CLICKS",
41266	//         "PRICING_TYPE_FLAT_RATE_IMPRESSIONS"
41267	//       ],
41268	//       "enumDescriptions": [
41269	//         "",
41270	//         "",
41271	//         "",
41272	//         "",
41273	//         "",
41274	//         ""
41275	//       ],
41276	//       "location": "query",
41277	//       "repeated": true,
41278	//       "type": "string"
41279	//     },
41280	//     "profileId": {
41281	//       "description": "User profile ID associated with this request.",
41282	//       "format": "int64",
41283	//       "location": "path",
41284	//       "required": true,
41285	//       "type": "string"
41286	//     },
41287	//     "searchString": {
41288	//       "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\".",
41289	//       "location": "query",
41290	//       "type": "string"
41291	//     },
41292	//     "siteIds": {
41293	//       "description": "Select only placements that are associated with these sites.",
41294	//       "format": "int64",
41295	//       "location": "query",
41296	//       "repeated": true,
41297	//       "type": "string"
41298	//     },
41299	//     "sizeIds": {
41300	//       "description": "Select only placements that are associated with these sizes.",
41301	//       "format": "int64",
41302	//       "location": "query",
41303	//       "repeated": true,
41304	//       "type": "string"
41305	//     },
41306	//     "sortField": {
41307	//       "default": "ID",
41308	//       "description": "Field by which to sort the list.",
41309	//       "enum": [
41310	//         "ID",
41311	//         "NAME"
41312	//       ],
41313	//       "enumDescriptions": [
41314	//         "",
41315	//         ""
41316	//       ],
41317	//       "location": "query",
41318	//       "type": "string"
41319	//     },
41320	//     "sortOrder": {
41321	//       "default": "ASCENDING",
41322	//       "description": "Order of sorted results.",
41323	//       "enum": [
41324	//         "ASCENDING",
41325	//         "DESCENDING"
41326	//       ],
41327	//       "enumDescriptions": [
41328	//         "",
41329	//         ""
41330	//       ],
41331	//       "location": "query",
41332	//       "type": "string"
41333	//     }
41334	//   },
41335	//   "path": "userprofiles/{profileId}/placements",
41336	//   "response": {
41337	//     "$ref": "PlacementsListResponse"
41338	//   },
41339	//   "scopes": [
41340	//     "https://www.googleapis.com/auth/dfatrafficking"
41341	//   ]
41342	// }
41343
41344}
41345
41346// Pages invokes f for each page of results.
41347// A non-nil error returned from f will halt the iteration.
41348// The provided context supersedes any context provided to the Context method.
41349func (c *PlacementsListCall) Pages(ctx context.Context, f func(*PlacementsListResponse) error) error {
41350	c.ctx_ = ctx
41351	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
41352	for {
41353		x, err := c.Do()
41354		if err != nil {
41355			return err
41356		}
41357		if err := f(x); err != nil {
41358			return err
41359		}
41360		if x.NextPageToken == "" {
41361			return nil
41362		}
41363		c.PageToken(x.NextPageToken)
41364	}
41365}
41366
41367// method id "dfareporting.placements.patch":
41368
41369type PlacementsPatchCall struct {
41370	s          *Service
41371	profileId  int64
41372	placement  *Placement
41373	urlParams_ gensupport.URLParams
41374	ctx_       context.Context
41375	header_    http.Header
41376}
41377
41378// Patch: Updates an existing placement. This method supports patch
41379// semantics.
41380func (r *PlacementsService) Patch(profileId int64, id int64, placement *Placement) *PlacementsPatchCall {
41381	c := &PlacementsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41382	c.profileId = profileId
41383	c.urlParams_.Set("id", fmt.Sprint(id))
41384	c.placement = placement
41385	return c
41386}
41387
41388// Fields allows partial responses to be retrieved. See
41389// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41390// for more information.
41391func (c *PlacementsPatchCall) Fields(s ...googleapi.Field) *PlacementsPatchCall {
41392	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41393	return c
41394}
41395
41396// Context sets the context to be used in this call's Do method. Any
41397// pending HTTP request will be aborted if the provided context is
41398// canceled.
41399func (c *PlacementsPatchCall) Context(ctx context.Context) *PlacementsPatchCall {
41400	c.ctx_ = ctx
41401	return c
41402}
41403
41404// Header returns an http.Header that can be modified by the caller to
41405// add HTTP headers to the request.
41406func (c *PlacementsPatchCall) Header() http.Header {
41407	if c.header_ == nil {
41408		c.header_ = make(http.Header)
41409	}
41410	return c.header_
41411}
41412
41413func (c *PlacementsPatchCall) doRequest(alt string) (*http.Response, error) {
41414	reqHeaders := make(http.Header)
41415	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41416	for k, v := range c.header_ {
41417		reqHeaders[k] = v
41418	}
41419	reqHeaders.Set("User-Agent", c.s.userAgent())
41420	var body io.Reader = nil
41421	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41422	if err != nil {
41423		return nil, err
41424	}
41425	reqHeaders.Set("Content-Type", "application/json")
41426	c.urlParams_.Set("alt", alt)
41427	c.urlParams_.Set("prettyPrint", "false")
41428	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41429	urls += "?" + c.urlParams_.Encode()
41430	req, err := http.NewRequest("PATCH", urls, body)
41431	if err != nil {
41432		return nil, err
41433	}
41434	req.Header = reqHeaders
41435	googleapi.Expand(req.URL, map[string]string{
41436		"profileId": strconv.FormatInt(c.profileId, 10),
41437	})
41438	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41439}
41440
41441// Do executes the "dfareporting.placements.patch" call.
41442// Exactly one of *Placement or error will be non-nil. Any non-2xx
41443// status code is an error. Response headers are in either
41444// *Placement.ServerResponse.Header or (if a response was returned at
41445// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41446// to check whether the returned error was because
41447// http.StatusNotModified was returned.
41448func (c *PlacementsPatchCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41449	gensupport.SetOptions(c.urlParams_, opts...)
41450	res, err := c.doRequest("json")
41451	if res != nil && res.StatusCode == http.StatusNotModified {
41452		if res.Body != nil {
41453			res.Body.Close()
41454		}
41455		return nil, &googleapi.Error{
41456			Code:   res.StatusCode,
41457			Header: res.Header,
41458		}
41459	}
41460	if err != nil {
41461		return nil, err
41462	}
41463	defer googleapi.CloseBody(res)
41464	if err := googleapi.CheckResponse(res); err != nil {
41465		return nil, err
41466	}
41467	ret := &Placement{
41468		ServerResponse: googleapi.ServerResponse{
41469			Header:         res.Header,
41470			HTTPStatusCode: res.StatusCode,
41471		},
41472	}
41473	target := &ret
41474	if err := gensupport.DecodeResponse(target, res); err != nil {
41475		return nil, err
41476	}
41477	return ret, nil
41478	// {
41479	//   "description": "Updates an existing placement. This method supports patch semantics.",
41480	//   "httpMethod": "PATCH",
41481	//   "id": "dfareporting.placements.patch",
41482	//   "parameterOrder": [
41483	//     "profileId",
41484	//     "id"
41485	//   ],
41486	//   "parameters": {
41487	//     "id": {
41488	//       "description": "Placement ID.",
41489	//       "format": "int64",
41490	//       "location": "query",
41491	//       "required": true,
41492	//       "type": "string"
41493	//     },
41494	//     "profileId": {
41495	//       "description": "User profile ID associated with this request.",
41496	//       "format": "int64",
41497	//       "location": "path",
41498	//       "required": true,
41499	//       "type": "string"
41500	//     }
41501	//   },
41502	//   "path": "userprofiles/{profileId}/placements",
41503	//   "request": {
41504	//     "$ref": "Placement"
41505	//   },
41506	//   "response": {
41507	//     "$ref": "Placement"
41508	//   },
41509	//   "scopes": [
41510	//     "https://www.googleapis.com/auth/dfatrafficking"
41511	//   ]
41512	// }
41513
41514}
41515
41516// method id "dfareporting.placements.update":
41517
41518type PlacementsUpdateCall struct {
41519	s          *Service
41520	profileId  int64
41521	placement  *Placement
41522	urlParams_ gensupport.URLParams
41523	ctx_       context.Context
41524	header_    http.Header
41525}
41526
41527// Update: Updates an existing placement.
41528func (r *PlacementsService) Update(profileId int64, placement *Placement) *PlacementsUpdateCall {
41529	c := &PlacementsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41530	c.profileId = profileId
41531	c.placement = placement
41532	return c
41533}
41534
41535// Fields allows partial responses to be retrieved. See
41536// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41537// for more information.
41538func (c *PlacementsUpdateCall) Fields(s ...googleapi.Field) *PlacementsUpdateCall {
41539	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41540	return c
41541}
41542
41543// Context sets the context to be used in this call's Do method. Any
41544// pending HTTP request will be aborted if the provided context is
41545// canceled.
41546func (c *PlacementsUpdateCall) Context(ctx context.Context) *PlacementsUpdateCall {
41547	c.ctx_ = ctx
41548	return c
41549}
41550
41551// Header returns an http.Header that can be modified by the caller to
41552// add HTTP headers to the request.
41553func (c *PlacementsUpdateCall) Header() http.Header {
41554	if c.header_ == nil {
41555		c.header_ = make(http.Header)
41556	}
41557	return c.header_
41558}
41559
41560func (c *PlacementsUpdateCall) doRequest(alt string) (*http.Response, error) {
41561	reqHeaders := make(http.Header)
41562	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41563	for k, v := range c.header_ {
41564		reqHeaders[k] = v
41565	}
41566	reqHeaders.Set("User-Agent", c.s.userAgent())
41567	var body io.Reader = nil
41568	body, err := googleapi.WithoutDataWrapper.JSONReader(c.placement)
41569	if err != nil {
41570		return nil, err
41571	}
41572	reqHeaders.Set("Content-Type", "application/json")
41573	c.urlParams_.Set("alt", alt)
41574	c.urlParams_.Set("prettyPrint", "false")
41575	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/placements")
41576	urls += "?" + c.urlParams_.Encode()
41577	req, err := http.NewRequest("PUT", urls, body)
41578	if err != nil {
41579		return nil, err
41580	}
41581	req.Header = reqHeaders
41582	googleapi.Expand(req.URL, map[string]string{
41583		"profileId": strconv.FormatInt(c.profileId, 10),
41584	})
41585	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41586}
41587
41588// Do executes the "dfareporting.placements.update" call.
41589// Exactly one of *Placement or error will be non-nil. Any non-2xx
41590// status code is an error. Response headers are in either
41591// *Placement.ServerResponse.Header or (if a response was returned at
41592// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41593// to check whether the returned error was because
41594// http.StatusNotModified was returned.
41595func (c *PlacementsUpdateCall) Do(opts ...googleapi.CallOption) (*Placement, error) {
41596	gensupport.SetOptions(c.urlParams_, opts...)
41597	res, err := c.doRequest("json")
41598	if res != nil && res.StatusCode == http.StatusNotModified {
41599		if res.Body != nil {
41600			res.Body.Close()
41601		}
41602		return nil, &googleapi.Error{
41603			Code:   res.StatusCode,
41604			Header: res.Header,
41605		}
41606	}
41607	if err != nil {
41608		return nil, err
41609	}
41610	defer googleapi.CloseBody(res)
41611	if err := googleapi.CheckResponse(res); err != nil {
41612		return nil, err
41613	}
41614	ret := &Placement{
41615		ServerResponse: googleapi.ServerResponse{
41616			Header:         res.Header,
41617			HTTPStatusCode: res.StatusCode,
41618		},
41619	}
41620	target := &ret
41621	if err := gensupport.DecodeResponse(target, res); err != nil {
41622		return nil, err
41623	}
41624	return ret, nil
41625	// {
41626	//   "description": "Updates an existing placement.",
41627	//   "httpMethod": "PUT",
41628	//   "id": "dfareporting.placements.update",
41629	//   "parameterOrder": [
41630	//     "profileId"
41631	//   ],
41632	//   "parameters": {
41633	//     "profileId": {
41634	//       "description": "User profile ID associated with this request.",
41635	//       "format": "int64",
41636	//       "location": "path",
41637	//       "required": true,
41638	//       "type": "string"
41639	//     }
41640	//   },
41641	//   "path": "userprofiles/{profileId}/placements",
41642	//   "request": {
41643	//     "$ref": "Placement"
41644	//   },
41645	//   "response": {
41646	//     "$ref": "Placement"
41647	//   },
41648	//   "scopes": [
41649	//     "https://www.googleapis.com/auth/dfatrafficking"
41650	//   ]
41651	// }
41652
41653}
41654
41655// method id "dfareporting.platformTypes.get":
41656
41657type PlatformTypesGetCall struct {
41658	s            *Service
41659	profileId    int64
41660	id           int64
41661	urlParams_   gensupport.URLParams
41662	ifNoneMatch_ string
41663	ctx_         context.Context
41664	header_      http.Header
41665}
41666
41667// Get: Gets one platform type by ID.
41668func (r *PlatformTypesService) Get(profileId int64, id int64) *PlatformTypesGetCall {
41669	c := &PlatformTypesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41670	c.profileId = profileId
41671	c.id = id
41672	return c
41673}
41674
41675// Fields allows partial responses to be retrieved. See
41676// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41677// for more information.
41678func (c *PlatformTypesGetCall) Fields(s ...googleapi.Field) *PlatformTypesGetCall {
41679	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41680	return c
41681}
41682
41683// IfNoneMatch sets the optional parameter which makes the operation
41684// fail if the object's ETag matches the given value. This is useful for
41685// getting updates only after the object has changed since the last
41686// request. Use googleapi.IsNotModified to check whether the response
41687// error from Do is the result of In-None-Match.
41688func (c *PlatformTypesGetCall) IfNoneMatch(entityTag string) *PlatformTypesGetCall {
41689	c.ifNoneMatch_ = entityTag
41690	return c
41691}
41692
41693// Context sets the context to be used in this call's Do method. Any
41694// pending HTTP request will be aborted if the provided context is
41695// canceled.
41696func (c *PlatformTypesGetCall) Context(ctx context.Context) *PlatformTypesGetCall {
41697	c.ctx_ = ctx
41698	return c
41699}
41700
41701// Header returns an http.Header that can be modified by the caller to
41702// add HTTP headers to the request.
41703func (c *PlatformTypesGetCall) Header() http.Header {
41704	if c.header_ == nil {
41705		c.header_ = make(http.Header)
41706	}
41707	return c.header_
41708}
41709
41710func (c *PlatformTypesGetCall) doRequest(alt string) (*http.Response, error) {
41711	reqHeaders := make(http.Header)
41712	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41713	for k, v := range c.header_ {
41714		reqHeaders[k] = v
41715	}
41716	reqHeaders.Set("User-Agent", c.s.userAgent())
41717	if c.ifNoneMatch_ != "" {
41718		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41719	}
41720	var body io.Reader = nil
41721	c.urlParams_.Set("alt", alt)
41722	c.urlParams_.Set("prettyPrint", "false")
41723	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes/{id}")
41724	urls += "?" + c.urlParams_.Encode()
41725	req, err := http.NewRequest("GET", urls, body)
41726	if err != nil {
41727		return nil, err
41728	}
41729	req.Header = reqHeaders
41730	googleapi.Expand(req.URL, map[string]string{
41731		"profileId": strconv.FormatInt(c.profileId, 10),
41732		"id":        strconv.FormatInt(c.id, 10),
41733	})
41734	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41735}
41736
41737// Do executes the "dfareporting.platformTypes.get" call.
41738// Exactly one of *PlatformType or error will be non-nil. Any non-2xx
41739// status code is an error. Response headers are in either
41740// *PlatformType.ServerResponse.Header or (if a response was returned at
41741// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
41742// to check whether the returned error was because
41743// http.StatusNotModified was returned.
41744func (c *PlatformTypesGetCall) Do(opts ...googleapi.CallOption) (*PlatformType, error) {
41745	gensupport.SetOptions(c.urlParams_, opts...)
41746	res, err := c.doRequest("json")
41747	if res != nil && res.StatusCode == http.StatusNotModified {
41748		if res.Body != nil {
41749			res.Body.Close()
41750		}
41751		return nil, &googleapi.Error{
41752			Code:   res.StatusCode,
41753			Header: res.Header,
41754		}
41755	}
41756	if err != nil {
41757		return nil, err
41758	}
41759	defer googleapi.CloseBody(res)
41760	if err := googleapi.CheckResponse(res); err != nil {
41761		return nil, err
41762	}
41763	ret := &PlatformType{
41764		ServerResponse: googleapi.ServerResponse{
41765			Header:         res.Header,
41766			HTTPStatusCode: res.StatusCode,
41767		},
41768	}
41769	target := &ret
41770	if err := gensupport.DecodeResponse(target, res); err != nil {
41771		return nil, err
41772	}
41773	return ret, nil
41774	// {
41775	//   "description": "Gets one platform type by ID.",
41776	//   "httpMethod": "GET",
41777	//   "id": "dfareporting.platformTypes.get",
41778	//   "parameterOrder": [
41779	//     "profileId",
41780	//     "id"
41781	//   ],
41782	//   "parameters": {
41783	//     "id": {
41784	//       "description": "Platform type ID.",
41785	//       "format": "int64",
41786	//       "location": "path",
41787	//       "required": true,
41788	//       "type": "string"
41789	//     },
41790	//     "profileId": {
41791	//       "description": "User profile ID associated with this request.",
41792	//       "format": "int64",
41793	//       "location": "path",
41794	//       "required": true,
41795	//       "type": "string"
41796	//     }
41797	//   },
41798	//   "path": "userprofiles/{profileId}/platformTypes/{id}",
41799	//   "response": {
41800	//     "$ref": "PlatformType"
41801	//   },
41802	//   "scopes": [
41803	//     "https://www.googleapis.com/auth/dfatrafficking"
41804	//   ]
41805	// }
41806
41807}
41808
41809// method id "dfareporting.platformTypes.list":
41810
41811type PlatformTypesListCall struct {
41812	s            *Service
41813	profileId    int64
41814	urlParams_   gensupport.URLParams
41815	ifNoneMatch_ string
41816	ctx_         context.Context
41817	header_      http.Header
41818}
41819
41820// List: Retrieves a list of platform types.
41821func (r *PlatformTypesService) List(profileId int64) *PlatformTypesListCall {
41822	c := &PlatformTypesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41823	c.profileId = profileId
41824	return c
41825}
41826
41827// Fields allows partial responses to be retrieved. See
41828// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41829// for more information.
41830func (c *PlatformTypesListCall) Fields(s ...googleapi.Field) *PlatformTypesListCall {
41831	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41832	return c
41833}
41834
41835// IfNoneMatch sets the optional parameter which makes the operation
41836// fail if the object's ETag matches the given value. This is useful for
41837// getting updates only after the object has changed since the last
41838// request. Use googleapi.IsNotModified to check whether the response
41839// error from Do is the result of In-None-Match.
41840func (c *PlatformTypesListCall) IfNoneMatch(entityTag string) *PlatformTypesListCall {
41841	c.ifNoneMatch_ = entityTag
41842	return c
41843}
41844
41845// Context sets the context to be used in this call's Do method. Any
41846// pending HTTP request will be aborted if the provided context is
41847// canceled.
41848func (c *PlatformTypesListCall) Context(ctx context.Context) *PlatformTypesListCall {
41849	c.ctx_ = ctx
41850	return c
41851}
41852
41853// Header returns an http.Header that can be modified by the caller to
41854// add HTTP headers to the request.
41855func (c *PlatformTypesListCall) Header() http.Header {
41856	if c.header_ == nil {
41857		c.header_ = make(http.Header)
41858	}
41859	return c.header_
41860}
41861
41862func (c *PlatformTypesListCall) doRequest(alt string) (*http.Response, error) {
41863	reqHeaders := make(http.Header)
41864	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
41865	for k, v := range c.header_ {
41866		reqHeaders[k] = v
41867	}
41868	reqHeaders.Set("User-Agent", c.s.userAgent())
41869	if c.ifNoneMatch_ != "" {
41870		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
41871	}
41872	var body io.Reader = nil
41873	c.urlParams_.Set("alt", alt)
41874	c.urlParams_.Set("prettyPrint", "false")
41875	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/platformTypes")
41876	urls += "?" + c.urlParams_.Encode()
41877	req, err := http.NewRequest("GET", urls, body)
41878	if err != nil {
41879		return nil, err
41880	}
41881	req.Header = reqHeaders
41882	googleapi.Expand(req.URL, map[string]string{
41883		"profileId": strconv.FormatInt(c.profileId, 10),
41884	})
41885	return gensupport.SendRequest(c.ctx_, c.s.client, req)
41886}
41887
41888// Do executes the "dfareporting.platformTypes.list" call.
41889// Exactly one of *PlatformTypesListResponse or error will be non-nil.
41890// Any non-2xx status code is an error. Response headers are in either
41891// *PlatformTypesListResponse.ServerResponse.Header or (if a response
41892// was returned at all) in error.(*googleapi.Error).Header. Use
41893// googleapi.IsNotModified to check whether the returned error was
41894// because http.StatusNotModified was returned.
41895func (c *PlatformTypesListCall) Do(opts ...googleapi.CallOption) (*PlatformTypesListResponse, error) {
41896	gensupport.SetOptions(c.urlParams_, opts...)
41897	res, err := c.doRequest("json")
41898	if res != nil && res.StatusCode == http.StatusNotModified {
41899		if res.Body != nil {
41900			res.Body.Close()
41901		}
41902		return nil, &googleapi.Error{
41903			Code:   res.StatusCode,
41904			Header: res.Header,
41905		}
41906	}
41907	if err != nil {
41908		return nil, err
41909	}
41910	defer googleapi.CloseBody(res)
41911	if err := googleapi.CheckResponse(res); err != nil {
41912		return nil, err
41913	}
41914	ret := &PlatformTypesListResponse{
41915		ServerResponse: googleapi.ServerResponse{
41916			Header:         res.Header,
41917			HTTPStatusCode: res.StatusCode,
41918		},
41919	}
41920	target := &ret
41921	if err := gensupport.DecodeResponse(target, res); err != nil {
41922		return nil, err
41923	}
41924	return ret, nil
41925	// {
41926	//   "description": "Retrieves a list of platform types.",
41927	//   "httpMethod": "GET",
41928	//   "id": "dfareporting.platformTypes.list",
41929	//   "parameterOrder": [
41930	//     "profileId"
41931	//   ],
41932	//   "parameters": {
41933	//     "profileId": {
41934	//       "description": "User profile ID associated with this request.",
41935	//       "format": "int64",
41936	//       "location": "path",
41937	//       "required": true,
41938	//       "type": "string"
41939	//     }
41940	//   },
41941	//   "path": "userprofiles/{profileId}/platformTypes",
41942	//   "response": {
41943	//     "$ref": "PlatformTypesListResponse"
41944	//   },
41945	//   "scopes": [
41946	//     "https://www.googleapis.com/auth/dfatrafficking"
41947	//   ]
41948	// }
41949
41950}
41951
41952// method id "dfareporting.postalCodes.get":
41953
41954type PostalCodesGetCall struct {
41955	s            *Service
41956	profileId    int64
41957	code         string
41958	urlParams_   gensupport.URLParams
41959	ifNoneMatch_ string
41960	ctx_         context.Context
41961	header_      http.Header
41962}
41963
41964// Get: Gets one postal code by ID.
41965func (r *PostalCodesService) Get(profileId int64, code string) *PostalCodesGetCall {
41966	c := &PostalCodesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
41967	c.profileId = profileId
41968	c.code = code
41969	return c
41970}
41971
41972// Fields allows partial responses to be retrieved. See
41973// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
41974// for more information.
41975func (c *PostalCodesGetCall) Fields(s ...googleapi.Field) *PostalCodesGetCall {
41976	c.urlParams_.Set("fields", googleapi.CombineFields(s))
41977	return c
41978}
41979
41980// IfNoneMatch sets the optional parameter which makes the operation
41981// fail if the object's ETag matches the given value. This is useful for
41982// getting updates only after the object has changed since the last
41983// request. Use googleapi.IsNotModified to check whether the response
41984// error from Do is the result of In-None-Match.
41985func (c *PostalCodesGetCall) IfNoneMatch(entityTag string) *PostalCodesGetCall {
41986	c.ifNoneMatch_ = entityTag
41987	return c
41988}
41989
41990// Context sets the context to be used in this call's Do method. Any
41991// pending HTTP request will be aborted if the provided context is
41992// canceled.
41993func (c *PostalCodesGetCall) Context(ctx context.Context) *PostalCodesGetCall {
41994	c.ctx_ = ctx
41995	return c
41996}
41997
41998// Header returns an http.Header that can be modified by the caller to
41999// add HTTP headers to the request.
42000func (c *PostalCodesGetCall) Header() http.Header {
42001	if c.header_ == nil {
42002		c.header_ = make(http.Header)
42003	}
42004	return c.header_
42005}
42006
42007func (c *PostalCodesGetCall) doRequest(alt string) (*http.Response, error) {
42008	reqHeaders := make(http.Header)
42009	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42010	for k, v := range c.header_ {
42011		reqHeaders[k] = v
42012	}
42013	reqHeaders.Set("User-Agent", c.s.userAgent())
42014	if c.ifNoneMatch_ != "" {
42015		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42016	}
42017	var body io.Reader = nil
42018	c.urlParams_.Set("alt", alt)
42019	c.urlParams_.Set("prettyPrint", "false")
42020	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes/{code}")
42021	urls += "?" + c.urlParams_.Encode()
42022	req, err := http.NewRequest("GET", urls, body)
42023	if err != nil {
42024		return nil, err
42025	}
42026	req.Header = reqHeaders
42027	googleapi.Expand(req.URL, map[string]string{
42028		"profileId": strconv.FormatInt(c.profileId, 10),
42029		"code":      c.code,
42030	})
42031	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42032}
42033
42034// Do executes the "dfareporting.postalCodes.get" call.
42035// Exactly one of *PostalCode or error will be non-nil. Any non-2xx
42036// status code is an error. Response headers are in either
42037// *PostalCode.ServerResponse.Header or (if a response was returned at
42038// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
42039// to check whether the returned error was because
42040// http.StatusNotModified was returned.
42041func (c *PostalCodesGetCall) Do(opts ...googleapi.CallOption) (*PostalCode, error) {
42042	gensupport.SetOptions(c.urlParams_, opts...)
42043	res, err := c.doRequest("json")
42044	if res != nil && res.StatusCode == http.StatusNotModified {
42045		if res.Body != nil {
42046			res.Body.Close()
42047		}
42048		return nil, &googleapi.Error{
42049			Code:   res.StatusCode,
42050			Header: res.Header,
42051		}
42052	}
42053	if err != nil {
42054		return nil, err
42055	}
42056	defer googleapi.CloseBody(res)
42057	if err := googleapi.CheckResponse(res); err != nil {
42058		return nil, err
42059	}
42060	ret := &PostalCode{
42061		ServerResponse: googleapi.ServerResponse{
42062			Header:         res.Header,
42063			HTTPStatusCode: res.StatusCode,
42064		},
42065	}
42066	target := &ret
42067	if err := gensupport.DecodeResponse(target, res); err != nil {
42068		return nil, err
42069	}
42070	return ret, nil
42071	// {
42072	//   "description": "Gets one postal code by ID.",
42073	//   "httpMethod": "GET",
42074	//   "id": "dfareporting.postalCodes.get",
42075	//   "parameterOrder": [
42076	//     "profileId",
42077	//     "code"
42078	//   ],
42079	//   "parameters": {
42080	//     "code": {
42081	//       "description": "Postal code ID.",
42082	//       "location": "path",
42083	//       "required": true,
42084	//       "type": "string"
42085	//     },
42086	//     "profileId": {
42087	//       "description": "User profile ID associated with this request.",
42088	//       "format": "int64",
42089	//       "location": "path",
42090	//       "required": true,
42091	//       "type": "string"
42092	//     }
42093	//   },
42094	//   "path": "userprofiles/{profileId}/postalCodes/{code}",
42095	//   "response": {
42096	//     "$ref": "PostalCode"
42097	//   },
42098	//   "scopes": [
42099	//     "https://www.googleapis.com/auth/dfatrafficking"
42100	//   ]
42101	// }
42102
42103}
42104
42105// method id "dfareporting.postalCodes.list":
42106
42107type PostalCodesListCall struct {
42108	s            *Service
42109	profileId    int64
42110	urlParams_   gensupport.URLParams
42111	ifNoneMatch_ string
42112	ctx_         context.Context
42113	header_      http.Header
42114}
42115
42116// List: Retrieves a list of postal codes.
42117func (r *PostalCodesService) List(profileId int64) *PostalCodesListCall {
42118	c := &PostalCodesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42119	c.profileId = profileId
42120	return c
42121}
42122
42123// Fields allows partial responses to be retrieved. See
42124// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42125// for more information.
42126func (c *PostalCodesListCall) Fields(s ...googleapi.Field) *PostalCodesListCall {
42127	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42128	return c
42129}
42130
42131// IfNoneMatch sets the optional parameter which makes the operation
42132// fail if the object's ETag matches the given value. This is useful for
42133// getting updates only after the object has changed since the last
42134// request. Use googleapi.IsNotModified to check whether the response
42135// error from Do is the result of In-None-Match.
42136func (c *PostalCodesListCall) IfNoneMatch(entityTag string) *PostalCodesListCall {
42137	c.ifNoneMatch_ = entityTag
42138	return c
42139}
42140
42141// Context sets the context to be used in this call's Do method. Any
42142// pending HTTP request will be aborted if the provided context is
42143// canceled.
42144func (c *PostalCodesListCall) Context(ctx context.Context) *PostalCodesListCall {
42145	c.ctx_ = ctx
42146	return c
42147}
42148
42149// Header returns an http.Header that can be modified by the caller to
42150// add HTTP headers to the request.
42151func (c *PostalCodesListCall) Header() http.Header {
42152	if c.header_ == nil {
42153		c.header_ = make(http.Header)
42154	}
42155	return c.header_
42156}
42157
42158func (c *PostalCodesListCall) doRequest(alt string) (*http.Response, error) {
42159	reqHeaders := make(http.Header)
42160	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42161	for k, v := range c.header_ {
42162		reqHeaders[k] = v
42163	}
42164	reqHeaders.Set("User-Agent", c.s.userAgent())
42165	if c.ifNoneMatch_ != "" {
42166		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42167	}
42168	var body io.Reader = nil
42169	c.urlParams_.Set("alt", alt)
42170	c.urlParams_.Set("prettyPrint", "false")
42171	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/postalCodes")
42172	urls += "?" + c.urlParams_.Encode()
42173	req, err := http.NewRequest("GET", urls, body)
42174	if err != nil {
42175		return nil, err
42176	}
42177	req.Header = reqHeaders
42178	googleapi.Expand(req.URL, map[string]string{
42179		"profileId": strconv.FormatInt(c.profileId, 10),
42180	})
42181	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42182}
42183
42184// Do executes the "dfareporting.postalCodes.list" call.
42185// Exactly one of *PostalCodesListResponse or error will be non-nil. Any
42186// non-2xx status code is an error. Response headers are in either
42187// *PostalCodesListResponse.ServerResponse.Header or (if a response was
42188// returned at all) in error.(*googleapi.Error).Header. Use
42189// googleapi.IsNotModified to check whether the returned error was
42190// because http.StatusNotModified was returned.
42191func (c *PostalCodesListCall) Do(opts ...googleapi.CallOption) (*PostalCodesListResponse, error) {
42192	gensupport.SetOptions(c.urlParams_, opts...)
42193	res, err := c.doRequest("json")
42194	if res != nil && res.StatusCode == http.StatusNotModified {
42195		if res.Body != nil {
42196			res.Body.Close()
42197		}
42198		return nil, &googleapi.Error{
42199			Code:   res.StatusCode,
42200			Header: res.Header,
42201		}
42202	}
42203	if err != nil {
42204		return nil, err
42205	}
42206	defer googleapi.CloseBody(res)
42207	if err := googleapi.CheckResponse(res); err != nil {
42208		return nil, err
42209	}
42210	ret := &PostalCodesListResponse{
42211		ServerResponse: googleapi.ServerResponse{
42212			Header:         res.Header,
42213			HTTPStatusCode: res.StatusCode,
42214		},
42215	}
42216	target := &ret
42217	if err := gensupport.DecodeResponse(target, res); err != nil {
42218		return nil, err
42219	}
42220	return ret, nil
42221	// {
42222	//   "description": "Retrieves a list of postal codes.",
42223	//   "httpMethod": "GET",
42224	//   "id": "dfareporting.postalCodes.list",
42225	//   "parameterOrder": [
42226	//     "profileId"
42227	//   ],
42228	//   "parameters": {
42229	//     "profileId": {
42230	//       "description": "User profile ID associated with this request.",
42231	//       "format": "int64",
42232	//       "location": "path",
42233	//       "required": true,
42234	//       "type": "string"
42235	//     }
42236	//   },
42237	//   "path": "userprofiles/{profileId}/postalCodes",
42238	//   "response": {
42239	//     "$ref": "PostalCodesListResponse"
42240	//   },
42241	//   "scopes": [
42242	//     "https://www.googleapis.com/auth/dfatrafficking"
42243	//   ]
42244	// }
42245
42246}
42247
42248// method id "dfareporting.projects.get":
42249
42250type ProjectsGetCall struct {
42251	s            *Service
42252	profileId    int64
42253	id           int64
42254	urlParams_   gensupport.URLParams
42255	ifNoneMatch_ string
42256	ctx_         context.Context
42257	header_      http.Header
42258}
42259
42260// Get: Gets one project by ID.
42261func (r *ProjectsService) Get(profileId int64, id int64) *ProjectsGetCall {
42262	c := &ProjectsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42263	c.profileId = profileId
42264	c.id = id
42265	return c
42266}
42267
42268// Fields allows partial responses to be retrieved. See
42269// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42270// for more information.
42271func (c *ProjectsGetCall) Fields(s ...googleapi.Field) *ProjectsGetCall {
42272	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42273	return c
42274}
42275
42276// IfNoneMatch sets the optional parameter which makes the operation
42277// fail if the object's ETag matches the given value. This is useful for
42278// getting updates only after the object has changed since the last
42279// request. Use googleapi.IsNotModified to check whether the response
42280// error from Do is the result of In-None-Match.
42281func (c *ProjectsGetCall) IfNoneMatch(entityTag string) *ProjectsGetCall {
42282	c.ifNoneMatch_ = entityTag
42283	return c
42284}
42285
42286// Context sets the context to be used in this call's Do method. Any
42287// pending HTTP request will be aborted if the provided context is
42288// canceled.
42289func (c *ProjectsGetCall) Context(ctx context.Context) *ProjectsGetCall {
42290	c.ctx_ = ctx
42291	return c
42292}
42293
42294// Header returns an http.Header that can be modified by the caller to
42295// add HTTP headers to the request.
42296func (c *ProjectsGetCall) Header() http.Header {
42297	if c.header_ == nil {
42298		c.header_ = make(http.Header)
42299	}
42300	return c.header_
42301}
42302
42303func (c *ProjectsGetCall) doRequest(alt string) (*http.Response, error) {
42304	reqHeaders := make(http.Header)
42305	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42306	for k, v := range c.header_ {
42307		reqHeaders[k] = v
42308	}
42309	reqHeaders.Set("User-Agent", c.s.userAgent())
42310	if c.ifNoneMatch_ != "" {
42311		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42312	}
42313	var body io.Reader = nil
42314	c.urlParams_.Set("alt", alt)
42315	c.urlParams_.Set("prettyPrint", "false")
42316	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects/{id}")
42317	urls += "?" + c.urlParams_.Encode()
42318	req, err := http.NewRequest("GET", urls, body)
42319	if err != nil {
42320		return nil, err
42321	}
42322	req.Header = reqHeaders
42323	googleapi.Expand(req.URL, map[string]string{
42324		"profileId": strconv.FormatInt(c.profileId, 10),
42325		"id":        strconv.FormatInt(c.id, 10),
42326	})
42327	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42328}
42329
42330// Do executes the "dfareporting.projects.get" call.
42331// Exactly one of *Project or error will be non-nil. Any non-2xx status
42332// code is an error. Response headers are in either
42333// *Project.ServerResponse.Header or (if a response was returned at all)
42334// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
42335// check whether the returned error was because http.StatusNotModified
42336// was returned.
42337func (c *ProjectsGetCall) Do(opts ...googleapi.CallOption) (*Project, error) {
42338	gensupport.SetOptions(c.urlParams_, opts...)
42339	res, err := c.doRequest("json")
42340	if res != nil && res.StatusCode == http.StatusNotModified {
42341		if res.Body != nil {
42342			res.Body.Close()
42343		}
42344		return nil, &googleapi.Error{
42345			Code:   res.StatusCode,
42346			Header: res.Header,
42347		}
42348	}
42349	if err != nil {
42350		return nil, err
42351	}
42352	defer googleapi.CloseBody(res)
42353	if err := googleapi.CheckResponse(res); err != nil {
42354		return nil, err
42355	}
42356	ret := &Project{
42357		ServerResponse: googleapi.ServerResponse{
42358			Header:         res.Header,
42359			HTTPStatusCode: res.StatusCode,
42360		},
42361	}
42362	target := &ret
42363	if err := gensupport.DecodeResponse(target, res); err != nil {
42364		return nil, err
42365	}
42366	return ret, nil
42367	// {
42368	//   "description": "Gets one project by ID.",
42369	//   "httpMethod": "GET",
42370	//   "id": "dfareporting.projects.get",
42371	//   "parameterOrder": [
42372	//     "profileId",
42373	//     "id"
42374	//   ],
42375	//   "parameters": {
42376	//     "id": {
42377	//       "description": "Project ID.",
42378	//       "format": "int64",
42379	//       "location": "path",
42380	//       "required": true,
42381	//       "type": "string"
42382	//     },
42383	//     "profileId": {
42384	//       "description": "User profile ID associated with this request.",
42385	//       "format": "int64",
42386	//       "location": "path",
42387	//       "required": true,
42388	//       "type": "string"
42389	//     }
42390	//   },
42391	//   "path": "userprofiles/{profileId}/projects/{id}",
42392	//   "response": {
42393	//     "$ref": "Project"
42394	//   },
42395	//   "scopes": [
42396	//     "https://www.googleapis.com/auth/dfatrafficking"
42397	//   ]
42398	// }
42399
42400}
42401
42402// method id "dfareporting.projects.list":
42403
42404type ProjectsListCall struct {
42405	s            *Service
42406	profileId    int64
42407	urlParams_   gensupport.URLParams
42408	ifNoneMatch_ string
42409	ctx_         context.Context
42410	header_      http.Header
42411}
42412
42413// List: Retrieves a list of projects, possibly filtered. This method
42414// supports paging.
42415func (r *ProjectsService) List(profileId int64) *ProjectsListCall {
42416	c := &ProjectsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42417	c.profileId = profileId
42418	return c
42419}
42420
42421// AdvertiserIds sets the optional parameter "advertiserIds": Select
42422// only projects with these advertiser IDs.
42423func (c *ProjectsListCall) AdvertiserIds(advertiserIds ...int64) *ProjectsListCall {
42424	var advertiserIds_ []string
42425	for _, v := range advertiserIds {
42426		advertiserIds_ = append(advertiserIds_, fmt.Sprint(v))
42427	}
42428	c.urlParams_.SetMulti("advertiserIds", advertiserIds_)
42429	return c
42430}
42431
42432// Ids sets the optional parameter "ids": Select only projects with
42433// these IDs.
42434func (c *ProjectsListCall) Ids(ids ...int64) *ProjectsListCall {
42435	var ids_ []string
42436	for _, v := range ids {
42437		ids_ = append(ids_, fmt.Sprint(v))
42438	}
42439	c.urlParams_.SetMulti("ids", ids_)
42440	return c
42441}
42442
42443// MaxResults sets the optional parameter "maxResults": Maximum number
42444// of results to return.
42445func (c *ProjectsListCall) MaxResults(maxResults int64) *ProjectsListCall {
42446	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
42447	return c
42448}
42449
42450// PageToken sets the optional parameter "pageToken": Value of the
42451// nextPageToken from the previous result page.
42452func (c *ProjectsListCall) PageToken(pageToken string) *ProjectsListCall {
42453	c.urlParams_.Set("pageToken", pageToken)
42454	return c
42455}
42456
42457// SearchString sets the optional parameter "searchString": Allows
42458// searching for projects by name or ID. Wildcards (*) are allowed. For
42459// example, "project*2015" will return projects with names like "project
42460// June 2015", "project April 2015", or simply "project 2015". Most of
42461// the searches also add wildcards implicitly at the start and the end
42462// of the search string. For example, a search string of "project" will
42463// match projects with name "my project", "project 2015", or simply
42464// "project".
42465func (c *ProjectsListCall) SearchString(searchString string) *ProjectsListCall {
42466	c.urlParams_.Set("searchString", searchString)
42467	return c
42468}
42469
42470// SortField sets the optional parameter "sortField": Field by which to
42471// sort the list.
42472//
42473// Possible values:
42474//   "ID" (default)
42475//   "NAME"
42476func (c *ProjectsListCall) SortField(sortField string) *ProjectsListCall {
42477	c.urlParams_.Set("sortField", sortField)
42478	return c
42479}
42480
42481// SortOrder sets the optional parameter "sortOrder": Order of sorted
42482// results.
42483//
42484// Possible values:
42485//   "ASCENDING" (default)
42486//   "DESCENDING"
42487func (c *ProjectsListCall) SortOrder(sortOrder string) *ProjectsListCall {
42488	c.urlParams_.Set("sortOrder", sortOrder)
42489	return c
42490}
42491
42492// Fields allows partial responses to be retrieved. See
42493// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42494// for more information.
42495func (c *ProjectsListCall) Fields(s ...googleapi.Field) *ProjectsListCall {
42496	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42497	return c
42498}
42499
42500// IfNoneMatch sets the optional parameter which makes the operation
42501// fail if the object's ETag matches the given value. This is useful for
42502// getting updates only after the object has changed since the last
42503// request. Use googleapi.IsNotModified to check whether the response
42504// error from Do is the result of In-None-Match.
42505func (c *ProjectsListCall) IfNoneMatch(entityTag string) *ProjectsListCall {
42506	c.ifNoneMatch_ = entityTag
42507	return c
42508}
42509
42510// Context sets the context to be used in this call's Do method. Any
42511// pending HTTP request will be aborted if the provided context is
42512// canceled.
42513func (c *ProjectsListCall) Context(ctx context.Context) *ProjectsListCall {
42514	c.ctx_ = ctx
42515	return c
42516}
42517
42518// Header returns an http.Header that can be modified by the caller to
42519// add HTTP headers to the request.
42520func (c *ProjectsListCall) Header() http.Header {
42521	if c.header_ == nil {
42522		c.header_ = make(http.Header)
42523	}
42524	return c.header_
42525}
42526
42527func (c *ProjectsListCall) doRequest(alt string) (*http.Response, error) {
42528	reqHeaders := make(http.Header)
42529	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42530	for k, v := range c.header_ {
42531		reqHeaders[k] = v
42532	}
42533	reqHeaders.Set("User-Agent", c.s.userAgent())
42534	if c.ifNoneMatch_ != "" {
42535		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42536	}
42537	var body io.Reader = nil
42538	c.urlParams_.Set("alt", alt)
42539	c.urlParams_.Set("prettyPrint", "false")
42540	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/projects")
42541	urls += "?" + c.urlParams_.Encode()
42542	req, err := http.NewRequest("GET", urls, body)
42543	if err != nil {
42544		return nil, err
42545	}
42546	req.Header = reqHeaders
42547	googleapi.Expand(req.URL, map[string]string{
42548		"profileId": strconv.FormatInt(c.profileId, 10),
42549	})
42550	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42551}
42552
42553// Do executes the "dfareporting.projects.list" call.
42554// Exactly one of *ProjectsListResponse or error will be non-nil. Any
42555// non-2xx status code is an error. Response headers are in either
42556// *ProjectsListResponse.ServerResponse.Header or (if a response was
42557// returned at all) in error.(*googleapi.Error).Header. Use
42558// googleapi.IsNotModified to check whether the returned error was
42559// because http.StatusNotModified was returned.
42560func (c *ProjectsListCall) Do(opts ...googleapi.CallOption) (*ProjectsListResponse, error) {
42561	gensupport.SetOptions(c.urlParams_, opts...)
42562	res, err := c.doRequest("json")
42563	if res != nil && res.StatusCode == http.StatusNotModified {
42564		if res.Body != nil {
42565			res.Body.Close()
42566		}
42567		return nil, &googleapi.Error{
42568			Code:   res.StatusCode,
42569			Header: res.Header,
42570		}
42571	}
42572	if err != nil {
42573		return nil, err
42574	}
42575	defer googleapi.CloseBody(res)
42576	if err := googleapi.CheckResponse(res); err != nil {
42577		return nil, err
42578	}
42579	ret := &ProjectsListResponse{
42580		ServerResponse: googleapi.ServerResponse{
42581			Header:         res.Header,
42582			HTTPStatusCode: res.StatusCode,
42583		},
42584	}
42585	target := &ret
42586	if err := gensupport.DecodeResponse(target, res); err != nil {
42587		return nil, err
42588	}
42589	return ret, nil
42590	// {
42591	//   "description": "Retrieves a list of projects, possibly filtered. This method supports paging.",
42592	//   "httpMethod": "GET",
42593	//   "id": "dfareporting.projects.list",
42594	//   "parameterOrder": [
42595	//     "profileId"
42596	//   ],
42597	//   "parameters": {
42598	//     "advertiserIds": {
42599	//       "description": "Select only projects with these advertiser IDs.",
42600	//       "format": "int64",
42601	//       "location": "query",
42602	//       "repeated": true,
42603	//       "type": "string"
42604	//     },
42605	//     "ids": {
42606	//       "description": "Select only projects with these IDs.",
42607	//       "format": "int64",
42608	//       "location": "query",
42609	//       "repeated": true,
42610	//       "type": "string"
42611	//     },
42612	//     "maxResults": {
42613	//       "default": "1000",
42614	//       "description": "Maximum number of results to return.",
42615	//       "format": "int32",
42616	//       "location": "query",
42617	//       "maximum": "1000",
42618	//       "minimum": "0",
42619	//       "type": "integer"
42620	//     },
42621	//     "pageToken": {
42622	//       "description": "Value of the nextPageToken from the previous result page.",
42623	//       "location": "query",
42624	//       "type": "string"
42625	//     },
42626	//     "profileId": {
42627	//       "description": "User profile ID associated with this request.",
42628	//       "format": "int64",
42629	//       "location": "path",
42630	//       "required": true,
42631	//       "type": "string"
42632	//     },
42633	//     "searchString": {
42634	//       "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\".",
42635	//       "location": "query",
42636	//       "type": "string"
42637	//     },
42638	//     "sortField": {
42639	//       "default": "ID",
42640	//       "description": "Field by which to sort the list.",
42641	//       "enum": [
42642	//         "ID",
42643	//         "NAME"
42644	//       ],
42645	//       "enumDescriptions": [
42646	//         "",
42647	//         ""
42648	//       ],
42649	//       "location": "query",
42650	//       "type": "string"
42651	//     },
42652	//     "sortOrder": {
42653	//       "default": "ASCENDING",
42654	//       "description": "Order of sorted results.",
42655	//       "enum": [
42656	//         "ASCENDING",
42657	//         "DESCENDING"
42658	//       ],
42659	//       "enumDescriptions": [
42660	//         "",
42661	//         ""
42662	//       ],
42663	//       "location": "query",
42664	//       "type": "string"
42665	//     }
42666	//   },
42667	//   "path": "userprofiles/{profileId}/projects",
42668	//   "response": {
42669	//     "$ref": "ProjectsListResponse"
42670	//   },
42671	//   "scopes": [
42672	//     "https://www.googleapis.com/auth/dfatrafficking"
42673	//   ]
42674	// }
42675
42676}
42677
42678// Pages invokes f for each page of results.
42679// A non-nil error returned from f will halt the iteration.
42680// The provided context supersedes any context provided to the Context method.
42681func (c *ProjectsListCall) Pages(ctx context.Context, f func(*ProjectsListResponse) error) error {
42682	c.ctx_ = ctx
42683	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
42684	for {
42685		x, err := c.Do()
42686		if err != nil {
42687			return err
42688		}
42689		if err := f(x); err != nil {
42690			return err
42691		}
42692		if x.NextPageToken == "" {
42693			return nil
42694		}
42695		c.PageToken(x.NextPageToken)
42696	}
42697}
42698
42699// method id "dfareporting.regions.list":
42700
42701type RegionsListCall struct {
42702	s            *Service
42703	profileId    int64
42704	urlParams_   gensupport.URLParams
42705	ifNoneMatch_ string
42706	ctx_         context.Context
42707	header_      http.Header
42708}
42709
42710// List: Retrieves a list of regions.
42711func (r *RegionsService) List(profileId int64) *RegionsListCall {
42712	c := &RegionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42713	c.profileId = profileId
42714	return c
42715}
42716
42717// Fields allows partial responses to be retrieved. See
42718// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42719// for more information.
42720func (c *RegionsListCall) Fields(s ...googleapi.Field) *RegionsListCall {
42721	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42722	return c
42723}
42724
42725// IfNoneMatch sets the optional parameter which makes the operation
42726// fail if the object's ETag matches the given value. This is useful for
42727// getting updates only after the object has changed since the last
42728// request. Use googleapi.IsNotModified to check whether the response
42729// error from Do is the result of In-None-Match.
42730func (c *RegionsListCall) IfNoneMatch(entityTag string) *RegionsListCall {
42731	c.ifNoneMatch_ = entityTag
42732	return c
42733}
42734
42735// Context sets the context to be used in this call's Do method. Any
42736// pending HTTP request will be aborted if the provided context is
42737// canceled.
42738func (c *RegionsListCall) Context(ctx context.Context) *RegionsListCall {
42739	c.ctx_ = ctx
42740	return c
42741}
42742
42743// Header returns an http.Header that can be modified by the caller to
42744// add HTTP headers to the request.
42745func (c *RegionsListCall) Header() http.Header {
42746	if c.header_ == nil {
42747		c.header_ = make(http.Header)
42748	}
42749	return c.header_
42750}
42751
42752func (c *RegionsListCall) doRequest(alt string) (*http.Response, error) {
42753	reqHeaders := make(http.Header)
42754	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42755	for k, v := range c.header_ {
42756		reqHeaders[k] = v
42757	}
42758	reqHeaders.Set("User-Agent", c.s.userAgent())
42759	if c.ifNoneMatch_ != "" {
42760		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42761	}
42762	var body io.Reader = nil
42763	c.urlParams_.Set("alt", alt)
42764	c.urlParams_.Set("prettyPrint", "false")
42765	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/regions")
42766	urls += "?" + c.urlParams_.Encode()
42767	req, err := http.NewRequest("GET", urls, body)
42768	if err != nil {
42769		return nil, err
42770	}
42771	req.Header = reqHeaders
42772	googleapi.Expand(req.URL, map[string]string{
42773		"profileId": strconv.FormatInt(c.profileId, 10),
42774	})
42775	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42776}
42777
42778// Do executes the "dfareporting.regions.list" call.
42779// Exactly one of *RegionsListResponse or error will be non-nil. Any
42780// non-2xx status code is an error. Response headers are in either
42781// *RegionsListResponse.ServerResponse.Header or (if a response was
42782// returned at all) in error.(*googleapi.Error).Header. Use
42783// googleapi.IsNotModified to check whether the returned error was
42784// because http.StatusNotModified was returned.
42785func (c *RegionsListCall) Do(opts ...googleapi.CallOption) (*RegionsListResponse, error) {
42786	gensupport.SetOptions(c.urlParams_, opts...)
42787	res, err := c.doRequest("json")
42788	if res != nil && res.StatusCode == http.StatusNotModified {
42789		if res.Body != nil {
42790			res.Body.Close()
42791		}
42792		return nil, &googleapi.Error{
42793			Code:   res.StatusCode,
42794			Header: res.Header,
42795		}
42796	}
42797	if err != nil {
42798		return nil, err
42799	}
42800	defer googleapi.CloseBody(res)
42801	if err := googleapi.CheckResponse(res); err != nil {
42802		return nil, err
42803	}
42804	ret := &RegionsListResponse{
42805		ServerResponse: googleapi.ServerResponse{
42806			Header:         res.Header,
42807			HTTPStatusCode: res.StatusCode,
42808		},
42809	}
42810	target := &ret
42811	if err := gensupport.DecodeResponse(target, res); err != nil {
42812		return nil, err
42813	}
42814	return ret, nil
42815	// {
42816	//   "description": "Retrieves a list of regions.",
42817	//   "httpMethod": "GET",
42818	//   "id": "dfareporting.regions.list",
42819	//   "parameterOrder": [
42820	//     "profileId"
42821	//   ],
42822	//   "parameters": {
42823	//     "profileId": {
42824	//       "description": "User profile ID associated with this request.",
42825	//       "format": "int64",
42826	//       "location": "path",
42827	//       "required": true,
42828	//       "type": "string"
42829	//     }
42830	//   },
42831	//   "path": "userprofiles/{profileId}/regions",
42832	//   "response": {
42833	//     "$ref": "RegionsListResponse"
42834	//   },
42835	//   "scopes": [
42836	//     "https://www.googleapis.com/auth/dfatrafficking"
42837	//   ]
42838	// }
42839
42840}
42841
42842// method id "dfareporting.remarketingListShares.get":
42843
42844type RemarketingListSharesGetCall struct {
42845	s                 *Service
42846	profileId         int64
42847	remarketingListId int64
42848	urlParams_        gensupport.URLParams
42849	ifNoneMatch_      string
42850	ctx_              context.Context
42851	header_           http.Header
42852}
42853
42854// Get: Gets one remarketing list share by remarketing list ID.
42855func (r *RemarketingListSharesService) Get(profileId int64, remarketingListId int64) *RemarketingListSharesGetCall {
42856	c := &RemarketingListSharesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
42857	c.profileId = profileId
42858	c.remarketingListId = remarketingListId
42859	return c
42860}
42861
42862// Fields allows partial responses to be retrieved. See
42863// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
42864// for more information.
42865func (c *RemarketingListSharesGetCall) Fields(s ...googleapi.Field) *RemarketingListSharesGetCall {
42866	c.urlParams_.Set("fields", googleapi.CombineFields(s))
42867	return c
42868}
42869
42870// IfNoneMatch sets the optional parameter which makes the operation
42871// fail if the object's ETag matches the given value. This is useful for
42872// getting updates only after the object has changed since the last
42873// request. Use googleapi.IsNotModified to check whether the response
42874// error from Do is the result of In-None-Match.
42875func (c *RemarketingListSharesGetCall) IfNoneMatch(entityTag string) *RemarketingListSharesGetCall {
42876	c.ifNoneMatch_ = entityTag
42877	return c
42878}
42879
42880// Context sets the context to be used in this call's Do method. Any
42881// pending HTTP request will be aborted if the provided context is
42882// canceled.
42883func (c *RemarketingListSharesGetCall) Context(ctx context.Context) *RemarketingListSharesGetCall {
42884	c.ctx_ = ctx
42885	return c
42886}
42887
42888// Header returns an http.Header that can be modified by the caller to
42889// add HTTP headers to the request.
42890func (c *RemarketingListSharesGetCall) Header() http.Header {
42891	if c.header_ == nil {
42892		c.header_ = make(http.Header)
42893	}
42894	return c.header_
42895}
42896
42897func (c *RemarketingListSharesGetCall) doRequest(alt string) (*http.Response, error) {
42898	reqHeaders := make(http.Header)
42899	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
42900	for k, v := range c.header_ {
42901		reqHeaders[k] = v
42902	}
42903	reqHeaders.Set("User-Agent", c.s.userAgent())
42904	if c.ifNoneMatch_ != "" {
42905		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
42906	}
42907	var body io.Reader = nil
42908	c.urlParams_.Set("alt", alt)
42909	c.urlParams_.Set("prettyPrint", "false")
42910	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares/{remarketingListId}")
42911	urls += "?" + c.urlParams_.Encode()
42912	req, err := http.NewRequest("GET", urls, body)
42913	if err != nil {
42914		return nil, err
42915	}
42916	req.Header = reqHeaders
42917	googleapi.Expand(req.URL, map[string]string{
42918		"profileId":         strconv.FormatInt(c.profileId, 10),
42919		"remarketingListId": strconv.FormatInt(c.remarketingListId, 10),
42920	})
42921	return gensupport.SendRequest(c.ctx_, c.s.client, req)
42922}
42923
42924// Do executes the "dfareporting.remarketingListShares.get" call.
42925// Exactly one of *RemarketingListShare or error will be non-nil. Any
42926// non-2xx status code is an error. Response headers are in either
42927// *RemarketingListShare.ServerResponse.Header or (if a response was
42928// returned at all) in error.(*googleapi.Error).Header. Use
42929// googleapi.IsNotModified to check whether the returned error was
42930// because http.StatusNotModified was returned.
42931func (c *RemarketingListSharesGetCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
42932	gensupport.SetOptions(c.urlParams_, opts...)
42933	res, err := c.doRequest("json")
42934	if res != nil && res.StatusCode == http.StatusNotModified {
42935		if res.Body != nil {
42936			res.Body.Close()
42937		}
42938		return nil, &googleapi.Error{
42939			Code:   res.StatusCode,
42940			Header: res.Header,
42941		}
42942	}
42943	if err != nil {
42944		return nil, err
42945	}
42946	defer googleapi.CloseBody(res)
42947	if err := googleapi.CheckResponse(res); err != nil {
42948		return nil, err
42949	}
42950	ret := &RemarketingListShare{
42951		ServerResponse: googleapi.ServerResponse{
42952			Header:         res.Header,
42953			HTTPStatusCode: res.StatusCode,
42954		},
42955	}
42956	target := &ret
42957	if err := gensupport.DecodeResponse(target, res); err != nil {
42958		return nil, err
42959	}
42960	return ret, nil
42961	// {
42962	//   "description": "Gets one remarketing list share by remarketing list ID.",
42963	//   "httpMethod": "GET",
42964	//   "id": "dfareporting.remarketingListShares.get",
42965	//   "parameterOrder": [
42966	//     "profileId",
42967	//     "remarketingListId"
42968	//   ],
42969	//   "parameters": {
42970	//     "profileId": {
42971	//       "description": "User profile ID associated with this request.",
42972	//       "format": "int64",
42973	//       "location": "path",
42974	//       "required": true,
42975	//       "type": "string"
42976	//     },
42977	//     "remarketingListId": {
42978	//       "description": "Remarketing list ID.",
42979	//       "format": "int64",
42980	//       "location": "path",
42981	//       "required": true,
42982	//       "type": "string"
42983	//     }
42984	//   },
42985	//   "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}",
42986	//   "response": {
42987	//     "$ref": "RemarketingListShare"
42988	//   },
42989	//   "scopes": [
42990	//     "https://www.googleapis.com/auth/dfatrafficking"
42991	//   ]
42992	// }
42993
42994}
42995
42996// method id "dfareporting.remarketingListShares.patch":
42997
42998type RemarketingListSharesPatchCall struct {
42999	s                    *Service
43000	profileId            int64
43001	remarketinglistshare *RemarketingListShare
43002	urlParams_           gensupport.URLParams
43003	ctx_                 context.Context
43004	header_              http.Header
43005}
43006
43007// Patch: Updates an existing remarketing list share. This method
43008// supports patch semantics.
43009func (r *RemarketingListSharesService) Patch(profileId int64, remarketingListId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesPatchCall {
43010	c := &RemarketingListSharesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43011	c.profileId = profileId
43012	c.urlParams_.Set("remarketingListId", fmt.Sprint(remarketingListId))
43013	c.remarketinglistshare = remarketinglistshare
43014	return c
43015}
43016
43017// Fields allows partial responses to be retrieved. See
43018// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43019// for more information.
43020func (c *RemarketingListSharesPatchCall) Fields(s ...googleapi.Field) *RemarketingListSharesPatchCall {
43021	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43022	return c
43023}
43024
43025// Context sets the context to be used in this call's Do method. Any
43026// pending HTTP request will be aborted if the provided context is
43027// canceled.
43028func (c *RemarketingListSharesPatchCall) Context(ctx context.Context) *RemarketingListSharesPatchCall {
43029	c.ctx_ = ctx
43030	return c
43031}
43032
43033// Header returns an http.Header that can be modified by the caller to
43034// add HTTP headers to the request.
43035func (c *RemarketingListSharesPatchCall) Header() http.Header {
43036	if c.header_ == nil {
43037		c.header_ = make(http.Header)
43038	}
43039	return c.header_
43040}
43041
43042func (c *RemarketingListSharesPatchCall) doRequest(alt string) (*http.Response, error) {
43043	reqHeaders := make(http.Header)
43044	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43045	for k, v := range c.header_ {
43046		reqHeaders[k] = v
43047	}
43048	reqHeaders.Set("User-Agent", c.s.userAgent())
43049	var body io.Reader = nil
43050	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
43051	if err != nil {
43052		return nil, err
43053	}
43054	reqHeaders.Set("Content-Type", "application/json")
43055	c.urlParams_.Set("alt", alt)
43056	c.urlParams_.Set("prettyPrint", "false")
43057	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
43058	urls += "?" + c.urlParams_.Encode()
43059	req, err := http.NewRequest("PATCH", urls, body)
43060	if err != nil {
43061		return nil, err
43062	}
43063	req.Header = reqHeaders
43064	googleapi.Expand(req.URL, map[string]string{
43065		"profileId": strconv.FormatInt(c.profileId, 10),
43066	})
43067	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43068}
43069
43070// Do executes the "dfareporting.remarketingListShares.patch" call.
43071// Exactly one of *RemarketingListShare or error will be non-nil. Any
43072// non-2xx status code is an error. Response headers are in either
43073// *RemarketingListShare.ServerResponse.Header or (if a response was
43074// returned at all) in error.(*googleapi.Error).Header. Use
43075// googleapi.IsNotModified to check whether the returned error was
43076// because http.StatusNotModified was returned.
43077func (c *RemarketingListSharesPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
43078	gensupport.SetOptions(c.urlParams_, opts...)
43079	res, err := c.doRequest("json")
43080	if res != nil && res.StatusCode == http.StatusNotModified {
43081		if res.Body != nil {
43082			res.Body.Close()
43083		}
43084		return nil, &googleapi.Error{
43085			Code:   res.StatusCode,
43086			Header: res.Header,
43087		}
43088	}
43089	if err != nil {
43090		return nil, err
43091	}
43092	defer googleapi.CloseBody(res)
43093	if err := googleapi.CheckResponse(res); err != nil {
43094		return nil, err
43095	}
43096	ret := &RemarketingListShare{
43097		ServerResponse: googleapi.ServerResponse{
43098			Header:         res.Header,
43099			HTTPStatusCode: res.StatusCode,
43100		},
43101	}
43102	target := &ret
43103	if err := gensupport.DecodeResponse(target, res); err != nil {
43104		return nil, err
43105	}
43106	return ret, nil
43107	// {
43108	//   "description": "Updates an existing remarketing list share. This method supports patch semantics.",
43109	//   "httpMethod": "PATCH",
43110	//   "id": "dfareporting.remarketingListShares.patch",
43111	//   "parameterOrder": [
43112	//     "profileId",
43113	//     "remarketingListId"
43114	//   ],
43115	//   "parameters": {
43116	//     "profileId": {
43117	//       "description": "User profile ID associated with this request.",
43118	//       "format": "int64",
43119	//       "location": "path",
43120	//       "required": true,
43121	//       "type": "string"
43122	//     },
43123	//     "remarketingListId": {
43124	//       "description": "Remarketing list ID.",
43125	//       "format": "int64",
43126	//       "location": "query",
43127	//       "required": true,
43128	//       "type": "string"
43129	//     }
43130	//   },
43131	//   "path": "userprofiles/{profileId}/remarketingListShares",
43132	//   "request": {
43133	//     "$ref": "RemarketingListShare"
43134	//   },
43135	//   "response": {
43136	//     "$ref": "RemarketingListShare"
43137	//   },
43138	//   "scopes": [
43139	//     "https://www.googleapis.com/auth/dfatrafficking"
43140	//   ]
43141	// }
43142
43143}
43144
43145// method id "dfareporting.remarketingListShares.update":
43146
43147type RemarketingListSharesUpdateCall struct {
43148	s                    *Service
43149	profileId            int64
43150	remarketinglistshare *RemarketingListShare
43151	urlParams_           gensupport.URLParams
43152	ctx_                 context.Context
43153	header_              http.Header
43154}
43155
43156// Update: Updates an existing remarketing list share.
43157func (r *RemarketingListSharesService) Update(profileId int64, remarketinglistshare *RemarketingListShare) *RemarketingListSharesUpdateCall {
43158	c := &RemarketingListSharesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43159	c.profileId = profileId
43160	c.remarketinglistshare = remarketinglistshare
43161	return c
43162}
43163
43164// Fields allows partial responses to be retrieved. See
43165// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43166// for more information.
43167func (c *RemarketingListSharesUpdateCall) Fields(s ...googleapi.Field) *RemarketingListSharesUpdateCall {
43168	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43169	return c
43170}
43171
43172// Context sets the context to be used in this call's Do method. Any
43173// pending HTTP request will be aborted if the provided context is
43174// canceled.
43175func (c *RemarketingListSharesUpdateCall) Context(ctx context.Context) *RemarketingListSharesUpdateCall {
43176	c.ctx_ = ctx
43177	return c
43178}
43179
43180// Header returns an http.Header that can be modified by the caller to
43181// add HTTP headers to the request.
43182func (c *RemarketingListSharesUpdateCall) Header() http.Header {
43183	if c.header_ == nil {
43184		c.header_ = make(http.Header)
43185	}
43186	return c.header_
43187}
43188
43189func (c *RemarketingListSharesUpdateCall) doRequest(alt string) (*http.Response, error) {
43190	reqHeaders := make(http.Header)
43191	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43192	for k, v := range c.header_ {
43193		reqHeaders[k] = v
43194	}
43195	reqHeaders.Set("User-Agent", c.s.userAgent())
43196	var body io.Reader = nil
43197	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglistshare)
43198	if err != nil {
43199		return nil, err
43200	}
43201	reqHeaders.Set("Content-Type", "application/json")
43202	c.urlParams_.Set("alt", alt)
43203	c.urlParams_.Set("prettyPrint", "false")
43204	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingListShares")
43205	urls += "?" + c.urlParams_.Encode()
43206	req, err := http.NewRequest("PUT", urls, body)
43207	if err != nil {
43208		return nil, err
43209	}
43210	req.Header = reqHeaders
43211	googleapi.Expand(req.URL, map[string]string{
43212		"profileId": strconv.FormatInt(c.profileId, 10),
43213	})
43214	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43215}
43216
43217// Do executes the "dfareporting.remarketingListShares.update" call.
43218// Exactly one of *RemarketingListShare or error will be non-nil. Any
43219// non-2xx status code is an error. Response headers are in either
43220// *RemarketingListShare.ServerResponse.Header or (if a response was
43221// returned at all) in error.(*googleapi.Error).Header. Use
43222// googleapi.IsNotModified to check whether the returned error was
43223// because http.StatusNotModified was returned.
43224func (c *RemarketingListSharesUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingListShare, error) {
43225	gensupport.SetOptions(c.urlParams_, opts...)
43226	res, err := c.doRequest("json")
43227	if res != nil && res.StatusCode == http.StatusNotModified {
43228		if res.Body != nil {
43229			res.Body.Close()
43230		}
43231		return nil, &googleapi.Error{
43232			Code:   res.StatusCode,
43233			Header: res.Header,
43234		}
43235	}
43236	if err != nil {
43237		return nil, err
43238	}
43239	defer googleapi.CloseBody(res)
43240	if err := googleapi.CheckResponse(res); err != nil {
43241		return nil, err
43242	}
43243	ret := &RemarketingListShare{
43244		ServerResponse: googleapi.ServerResponse{
43245			Header:         res.Header,
43246			HTTPStatusCode: res.StatusCode,
43247		},
43248	}
43249	target := &ret
43250	if err := gensupport.DecodeResponse(target, res); err != nil {
43251		return nil, err
43252	}
43253	return ret, nil
43254	// {
43255	//   "description": "Updates an existing remarketing list share.",
43256	//   "httpMethod": "PUT",
43257	//   "id": "dfareporting.remarketingListShares.update",
43258	//   "parameterOrder": [
43259	//     "profileId"
43260	//   ],
43261	//   "parameters": {
43262	//     "profileId": {
43263	//       "description": "User profile ID associated with this request.",
43264	//       "format": "int64",
43265	//       "location": "path",
43266	//       "required": true,
43267	//       "type": "string"
43268	//     }
43269	//   },
43270	//   "path": "userprofiles/{profileId}/remarketingListShares",
43271	//   "request": {
43272	//     "$ref": "RemarketingListShare"
43273	//   },
43274	//   "response": {
43275	//     "$ref": "RemarketingListShare"
43276	//   },
43277	//   "scopes": [
43278	//     "https://www.googleapis.com/auth/dfatrafficking"
43279	//   ]
43280	// }
43281
43282}
43283
43284// method id "dfareporting.remarketingLists.get":
43285
43286type RemarketingListsGetCall struct {
43287	s            *Service
43288	profileId    int64
43289	id           int64
43290	urlParams_   gensupport.URLParams
43291	ifNoneMatch_ string
43292	ctx_         context.Context
43293	header_      http.Header
43294}
43295
43296// Get: Gets one remarketing list by ID.
43297func (r *RemarketingListsService) Get(profileId int64, id int64) *RemarketingListsGetCall {
43298	c := &RemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43299	c.profileId = profileId
43300	c.id = id
43301	return c
43302}
43303
43304// Fields allows partial responses to be retrieved. See
43305// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43306// for more information.
43307func (c *RemarketingListsGetCall) Fields(s ...googleapi.Field) *RemarketingListsGetCall {
43308	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43309	return c
43310}
43311
43312// IfNoneMatch sets the optional parameter which makes the operation
43313// fail if the object's ETag matches the given value. This is useful for
43314// getting updates only after the object has changed since the last
43315// request. Use googleapi.IsNotModified to check whether the response
43316// error from Do is the result of In-None-Match.
43317func (c *RemarketingListsGetCall) IfNoneMatch(entityTag string) *RemarketingListsGetCall {
43318	c.ifNoneMatch_ = entityTag
43319	return c
43320}
43321
43322// Context sets the context to be used in this call's Do method. Any
43323// pending HTTP request will be aborted if the provided context is
43324// canceled.
43325func (c *RemarketingListsGetCall) Context(ctx context.Context) *RemarketingListsGetCall {
43326	c.ctx_ = ctx
43327	return c
43328}
43329
43330// Header returns an http.Header that can be modified by the caller to
43331// add HTTP headers to the request.
43332func (c *RemarketingListsGetCall) Header() http.Header {
43333	if c.header_ == nil {
43334		c.header_ = make(http.Header)
43335	}
43336	return c.header_
43337}
43338
43339func (c *RemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
43340	reqHeaders := make(http.Header)
43341	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43342	for k, v := range c.header_ {
43343		reqHeaders[k] = v
43344	}
43345	reqHeaders.Set("User-Agent", c.s.userAgent())
43346	if c.ifNoneMatch_ != "" {
43347		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43348	}
43349	var body io.Reader = nil
43350	c.urlParams_.Set("alt", alt)
43351	c.urlParams_.Set("prettyPrint", "false")
43352	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists/{id}")
43353	urls += "?" + c.urlParams_.Encode()
43354	req, err := http.NewRequest("GET", urls, body)
43355	if err != nil {
43356		return nil, err
43357	}
43358	req.Header = reqHeaders
43359	googleapi.Expand(req.URL, map[string]string{
43360		"profileId": strconv.FormatInt(c.profileId, 10),
43361		"id":        strconv.FormatInt(c.id, 10),
43362	})
43363	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43364}
43365
43366// Do executes the "dfareporting.remarketingLists.get" call.
43367// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43368// status code is an error. Response headers are in either
43369// *RemarketingList.ServerResponse.Header or (if a response was returned
43370// at all) in error.(*googleapi.Error).Header. Use
43371// googleapi.IsNotModified to check whether the returned error was
43372// because http.StatusNotModified was returned.
43373func (c *RemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43374	gensupport.SetOptions(c.urlParams_, opts...)
43375	res, err := c.doRequest("json")
43376	if res != nil && res.StatusCode == http.StatusNotModified {
43377		if res.Body != nil {
43378			res.Body.Close()
43379		}
43380		return nil, &googleapi.Error{
43381			Code:   res.StatusCode,
43382			Header: res.Header,
43383		}
43384	}
43385	if err != nil {
43386		return nil, err
43387	}
43388	defer googleapi.CloseBody(res)
43389	if err := googleapi.CheckResponse(res); err != nil {
43390		return nil, err
43391	}
43392	ret := &RemarketingList{
43393		ServerResponse: googleapi.ServerResponse{
43394			Header:         res.Header,
43395			HTTPStatusCode: res.StatusCode,
43396		},
43397	}
43398	target := &ret
43399	if err := gensupport.DecodeResponse(target, res); err != nil {
43400		return nil, err
43401	}
43402	return ret, nil
43403	// {
43404	//   "description": "Gets one remarketing list by ID.",
43405	//   "httpMethod": "GET",
43406	//   "id": "dfareporting.remarketingLists.get",
43407	//   "parameterOrder": [
43408	//     "profileId",
43409	//     "id"
43410	//   ],
43411	//   "parameters": {
43412	//     "id": {
43413	//       "description": "Remarketing list ID.",
43414	//       "format": "int64",
43415	//       "location": "path",
43416	//       "required": true,
43417	//       "type": "string"
43418	//     },
43419	//     "profileId": {
43420	//       "description": "User profile ID associated with this request.",
43421	//       "format": "int64",
43422	//       "location": "path",
43423	//       "required": true,
43424	//       "type": "string"
43425	//     }
43426	//   },
43427	//   "path": "userprofiles/{profileId}/remarketingLists/{id}",
43428	//   "response": {
43429	//     "$ref": "RemarketingList"
43430	//   },
43431	//   "scopes": [
43432	//     "https://www.googleapis.com/auth/dfatrafficking"
43433	//   ]
43434	// }
43435
43436}
43437
43438// method id "dfareporting.remarketingLists.insert":
43439
43440type RemarketingListsInsertCall struct {
43441	s               *Service
43442	profileId       int64
43443	remarketinglist *RemarketingList
43444	urlParams_      gensupport.URLParams
43445	ctx_            context.Context
43446	header_         http.Header
43447}
43448
43449// Insert: Inserts a new remarketing list.
43450func (r *RemarketingListsService) Insert(profileId int64, remarketinglist *RemarketingList) *RemarketingListsInsertCall {
43451	c := &RemarketingListsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43452	c.profileId = profileId
43453	c.remarketinglist = remarketinglist
43454	return c
43455}
43456
43457// Fields allows partial responses to be retrieved. See
43458// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43459// for more information.
43460func (c *RemarketingListsInsertCall) Fields(s ...googleapi.Field) *RemarketingListsInsertCall {
43461	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43462	return c
43463}
43464
43465// Context sets the context to be used in this call's Do method. Any
43466// pending HTTP request will be aborted if the provided context is
43467// canceled.
43468func (c *RemarketingListsInsertCall) Context(ctx context.Context) *RemarketingListsInsertCall {
43469	c.ctx_ = ctx
43470	return c
43471}
43472
43473// Header returns an http.Header that can be modified by the caller to
43474// add HTTP headers to the request.
43475func (c *RemarketingListsInsertCall) Header() http.Header {
43476	if c.header_ == nil {
43477		c.header_ = make(http.Header)
43478	}
43479	return c.header_
43480}
43481
43482func (c *RemarketingListsInsertCall) doRequest(alt string) (*http.Response, error) {
43483	reqHeaders := make(http.Header)
43484	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43485	for k, v := range c.header_ {
43486		reqHeaders[k] = v
43487	}
43488	reqHeaders.Set("User-Agent", c.s.userAgent())
43489	var body io.Reader = nil
43490	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43491	if err != nil {
43492		return nil, err
43493	}
43494	reqHeaders.Set("Content-Type", "application/json")
43495	c.urlParams_.Set("alt", alt)
43496	c.urlParams_.Set("prettyPrint", "false")
43497	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43498	urls += "?" + c.urlParams_.Encode()
43499	req, err := http.NewRequest("POST", urls, body)
43500	if err != nil {
43501		return nil, err
43502	}
43503	req.Header = reqHeaders
43504	googleapi.Expand(req.URL, map[string]string{
43505		"profileId": strconv.FormatInt(c.profileId, 10),
43506	})
43507	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43508}
43509
43510// Do executes the "dfareporting.remarketingLists.insert" call.
43511// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43512// status code is an error. Response headers are in either
43513// *RemarketingList.ServerResponse.Header or (if a response was returned
43514// at all) in error.(*googleapi.Error).Header. Use
43515// googleapi.IsNotModified to check whether the returned error was
43516// because http.StatusNotModified was returned.
43517func (c *RemarketingListsInsertCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43518	gensupport.SetOptions(c.urlParams_, opts...)
43519	res, err := c.doRequest("json")
43520	if res != nil && res.StatusCode == http.StatusNotModified {
43521		if res.Body != nil {
43522			res.Body.Close()
43523		}
43524		return nil, &googleapi.Error{
43525			Code:   res.StatusCode,
43526			Header: res.Header,
43527		}
43528	}
43529	if err != nil {
43530		return nil, err
43531	}
43532	defer googleapi.CloseBody(res)
43533	if err := googleapi.CheckResponse(res); err != nil {
43534		return nil, err
43535	}
43536	ret := &RemarketingList{
43537		ServerResponse: googleapi.ServerResponse{
43538			Header:         res.Header,
43539			HTTPStatusCode: res.StatusCode,
43540		},
43541	}
43542	target := &ret
43543	if err := gensupport.DecodeResponse(target, res); err != nil {
43544		return nil, err
43545	}
43546	return ret, nil
43547	// {
43548	//   "description": "Inserts a new remarketing list.",
43549	//   "httpMethod": "POST",
43550	//   "id": "dfareporting.remarketingLists.insert",
43551	//   "parameterOrder": [
43552	//     "profileId"
43553	//   ],
43554	//   "parameters": {
43555	//     "profileId": {
43556	//       "description": "User profile ID associated with this request.",
43557	//       "format": "int64",
43558	//       "location": "path",
43559	//       "required": true,
43560	//       "type": "string"
43561	//     }
43562	//   },
43563	//   "path": "userprofiles/{profileId}/remarketingLists",
43564	//   "request": {
43565	//     "$ref": "RemarketingList"
43566	//   },
43567	//   "response": {
43568	//     "$ref": "RemarketingList"
43569	//   },
43570	//   "scopes": [
43571	//     "https://www.googleapis.com/auth/dfatrafficking"
43572	//   ]
43573	// }
43574
43575}
43576
43577// method id "dfareporting.remarketingLists.list":
43578
43579type RemarketingListsListCall struct {
43580	s            *Service
43581	profileId    int64
43582	urlParams_   gensupport.URLParams
43583	ifNoneMatch_ string
43584	ctx_         context.Context
43585	header_      http.Header
43586}
43587
43588// List: Retrieves a list of remarketing lists, possibly filtered. This
43589// method supports paging.
43590func (r *RemarketingListsService) List(profileId int64, advertiserId int64) *RemarketingListsListCall {
43591	c := &RemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43592	c.profileId = profileId
43593	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
43594	return c
43595}
43596
43597// Active sets the optional parameter "active": Select only active or
43598// only inactive remarketing lists.
43599func (c *RemarketingListsListCall) Active(active bool) *RemarketingListsListCall {
43600	c.urlParams_.Set("active", fmt.Sprint(active))
43601	return c
43602}
43603
43604// FloodlightActivityId sets the optional parameter
43605// "floodlightActivityId": Select only remarketing lists that have this
43606// floodlight activity ID.
43607func (c *RemarketingListsListCall) FloodlightActivityId(floodlightActivityId int64) *RemarketingListsListCall {
43608	c.urlParams_.Set("floodlightActivityId", fmt.Sprint(floodlightActivityId))
43609	return c
43610}
43611
43612// MaxResults sets the optional parameter "maxResults": Maximum number
43613// of results to return.
43614func (c *RemarketingListsListCall) MaxResults(maxResults int64) *RemarketingListsListCall {
43615	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
43616	return c
43617}
43618
43619// Name sets the optional parameter "name": Allows searching for objects
43620// by name or ID. Wildcards (*) are allowed. For example, "remarketing
43621// list*2015" will return objects with names like "remarketing list June
43622// 2015", "remarketing list April 2015", or simply "remarketing list
43623// 2015". Most of the searches also add wildcards implicitly at the
43624// start and the end of the search string. For example, a search string
43625// of "remarketing list" will match objects with name "my remarketing
43626// list", "remarketing list 2015", or simply "remarketing list".
43627func (c *RemarketingListsListCall) Name(name string) *RemarketingListsListCall {
43628	c.urlParams_.Set("name", name)
43629	return c
43630}
43631
43632// PageToken sets the optional parameter "pageToken": Value of the
43633// nextPageToken from the previous result page.
43634func (c *RemarketingListsListCall) PageToken(pageToken string) *RemarketingListsListCall {
43635	c.urlParams_.Set("pageToken", pageToken)
43636	return c
43637}
43638
43639// SortField sets the optional parameter "sortField": Field by which to
43640// sort the list.
43641//
43642// Possible values:
43643//   "ID" (default)
43644//   "NAME"
43645func (c *RemarketingListsListCall) SortField(sortField string) *RemarketingListsListCall {
43646	c.urlParams_.Set("sortField", sortField)
43647	return c
43648}
43649
43650// SortOrder sets the optional parameter "sortOrder": Order of sorted
43651// results.
43652//
43653// Possible values:
43654//   "ASCENDING" (default)
43655//   "DESCENDING"
43656func (c *RemarketingListsListCall) SortOrder(sortOrder string) *RemarketingListsListCall {
43657	c.urlParams_.Set("sortOrder", sortOrder)
43658	return c
43659}
43660
43661// Fields allows partial responses to be retrieved. See
43662// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43663// for more information.
43664func (c *RemarketingListsListCall) Fields(s ...googleapi.Field) *RemarketingListsListCall {
43665	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43666	return c
43667}
43668
43669// IfNoneMatch sets the optional parameter which makes the operation
43670// fail if the object's ETag matches the given value. This is useful for
43671// getting updates only after the object has changed since the last
43672// request. Use googleapi.IsNotModified to check whether the response
43673// error from Do is the result of In-None-Match.
43674func (c *RemarketingListsListCall) IfNoneMatch(entityTag string) *RemarketingListsListCall {
43675	c.ifNoneMatch_ = entityTag
43676	return c
43677}
43678
43679// Context sets the context to be used in this call's Do method. Any
43680// pending HTTP request will be aborted if the provided context is
43681// canceled.
43682func (c *RemarketingListsListCall) Context(ctx context.Context) *RemarketingListsListCall {
43683	c.ctx_ = ctx
43684	return c
43685}
43686
43687// Header returns an http.Header that can be modified by the caller to
43688// add HTTP headers to the request.
43689func (c *RemarketingListsListCall) Header() http.Header {
43690	if c.header_ == nil {
43691		c.header_ = make(http.Header)
43692	}
43693	return c.header_
43694}
43695
43696func (c *RemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
43697	reqHeaders := make(http.Header)
43698	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43699	for k, v := range c.header_ {
43700		reqHeaders[k] = v
43701	}
43702	reqHeaders.Set("User-Agent", c.s.userAgent())
43703	if c.ifNoneMatch_ != "" {
43704		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
43705	}
43706	var body io.Reader = nil
43707	c.urlParams_.Set("alt", alt)
43708	c.urlParams_.Set("prettyPrint", "false")
43709	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43710	urls += "?" + c.urlParams_.Encode()
43711	req, err := http.NewRequest("GET", urls, body)
43712	if err != nil {
43713		return nil, err
43714	}
43715	req.Header = reqHeaders
43716	googleapi.Expand(req.URL, map[string]string{
43717		"profileId": strconv.FormatInt(c.profileId, 10),
43718	})
43719	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43720}
43721
43722// Do executes the "dfareporting.remarketingLists.list" call.
43723// Exactly one of *RemarketingListsListResponse or error will be
43724// non-nil. Any non-2xx status code is an error. Response headers are in
43725// either *RemarketingListsListResponse.ServerResponse.Header or (if a
43726// response was returned at all) in error.(*googleapi.Error).Header. Use
43727// googleapi.IsNotModified to check whether the returned error was
43728// because http.StatusNotModified was returned.
43729func (c *RemarketingListsListCall) Do(opts ...googleapi.CallOption) (*RemarketingListsListResponse, error) {
43730	gensupport.SetOptions(c.urlParams_, opts...)
43731	res, err := c.doRequest("json")
43732	if res != nil && res.StatusCode == http.StatusNotModified {
43733		if res.Body != nil {
43734			res.Body.Close()
43735		}
43736		return nil, &googleapi.Error{
43737			Code:   res.StatusCode,
43738			Header: res.Header,
43739		}
43740	}
43741	if err != nil {
43742		return nil, err
43743	}
43744	defer googleapi.CloseBody(res)
43745	if err := googleapi.CheckResponse(res); err != nil {
43746		return nil, err
43747	}
43748	ret := &RemarketingListsListResponse{
43749		ServerResponse: googleapi.ServerResponse{
43750			Header:         res.Header,
43751			HTTPStatusCode: res.StatusCode,
43752		},
43753	}
43754	target := &ret
43755	if err := gensupport.DecodeResponse(target, res); err != nil {
43756		return nil, err
43757	}
43758	return ret, nil
43759	// {
43760	//   "description": "Retrieves a list of remarketing lists, possibly filtered. This method supports paging.",
43761	//   "httpMethod": "GET",
43762	//   "id": "dfareporting.remarketingLists.list",
43763	//   "parameterOrder": [
43764	//     "profileId",
43765	//     "advertiserId"
43766	//   ],
43767	//   "parameters": {
43768	//     "active": {
43769	//       "description": "Select only active or only inactive remarketing lists.",
43770	//       "location": "query",
43771	//       "type": "boolean"
43772	//     },
43773	//     "advertiserId": {
43774	//       "description": "Select only remarketing lists owned by this advertiser.",
43775	//       "format": "int64",
43776	//       "location": "query",
43777	//       "required": true,
43778	//       "type": "string"
43779	//     },
43780	//     "floodlightActivityId": {
43781	//       "description": "Select only remarketing lists that have this floodlight activity ID.",
43782	//       "format": "int64",
43783	//       "location": "query",
43784	//       "type": "string"
43785	//     },
43786	//     "maxResults": {
43787	//       "default": "1000",
43788	//       "description": "Maximum number of results to return.",
43789	//       "format": "int32",
43790	//       "location": "query",
43791	//       "maximum": "1000",
43792	//       "minimum": "0",
43793	//       "type": "integer"
43794	//     },
43795	//     "name": {
43796	//       "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\".",
43797	//       "location": "query",
43798	//       "type": "string"
43799	//     },
43800	//     "pageToken": {
43801	//       "description": "Value of the nextPageToken from the previous result page.",
43802	//       "location": "query",
43803	//       "type": "string"
43804	//     },
43805	//     "profileId": {
43806	//       "description": "User profile ID associated with this request.",
43807	//       "format": "int64",
43808	//       "location": "path",
43809	//       "required": true,
43810	//       "type": "string"
43811	//     },
43812	//     "sortField": {
43813	//       "default": "ID",
43814	//       "description": "Field by which to sort the list.",
43815	//       "enum": [
43816	//         "ID",
43817	//         "NAME"
43818	//       ],
43819	//       "enumDescriptions": [
43820	//         "",
43821	//         ""
43822	//       ],
43823	//       "location": "query",
43824	//       "type": "string"
43825	//     },
43826	//     "sortOrder": {
43827	//       "default": "ASCENDING",
43828	//       "description": "Order of sorted results.",
43829	//       "enum": [
43830	//         "ASCENDING",
43831	//         "DESCENDING"
43832	//       ],
43833	//       "enumDescriptions": [
43834	//         "",
43835	//         ""
43836	//       ],
43837	//       "location": "query",
43838	//       "type": "string"
43839	//     }
43840	//   },
43841	//   "path": "userprofiles/{profileId}/remarketingLists",
43842	//   "response": {
43843	//     "$ref": "RemarketingListsListResponse"
43844	//   },
43845	//   "scopes": [
43846	//     "https://www.googleapis.com/auth/dfatrafficking"
43847	//   ]
43848	// }
43849
43850}
43851
43852// Pages invokes f for each page of results.
43853// A non-nil error returned from f will halt the iteration.
43854// The provided context supersedes any context provided to the Context method.
43855func (c *RemarketingListsListCall) Pages(ctx context.Context, f func(*RemarketingListsListResponse) error) error {
43856	c.ctx_ = ctx
43857	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
43858	for {
43859		x, err := c.Do()
43860		if err != nil {
43861			return err
43862		}
43863		if err := f(x); err != nil {
43864			return err
43865		}
43866		if x.NextPageToken == "" {
43867			return nil
43868		}
43869		c.PageToken(x.NextPageToken)
43870	}
43871}
43872
43873// method id "dfareporting.remarketingLists.patch":
43874
43875type RemarketingListsPatchCall struct {
43876	s               *Service
43877	profileId       int64
43878	remarketinglist *RemarketingList
43879	urlParams_      gensupport.URLParams
43880	ctx_            context.Context
43881	header_         http.Header
43882}
43883
43884// Patch: Updates an existing remarketing list. This method supports
43885// patch semantics.
43886func (r *RemarketingListsService) Patch(profileId int64, id int64, remarketinglist *RemarketingList) *RemarketingListsPatchCall {
43887	c := &RemarketingListsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
43888	c.profileId = profileId
43889	c.urlParams_.Set("id", fmt.Sprint(id))
43890	c.remarketinglist = remarketinglist
43891	return c
43892}
43893
43894// Fields allows partial responses to be retrieved. See
43895// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
43896// for more information.
43897func (c *RemarketingListsPatchCall) Fields(s ...googleapi.Field) *RemarketingListsPatchCall {
43898	c.urlParams_.Set("fields", googleapi.CombineFields(s))
43899	return c
43900}
43901
43902// Context sets the context to be used in this call's Do method. Any
43903// pending HTTP request will be aborted if the provided context is
43904// canceled.
43905func (c *RemarketingListsPatchCall) Context(ctx context.Context) *RemarketingListsPatchCall {
43906	c.ctx_ = ctx
43907	return c
43908}
43909
43910// Header returns an http.Header that can be modified by the caller to
43911// add HTTP headers to the request.
43912func (c *RemarketingListsPatchCall) Header() http.Header {
43913	if c.header_ == nil {
43914		c.header_ = make(http.Header)
43915	}
43916	return c.header_
43917}
43918
43919func (c *RemarketingListsPatchCall) doRequest(alt string) (*http.Response, error) {
43920	reqHeaders := make(http.Header)
43921	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
43922	for k, v := range c.header_ {
43923		reqHeaders[k] = v
43924	}
43925	reqHeaders.Set("User-Agent", c.s.userAgent())
43926	var body io.Reader = nil
43927	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
43928	if err != nil {
43929		return nil, err
43930	}
43931	reqHeaders.Set("Content-Type", "application/json")
43932	c.urlParams_.Set("alt", alt)
43933	c.urlParams_.Set("prettyPrint", "false")
43934	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
43935	urls += "?" + c.urlParams_.Encode()
43936	req, err := http.NewRequest("PATCH", urls, body)
43937	if err != nil {
43938		return nil, err
43939	}
43940	req.Header = reqHeaders
43941	googleapi.Expand(req.URL, map[string]string{
43942		"profileId": strconv.FormatInt(c.profileId, 10),
43943	})
43944	return gensupport.SendRequest(c.ctx_, c.s.client, req)
43945}
43946
43947// Do executes the "dfareporting.remarketingLists.patch" call.
43948// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
43949// status code is an error. Response headers are in either
43950// *RemarketingList.ServerResponse.Header or (if a response was returned
43951// at all) in error.(*googleapi.Error).Header. Use
43952// googleapi.IsNotModified to check whether the returned error was
43953// because http.StatusNotModified was returned.
43954func (c *RemarketingListsPatchCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
43955	gensupport.SetOptions(c.urlParams_, opts...)
43956	res, err := c.doRequest("json")
43957	if res != nil && res.StatusCode == http.StatusNotModified {
43958		if res.Body != nil {
43959			res.Body.Close()
43960		}
43961		return nil, &googleapi.Error{
43962			Code:   res.StatusCode,
43963			Header: res.Header,
43964		}
43965	}
43966	if err != nil {
43967		return nil, err
43968	}
43969	defer googleapi.CloseBody(res)
43970	if err := googleapi.CheckResponse(res); err != nil {
43971		return nil, err
43972	}
43973	ret := &RemarketingList{
43974		ServerResponse: googleapi.ServerResponse{
43975			Header:         res.Header,
43976			HTTPStatusCode: res.StatusCode,
43977		},
43978	}
43979	target := &ret
43980	if err := gensupport.DecodeResponse(target, res); err != nil {
43981		return nil, err
43982	}
43983	return ret, nil
43984	// {
43985	//   "description": "Updates an existing remarketing list. This method supports patch semantics.",
43986	//   "httpMethod": "PATCH",
43987	//   "id": "dfareporting.remarketingLists.patch",
43988	//   "parameterOrder": [
43989	//     "profileId",
43990	//     "id"
43991	//   ],
43992	//   "parameters": {
43993	//     "id": {
43994	//       "description": "Remarketing list ID.",
43995	//       "format": "int64",
43996	//       "location": "query",
43997	//       "required": true,
43998	//       "type": "string"
43999	//     },
44000	//     "profileId": {
44001	//       "description": "User profile ID associated with this request.",
44002	//       "format": "int64",
44003	//       "location": "path",
44004	//       "required": true,
44005	//       "type": "string"
44006	//     }
44007	//   },
44008	//   "path": "userprofiles/{profileId}/remarketingLists",
44009	//   "request": {
44010	//     "$ref": "RemarketingList"
44011	//   },
44012	//   "response": {
44013	//     "$ref": "RemarketingList"
44014	//   },
44015	//   "scopes": [
44016	//     "https://www.googleapis.com/auth/dfatrafficking"
44017	//   ]
44018	// }
44019
44020}
44021
44022// method id "dfareporting.remarketingLists.update":
44023
44024type RemarketingListsUpdateCall struct {
44025	s               *Service
44026	profileId       int64
44027	remarketinglist *RemarketingList
44028	urlParams_      gensupport.URLParams
44029	ctx_            context.Context
44030	header_         http.Header
44031}
44032
44033// Update: Updates an existing remarketing list.
44034func (r *RemarketingListsService) Update(profileId int64, remarketinglist *RemarketingList) *RemarketingListsUpdateCall {
44035	c := &RemarketingListsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44036	c.profileId = profileId
44037	c.remarketinglist = remarketinglist
44038	return c
44039}
44040
44041// Fields allows partial responses to be retrieved. See
44042// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44043// for more information.
44044func (c *RemarketingListsUpdateCall) Fields(s ...googleapi.Field) *RemarketingListsUpdateCall {
44045	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44046	return c
44047}
44048
44049// Context sets the context to be used in this call's Do method. Any
44050// pending HTTP request will be aborted if the provided context is
44051// canceled.
44052func (c *RemarketingListsUpdateCall) Context(ctx context.Context) *RemarketingListsUpdateCall {
44053	c.ctx_ = ctx
44054	return c
44055}
44056
44057// Header returns an http.Header that can be modified by the caller to
44058// add HTTP headers to the request.
44059func (c *RemarketingListsUpdateCall) Header() http.Header {
44060	if c.header_ == nil {
44061		c.header_ = make(http.Header)
44062	}
44063	return c.header_
44064}
44065
44066func (c *RemarketingListsUpdateCall) doRequest(alt string) (*http.Response, error) {
44067	reqHeaders := make(http.Header)
44068	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44069	for k, v := range c.header_ {
44070		reqHeaders[k] = v
44071	}
44072	reqHeaders.Set("User-Agent", c.s.userAgent())
44073	var body io.Reader = nil
44074	body, err := googleapi.WithoutDataWrapper.JSONReader(c.remarketinglist)
44075	if err != nil {
44076		return nil, err
44077	}
44078	reqHeaders.Set("Content-Type", "application/json")
44079	c.urlParams_.Set("alt", alt)
44080	c.urlParams_.Set("prettyPrint", "false")
44081	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/remarketingLists")
44082	urls += "?" + c.urlParams_.Encode()
44083	req, err := http.NewRequest("PUT", urls, body)
44084	if err != nil {
44085		return nil, err
44086	}
44087	req.Header = reqHeaders
44088	googleapi.Expand(req.URL, map[string]string{
44089		"profileId": strconv.FormatInt(c.profileId, 10),
44090	})
44091	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44092}
44093
44094// Do executes the "dfareporting.remarketingLists.update" call.
44095// Exactly one of *RemarketingList or error will be non-nil. Any non-2xx
44096// status code is an error. Response headers are in either
44097// *RemarketingList.ServerResponse.Header or (if a response was returned
44098// at all) in error.(*googleapi.Error).Header. Use
44099// googleapi.IsNotModified to check whether the returned error was
44100// because http.StatusNotModified was returned.
44101func (c *RemarketingListsUpdateCall) Do(opts ...googleapi.CallOption) (*RemarketingList, error) {
44102	gensupport.SetOptions(c.urlParams_, opts...)
44103	res, err := c.doRequest("json")
44104	if res != nil && res.StatusCode == http.StatusNotModified {
44105		if res.Body != nil {
44106			res.Body.Close()
44107		}
44108		return nil, &googleapi.Error{
44109			Code:   res.StatusCode,
44110			Header: res.Header,
44111		}
44112	}
44113	if err != nil {
44114		return nil, err
44115	}
44116	defer googleapi.CloseBody(res)
44117	if err := googleapi.CheckResponse(res); err != nil {
44118		return nil, err
44119	}
44120	ret := &RemarketingList{
44121		ServerResponse: googleapi.ServerResponse{
44122			Header:         res.Header,
44123			HTTPStatusCode: res.StatusCode,
44124		},
44125	}
44126	target := &ret
44127	if err := gensupport.DecodeResponse(target, res); err != nil {
44128		return nil, err
44129	}
44130	return ret, nil
44131	// {
44132	//   "description": "Updates an existing remarketing list.",
44133	//   "httpMethod": "PUT",
44134	//   "id": "dfareporting.remarketingLists.update",
44135	//   "parameterOrder": [
44136	//     "profileId"
44137	//   ],
44138	//   "parameters": {
44139	//     "profileId": {
44140	//       "description": "User profile ID associated with this request.",
44141	//       "format": "int64",
44142	//       "location": "path",
44143	//       "required": true,
44144	//       "type": "string"
44145	//     }
44146	//   },
44147	//   "path": "userprofiles/{profileId}/remarketingLists",
44148	//   "request": {
44149	//     "$ref": "RemarketingList"
44150	//   },
44151	//   "response": {
44152	//     "$ref": "RemarketingList"
44153	//   },
44154	//   "scopes": [
44155	//     "https://www.googleapis.com/auth/dfatrafficking"
44156	//   ]
44157	// }
44158
44159}
44160
44161// method id "dfareporting.reports.delete":
44162
44163type ReportsDeleteCall struct {
44164	s          *Service
44165	profileId  int64
44166	reportId   int64
44167	urlParams_ gensupport.URLParams
44168	ctx_       context.Context
44169	header_    http.Header
44170}
44171
44172// Delete: Deletes a report by its ID.
44173func (r *ReportsService) Delete(profileId int64, reportId int64) *ReportsDeleteCall {
44174	c := &ReportsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44175	c.profileId = profileId
44176	c.reportId = reportId
44177	return c
44178}
44179
44180// Fields allows partial responses to be retrieved. See
44181// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44182// for more information.
44183func (c *ReportsDeleteCall) Fields(s ...googleapi.Field) *ReportsDeleteCall {
44184	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44185	return c
44186}
44187
44188// Context sets the context to be used in this call's Do method. Any
44189// pending HTTP request will be aborted if the provided context is
44190// canceled.
44191func (c *ReportsDeleteCall) Context(ctx context.Context) *ReportsDeleteCall {
44192	c.ctx_ = ctx
44193	return c
44194}
44195
44196// Header returns an http.Header that can be modified by the caller to
44197// add HTTP headers to the request.
44198func (c *ReportsDeleteCall) Header() http.Header {
44199	if c.header_ == nil {
44200		c.header_ = make(http.Header)
44201	}
44202	return c.header_
44203}
44204
44205func (c *ReportsDeleteCall) doRequest(alt string) (*http.Response, error) {
44206	reqHeaders := make(http.Header)
44207	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44208	for k, v := range c.header_ {
44209		reqHeaders[k] = v
44210	}
44211	reqHeaders.Set("User-Agent", c.s.userAgent())
44212	var body io.Reader = nil
44213	c.urlParams_.Set("alt", alt)
44214	c.urlParams_.Set("prettyPrint", "false")
44215	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44216	urls += "?" + c.urlParams_.Encode()
44217	req, err := http.NewRequest("DELETE", urls, body)
44218	if err != nil {
44219		return nil, err
44220	}
44221	req.Header = reqHeaders
44222	googleapi.Expand(req.URL, map[string]string{
44223		"profileId": strconv.FormatInt(c.profileId, 10),
44224		"reportId":  strconv.FormatInt(c.reportId, 10),
44225	})
44226	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44227}
44228
44229// Do executes the "dfareporting.reports.delete" call.
44230func (c *ReportsDeleteCall) Do(opts ...googleapi.CallOption) error {
44231	gensupport.SetOptions(c.urlParams_, opts...)
44232	res, err := c.doRequest("json")
44233	if err != nil {
44234		return err
44235	}
44236	defer googleapi.CloseBody(res)
44237	if err := googleapi.CheckResponse(res); err != nil {
44238		return err
44239	}
44240	return nil
44241	// {
44242	//   "description": "Deletes a report by its ID.",
44243	//   "httpMethod": "DELETE",
44244	//   "id": "dfareporting.reports.delete",
44245	//   "parameterOrder": [
44246	//     "profileId",
44247	//     "reportId"
44248	//   ],
44249	//   "parameters": {
44250	//     "profileId": {
44251	//       "description": "The DFA user profile ID.",
44252	//       "format": "int64",
44253	//       "location": "path",
44254	//       "required": true,
44255	//       "type": "string"
44256	//     },
44257	//     "reportId": {
44258	//       "description": "The ID of the report.",
44259	//       "format": "int64",
44260	//       "location": "path",
44261	//       "required": true,
44262	//       "type": "string"
44263	//     }
44264	//   },
44265	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44266	//   "scopes": [
44267	//     "https://www.googleapis.com/auth/dfareporting"
44268	//   ]
44269	// }
44270
44271}
44272
44273// method id "dfareporting.reports.get":
44274
44275type ReportsGetCall struct {
44276	s            *Service
44277	profileId    int64
44278	reportId     int64
44279	urlParams_   gensupport.URLParams
44280	ifNoneMatch_ string
44281	ctx_         context.Context
44282	header_      http.Header
44283}
44284
44285// Get: Retrieves a report by its ID.
44286func (r *ReportsService) Get(profileId int64, reportId int64) *ReportsGetCall {
44287	c := &ReportsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44288	c.profileId = profileId
44289	c.reportId = reportId
44290	return c
44291}
44292
44293// Fields allows partial responses to be retrieved. See
44294// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44295// for more information.
44296func (c *ReportsGetCall) Fields(s ...googleapi.Field) *ReportsGetCall {
44297	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44298	return c
44299}
44300
44301// IfNoneMatch sets the optional parameter which makes the operation
44302// fail if the object's ETag matches the given value. This is useful for
44303// getting updates only after the object has changed since the last
44304// request. Use googleapi.IsNotModified to check whether the response
44305// error from Do is the result of In-None-Match.
44306func (c *ReportsGetCall) IfNoneMatch(entityTag string) *ReportsGetCall {
44307	c.ifNoneMatch_ = entityTag
44308	return c
44309}
44310
44311// Context sets the context to be used in this call's Do method. Any
44312// pending HTTP request will be aborted if the provided context is
44313// canceled.
44314func (c *ReportsGetCall) Context(ctx context.Context) *ReportsGetCall {
44315	c.ctx_ = ctx
44316	return c
44317}
44318
44319// Header returns an http.Header that can be modified by the caller to
44320// add HTTP headers to the request.
44321func (c *ReportsGetCall) Header() http.Header {
44322	if c.header_ == nil {
44323		c.header_ = make(http.Header)
44324	}
44325	return c.header_
44326}
44327
44328func (c *ReportsGetCall) doRequest(alt string) (*http.Response, error) {
44329	reqHeaders := make(http.Header)
44330	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44331	for k, v := range c.header_ {
44332		reqHeaders[k] = v
44333	}
44334	reqHeaders.Set("User-Agent", c.s.userAgent())
44335	if c.ifNoneMatch_ != "" {
44336		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44337	}
44338	var body io.Reader = nil
44339	c.urlParams_.Set("alt", alt)
44340	c.urlParams_.Set("prettyPrint", "false")
44341	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44342	urls += "?" + c.urlParams_.Encode()
44343	req, err := http.NewRequest("GET", urls, body)
44344	if err != nil {
44345		return nil, err
44346	}
44347	req.Header = reqHeaders
44348	googleapi.Expand(req.URL, map[string]string{
44349		"profileId": strconv.FormatInt(c.profileId, 10),
44350		"reportId":  strconv.FormatInt(c.reportId, 10),
44351	})
44352	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44353}
44354
44355// Do executes the "dfareporting.reports.get" call.
44356// Exactly one of *Report or error will be non-nil. Any non-2xx status
44357// code is an error. Response headers are in either
44358// *Report.ServerResponse.Header or (if a response was returned at all)
44359// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44360// check whether the returned error was because http.StatusNotModified
44361// was returned.
44362func (c *ReportsGetCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44363	gensupport.SetOptions(c.urlParams_, opts...)
44364	res, err := c.doRequest("json")
44365	if res != nil && res.StatusCode == http.StatusNotModified {
44366		if res.Body != nil {
44367			res.Body.Close()
44368		}
44369		return nil, &googleapi.Error{
44370			Code:   res.StatusCode,
44371			Header: res.Header,
44372		}
44373	}
44374	if err != nil {
44375		return nil, err
44376	}
44377	defer googleapi.CloseBody(res)
44378	if err := googleapi.CheckResponse(res); err != nil {
44379		return nil, err
44380	}
44381	ret := &Report{
44382		ServerResponse: googleapi.ServerResponse{
44383			Header:         res.Header,
44384			HTTPStatusCode: res.StatusCode,
44385		},
44386	}
44387	target := &ret
44388	if err := gensupport.DecodeResponse(target, res); err != nil {
44389		return nil, err
44390	}
44391	return ret, nil
44392	// {
44393	//   "description": "Retrieves a report by its ID.",
44394	//   "httpMethod": "GET",
44395	//   "id": "dfareporting.reports.get",
44396	//   "parameterOrder": [
44397	//     "profileId",
44398	//     "reportId"
44399	//   ],
44400	//   "parameters": {
44401	//     "profileId": {
44402	//       "description": "The DFA user profile ID.",
44403	//       "format": "int64",
44404	//       "location": "path",
44405	//       "required": true,
44406	//       "type": "string"
44407	//     },
44408	//     "reportId": {
44409	//       "description": "The ID of the report.",
44410	//       "format": "int64",
44411	//       "location": "path",
44412	//       "required": true,
44413	//       "type": "string"
44414	//     }
44415	//   },
44416	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44417	//   "response": {
44418	//     "$ref": "Report"
44419	//   },
44420	//   "scopes": [
44421	//     "https://www.googleapis.com/auth/dfareporting"
44422	//   ]
44423	// }
44424
44425}
44426
44427// method id "dfareporting.reports.insert":
44428
44429type ReportsInsertCall struct {
44430	s          *Service
44431	profileId  int64
44432	report     *Report
44433	urlParams_ gensupport.URLParams
44434	ctx_       context.Context
44435	header_    http.Header
44436}
44437
44438// Insert: Creates a report.
44439func (r *ReportsService) Insert(profileId int64, report *Report) *ReportsInsertCall {
44440	c := &ReportsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44441	c.profileId = profileId
44442	c.report = report
44443	return c
44444}
44445
44446// Fields allows partial responses to be retrieved. See
44447// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44448// for more information.
44449func (c *ReportsInsertCall) Fields(s ...googleapi.Field) *ReportsInsertCall {
44450	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44451	return c
44452}
44453
44454// Context sets the context to be used in this call's Do method. Any
44455// pending HTTP request will be aborted if the provided context is
44456// canceled.
44457func (c *ReportsInsertCall) Context(ctx context.Context) *ReportsInsertCall {
44458	c.ctx_ = ctx
44459	return c
44460}
44461
44462// Header returns an http.Header that can be modified by the caller to
44463// add HTTP headers to the request.
44464func (c *ReportsInsertCall) Header() http.Header {
44465	if c.header_ == nil {
44466		c.header_ = make(http.Header)
44467	}
44468	return c.header_
44469}
44470
44471func (c *ReportsInsertCall) doRequest(alt string) (*http.Response, error) {
44472	reqHeaders := make(http.Header)
44473	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44474	for k, v := range c.header_ {
44475		reqHeaders[k] = v
44476	}
44477	reqHeaders.Set("User-Agent", c.s.userAgent())
44478	var body io.Reader = nil
44479	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44480	if err != nil {
44481		return nil, err
44482	}
44483	reqHeaders.Set("Content-Type", "application/json")
44484	c.urlParams_.Set("alt", alt)
44485	c.urlParams_.Set("prettyPrint", "false")
44486	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44487	urls += "?" + c.urlParams_.Encode()
44488	req, err := http.NewRequest("POST", urls, body)
44489	if err != nil {
44490		return nil, err
44491	}
44492	req.Header = reqHeaders
44493	googleapi.Expand(req.URL, map[string]string{
44494		"profileId": strconv.FormatInt(c.profileId, 10),
44495	})
44496	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44497}
44498
44499// Do executes the "dfareporting.reports.insert" call.
44500// Exactly one of *Report or error will be non-nil. Any non-2xx status
44501// code is an error. Response headers are in either
44502// *Report.ServerResponse.Header or (if a response was returned at all)
44503// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44504// check whether the returned error was because http.StatusNotModified
44505// was returned.
44506func (c *ReportsInsertCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44507	gensupport.SetOptions(c.urlParams_, opts...)
44508	res, err := c.doRequest("json")
44509	if res != nil && res.StatusCode == http.StatusNotModified {
44510		if res.Body != nil {
44511			res.Body.Close()
44512		}
44513		return nil, &googleapi.Error{
44514			Code:   res.StatusCode,
44515			Header: res.Header,
44516		}
44517	}
44518	if err != nil {
44519		return nil, err
44520	}
44521	defer googleapi.CloseBody(res)
44522	if err := googleapi.CheckResponse(res); err != nil {
44523		return nil, err
44524	}
44525	ret := &Report{
44526		ServerResponse: googleapi.ServerResponse{
44527			Header:         res.Header,
44528			HTTPStatusCode: res.StatusCode,
44529		},
44530	}
44531	target := &ret
44532	if err := gensupport.DecodeResponse(target, res); err != nil {
44533		return nil, err
44534	}
44535	return ret, nil
44536	// {
44537	//   "description": "Creates a report.",
44538	//   "httpMethod": "POST",
44539	//   "id": "dfareporting.reports.insert",
44540	//   "parameterOrder": [
44541	//     "profileId"
44542	//   ],
44543	//   "parameters": {
44544	//     "profileId": {
44545	//       "description": "The DFA user profile ID.",
44546	//       "format": "int64",
44547	//       "location": "path",
44548	//       "required": true,
44549	//       "type": "string"
44550	//     }
44551	//   },
44552	//   "path": "userprofiles/{profileId}/reports",
44553	//   "request": {
44554	//     "$ref": "Report"
44555	//   },
44556	//   "response": {
44557	//     "$ref": "Report"
44558	//   },
44559	//   "scopes": [
44560	//     "https://www.googleapis.com/auth/dfareporting"
44561	//   ]
44562	// }
44563
44564}
44565
44566// method id "dfareporting.reports.list":
44567
44568type ReportsListCall struct {
44569	s            *Service
44570	profileId    int64
44571	urlParams_   gensupport.URLParams
44572	ifNoneMatch_ string
44573	ctx_         context.Context
44574	header_      http.Header
44575}
44576
44577// List: Retrieves list of reports.
44578func (r *ReportsService) List(profileId int64) *ReportsListCall {
44579	c := &ReportsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44580	c.profileId = profileId
44581	return c
44582}
44583
44584// MaxResults sets the optional parameter "maxResults": Maximum number
44585// of results to return.
44586func (c *ReportsListCall) MaxResults(maxResults int64) *ReportsListCall {
44587	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
44588	return c
44589}
44590
44591// PageToken sets the optional parameter "pageToken": The value of the
44592// nextToken from the previous result page.
44593func (c *ReportsListCall) PageToken(pageToken string) *ReportsListCall {
44594	c.urlParams_.Set("pageToken", pageToken)
44595	return c
44596}
44597
44598// Scope sets the optional parameter "scope": The scope that defines
44599// which results are returned.
44600//
44601// Possible values:
44602//   "ALL" - All reports in account.
44603//   "MINE" (default) - My reports.
44604func (c *ReportsListCall) Scope(scope string) *ReportsListCall {
44605	c.urlParams_.Set("scope", scope)
44606	return c
44607}
44608
44609// SortField sets the optional parameter "sortField": The field by which
44610// to sort the list.
44611//
44612// Possible values:
44613//   "ID" - Sort by report ID.
44614//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastModifiedTime' field.
44615//   "NAME" - Sort by name of reports.
44616func (c *ReportsListCall) SortField(sortField string) *ReportsListCall {
44617	c.urlParams_.Set("sortField", sortField)
44618	return c
44619}
44620
44621// SortOrder sets the optional parameter "sortOrder": Order of sorted
44622// results.
44623//
44624// Possible values:
44625//   "ASCENDING" - Ascending order.
44626//   "DESCENDING" (default) - Descending order.
44627func (c *ReportsListCall) SortOrder(sortOrder string) *ReportsListCall {
44628	c.urlParams_.Set("sortOrder", sortOrder)
44629	return c
44630}
44631
44632// Fields allows partial responses to be retrieved. See
44633// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44634// for more information.
44635func (c *ReportsListCall) Fields(s ...googleapi.Field) *ReportsListCall {
44636	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44637	return c
44638}
44639
44640// IfNoneMatch sets the optional parameter which makes the operation
44641// fail if the object's ETag matches the given value. This is useful for
44642// getting updates only after the object has changed since the last
44643// request. Use googleapi.IsNotModified to check whether the response
44644// error from Do is the result of In-None-Match.
44645func (c *ReportsListCall) IfNoneMatch(entityTag string) *ReportsListCall {
44646	c.ifNoneMatch_ = entityTag
44647	return c
44648}
44649
44650// Context sets the context to be used in this call's Do method. Any
44651// pending HTTP request will be aborted if the provided context is
44652// canceled.
44653func (c *ReportsListCall) Context(ctx context.Context) *ReportsListCall {
44654	c.ctx_ = ctx
44655	return c
44656}
44657
44658// Header returns an http.Header that can be modified by the caller to
44659// add HTTP headers to the request.
44660func (c *ReportsListCall) Header() http.Header {
44661	if c.header_ == nil {
44662		c.header_ = make(http.Header)
44663	}
44664	return c.header_
44665}
44666
44667func (c *ReportsListCall) doRequest(alt string) (*http.Response, error) {
44668	reqHeaders := make(http.Header)
44669	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44670	for k, v := range c.header_ {
44671		reqHeaders[k] = v
44672	}
44673	reqHeaders.Set("User-Agent", c.s.userAgent())
44674	if c.ifNoneMatch_ != "" {
44675		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
44676	}
44677	var body io.Reader = nil
44678	c.urlParams_.Set("alt", alt)
44679	c.urlParams_.Set("prettyPrint", "false")
44680	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports")
44681	urls += "?" + c.urlParams_.Encode()
44682	req, err := http.NewRequest("GET", urls, body)
44683	if err != nil {
44684		return nil, err
44685	}
44686	req.Header = reqHeaders
44687	googleapi.Expand(req.URL, map[string]string{
44688		"profileId": strconv.FormatInt(c.profileId, 10),
44689	})
44690	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44691}
44692
44693// Do executes the "dfareporting.reports.list" call.
44694// Exactly one of *ReportList or error will be non-nil. Any non-2xx
44695// status code is an error. Response headers are in either
44696// *ReportList.ServerResponse.Header or (if a response was returned at
44697// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
44698// to check whether the returned error was because
44699// http.StatusNotModified was returned.
44700func (c *ReportsListCall) Do(opts ...googleapi.CallOption) (*ReportList, error) {
44701	gensupport.SetOptions(c.urlParams_, opts...)
44702	res, err := c.doRequest("json")
44703	if res != nil && res.StatusCode == http.StatusNotModified {
44704		if res.Body != nil {
44705			res.Body.Close()
44706		}
44707		return nil, &googleapi.Error{
44708			Code:   res.StatusCode,
44709			Header: res.Header,
44710		}
44711	}
44712	if err != nil {
44713		return nil, err
44714	}
44715	defer googleapi.CloseBody(res)
44716	if err := googleapi.CheckResponse(res); err != nil {
44717		return nil, err
44718	}
44719	ret := &ReportList{
44720		ServerResponse: googleapi.ServerResponse{
44721			Header:         res.Header,
44722			HTTPStatusCode: res.StatusCode,
44723		},
44724	}
44725	target := &ret
44726	if err := gensupport.DecodeResponse(target, res); err != nil {
44727		return nil, err
44728	}
44729	return ret, nil
44730	// {
44731	//   "description": "Retrieves list of reports.",
44732	//   "httpMethod": "GET",
44733	//   "id": "dfareporting.reports.list",
44734	//   "parameterOrder": [
44735	//     "profileId"
44736	//   ],
44737	//   "parameters": {
44738	//     "maxResults": {
44739	//       "default": "10",
44740	//       "description": "Maximum number of results to return.",
44741	//       "format": "int32",
44742	//       "location": "query",
44743	//       "maximum": "10",
44744	//       "minimum": "0",
44745	//       "type": "integer"
44746	//     },
44747	//     "pageToken": {
44748	//       "description": "The value of the nextToken from the previous result page.",
44749	//       "location": "query",
44750	//       "type": "string"
44751	//     },
44752	//     "profileId": {
44753	//       "description": "The DFA user profile ID.",
44754	//       "format": "int64",
44755	//       "location": "path",
44756	//       "required": true,
44757	//       "type": "string"
44758	//     },
44759	//     "scope": {
44760	//       "default": "MINE",
44761	//       "description": "The scope that defines which results are returned.",
44762	//       "enum": [
44763	//         "ALL",
44764	//         "MINE"
44765	//       ],
44766	//       "enumDescriptions": [
44767	//         "All reports in account.",
44768	//         "My reports."
44769	//       ],
44770	//       "location": "query",
44771	//       "type": "string"
44772	//     },
44773	//     "sortField": {
44774	//       "default": "LAST_MODIFIED_TIME",
44775	//       "description": "The field by which to sort the list.",
44776	//       "enum": [
44777	//         "ID",
44778	//         "LAST_MODIFIED_TIME",
44779	//         "NAME"
44780	//       ],
44781	//       "enumDescriptions": [
44782	//         "Sort by report ID.",
44783	//         "Sort by 'lastModifiedTime' field.",
44784	//         "Sort by name of reports."
44785	//       ],
44786	//       "location": "query",
44787	//       "type": "string"
44788	//     },
44789	//     "sortOrder": {
44790	//       "default": "DESCENDING",
44791	//       "description": "Order of sorted results.",
44792	//       "enum": [
44793	//         "ASCENDING",
44794	//         "DESCENDING"
44795	//       ],
44796	//       "enumDescriptions": [
44797	//         "Ascending order.",
44798	//         "Descending order."
44799	//       ],
44800	//       "location": "query",
44801	//       "type": "string"
44802	//     }
44803	//   },
44804	//   "path": "userprofiles/{profileId}/reports",
44805	//   "response": {
44806	//     "$ref": "ReportList"
44807	//   },
44808	//   "scopes": [
44809	//     "https://www.googleapis.com/auth/dfareporting"
44810	//   ]
44811	// }
44812
44813}
44814
44815// Pages invokes f for each page of results.
44816// A non-nil error returned from f will halt the iteration.
44817// The provided context supersedes any context provided to the Context method.
44818func (c *ReportsListCall) Pages(ctx context.Context, f func(*ReportList) error) error {
44819	c.ctx_ = ctx
44820	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
44821	for {
44822		x, err := c.Do()
44823		if err != nil {
44824			return err
44825		}
44826		if err := f(x); err != nil {
44827			return err
44828		}
44829		if x.NextPageToken == "" {
44830			return nil
44831		}
44832		c.PageToken(x.NextPageToken)
44833	}
44834}
44835
44836// method id "dfareporting.reports.patch":
44837
44838type ReportsPatchCall struct {
44839	s          *Service
44840	profileId  int64
44841	reportId   int64
44842	report     *Report
44843	urlParams_ gensupport.URLParams
44844	ctx_       context.Context
44845	header_    http.Header
44846}
44847
44848// Patch: Updates a report. This method supports patch semantics.
44849func (r *ReportsService) Patch(profileId int64, reportId int64, report *Report) *ReportsPatchCall {
44850	c := &ReportsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
44851	c.profileId = profileId
44852	c.reportId = reportId
44853	c.report = report
44854	return c
44855}
44856
44857// Fields allows partial responses to be retrieved. See
44858// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
44859// for more information.
44860func (c *ReportsPatchCall) Fields(s ...googleapi.Field) *ReportsPatchCall {
44861	c.urlParams_.Set("fields", googleapi.CombineFields(s))
44862	return c
44863}
44864
44865// Context sets the context to be used in this call's Do method. Any
44866// pending HTTP request will be aborted if the provided context is
44867// canceled.
44868func (c *ReportsPatchCall) Context(ctx context.Context) *ReportsPatchCall {
44869	c.ctx_ = ctx
44870	return c
44871}
44872
44873// Header returns an http.Header that can be modified by the caller to
44874// add HTTP headers to the request.
44875func (c *ReportsPatchCall) Header() http.Header {
44876	if c.header_ == nil {
44877		c.header_ = make(http.Header)
44878	}
44879	return c.header_
44880}
44881
44882func (c *ReportsPatchCall) doRequest(alt string) (*http.Response, error) {
44883	reqHeaders := make(http.Header)
44884	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
44885	for k, v := range c.header_ {
44886		reqHeaders[k] = v
44887	}
44888	reqHeaders.Set("User-Agent", c.s.userAgent())
44889	var body io.Reader = nil
44890	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
44891	if err != nil {
44892		return nil, err
44893	}
44894	reqHeaders.Set("Content-Type", "application/json")
44895	c.urlParams_.Set("alt", alt)
44896	c.urlParams_.Set("prettyPrint", "false")
44897	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
44898	urls += "?" + c.urlParams_.Encode()
44899	req, err := http.NewRequest("PATCH", urls, body)
44900	if err != nil {
44901		return nil, err
44902	}
44903	req.Header = reqHeaders
44904	googleapi.Expand(req.URL, map[string]string{
44905		"profileId": strconv.FormatInt(c.profileId, 10),
44906		"reportId":  strconv.FormatInt(c.reportId, 10),
44907	})
44908	return gensupport.SendRequest(c.ctx_, c.s.client, req)
44909}
44910
44911// Do executes the "dfareporting.reports.patch" call.
44912// Exactly one of *Report or error will be non-nil. Any non-2xx status
44913// code is an error. Response headers are in either
44914// *Report.ServerResponse.Header or (if a response was returned at all)
44915// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
44916// check whether the returned error was because http.StatusNotModified
44917// was returned.
44918func (c *ReportsPatchCall) Do(opts ...googleapi.CallOption) (*Report, error) {
44919	gensupport.SetOptions(c.urlParams_, opts...)
44920	res, err := c.doRequest("json")
44921	if res != nil && res.StatusCode == http.StatusNotModified {
44922		if res.Body != nil {
44923			res.Body.Close()
44924		}
44925		return nil, &googleapi.Error{
44926			Code:   res.StatusCode,
44927			Header: res.Header,
44928		}
44929	}
44930	if err != nil {
44931		return nil, err
44932	}
44933	defer googleapi.CloseBody(res)
44934	if err := googleapi.CheckResponse(res); err != nil {
44935		return nil, err
44936	}
44937	ret := &Report{
44938		ServerResponse: googleapi.ServerResponse{
44939			Header:         res.Header,
44940			HTTPStatusCode: res.StatusCode,
44941		},
44942	}
44943	target := &ret
44944	if err := gensupport.DecodeResponse(target, res); err != nil {
44945		return nil, err
44946	}
44947	return ret, nil
44948	// {
44949	//   "description": "Updates a report. This method supports patch semantics.",
44950	//   "httpMethod": "PATCH",
44951	//   "id": "dfareporting.reports.patch",
44952	//   "parameterOrder": [
44953	//     "profileId",
44954	//     "reportId"
44955	//   ],
44956	//   "parameters": {
44957	//     "profileId": {
44958	//       "description": "The DFA user profile ID.",
44959	//       "format": "int64",
44960	//       "location": "path",
44961	//       "required": true,
44962	//       "type": "string"
44963	//     },
44964	//     "reportId": {
44965	//       "description": "The ID of the report.",
44966	//       "format": "int64",
44967	//       "location": "path",
44968	//       "required": true,
44969	//       "type": "string"
44970	//     }
44971	//   },
44972	//   "path": "userprofiles/{profileId}/reports/{reportId}",
44973	//   "request": {
44974	//     "$ref": "Report"
44975	//   },
44976	//   "response": {
44977	//     "$ref": "Report"
44978	//   },
44979	//   "scopes": [
44980	//     "https://www.googleapis.com/auth/dfareporting"
44981	//   ]
44982	// }
44983
44984}
44985
44986// method id "dfareporting.reports.run":
44987
44988type ReportsRunCall struct {
44989	s          *Service
44990	profileId  int64
44991	reportId   int64
44992	urlParams_ gensupport.URLParams
44993	ctx_       context.Context
44994	header_    http.Header
44995}
44996
44997// Run: Runs a report.
44998func (r *ReportsService) Run(profileId int64, reportId int64) *ReportsRunCall {
44999	c := &ReportsRunCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45000	c.profileId = profileId
45001	c.reportId = reportId
45002	return c
45003}
45004
45005// Synchronous sets the optional parameter "synchronous": If set and
45006// true, tries to run the report synchronously.
45007func (c *ReportsRunCall) Synchronous(synchronous bool) *ReportsRunCall {
45008	c.urlParams_.Set("synchronous", fmt.Sprint(synchronous))
45009	return c
45010}
45011
45012// Fields allows partial responses to be retrieved. See
45013// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45014// for more information.
45015func (c *ReportsRunCall) Fields(s ...googleapi.Field) *ReportsRunCall {
45016	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45017	return c
45018}
45019
45020// Context sets the context to be used in this call's Do method. Any
45021// pending HTTP request will be aborted if the provided context is
45022// canceled.
45023func (c *ReportsRunCall) Context(ctx context.Context) *ReportsRunCall {
45024	c.ctx_ = ctx
45025	return c
45026}
45027
45028// Header returns an http.Header that can be modified by the caller to
45029// add HTTP headers to the request.
45030func (c *ReportsRunCall) Header() http.Header {
45031	if c.header_ == nil {
45032		c.header_ = make(http.Header)
45033	}
45034	return c.header_
45035}
45036
45037func (c *ReportsRunCall) doRequest(alt string) (*http.Response, error) {
45038	reqHeaders := make(http.Header)
45039	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45040	for k, v := range c.header_ {
45041		reqHeaders[k] = v
45042	}
45043	reqHeaders.Set("User-Agent", c.s.userAgent())
45044	var body io.Reader = nil
45045	c.urlParams_.Set("alt", alt)
45046	c.urlParams_.Set("prettyPrint", "false")
45047	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/run")
45048	urls += "?" + c.urlParams_.Encode()
45049	req, err := http.NewRequest("POST", urls, body)
45050	if err != nil {
45051		return nil, err
45052	}
45053	req.Header = reqHeaders
45054	googleapi.Expand(req.URL, map[string]string{
45055		"profileId": strconv.FormatInt(c.profileId, 10),
45056		"reportId":  strconv.FormatInt(c.reportId, 10),
45057	})
45058	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45059}
45060
45061// Do executes the "dfareporting.reports.run" call.
45062// Exactly one of *File or error will be non-nil. Any non-2xx status
45063// code is an error. Response headers are in either
45064// *File.ServerResponse.Header or (if a response was returned at all) in
45065// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45066// whether the returned error was because http.StatusNotModified was
45067// returned.
45068func (c *ReportsRunCall) Do(opts ...googleapi.CallOption) (*File, error) {
45069	gensupport.SetOptions(c.urlParams_, opts...)
45070	res, err := c.doRequest("json")
45071	if res != nil && res.StatusCode == http.StatusNotModified {
45072		if res.Body != nil {
45073			res.Body.Close()
45074		}
45075		return nil, &googleapi.Error{
45076			Code:   res.StatusCode,
45077			Header: res.Header,
45078		}
45079	}
45080	if err != nil {
45081		return nil, err
45082	}
45083	defer googleapi.CloseBody(res)
45084	if err := googleapi.CheckResponse(res); err != nil {
45085		return nil, err
45086	}
45087	ret := &File{
45088		ServerResponse: googleapi.ServerResponse{
45089			Header:         res.Header,
45090			HTTPStatusCode: res.StatusCode,
45091		},
45092	}
45093	target := &ret
45094	if err := gensupport.DecodeResponse(target, res); err != nil {
45095		return nil, err
45096	}
45097	return ret, nil
45098	// {
45099	//   "description": "Runs a report.",
45100	//   "httpMethod": "POST",
45101	//   "id": "dfareporting.reports.run",
45102	//   "parameterOrder": [
45103	//     "profileId",
45104	//     "reportId"
45105	//   ],
45106	//   "parameters": {
45107	//     "profileId": {
45108	//       "description": "The DFA profile ID.",
45109	//       "format": "int64",
45110	//       "location": "path",
45111	//       "required": true,
45112	//       "type": "string"
45113	//     },
45114	//     "reportId": {
45115	//       "description": "The ID of the report.",
45116	//       "format": "int64",
45117	//       "location": "path",
45118	//       "required": true,
45119	//       "type": "string"
45120	//     },
45121	//     "synchronous": {
45122	//       "default": "false",
45123	//       "description": "If set and true, tries to run the report synchronously.",
45124	//       "location": "query",
45125	//       "type": "boolean"
45126	//     }
45127	//   },
45128	//   "path": "userprofiles/{profileId}/reports/{reportId}/run",
45129	//   "response": {
45130	//     "$ref": "File"
45131	//   },
45132	//   "scopes": [
45133	//     "https://www.googleapis.com/auth/dfareporting"
45134	//   ]
45135	// }
45136
45137}
45138
45139// method id "dfareporting.reports.update":
45140
45141type ReportsUpdateCall struct {
45142	s          *Service
45143	profileId  int64
45144	reportId   int64
45145	report     *Report
45146	urlParams_ gensupport.URLParams
45147	ctx_       context.Context
45148	header_    http.Header
45149}
45150
45151// Update: Updates a report.
45152func (r *ReportsService) Update(profileId int64, reportId int64, report *Report) *ReportsUpdateCall {
45153	c := &ReportsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45154	c.profileId = profileId
45155	c.reportId = reportId
45156	c.report = report
45157	return c
45158}
45159
45160// Fields allows partial responses to be retrieved. See
45161// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45162// for more information.
45163func (c *ReportsUpdateCall) Fields(s ...googleapi.Field) *ReportsUpdateCall {
45164	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45165	return c
45166}
45167
45168// Context sets the context to be used in this call's Do method. Any
45169// pending HTTP request will be aborted if the provided context is
45170// canceled.
45171func (c *ReportsUpdateCall) Context(ctx context.Context) *ReportsUpdateCall {
45172	c.ctx_ = ctx
45173	return c
45174}
45175
45176// Header returns an http.Header that can be modified by the caller to
45177// add HTTP headers to the request.
45178func (c *ReportsUpdateCall) Header() http.Header {
45179	if c.header_ == nil {
45180		c.header_ = make(http.Header)
45181	}
45182	return c.header_
45183}
45184
45185func (c *ReportsUpdateCall) doRequest(alt string) (*http.Response, error) {
45186	reqHeaders := make(http.Header)
45187	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45188	for k, v := range c.header_ {
45189		reqHeaders[k] = v
45190	}
45191	reqHeaders.Set("User-Agent", c.s.userAgent())
45192	var body io.Reader = nil
45193	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45194	if err != nil {
45195		return nil, err
45196	}
45197	reqHeaders.Set("Content-Type", "application/json")
45198	c.urlParams_.Set("alt", alt)
45199	c.urlParams_.Set("prettyPrint", "false")
45200	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}")
45201	urls += "?" + c.urlParams_.Encode()
45202	req, err := http.NewRequest("PUT", urls, body)
45203	if err != nil {
45204		return nil, err
45205	}
45206	req.Header = reqHeaders
45207	googleapi.Expand(req.URL, map[string]string{
45208		"profileId": strconv.FormatInt(c.profileId, 10),
45209		"reportId":  strconv.FormatInt(c.reportId, 10),
45210	})
45211	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45212}
45213
45214// Do executes the "dfareporting.reports.update" call.
45215// Exactly one of *Report or error will be non-nil. Any non-2xx status
45216// code is an error. Response headers are in either
45217// *Report.ServerResponse.Header or (if a response was returned at all)
45218// in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to
45219// check whether the returned error was because http.StatusNotModified
45220// was returned.
45221func (c *ReportsUpdateCall) Do(opts ...googleapi.CallOption) (*Report, error) {
45222	gensupport.SetOptions(c.urlParams_, opts...)
45223	res, err := c.doRequest("json")
45224	if res != nil && res.StatusCode == http.StatusNotModified {
45225		if res.Body != nil {
45226			res.Body.Close()
45227		}
45228		return nil, &googleapi.Error{
45229			Code:   res.StatusCode,
45230			Header: res.Header,
45231		}
45232	}
45233	if err != nil {
45234		return nil, err
45235	}
45236	defer googleapi.CloseBody(res)
45237	if err := googleapi.CheckResponse(res); err != nil {
45238		return nil, err
45239	}
45240	ret := &Report{
45241		ServerResponse: googleapi.ServerResponse{
45242			Header:         res.Header,
45243			HTTPStatusCode: res.StatusCode,
45244		},
45245	}
45246	target := &ret
45247	if err := gensupport.DecodeResponse(target, res); err != nil {
45248		return nil, err
45249	}
45250	return ret, nil
45251	// {
45252	//   "description": "Updates a report.",
45253	//   "httpMethod": "PUT",
45254	//   "id": "dfareporting.reports.update",
45255	//   "parameterOrder": [
45256	//     "profileId",
45257	//     "reportId"
45258	//   ],
45259	//   "parameters": {
45260	//     "profileId": {
45261	//       "description": "The DFA user profile ID.",
45262	//       "format": "int64",
45263	//       "location": "path",
45264	//       "required": true,
45265	//       "type": "string"
45266	//     },
45267	//     "reportId": {
45268	//       "description": "The ID of the report.",
45269	//       "format": "int64",
45270	//       "location": "path",
45271	//       "required": true,
45272	//       "type": "string"
45273	//     }
45274	//   },
45275	//   "path": "userprofiles/{profileId}/reports/{reportId}",
45276	//   "request": {
45277	//     "$ref": "Report"
45278	//   },
45279	//   "response": {
45280	//     "$ref": "Report"
45281	//   },
45282	//   "scopes": [
45283	//     "https://www.googleapis.com/auth/dfareporting"
45284	//   ]
45285	// }
45286
45287}
45288
45289// method id "dfareporting.reports.compatibleFields.query":
45290
45291type ReportsCompatibleFieldsQueryCall struct {
45292	s          *Service
45293	profileId  int64
45294	report     *Report
45295	urlParams_ gensupport.URLParams
45296	ctx_       context.Context
45297	header_    http.Header
45298}
45299
45300// Query: Returns the fields that are compatible to be selected in the
45301// respective sections of a report criteria, given the fields already
45302// selected in the input report and user permissions.
45303func (r *ReportsCompatibleFieldsService) Query(profileId int64, report *Report) *ReportsCompatibleFieldsQueryCall {
45304	c := &ReportsCompatibleFieldsQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45305	c.profileId = profileId
45306	c.report = report
45307	return c
45308}
45309
45310// Fields allows partial responses to be retrieved. See
45311// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45312// for more information.
45313func (c *ReportsCompatibleFieldsQueryCall) Fields(s ...googleapi.Field) *ReportsCompatibleFieldsQueryCall {
45314	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45315	return c
45316}
45317
45318// Context sets the context to be used in this call's Do method. Any
45319// pending HTTP request will be aborted if the provided context is
45320// canceled.
45321func (c *ReportsCompatibleFieldsQueryCall) Context(ctx context.Context) *ReportsCompatibleFieldsQueryCall {
45322	c.ctx_ = ctx
45323	return c
45324}
45325
45326// Header returns an http.Header that can be modified by the caller to
45327// add HTTP headers to the request.
45328func (c *ReportsCompatibleFieldsQueryCall) Header() http.Header {
45329	if c.header_ == nil {
45330		c.header_ = make(http.Header)
45331	}
45332	return c.header_
45333}
45334
45335func (c *ReportsCompatibleFieldsQueryCall) doRequest(alt string) (*http.Response, error) {
45336	reqHeaders := make(http.Header)
45337	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45338	for k, v := range c.header_ {
45339		reqHeaders[k] = v
45340	}
45341	reqHeaders.Set("User-Agent", c.s.userAgent())
45342	var body io.Reader = nil
45343	body, err := googleapi.WithoutDataWrapper.JSONReader(c.report)
45344	if err != nil {
45345		return nil, err
45346	}
45347	reqHeaders.Set("Content-Type", "application/json")
45348	c.urlParams_.Set("alt", alt)
45349	c.urlParams_.Set("prettyPrint", "false")
45350	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/compatiblefields/query")
45351	urls += "?" + c.urlParams_.Encode()
45352	req, err := http.NewRequest("POST", urls, body)
45353	if err != nil {
45354		return nil, err
45355	}
45356	req.Header = reqHeaders
45357	googleapi.Expand(req.URL, map[string]string{
45358		"profileId": strconv.FormatInt(c.profileId, 10),
45359	})
45360	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45361}
45362
45363// Do executes the "dfareporting.reports.compatibleFields.query" call.
45364// Exactly one of *CompatibleFields or error will be non-nil. Any
45365// non-2xx status code is an error. Response headers are in either
45366// *CompatibleFields.ServerResponse.Header or (if a response was
45367// returned at all) in error.(*googleapi.Error).Header. Use
45368// googleapi.IsNotModified to check whether the returned error was
45369// because http.StatusNotModified was returned.
45370func (c *ReportsCompatibleFieldsQueryCall) Do(opts ...googleapi.CallOption) (*CompatibleFields, error) {
45371	gensupport.SetOptions(c.urlParams_, opts...)
45372	res, err := c.doRequest("json")
45373	if res != nil && res.StatusCode == http.StatusNotModified {
45374		if res.Body != nil {
45375			res.Body.Close()
45376		}
45377		return nil, &googleapi.Error{
45378			Code:   res.StatusCode,
45379			Header: res.Header,
45380		}
45381	}
45382	if err != nil {
45383		return nil, err
45384	}
45385	defer googleapi.CloseBody(res)
45386	if err := googleapi.CheckResponse(res); err != nil {
45387		return nil, err
45388	}
45389	ret := &CompatibleFields{
45390		ServerResponse: googleapi.ServerResponse{
45391			Header:         res.Header,
45392			HTTPStatusCode: res.StatusCode,
45393		},
45394	}
45395	target := &ret
45396	if err := gensupport.DecodeResponse(target, res); err != nil {
45397		return nil, err
45398	}
45399	return ret, nil
45400	// {
45401	//   "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.",
45402	//   "httpMethod": "POST",
45403	//   "id": "dfareporting.reports.compatibleFields.query",
45404	//   "parameterOrder": [
45405	//     "profileId"
45406	//   ],
45407	//   "parameters": {
45408	//     "profileId": {
45409	//       "description": "The DFA user profile ID.",
45410	//       "format": "int64",
45411	//       "location": "path",
45412	//       "required": true,
45413	//       "type": "string"
45414	//     }
45415	//   },
45416	//   "path": "userprofiles/{profileId}/reports/compatiblefields/query",
45417	//   "request": {
45418	//     "$ref": "Report"
45419	//   },
45420	//   "response": {
45421	//     "$ref": "CompatibleFields"
45422	//   },
45423	//   "scopes": [
45424	//     "https://www.googleapis.com/auth/dfareporting"
45425	//   ]
45426	// }
45427
45428}
45429
45430// method id "dfareporting.reports.files.get":
45431
45432type ReportsFilesGetCall struct {
45433	s            *Service
45434	profileId    int64
45435	reportId     int64
45436	fileId       int64
45437	urlParams_   gensupport.URLParams
45438	ifNoneMatch_ string
45439	ctx_         context.Context
45440	header_      http.Header
45441}
45442
45443// Get: Retrieves a report file. This method supports media download.
45444func (r *ReportsFilesService) Get(profileId int64, reportId int64, fileId int64) *ReportsFilesGetCall {
45445	c := &ReportsFilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45446	c.profileId = profileId
45447	c.reportId = reportId
45448	c.fileId = fileId
45449	return c
45450}
45451
45452// Fields allows partial responses to be retrieved. See
45453// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45454// for more information.
45455func (c *ReportsFilesGetCall) Fields(s ...googleapi.Field) *ReportsFilesGetCall {
45456	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45457	return c
45458}
45459
45460// IfNoneMatch sets the optional parameter which makes the operation
45461// fail if the object's ETag matches the given value. This is useful for
45462// getting updates only after the object has changed since the last
45463// request. Use googleapi.IsNotModified to check whether the response
45464// error from Do is the result of In-None-Match.
45465func (c *ReportsFilesGetCall) IfNoneMatch(entityTag string) *ReportsFilesGetCall {
45466	c.ifNoneMatch_ = entityTag
45467	return c
45468}
45469
45470// Context sets the context to be used in this call's Do and Download
45471// methods. Any pending HTTP request will be aborted if the provided
45472// context is canceled.
45473func (c *ReportsFilesGetCall) Context(ctx context.Context) *ReportsFilesGetCall {
45474	c.ctx_ = ctx
45475	return c
45476}
45477
45478// Header returns an http.Header that can be modified by the caller to
45479// add HTTP headers to the request.
45480func (c *ReportsFilesGetCall) Header() http.Header {
45481	if c.header_ == nil {
45482		c.header_ = make(http.Header)
45483	}
45484	return c.header_
45485}
45486
45487func (c *ReportsFilesGetCall) doRequest(alt string) (*http.Response, error) {
45488	reqHeaders := make(http.Header)
45489	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45490	for k, v := range c.header_ {
45491		reqHeaders[k] = v
45492	}
45493	reqHeaders.Set("User-Agent", c.s.userAgent())
45494	if c.ifNoneMatch_ != "" {
45495		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45496	}
45497	var body io.Reader = nil
45498	c.urlParams_.Set("alt", alt)
45499	c.urlParams_.Set("prettyPrint", "false")
45500	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files/{fileId}")
45501	urls += "?" + c.urlParams_.Encode()
45502	req, err := http.NewRequest("GET", urls, body)
45503	if err != nil {
45504		return nil, err
45505	}
45506	req.Header = reqHeaders
45507	googleapi.Expand(req.URL, map[string]string{
45508		"profileId": strconv.FormatInt(c.profileId, 10),
45509		"reportId":  strconv.FormatInt(c.reportId, 10),
45510		"fileId":    strconv.FormatInt(c.fileId, 10),
45511	})
45512	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45513}
45514
45515// Download fetches the API endpoint's "media" value, instead of the normal
45516// API response value. If the returned error is nil, the Response is guaranteed to
45517// have a 2xx status code. Callers must close the Response.Body as usual.
45518func (c *ReportsFilesGetCall) Download(opts ...googleapi.CallOption) (*http.Response, error) {
45519	gensupport.SetOptions(c.urlParams_, opts...)
45520	res, err := c.doRequest("media")
45521	if err != nil {
45522		return nil, err
45523	}
45524	if err := googleapi.CheckMediaResponse(res); err != nil {
45525		res.Body.Close()
45526		return nil, err
45527	}
45528	return res, nil
45529}
45530
45531// Do executes the "dfareporting.reports.files.get" call.
45532// Exactly one of *File or error will be non-nil. Any non-2xx status
45533// code is an error. Response headers are in either
45534// *File.ServerResponse.Header or (if a response was returned at all) in
45535// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45536// whether the returned error was because http.StatusNotModified was
45537// returned.
45538func (c *ReportsFilesGetCall) Do(opts ...googleapi.CallOption) (*File, error) {
45539	gensupport.SetOptions(c.urlParams_, opts...)
45540	res, err := c.doRequest("json")
45541	if res != nil && res.StatusCode == http.StatusNotModified {
45542		if res.Body != nil {
45543			res.Body.Close()
45544		}
45545		return nil, &googleapi.Error{
45546			Code:   res.StatusCode,
45547			Header: res.Header,
45548		}
45549	}
45550	if err != nil {
45551		return nil, err
45552	}
45553	defer googleapi.CloseBody(res)
45554	if err := googleapi.CheckResponse(res); err != nil {
45555		return nil, err
45556	}
45557	ret := &File{
45558		ServerResponse: googleapi.ServerResponse{
45559			Header:         res.Header,
45560			HTTPStatusCode: res.StatusCode,
45561		},
45562	}
45563	target := &ret
45564	if err := gensupport.DecodeResponse(target, res); err != nil {
45565		return nil, err
45566	}
45567	return ret, nil
45568	// {
45569	//   "description": "Retrieves a report file. This method supports media download.",
45570	//   "httpMethod": "GET",
45571	//   "id": "dfareporting.reports.files.get",
45572	//   "parameterOrder": [
45573	//     "profileId",
45574	//     "reportId",
45575	//     "fileId"
45576	//   ],
45577	//   "parameters": {
45578	//     "fileId": {
45579	//       "description": "The ID of the report file.",
45580	//       "format": "int64",
45581	//       "location": "path",
45582	//       "required": true,
45583	//       "type": "string"
45584	//     },
45585	//     "profileId": {
45586	//       "description": "The DFA profile ID.",
45587	//       "format": "int64",
45588	//       "location": "path",
45589	//       "required": true,
45590	//       "type": "string"
45591	//     },
45592	//     "reportId": {
45593	//       "description": "The ID of the report.",
45594	//       "format": "int64",
45595	//       "location": "path",
45596	//       "required": true,
45597	//       "type": "string"
45598	//     }
45599	//   },
45600	//   "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}",
45601	//   "response": {
45602	//     "$ref": "File"
45603	//   },
45604	//   "scopes": [
45605	//     "https://www.googleapis.com/auth/dfareporting"
45606	//   ],
45607	//   "supportsMediaDownload": true
45608	// }
45609
45610}
45611
45612// method id "dfareporting.reports.files.list":
45613
45614type ReportsFilesListCall struct {
45615	s            *Service
45616	profileId    int64
45617	reportId     int64
45618	urlParams_   gensupport.URLParams
45619	ifNoneMatch_ string
45620	ctx_         context.Context
45621	header_      http.Header
45622}
45623
45624// List: Lists files for a report.
45625func (r *ReportsFilesService) List(profileId int64, reportId int64) *ReportsFilesListCall {
45626	c := &ReportsFilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45627	c.profileId = profileId
45628	c.reportId = reportId
45629	return c
45630}
45631
45632// MaxResults sets the optional parameter "maxResults": Maximum number
45633// of results to return.
45634func (c *ReportsFilesListCall) MaxResults(maxResults int64) *ReportsFilesListCall {
45635	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
45636	return c
45637}
45638
45639// PageToken sets the optional parameter "pageToken": The value of the
45640// nextToken from the previous result page.
45641func (c *ReportsFilesListCall) PageToken(pageToken string) *ReportsFilesListCall {
45642	c.urlParams_.Set("pageToken", pageToken)
45643	return c
45644}
45645
45646// SortField sets the optional parameter "sortField": The field by which
45647// to sort the list.
45648//
45649// Possible values:
45650//   "ID" - Sort by file ID.
45651//   "LAST_MODIFIED_TIME" (default) - Sort by 'lastmodifiedAt' field.
45652func (c *ReportsFilesListCall) SortField(sortField string) *ReportsFilesListCall {
45653	c.urlParams_.Set("sortField", sortField)
45654	return c
45655}
45656
45657// SortOrder sets the optional parameter "sortOrder": Order of sorted
45658// results.
45659//
45660// Possible values:
45661//   "ASCENDING" - Ascending order.
45662//   "DESCENDING" (default) - Descending order.
45663func (c *ReportsFilesListCall) SortOrder(sortOrder string) *ReportsFilesListCall {
45664	c.urlParams_.Set("sortOrder", sortOrder)
45665	return c
45666}
45667
45668// Fields allows partial responses to be retrieved. See
45669// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45670// for more information.
45671func (c *ReportsFilesListCall) Fields(s ...googleapi.Field) *ReportsFilesListCall {
45672	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45673	return c
45674}
45675
45676// IfNoneMatch sets the optional parameter which makes the operation
45677// fail if the object's ETag matches the given value. This is useful for
45678// getting updates only after the object has changed since the last
45679// request. Use googleapi.IsNotModified to check whether the response
45680// error from Do is the result of In-None-Match.
45681func (c *ReportsFilesListCall) IfNoneMatch(entityTag string) *ReportsFilesListCall {
45682	c.ifNoneMatch_ = entityTag
45683	return c
45684}
45685
45686// Context sets the context to be used in this call's Do method. Any
45687// pending HTTP request will be aborted if the provided context is
45688// canceled.
45689func (c *ReportsFilesListCall) Context(ctx context.Context) *ReportsFilesListCall {
45690	c.ctx_ = ctx
45691	return c
45692}
45693
45694// Header returns an http.Header that can be modified by the caller to
45695// add HTTP headers to the request.
45696func (c *ReportsFilesListCall) Header() http.Header {
45697	if c.header_ == nil {
45698		c.header_ = make(http.Header)
45699	}
45700	return c.header_
45701}
45702
45703func (c *ReportsFilesListCall) doRequest(alt string) (*http.Response, error) {
45704	reqHeaders := make(http.Header)
45705	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45706	for k, v := range c.header_ {
45707		reqHeaders[k] = v
45708	}
45709	reqHeaders.Set("User-Agent", c.s.userAgent())
45710	if c.ifNoneMatch_ != "" {
45711		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45712	}
45713	var body io.Reader = nil
45714	c.urlParams_.Set("alt", alt)
45715	c.urlParams_.Set("prettyPrint", "false")
45716	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/reports/{reportId}/files")
45717	urls += "?" + c.urlParams_.Encode()
45718	req, err := http.NewRequest("GET", urls, body)
45719	if err != nil {
45720		return nil, err
45721	}
45722	req.Header = reqHeaders
45723	googleapi.Expand(req.URL, map[string]string{
45724		"profileId": strconv.FormatInt(c.profileId, 10),
45725		"reportId":  strconv.FormatInt(c.reportId, 10),
45726	})
45727	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45728}
45729
45730// Do executes the "dfareporting.reports.files.list" call.
45731// Exactly one of *FileList or error will be non-nil. Any non-2xx status
45732// code is an error. Response headers are in either
45733// *FileList.ServerResponse.Header or (if a response was returned at
45734// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
45735// to check whether the returned error was because
45736// http.StatusNotModified was returned.
45737func (c *ReportsFilesListCall) Do(opts ...googleapi.CallOption) (*FileList, error) {
45738	gensupport.SetOptions(c.urlParams_, opts...)
45739	res, err := c.doRequest("json")
45740	if res != nil && res.StatusCode == http.StatusNotModified {
45741		if res.Body != nil {
45742			res.Body.Close()
45743		}
45744		return nil, &googleapi.Error{
45745			Code:   res.StatusCode,
45746			Header: res.Header,
45747		}
45748	}
45749	if err != nil {
45750		return nil, err
45751	}
45752	defer googleapi.CloseBody(res)
45753	if err := googleapi.CheckResponse(res); err != nil {
45754		return nil, err
45755	}
45756	ret := &FileList{
45757		ServerResponse: googleapi.ServerResponse{
45758			Header:         res.Header,
45759			HTTPStatusCode: res.StatusCode,
45760		},
45761	}
45762	target := &ret
45763	if err := gensupport.DecodeResponse(target, res); err != nil {
45764		return nil, err
45765	}
45766	return ret, nil
45767	// {
45768	//   "description": "Lists files for a report.",
45769	//   "httpMethod": "GET",
45770	//   "id": "dfareporting.reports.files.list",
45771	//   "parameterOrder": [
45772	//     "profileId",
45773	//     "reportId"
45774	//   ],
45775	//   "parameters": {
45776	//     "maxResults": {
45777	//       "default": "10",
45778	//       "description": "Maximum number of results to return.",
45779	//       "format": "int32",
45780	//       "location": "query",
45781	//       "maximum": "10",
45782	//       "minimum": "0",
45783	//       "type": "integer"
45784	//     },
45785	//     "pageToken": {
45786	//       "description": "The value of the nextToken from the previous result page.",
45787	//       "location": "query",
45788	//       "type": "string"
45789	//     },
45790	//     "profileId": {
45791	//       "description": "The DFA profile ID.",
45792	//       "format": "int64",
45793	//       "location": "path",
45794	//       "required": true,
45795	//       "type": "string"
45796	//     },
45797	//     "reportId": {
45798	//       "description": "The ID of the parent report.",
45799	//       "format": "int64",
45800	//       "location": "path",
45801	//       "required": true,
45802	//       "type": "string"
45803	//     },
45804	//     "sortField": {
45805	//       "default": "LAST_MODIFIED_TIME",
45806	//       "description": "The field by which to sort the list.",
45807	//       "enum": [
45808	//         "ID",
45809	//         "LAST_MODIFIED_TIME"
45810	//       ],
45811	//       "enumDescriptions": [
45812	//         "Sort by file ID.",
45813	//         "Sort by 'lastmodifiedAt' field."
45814	//       ],
45815	//       "location": "query",
45816	//       "type": "string"
45817	//     },
45818	//     "sortOrder": {
45819	//       "default": "DESCENDING",
45820	//       "description": "Order of sorted results.",
45821	//       "enum": [
45822	//         "ASCENDING",
45823	//         "DESCENDING"
45824	//       ],
45825	//       "enumDescriptions": [
45826	//         "Ascending order.",
45827	//         "Descending order."
45828	//       ],
45829	//       "location": "query",
45830	//       "type": "string"
45831	//     }
45832	//   },
45833	//   "path": "userprofiles/{profileId}/reports/{reportId}/files",
45834	//   "response": {
45835	//     "$ref": "FileList"
45836	//   },
45837	//   "scopes": [
45838	//     "https://www.googleapis.com/auth/dfareporting"
45839	//   ]
45840	// }
45841
45842}
45843
45844// Pages invokes f for each page of results.
45845// A non-nil error returned from f will halt the iteration.
45846// The provided context supersedes any context provided to the Context method.
45847func (c *ReportsFilesListCall) Pages(ctx context.Context, f func(*FileList) error) error {
45848	c.ctx_ = ctx
45849	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
45850	for {
45851		x, err := c.Do()
45852		if err != nil {
45853			return err
45854		}
45855		if err := f(x); err != nil {
45856			return err
45857		}
45858		if x.NextPageToken == "" {
45859			return nil
45860		}
45861		c.PageToken(x.NextPageToken)
45862	}
45863}
45864
45865// method id "dfareporting.sites.get":
45866
45867type SitesGetCall struct {
45868	s            *Service
45869	profileId    int64
45870	id           int64
45871	urlParams_   gensupport.URLParams
45872	ifNoneMatch_ string
45873	ctx_         context.Context
45874	header_      http.Header
45875}
45876
45877// Get: Gets one site by ID.
45878func (r *SitesService) Get(profileId int64, id int64) *SitesGetCall {
45879	c := &SitesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
45880	c.profileId = profileId
45881	c.id = id
45882	return c
45883}
45884
45885// Fields allows partial responses to be retrieved. See
45886// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
45887// for more information.
45888func (c *SitesGetCall) Fields(s ...googleapi.Field) *SitesGetCall {
45889	c.urlParams_.Set("fields", googleapi.CombineFields(s))
45890	return c
45891}
45892
45893// IfNoneMatch sets the optional parameter which makes the operation
45894// fail if the object's ETag matches the given value. This is useful for
45895// getting updates only after the object has changed since the last
45896// request. Use googleapi.IsNotModified to check whether the response
45897// error from Do is the result of In-None-Match.
45898func (c *SitesGetCall) IfNoneMatch(entityTag string) *SitesGetCall {
45899	c.ifNoneMatch_ = entityTag
45900	return c
45901}
45902
45903// Context sets the context to be used in this call's Do method. Any
45904// pending HTTP request will be aborted if the provided context is
45905// canceled.
45906func (c *SitesGetCall) Context(ctx context.Context) *SitesGetCall {
45907	c.ctx_ = ctx
45908	return c
45909}
45910
45911// Header returns an http.Header that can be modified by the caller to
45912// add HTTP headers to the request.
45913func (c *SitesGetCall) Header() http.Header {
45914	if c.header_ == nil {
45915		c.header_ = make(http.Header)
45916	}
45917	return c.header_
45918}
45919
45920func (c *SitesGetCall) doRequest(alt string) (*http.Response, error) {
45921	reqHeaders := make(http.Header)
45922	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
45923	for k, v := range c.header_ {
45924		reqHeaders[k] = v
45925	}
45926	reqHeaders.Set("User-Agent", c.s.userAgent())
45927	if c.ifNoneMatch_ != "" {
45928		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
45929	}
45930	var body io.Reader = nil
45931	c.urlParams_.Set("alt", alt)
45932	c.urlParams_.Set("prettyPrint", "false")
45933	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites/{id}")
45934	urls += "?" + c.urlParams_.Encode()
45935	req, err := http.NewRequest("GET", urls, body)
45936	if err != nil {
45937		return nil, err
45938	}
45939	req.Header = reqHeaders
45940	googleapi.Expand(req.URL, map[string]string{
45941		"profileId": strconv.FormatInt(c.profileId, 10),
45942		"id":        strconv.FormatInt(c.id, 10),
45943	})
45944	return gensupport.SendRequest(c.ctx_, c.s.client, req)
45945}
45946
45947// Do executes the "dfareporting.sites.get" call.
45948// Exactly one of *Site or error will be non-nil. Any non-2xx status
45949// code is an error. Response headers are in either
45950// *Site.ServerResponse.Header or (if a response was returned at all) in
45951// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
45952// whether the returned error was because http.StatusNotModified was
45953// returned.
45954func (c *SitesGetCall) Do(opts ...googleapi.CallOption) (*Site, error) {
45955	gensupport.SetOptions(c.urlParams_, opts...)
45956	res, err := c.doRequest("json")
45957	if res != nil && res.StatusCode == http.StatusNotModified {
45958		if res.Body != nil {
45959			res.Body.Close()
45960		}
45961		return nil, &googleapi.Error{
45962			Code:   res.StatusCode,
45963			Header: res.Header,
45964		}
45965	}
45966	if err != nil {
45967		return nil, err
45968	}
45969	defer googleapi.CloseBody(res)
45970	if err := googleapi.CheckResponse(res); err != nil {
45971		return nil, err
45972	}
45973	ret := &Site{
45974		ServerResponse: googleapi.ServerResponse{
45975			Header:         res.Header,
45976			HTTPStatusCode: res.StatusCode,
45977		},
45978	}
45979	target := &ret
45980	if err := gensupport.DecodeResponse(target, res); err != nil {
45981		return nil, err
45982	}
45983	return ret, nil
45984	// {
45985	//   "description": "Gets one site by ID.",
45986	//   "httpMethod": "GET",
45987	//   "id": "dfareporting.sites.get",
45988	//   "parameterOrder": [
45989	//     "profileId",
45990	//     "id"
45991	//   ],
45992	//   "parameters": {
45993	//     "id": {
45994	//       "description": "Site ID.",
45995	//       "format": "int64",
45996	//       "location": "path",
45997	//       "required": true,
45998	//       "type": "string"
45999	//     },
46000	//     "profileId": {
46001	//       "description": "User profile ID associated with this request.",
46002	//       "format": "int64",
46003	//       "location": "path",
46004	//       "required": true,
46005	//       "type": "string"
46006	//     }
46007	//   },
46008	//   "path": "userprofiles/{profileId}/sites/{id}",
46009	//   "response": {
46010	//     "$ref": "Site"
46011	//   },
46012	//   "scopes": [
46013	//     "https://www.googleapis.com/auth/dfatrafficking"
46014	//   ]
46015	// }
46016
46017}
46018
46019// method id "dfareporting.sites.insert":
46020
46021type SitesInsertCall struct {
46022	s          *Service
46023	profileId  int64
46024	site       *Site
46025	urlParams_ gensupport.URLParams
46026	ctx_       context.Context
46027	header_    http.Header
46028}
46029
46030// Insert: Inserts a new site.
46031func (r *SitesService) Insert(profileId int64, site *Site) *SitesInsertCall {
46032	c := &SitesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46033	c.profileId = profileId
46034	c.site = site
46035	return c
46036}
46037
46038// Fields allows partial responses to be retrieved. See
46039// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46040// for more information.
46041func (c *SitesInsertCall) Fields(s ...googleapi.Field) *SitesInsertCall {
46042	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46043	return c
46044}
46045
46046// Context sets the context to be used in this call's Do method. Any
46047// pending HTTP request will be aborted if the provided context is
46048// canceled.
46049func (c *SitesInsertCall) Context(ctx context.Context) *SitesInsertCall {
46050	c.ctx_ = ctx
46051	return c
46052}
46053
46054// Header returns an http.Header that can be modified by the caller to
46055// add HTTP headers to the request.
46056func (c *SitesInsertCall) Header() http.Header {
46057	if c.header_ == nil {
46058		c.header_ = make(http.Header)
46059	}
46060	return c.header_
46061}
46062
46063func (c *SitesInsertCall) doRequest(alt string) (*http.Response, error) {
46064	reqHeaders := make(http.Header)
46065	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46066	for k, v := range c.header_ {
46067		reqHeaders[k] = v
46068	}
46069	reqHeaders.Set("User-Agent", c.s.userAgent())
46070	var body io.Reader = nil
46071	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46072	if err != nil {
46073		return nil, err
46074	}
46075	reqHeaders.Set("Content-Type", "application/json")
46076	c.urlParams_.Set("alt", alt)
46077	c.urlParams_.Set("prettyPrint", "false")
46078	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46079	urls += "?" + c.urlParams_.Encode()
46080	req, err := http.NewRequest("POST", urls, body)
46081	if err != nil {
46082		return nil, err
46083	}
46084	req.Header = reqHeaders
46085	googleapi.Expand(req.URL, map[string]string{
46086		"profileId": strconv.FormatInt(c.profileId, 10),
46087	})
46088	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46089}
46090
46091// Do executes the "dfareporting.sites.insert" call.
46092// Exactly one of *Site or error will be non-nil. Any non-2xx status
46093// code is an error. Response headers are in either
46094// *Site.ServerResponse.Header or (if a response was returned at all) in
46095// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46096// whether the returned error was because http.StatusNotModified was
46097// returned.
46098func (c *SitesInsertCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46099	gensupport.SetOptions(c.urlParams_, opts...)
46100	res, err := c.doRequest("json")
46101	if res != nil && res.StatusCode == http.StatusNotModified {
46102		if res.Body != nil {
46103			res.Body.Close()
46104		}
46105		return nil, &googleapi.Error{
46106			Code:   res.StatusCode,
46107			Header: res.Header,
46108		}
46109	}
46110	if err != nil {
46111		return nil, err
46112	}
46113	defer googleapi.CloseBody(res)
46114	if err := googleapi.CheckResponse(res); err != nil {
46115		return nil, err
46116	}
46117	ret := &Site{
46118		ServerResponse: googleapi.ServerResponse{
46119			Header:         res.Header,
46120			HTTPStatusCode: res.StatusCode,
46121		},
46122	}
46123	target := &ret
46124	if err := gensupport.DecodeResponse(target, res); err != nil {
46125		return nil, err
46126	}
46127	return ret, nil
46128	// {
46129	//   "description": "Inserts a new site.",
46130	//   "httpMethod": "POST",
46131	//   "id": "dfareporting.sites.insert",
46132	//   "parameterOrder": [
46133	//     "profileId"
46134	//   ],
46135	//   "parameters": {
46136	//     "profileId": {
46137	//       "description": "User profile ID associated with this request.",
46138	//       "format": "int64",
46139	//       "location": "path",
46140	//       "required": true,
46141	//       "type": "string"
46142	//     }
46143	//   },
46144	//   "path": "userprofiles/{profileId}/sites",
46145	//   "request": {
46146	//     "$ref": "Site"
46147	//   },
46148	//   "response": {
46149	//     "$ref": "Site"
46150	//   },
46151	//   "scopes": [
46152	//     "https://www.googleapis.com/auth/dfatrafficking"
46153	//   ]
46154	// }
46155
46156}
46157
46158// method id "dfareporting.sites.list":
46159
46160type SitesListCall struct {
46161	s            *Service
46162	profileId    int64
46163	urlParams_   gensupport.URLParams
46164	ifNoneMatch_ string
46165	ctx_         context.Context
46166	header_      http.Header
46167}
46168
46169// List: Retrieves a list of sites, possibly filtered. This method
46170// supports paging.
46171func (r *SitesService) List(profileId int64) *SitesListCall {
46172	c := &SitesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46173	c.profileId = profileId
46174	return c
46175}
46176
46177// AcceptsInStreamVideoPlacements sets the optional parameter
46178// "acceptsInStreamVideoPlacements": This search filter is no longer
46179// supported and will have no effect on the results returned.
46180func (c *SitesListCall) AcceptsInStreamVideoPlacements(acceptsInStreamVideoPlacements bool) *SitesListCall {
46181	c.urlParams_.Set("acceptsInStreamVideoPlacements", fmt.Sprint(acceptsInStreamVideoPlacements))
46182	return c
46183}
46184
46185// AcceptsInterstitialPlacements sets the optional parameter
46186// "acceptsInterstitialPlacements": This search filter is no longer
46187// supported and will have no effect on the results returned.
46188func (c *SitesListCall) AcceptsInterstitialPlacements(acceptsInterstitialPlacements bool) *SitesListCall {
46189	c.urlParams_.Set("acceptsInterstitialPlacements", fmt.Sprint(acceptsInterstitialPlacements))
46190	return c
46191}
46192
46193// AcceptsPublisherPaidPlacements sets the optional parameter
46194// "acceptsPublisherPaidPlacements": Select only sites that accept
46195// publisher paid placements.
46196func (c *SitesListCall) AcceptsPublisherPaidPlacements(acceptsPublisherPaidPlacements bool) *SitesListCall {
46197	c.urlParams_.Set("acceptsPublisherPaidPlacements", fmt.Sprint(acceptsPublisherPaidPlacements))
46198	return c
46199}
46200
46201// AdWordsSite sets the optional parameter "adWordsSite": Select only
46202// AdWords sites.
46203func (c *SitesListCall) AdWordsSite(adWordsSite bool) *SitesListCall {
46204	c.urlParams_.Set("adWordsSite", fmt.Sprint(adWordsSite))
46205	return c
46206}
46207
46208// Approved sets the optional parameter "approved": Select only approved
46209// sites.
46210func (c *SitesListCall) Approved(approved bool) *SitesListCall {
46211	c.urlParams_.Set("approved", fmt.Sprint(approved))
46212	return c
46213}
46214
46215// CampaignIds sets the optional parameter "campaignIds": Select only
46216// sites with these campaign IDs.
46217func (c *SitesListCall) CampaignIds(campaignIds ...int64) *SitesListCall {
46218	var campaignIds_ []string
46219	for _, v := range campaignIds {
46220		campaignIds_ = append(campaignIds_, fmt.Sprint(v))
46221	}
46222	c.urlParams_.SetMulti("campaignIds", campaignIds_)
46223	return c
46224}
46225
46226// DirectorySiteIds sets the optional parameter "directorySiteIds":
46227// Select only sites with these directory site IDs.
46228func (c *SitesListCall) DirectorySiteIds(directorySiteIds ...int64) *SitesListCall {
46229	var directorySiteIds_ []string
46230	for _, v := range directorySiteIds {
46231		directorySiteIds_ = append(directorySiteIds_, fmt.Sprint(v))
46232	}
46233	c.urlParams_.SetMulti("directorySiteIds", directorySiteIds_)
46234	return c
46235}
46236
46237// Ids sets the optional parameter "ids": Select only sites with these
46238// IDs.
46239func (c *SitesListCall) Ids(ids ...int64) *SitesListCall {
46240	var ids_ []string
46241	for _, v := range ids {
46242		ids_ = append(ids_, fmt.Sprint(v))
46243	}
46244	c.urlParams_.SetMulti("ids", ids_)
46245	return c
46246}
46247
46248// MaxResults sets the optional parameter "maxResults": Maximum number
46249// of results to return.
46250func (c *SitesListCall) MaxResults(maxResults int64) *SitesListCall {
46251	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
46252	return c
46253}
46254
46255// PageToken sets the optional parameter "pageToken": Value of the
46256// nextPageToken from the previous result page.
46257func (c *SitesListCall) PageToken(pageToken string) *SitesListCall {
46258	c.urlParams_.Set("pageToken", pageToken)
46259	return c
46260}
46261
46262// SearchString sets the optional parameter "searchString": Allows
46263// searching for objects by name, ID or keyName. Wildcards (*) are
46264// allowed. For example, "site*2015" will return objects with names like
46265// "site June 2015", "site April 2015", or simply "site 2015". Most of
46266// the searches also add wildcards implicitly at the start and the end
46267// of the search string. For example, a search string of "site" will
46268// match objects with name "my site", "site 2015", or simply "site".
46269func (c *SitesListCall) SearchString(searchString string) *SitesListCall {
46270	c.urlParams_.Set("searchString", searchString)
46271	return c
46272}
46273
46274// SortField sets the optional parameter "sortField": Field by which to
46275// sort the list.
46276//
46277// Possible values:
46278//   "ID" (default)
46279//   "NAME"
46280func (c *SitesListCall) SortField(sortField string) *SitesListCall {
46281	c.urlParams_.Set("sortField", sortField)
46282	return c
46283}
46284
46285// SortOrder sets the optional parameter "sortOrder": Order of sorted
46286// results.
46287//
46288// Possible values:
46289//   "ASCENDING" (default)
46290//   "DESCENDING"
46291func (c *SitesListCall) SortOrder(sortOrder string) *SitesListCall {
46292	c.urlParams_.Set("sortOrder", sortOrder)
46293	return c
46294}
46295
46296// SubaccountId sets the optional parameter "subaccountId": Select only
46297// sites with this subaccount ID.
46298func (c *SitesListCall) SubaccountId(subaccountId int64) *SitesListCall {
46299	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
46300	return c
46301}
46302
46303// UnmappedSite sets the optional parameter "unmappedSite": Select only
46304// sites that have not been mapped to a directory site.
46305func (c *SitesListCall) UnmappedSite(unmappedSite bool) *SitesListCall {
46306	c.urlParams_.Set("unmappedSite", fmt.Sprint(unmappedSite))
46307	return c
46308}
46309
46310// Fields allows partial responses to be retrieved. See
46311// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46312// for more information.
46313func (c *SitesListCall) Fields(s ...googleapi.Field) *SitesListCall {
46314	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46315	return c
46316}
46317
46318// IfNoneMatch sets the optional parameter which makes the operation
46319// fail if the object's ETag matches the given value. This is useful for
46320// getting updates only after the object has changed since the last
46321// request. Use googleapi.IsNotModified to check whether the response
46322// error from Do is the result of In-None-Match.
46323func (c *SitesListCall) IfNoneMatch(entityTag string) *SitesListCall {
46324	c.ifNoneMatch_ = entityTag
46325	return c
46326}
46327
46328// Context sets the context to be used in this call's Do method. Any
46329// pending HTTP request will be aborted if the provided context is
46330// canceled.
46331func (c *SitesListCall) Context(ctx context.Context) *SitesListCall {
46332	c.ctx_ = ctx
46333	return c
46334}
46335
46336// Header returns an http.Header that can be modified by the caller to
46337// add HTTP headers to the request.
46338func (c *SitesListCall) Header() http.Header {
46339	if c.header_ == nil {
46340		c.header_ = make(http.Header)
46341	}
46342	return c.header_
46343}
46344
46345func (c *SitesListCall) doRequest(alt string) (*http.Response, error) {
46346	reqHeaders := make(http.Header)
46347	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46348	for k, v := range c.header_ {
46349		reqHeaders[k] = v
46350	}
46351	reqHeaders.Set("User-Agent", c.s.userAgent())
46352	if c.ifNoneMatch_ != "" {
46353		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46354	}
46355	var body io.Reader = nil
46356	c.urlParams_.Set("alt", alt)
46357	c.urlParams_.Set("prettyPrint", "false")
46358	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46359	urls += "?" + c.urlParams_.Encode()
46360	req, err := http.NewRequest("GET", urls, body)
46361	if err != nil {
46362		return nil, err
46363	}
46364	req.Header = reqHeaders
46365	googleapi.Expand(req.URL, map[string]string{
46366		"profileId": strconv.FormatInt(c.profileId, 10),
46367	})
46368	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46369}
46370
46371// Do executes the "dfareporting.sites.list" call.
46372// Exactly one of *SitesListResponse or error will be non-nil. Any
46373// non-2xx status code is an error. Response headers are in either
46374// *SitesListResponse.ServerResponse.Header or (if a response was
46375// returned at all) in error.(*googleapi.Error).Header. Use
46376// googleapi.IsNotModified to check whether the returned error was
46377// because http.StatusNotModified was returned.
46378func (c *SitesListCall) Do(opts ...googleapi.CallOption) (*SitesListResponse, error) {
46379	gensupport.SetOptions(c.urlParams_, opts...)
46380	res, err := c.doRequest("json")
46381	if res != nil && res.StatusCode == http.StatusNotModified {
46382		if res.Body != nil {
46383			res.Body.Close()
46384		}
46385		return nil, &googleapi.Error{
46386			Code:   res.StatusCode,
46387			Header: res.Header,
46388		}
46389	}
46390	if err != nil {
46391		return nil, err
46392	}
46393	defer googleapi.CloseBody(res)
46394	if err := googleapi.CheckResponse(res); err != nil {
46395		return nil, err
46396	}
46397	ret := &SitesListResponse{
46398		ServerResponse: googleapi.ServerResponse{
46399			Header:         res.Header,
46400			HTTPStatusCode: res.StatusCode,
46401		},
46402	}
46403	target := &ret
46404	if err := gensupport.DecodeResponse(target, res); err != nil {
46405		return nil, err
46406	}
46407	return ret, nil
46408	// {
46409	//   "description": "Retrieves a list of sites, possibly filtered. This method supports paging.",
46410	//   "httpMethod": "GET",
46411	//   "id": "dfareporting.sites.list",
46412	//   "parameterOrder": [
46413	//     "profileId"
46414	//   ],
46415	//   "parameters": {
46416	//     "acceptsInStreamVideoPlacements": {
46417	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46418	//       "location": "query",
46419	//       "type": "boolean"
46420	//     },
46421	//     "acceptsInterstitialPlacements": {
46422	//       "description": "This search filter is no longer supported and will have no effect on the results returned.",
46423	//       "location": "query",
46424	//       "type": "boolean"
46425	//     },
46426	//     "acceptsPublisherPaidPlacements": {
46427	//       "description": "Select only sites that accept publisher paid placements.",
46428	//       "location": "query",
46429	//       "type": "boolean"
46430	//     },
46431	//     "adWordsSite": {
46432	//       "description": "Select only AdWords sites.",
46433	//       "location": "query",
46434	//       "type": "boolean"
46435	//     },
46436	//     "approved": {
46437	//       "description": "Select only approved sites.",
46438	//       "location": "query",
46439	//       "type": "boolean"
46440	//     },
46441	//     "campaignIds": {
46442	//       "description": "Select only sites with these campaign IDs.",
46443	//       "format": "int64",
46444	//       "location": "query",
46445	//       "repeated": true,
46446	//       "type": "string"
46447	//     },
46448	//     "directorySiteIds": {
46449	//       "description": "Select only sites with these directory site IDs.",
46450	//       "format": "int64",
46451	//       "location": "query",
46452	//       "repeated": true,
46453	//       "type": "string"
46454	//     },
46455	//     "ids": {
46456	//       "description": "Select only sites with these IDs.",
46457	//       "format": "int64",
46458	//       "location": "query",
46459	//       "repeated": true,
46460	//       "type": "string"
46461	//     },
46462	//     "maxResults": {
46463	//       "default": "1000",
46464	//       "description": "Maximum number of results to return.",
46465	//       "format": "int32",
46466	//       "location": "query",
46467	//       "maximum": "1000",
46468	//       "minimum": "0",
46469	//       "type": "integer"
46470	//     },
46471	//     "pageToken": {
46472	//       "description": "Value of the nextPageToken from the previous result page.",
46473	//       "location": "query",
46474	//       "type": "string"
46475	//     },
46476	//     "profileId": {
46477	//       "description": "User profile ID associated with this request.",
46478	//       "format": "int64",
46479	//       "location": "path",
46480	//       "required": true,
46481	//       "type": "string"
46482	//     },
46483	//     "searchString": {
46484	//       "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\".",
46485	//       "location": "query",
46486	//       "type": "string"
46487	//     },
46488	//     "sortField": {
46489	//       "default": "ID",
46490	//       "description": "Field by which to sort the list.",
46491	//       "enum": [
46492	//         "ID",
46493	//         "NAME"
46494	//       ],
46495	//       "enumDescriptions": [
46496	//         "",
46497	//         ""
46498	//       ],
46499	//       "location": "query",
46500	//       "type": "string"
46501	//     },
46502	//     "sortOrder": {
46503	//       "default": "ASCENDING",
46504	//       "description": "Order of sorted results.",
46505	//       "enum": [
46506	//         "ASCENDING",
46507	//         "DESCENDING"
46508	//       ],
46509	//       "enumDescriptions": [
46510	//         "",
46511	//         ""
46512	//       ],
46513	//       "location": "query",
46514	//       "type": "string"
46515	//     },
46516	//     "subaccountId": {
46517	//       "description": "Select only sites with this subaccount ID.",
46518	//       "format": "int64",
46519	//       "location": "query",
46520	//       "type": "string"
46521	//     },
46522	//     "unmappedSite": {
46523	//       "description": "Select only sites that have not been mapped to a directory site.",
46524	//       "location": "query",
46525	//       "type": "boolean"
46526	//     }
46527	//   },
46528	//   "path": "userprofiles/{profileId}/sites",
46529	//   "response": {
46530	//     "$ref": "SitesListResponse"
46531	//   },
46532	//   "scopes": [
46533	//     "https://www.googleapis.com/auth/dfatrafficking"
46534	//   ]
46535	// }
46536
46537}
46538
46539// Pages invokes f for each page of results.
46540// A non-nil error returned from f will halt the iteration.
46541// The provided context supersedes any context provided to the Context method.
46542func (c *SitesListCall) Pages(ctx context.Context, f func(*SitesListResponse) error) error {
46543	c.ctx_ = ctx
46544	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
46545	for {
46546		x, err := c.Do()
46547		if err != nil {
46548			return err
46549		}
46550		if err := f(x); err != nil {
46551			return err
46552		}
46553		if x.NextPageToken == "" {
46554			return nil
46555		}
46556		c.PageToken(x.NextPageToken)
46557	}
46558}
46559
46560// method id "dfareporting.sites.patch":
46561
46562type SitesPatchCall struct {
46563	s          *Service
46564	profileId  int64
46565	site       *Site
46566	urlParams_ gensupport.URLParams
46567	ctx_       context.Context
46568	header_    http.Header
46569}
46570
46571// Patch: Updates an existing site. This method supports patch
46572// semantics.
46573func (r *SitesService) Patch(profileId int64, id int64, site *Site) *SitesPatchCall {
46574	c := &SitesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46575	c.profileId = profileId
46576	c.urlParams_.Set("id", fmt.Sprint(id))
46577	c.site = site
46578	return c
46579}
46580
46581// Fields allows partial responses to be retrieved. See
46582// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46583// for more information.
46584func (c *SitesPatchCall) Fields(s ...googleapi.Field) *SitesPatchCall {
46585	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46586	return c
46587}
46588
46589// Context sets the context to be used in this call's Do method. Any
46590// pending HTTP request will be aborted if the provided context is
46591// canceled.
46592func (c *SitesPatchCall) Context(ctx context.Context) *SitesPatchCall {
46593	c.ctx_ = ctx
46594	return c
46595}
46596
46597// Header returns an http.Header that can be modified by the caller to
46598// add HTTP headers to the request.
46599func (c *SitesPatchCall) Header() http.Header {
46600	if c.header_ == nil {
46601		c.header_ = make(http.Header)
46602	}
46603	return c.header_
46604}
46605
46606func (c *SitesPatchCall) doRequest(alt string) (*http.Response, error) {
46607	reqHeaders := make(http.Header)
46608	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46609	for k, v := range c.header_ {
46610		reqHeaders[k] = v
46611	}
46612	reqHeaders.Set("User-Agent", c.s.userAgent())
46613	var body io.Reader = nil
46614	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46615	if err != nil {
46616		return nil, err
46617	}
46618	reqHeaders.Set("Content-Type", "application/json")
46619	c.urlParams_.Set("alt", alt)
46620	c.urlParams_.Set("prettyPrint", "false")
46621	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46622	urls += "?" + c.urlParams_.Encode()
46623	req, err := http.NewRequest("PATCH", urls, body)
46624	if err != nil {
46625		return nil, err
46626	}
46627	req.Header = reqHeaders
46628	googleapi.Expand(req.URL, map[string]string{
46629		"profileId": strconv.FormatInt(c.profileId, 10),
46630	})
46631	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46632}
46633
46634// Do executes the "dfareporting.sites.patch" call.
46635// Exactly one of *Site or error will be non-nil. Any non-2xx status
46636// code is an error. Response headers are in either
46637// *Site.ServerResponse.Header or (if a response was returned at all) in
46638// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46639// whether the returned error was because http.StatusNotModified was
46640// returned.
46641func (c *SitesPatchCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46642	gensupport.SetOptions(c.urlParams_, opts...)
46643	res, err := c.doRequest("json")
46644	if res != nil && res.StatusCode == http.StatusNotModified {
46645		if res.Body != nil {
46646			res.Body.Close()
46647		}
46648		return nil, &googleapi.Error{
46649			Code:   res.StatusCode,
46650			Header: res.Header,
46651		}
46652	}
46653	if err != nil {
46654		return nil, err
46655	}
46656	defer googleapi.CloseBody(res)
46657	if err := googleapi.CheckResponse(res); err != nil {
46658		return nil, err
46659	}
46660	ret := &Site{
46661		ServerResponse: googleapi.ServerResponse{
46662			Header:         res.Header,
46663			HTTPStatusCode: res.StatusCode,
46664		},
46665	}
46666	target := &ret
46667	if err := gensupport.DecodeResponse(target, res); err != nil {
46668		return nil, err
46669	}
46670	return ret, nil
46671	// {
46672	//   "description": "Updates an existing site. This method supports patch semantics.",
46673	//   "httpMethod": "PATCH",
46674	//   "id": "dfareporting.sites.patch",
46675	//   "parameterOrder": [
46676	//     "profileId",
46677	//     "id"
46678	//   ],
46679	//   "parameters": {
46680	//     "id": {
46681	//       "description": "Site ID.",
46682	//       "format": "int64",
46683	//       "location": "query",
46684	//       "required": true,
46685	//       "type": "string"
46686	//     },
46687	//     "profileId": {
46688	//       "description": "User profile ID associated with this request.",
46689	//       "format": "int64",
46690	//       "location": "path",
46691	//       "required": true,
46692	//       "type": "string"
46693	//     }
46694	//   },
46695	//   "path": "userprofiles/{profileId}/sites",
46696	//   "request": {
46697	//     "$ref": "Site"
46698	//   },
46699	//   "response": {
46700	//     "$ref": "Site"
46701	//   },
46702	//   "scopes": [
46703	//     "https://www.googleapis.com/auth/dfatrafficking"
46704	//   ]
46705	// }
46706
46707}
46708
46709// method id "dfareporting.sites.update":
46710
46711type SitesUpdateCall struct {
46712	s          *Service
46713	profileId  int64
46714	site       *Site
46715	urlParams_ gensupport.URLParams
46716	ctx_       context.Context
46717	header_    http.Header
46718}
46719
46720// Update: Updates an existing site.
46721func (r *SitesService) Update(profileId int64, site *Site) *SitesUpdateCall {
46722	c := &SitesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46723	c.profileId = profileId
46724	c.site = site
46725	return c
46726}
46727
46728// Fields allows partial responses to be retrieved. See
46729// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46730// for more information.
46731func (c *SitesUpdateCall) Fields(s ...googleapi.Field) *SitesUpdateCall {
46732	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46733	return c
46734}
46735
46736// Context sets the context to be used in this call's Do method. Any
46737// pending HTTP request will be aborted if the provided context is
46738// canceled.
46739func (c *SitesUpdateCall) Context(ctx context.Context) *SitesUpdateCall {
46740	c.ctx_ = ctx
46741	return c
46742}
46743
46744// Header returns an http.Header that can be modified by the caller to
46745// add HTTP headers to the request.
46746func (c *SitesUpdateCall) Header() http.Header {
46747	if c.header_ == nil {
46748		c.header_ = make(http.Header)
46749	}
46750	return c.header_
46751}
46752
46753func (c *SitesUpdateCall) doRequest(alt string) (*http.Response, error) {
46754	reqHeaders := make(http.Header)
46755	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46756	for k, v := range c.header_ {
46757		reqHeaders[k] = v
46758	}
46759	reqHeaders.Set("User-Agent", c.s.userAgent())
46760	var body io.Reader = nil
46761	body, err := googleapi.WithoutDataWrapper.JSONReader(c.site)
46762	if err != nil {
46763		return nil, err
46764	}
46765	reqHeaders.Set("Content-Type", "application/json")
46766	c.urlParams_.Set("alt", alt)
46767	c.urlParams_.Set("prettyPrint", "false")
46768	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sites")
46769	urls += "?" + c.urlParams_.Encode()
46770	req, err := http.NewRequest("PUT", urls, body)
46771	if err != nil {
46772		return nil, err
46773	}
46774	req.Header = reqHeaders
46775	googleapi.Expand(req.URL, map[string]string{
46776		"profileId": strconv.FormatInt(c.profileId, 10),
46777	})
46778	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46779}
46780
46781// Do executes the "dfareporting.sites.update" call.
46782// Exactly one of *Site or error will be non-nil. Any non-2xx status
46783// code is an error. Response headers are in either
46784// *Site.ServerResponse.Header or (if a response was returned at all) in
46785// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46786// whether the returned error was because http.StatusNotModified was
46787// returned.
46788func (c *SitesUpdateCall) Do(opts ...googleapi.CallOption) (*Site, error) {
46789	gensupport.SetOptions(c.urlParams_, opts...)
46790	res, err := c.doRequest("json")
46791	if res != nil && res.StatusCode == http.StatusNotModified {
46792		if res.Body != nil {
46793			res.Body.Close()
46794		}
46795		return nil, &googleapi.Error{
46796			Code:   res.StatusCode,
46797			Header: res.Header,
46798		}
46799	}
46800	if err != nil {
46801		return nil, err
46802	}
46803	defer googleapi.CloseBody(res)
46804	if err := googleapi.CheckResponse(res); err != nil {
46805		return nil, err
46806	}
46807	ret := &Site{
46808		ServerResponse: googleapi.ServerResponse{
46809			Header:         res.Header,
46810			HTTPStatusCode: res.StatusCode,
46811		},
46812	}
46813	target := &ret
46814	if err := gensupport.DecodeResponse(target, res); err != nil {
46815		return nil, err
46816	}
46817	return ret, nil
46818	// {
46819	//   "description": "Updates an existing site.",
46820	//   "httpMethod": "PUT",
46821	//   "id": "dfareporting.sites.update",
46822	//   "parameterOrder": [
46823	//     "profileId"
46824	//   ],
46825	//   "parameters": {
46826	//     "profileId": {
46827	//       "description": "User profile ID associated with this request.",
46828	//       "format": "int64",
46829	//       "location": "path",
46830	//       "required": true,
46831	//       "type": "string"
46832	//     }
46833	//   },
46834	//   "path": "userprofiles/{profileId}/sites",
46835	//   "request": {
46836	//     "$ref": "Site"
46837	//   },
46838	//   "response": {
46839	//     "$ref": "Site"
46840	//   },
46841	//   "scopes": [
46842	//     "https://www.googleapis.com/auth/dfatrafficking"
46843	//   ]
46844	// }
46845
46846}
46847
46848// method id "dfareporting.sizes.get":
46849
46850type SizesGetCall struct {
46851	s            *Service
46852	profileId    int64
46853	id           int64
46854	urlParams_   gensupport.URLParams
46855	ifNoneMatch_ string
46856	ctx_         context.Context
46857	header_      http.Header
46858}
46859
46860// Get: Gets one size by ID.
46861func (r *SizesService) Get(profileId int64, id int64) *SizesGetCall {
46862	c := &SizesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
46863	c.profileId = profileId
46864	c.id = id
46865	return c
46866}
46867
46868// Fields allows partial responses to be retrieved. See
46869// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
46870// for more information.
46871func (c *SizesGetCall) Fields(s ...googleapi.Field) *SizesGetCall {
46872	c.urlParams_.Set("fields", googleapi.CombineFields(s))
46873	return c
46874}
46875
46876// IfNoneMatch sets the optional parameter which makes the operation
46877// fail if the object's ETag matches the given value. This is useful for
46878// getting updates only after the object has changed since the last
46879// request. Use googleapi.IsNotModified to check whether the response
46880// error from Do is the result of In-None-Match.
46881func (c *SizesGetCall) IfNoneMatch(entityTag string) *SizesGetCall {
46882	c.ifNoneMatch_ = entityTag
46883	return c
46884}
46885
46886// Context sets the context to be used in this call's Do method. Any
46887// pending HTTP request will be aborted if the provided context is
46888// canceled.
46889func (c *SizesGetCall) Context(ctx context.Context) *SizesGetCall {
46890	c.ctx_ = ctx
46891	return c
46892}
46893
46894// Header returns an http.Header that can be modified by the caller to
46895// add HTTP headers to the request.
46896func (c *SizesGetCall) Header() http.Header {
46897	if c.header_ == nil {
46898		c.header_ = make(http.Header)
46899	}
46900	return c.header_
46901}
46902
46903func (c *SizesGetCall) doRequest(alt string) (*http.Response, error) {
46904	reqHeaders := make(http.Header)
46905	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
46906	for k, v := range c.header_ {
46907		reqHeaders[k] = v
46908	}
46909	reqHeaders.Set("User-Agent", c.s.userAgent())
46910	if c.ifNoneMatch_ != "" {
46911		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
46912	}
46913	var body io.Reader = nil
46914	c.urlParams_.Set("alt", alt)
46915	c.urlParams_.Set("prettyPrint", "false")
46916	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes/{id}")
46917	urls += "?" + c.urlParams_.Encode()
46918	req, err := http.NewRequest("GET", urls, body)
46919	if err != nil {
46920		return nil, err
46921	}
46922	req.Header = reqHeaders
46923	googleapi.Expand(req.URL, map[string]string{
46924		"profileId": strconv.FormatInt(c.profileId, 10),
46925		"id":        strconv.FormatInt(c.id, 10),
46926	})
46927	return gensupport.SendRequest(c.ctx_, c.s.client, req)
46928}
46929
46930// Do executes the "dfareporting.sizes.get" call.
46931// Exactly one of *Size or error will be non-nil. Any non-2xx status
46932// code is an error. Response headers are in either
46933// *Size.ServerResponse.Header or (if a response was returned at all) in
46934// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
46935// whether the returned error was because http.StatusNotModified was
46936// returned.
46937func (c *SizesGetCall) Do(opts ...googleapi.CallOption) (*Size, error) {
46938	gensupport.SetOptions(c.urlParams_, opts...)
46939	res, err := c.doRequest("json")
46940	if res != nil && res.StatusCode == http.StatusNotModified {
46941		if res.Body != nil {
46942			res.Body.Close()
46943		}
46944		return nil, &googleapi.Error{
46945			Code:   res.StatusCode,
46946			Header: res.Header,
46947		}
46948	}
46949	if err != nil {
46950		return nil, err
46951	}
46952	defer googleapi.CloseBody(res)
46953	if err := googleapi.CheckResponse(res); err != nil {
46954		return nil, err
46955	}
46956	ret := &Size{
46957		ServerResponse: googleapi.ServerResponse{
46958			Header:         res.Header,
46959			HTTPStatusCode: res.StatusCode,
46960		},
46961	}
46962	target := &ret
46963	if err := gensupport.DecodeResponse(target, res); err != nil {
46964		return nil, err
46965	}
46966	return ret, nil
46967	// {
46968	//   "description": "Gets one size by ID.",
46969	//   "httpMethod": "GET",
46970	//   "id": "dfareporting.sizes.get",
46971	//   "parameterOrder": [
46972	//     "profileId",
46973	//     "id"
46974	//   ],
46975	//   "parameters": {
46976	//     "id": {
46977	//       "description": "Size 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}/sizes/{id}",
46992	//   "response": {
46993	//     "$ref": "Size"
46994	//   },
46995	//   "scopes": [
46996	//     "https://www.googleapis.com/auth/dfatrafficking"
46997	//   ]
46998	// }
46999
47000}
47001
47002// method id "dfareporting.sizes.insert":
47003
47004type SizesInsertCall struct {
47005	s          *Service
47006	profileId  int64
47007	size       *Size
47008	urlParams_ gensupport.URLParams
47009	ctx_       context.Context
47010	header_    http.Header
47011}
47012
47013// Insert: Inserts a new size.
47014func (r *SizesService) Insert(profileId int64, size *Size) *SizesInsertCall {
47015	c := &SizesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47016	c.profileId = profileId
47017	c.size = size
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 *SizesInsertCall) Fields(s ...googleapi.Field) *SizesInsertCall {
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 *SizesInsertCall) Context(ctx context.Context) *SizesInsertCall {
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 *SizesInsertCall) Header() http.Header {
47040	if c.header_ == nil {
47041		c.header_ = make(http.Header)
47042	}
47043	return c.header_
47044}
47045
47046func (c *SizesInsertCall) doRequest(alt string) (*http.Response, error) {
47047	reqHeaders := make(http.Header)
47048	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
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.size)
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}/sizes")
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.sizes.insert" call.
47075// Exactly one of *Size or error will be non-nil. Any non-2xx status
47076// code is an error. Response headers are in either
47077// *Size.ServerResponse.Header or (if a response was returned at all) in
47078// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
47079// whether the returned error was because http.StatusNotModified was
47080// returned.
47081func (c *SizesInsertCall) Do(opts ...googleapi.CallOption) (*Size, 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 := &Size{
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 size.",
47113	//   "httpMethod": "POST",
47114	//   "id": "dfareporting.sizes.insert",
47115	//   "parameterOrder": [
47116	//     "profileId"
47117	//   ],
47118	//   "parameters": {
47119	//     "profileId": {
47120	//       "description": "User profile ID associated with this request.",
47121	//       "format": "int64",
47122	//       "location": "path",
47123	//       "required": true,
47124	//       "type": "string"
47125	//     }
47126	//   },
47127	//   "path": "userprofiles/{profileId}/sizes",
47128	//   "request": {
47129	//     "$ref": "Size"
47130	//   },
47131	//   "response": {
47132	//     "$ref": "Size"
47133	//   },
47134	//   "scopes": [
47135	//     "https://www.googleapis.com/auth/dfatrafficking"
47136	//   ]
47137	// }
47138
47139}
47140
47141// method id "dfareporting.sizes.list":
47142
47143type SizesListCall struct {
47144	s            *Service
47145	profileId    int64
47146	urlParams_   gensupport.URLParams
47147	ifNoneMatch_ string
47148	ctx_         context.Context
47149	header_      http.Header
47150}
47151
47152// List: Retrieves a list of sizes, possibly filtered. Retrieved sizes
47153// are globally unique and may include values not currently in use by
47154// your account. Due to this, the list of sizes returned by this method
47155// may differ from the list seen in the Trafficking UI.
47156func (r *SizesService) List(profileId int64) *SizesListCall {
47157	c := &SizesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47158	c.profileId = profileId
47159	return c
47160}
47161
47162// Height sets the optional parameter "height": Select only sizes with
47163// this height.
47164func (c *SizesListCall) Height(height int64) *SizesListCall {
47165	c.urlParams_.Set("height", fmt.Sprint(height))
47166	return c
47167}
47168
47169// IabStandard sets the optional parameter "iabStandard": Select only
47170// IAB standard sizes.
47171func (c *SizesListCall) IabStandard(iabStandard bool) *SizesListCall {
47172	c.urlParams_.Set("iabStandard", fmt.Sprint(iabStandard))
47173	return c
47174}
47175
47176// Ids sets the optional parameter "ids": Select only sizes with these
47177// IDs.
47178func (c *SizesListCall) Ids(ids ...int64) *SizesListCall {
47179	var ids_ []string
47180	for _, v := range ids {
47181		ids_ = append(ids_, fmt.Sprint(v))
47182	}
47183	c.urlParams_.SetMulti("ids", ids_)
47184	return c
47185}
47186
47187// Width sets the optional parameter "width": Select only sizes with
47188// this width.
47189func (c *SizesListCall) Width(width int64) *SizesListCall {
47190	c.urlParams_.Set("width", fmt.Sprint(width))
47191	return c
47192}
47193
47194// Fields allows partial responses to be retrieved. See
47195// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47196// for more information.
47197func (c *SizesListCall) Fields(s ...googleapi.Field) *SizesListCall {
47198	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47199	return c
47200}
47201
47202// IfNoneMatch sets the optional parameter which makes the operation
47203// fail if the object's ETag matches the given value. This is useful for
47204// getting updates only after the object has changed since the last
47205// request. Use googleapi.IsNotModified to check whether the response
47206// error from Do is the result of In-None-Match.
47207func (c *SizesListCall) IfNoneMatch(entityTag string) *SizesListCall {
47208	c.ifNoneMatch_ = entityTag
47209	return c
47210}
47211
47212// Context sets the context to be used in this call's Do method. Any
47213// pending HTTP request will be aborted if the provided context is
47214// canceled.
47215func (c *SizesListCall) Context(ctx context.Context) *SizesListCall {
47216	c.ctx_ = ctx
47217	return c
47218}
47219
47220// Header returns an http.Header that can be modified by the caller to
47221// add HTTP headers to the request.
47222func (c *SizesListCall) Header() http.Header {
47223	if c.header_ == nil {
47224		c.header_ = make(http.Header)
47225	}
47226	return c.header_
47227}
47228
47229func (c *SizesListCall) doRequest(alt string) (*http.Response, error) {
47230	reqHeaders := make(http.Header)
47231	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47232	for k, v := range c.header_ {
47233		reqHeaders[k] = v
47234	}
47235	reqHeaders.Set("User-Agent", c.s.userAgent())
47236	if c.ifNoneMatch_ != "" {
47237		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47238	}
47239	var body io.Reader = nil
47240	c.urlParams_.Set("alt", alt)
47241	c.urlParams_.Set("prettyPrint", "false")
47242	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/sizes")
47243	urls += "?" + c.urlParams_.Encode()
47244	req, err := http.NewRequest("GET", urls, body)
47245	if err != nil {
47246		return nil, err
47247	}
47248	req.Header = reqHeaders
47249	googleapi.Expand(req.URL, map[string]string{
47250		"profileId": strconv.FormatInt(c.profileId, 10),
47251	})
47252	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47253}
47254
47255// Do executes the "dfareporting.sizes.list" call.
47256// Exactly one of *SizesListResponse or error will be non-nil. Any
47257// non-2xx status code is an error. Response headers are in either
47258// *SizesListResponse.ServerResponse.Header or (if a response was
47259// returned at all) in error.(*googleapi.Error).Header. Use
47260// googleapi.IsNotModified to check whether the returned error was
47261// because http.StatusNotModified was returned.
47262func (c *SizesListCall) Do(opts ...googleapi.CallOption) (*SizesListResponse, error) {
47263	gensupport.SetOptions(c.urlParams_, opts...)
47264	res, err := c.doRequest("json")
47265	if res != nil && res.StatusCode == http.StatusNotModified {
47266		if res.Body != nil {
47267			res.Body.Close()
47268		}
47269		return nil, &googleapi.Error{
47270			Code:   res.StatusCode,
47271			Header: res.Header,
47272		}
47273	}
47274	if err != nil {
47275		return nil, err
47276	}
47277	defer googleapi.CloseBody(res)
47278	if err := googleapi.CheckResponse(res); err != nil {
47279		return nil, err
47280	}
47281	ret := &SizesListResponse{
47282		ServerResponse: googleapi.ServerResponse{
47283			Header:         res.Header,
47284			HTTPStatusCode: res.StatusCode,
47285		},
47286	}
47287	target := &ret
47288	if err := gensupport.DecodeResponse(target, res); err != nil {
47289		return nil, err
47290	}
47291	return ret, nil
47292	// {
47293	//   "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.",
47294	//   "httpMethod": "GET",
47295	//   "id": "dfareporting.sizes.list",
47296	//   "parameterOrder": [
47297	//     "profileId"
47298	//   ],
47299	//   "parameters": {
47300	//     "height": {
47301	//       "description": "Select only sizes with this height.",
47302	//       "format": "int32",
47303	//       "location": "query",
47304	//       "maximum": "32767",
47305	//       "minimum": "0",
47306	//       "type": "integer"
47307	//     },
47308	//     "iabStandard": {
47309	//       "description": "Select only IAB standard sizes.",
47310	//       "location": "query",
47311	//       "type": "boolean"
47312	//     },
47313	//     "ids": {
47314	//       "description": "Select only sizes with these IDs.",
47315	//       "format": "int64",
47316	//       "location": "query",
47317	//       "repeated": true,
47318	//       "type": "string"
47319	//     },
47320	//     "profileId": {
47321	//       "description": "User profile ID associated with this request.",
47322	//       "format": "int64",
47323	//       "location": "path",
47324	//       "required": true,
47325	//       "type": "string"
47326	//     },
47327	//     "width": {
47328	//       "description": "Select only sizes with this width.",
47329	//       "format": "int32",
47330	//       "location": "query",
47331	//       "maximum": "32767",
47332	//       "minimum": "0",
47333	//       "type": "integer"
47334	//     }
47335	//   },
47336	//   "path": "userprofiles/{profileId}/sizes",
47337	//   "response": {
47338	//     "$ref": "SizesListResponse"
47339	//   },
47340	//   "scopes": [
47341	//     "https://www.googleapis.com/auth/dfatrafficking"
47342	//   ]
47343	// }
47344
47345}
47346
47347// method id "dfareporting.subaccounts.get":
47348
47349type SubaccountsGetCall struct {
47350	s            *Service
47351	profileId    int64
47352	id           int64
47353	urlParams_   gensupport.URLParams
47354	ifNoneMatch_ string
47355	ctx_         context.Context
47356	header_      http.Header
47357}
47358
47359// Get: Gets one subaccount by ID.
47360func (r *SubaccountsService) Get(profileId int64, id int64) *SubaccountsGetCall {
47361	c := &SubaccountsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47362	c.profileId = profileId
47363	c.id = id
47364	return c
47365}
47366
47367// Fields allows partial responses to be retrieved. See
47368// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47369// for more information.
47370func (c *SubaccountsGetCall) Fields(s ...googleapi.Field) *SubaccountsGetCall {
47371	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47372	return c
47373}
47374
47375// IfNoneMatch sets the optional parameter which makes the operation
47376// fail if the object's ETag matches the given value. This is useful for
47377// getting updates only after the object has changed since the last
47378// request. Use googleapi.IsNotModified to check whether the response
47379// error from Do is the result of In-None-Match.
47380func (c *SubaccountsGetCall) IfNoneMatch(entityTag string) *SubaccountsGetCall {
47381	c.ifNoneMatch_ = entityTag
47382	return c
47383}
47384
47385// Context sets the context to be used in this call's Do method. Any
47386// pending HTTP request will be aborted if the provided context is
47387// canceled.
47388func (c *SubaccountsGetCall) Context(ctx context.Context) *SubaccountsGetCall {
47389	c.ctx_ = ctx
47390	return c
47391}
47392
47393// Header returns an http.Header that can be modified by the caller to
47394// add HTTP headers to the request.
47395func (c *SubaccountsGetCall) Header() http.Header {
47396	if c.header_ == nil {
47397		c.header_ = make(http.Header)
47398	}
47399	return c.header_
47400}
47401
47402func (c *SubaccountsGetCall) doRequest(alt string) (*http.Response, error) {
47403	reqHeaders := make(http.Header)
47404	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47405	for k, v := range c.header_ {
47406		reqHeaders[k] = v
47407	}
47408	reqHeaders.Set("User-Agent", c.s.userAgent())
47409	if c.ifNoneMatch_ != "" {
47410		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47411	}
47412	var body io.Reader = nil
47413	c.urlParams_.Set("alt", alt)
47414	c.urlParams_.Set("prettyPrint", "false")
47415	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts/{id}")
47416	urls += "?" + c.urlParams_.Encode()
47417	req, err := http.NewRequest("GET", urls, body)
47418	if err != nil {
47419		return nil, err
47420	}
47421	req.Header = reqHeaders
47422	googleapi.Expand(req.URL, map[string]string{
47423		"profileId": strconv.FormatInt(c.profileId, 10),
47424		"id":        strconv.FormatInt(c.id, 10),
47425	})
47426	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47427}
47428
47429// Do executes the "dfareporting.subaccounts.get" call.
47430// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47431// status code is an error. Response headers are in either
47432// *Subaccount.ServerResponse.Header or (if a response was returned at
47433// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47434// to check whether the returned error was because
47435// http.StatusNotModified was returned.
47436func (c *SubaccountsGetCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47437	gensupport.SetOptions(c.urlParams_, opts...)
47438	res, err := c.doRequest("json")
47439	if res != nil && res.StatusCode == http.StatusNotModified {
47440		if res.Body != nil {
47441			res.Body.Close()
47442		}
47443		return nil, &googleapi.Error{
47444			Code:   res.StatusCode,
47445			Header: res.Header,
47446		}
47447	}
47448	if err != nil {
47449		return nil, err
47450	}
47451	defer googleapi.CloseBody(res)
47452	if err := googleapi.CheckResponse(res); err != nil {
47453		return nil, err
47454	}
47455	ret := &Subaccount{
47456		ServerResponse: googleapi.ServerResponse{
47457			Header:         res.Header,
47458			HTTPStatusCode: res.StatusCode,
47459		},
47460	}
47461	target := &ret
47462	if err := gensupport.DecodeResponse(target, res); err != nil {
47463		return nil, err
47464	}
47465	return ret, nil
47466	// {
47467	//   "description": "Gets one subaccount by ID.",
47468	//   "httpMethod": "GET",
47469	//   "id": "dfareporting.subaccounts.get",
47470	//   "parameterOrder": [
47471	//     "profileId",
47472	//     "id"
47473	//   ],
47474	//   "parameters": {
47475	//     "id": {
47476	//       "description": "Subaccount ID.",
47477	//       "format": "int64",
47478	//       "location": "path",
47479	//       "required": true,
47480	//       "type": "string"
47481	//     },
47482	//     "profileId": {
47483	//       "description": "User profile ID associated with this request.",
47484	//       "format": "int64",
47485	//       "location": "path",
47486	//       "required": true,
47487	//       "type": "string"
47488	//     }
47489	//   },
47490	//   "path": "userprofiles/{profileId}/subaccounts/{id}",
47491	//   "response": {
47492	//     "$ref": "Subaccount"
47493	//   },
47494	//   "scopes": [
47495	//     "https://www.googleapis.com/auth/dfatrafficking"
47496	//   ]
47497	// }
47498
47499}
47500
47501// method id "dfareporting.subaccounts.insert":
47502
47503type SubaccountsInsertCall struct {
47504	s          *Service
47505	profileId  int64
47506	subaccount *Subaccount
47507	urlParams_ gensupport.URLParams
47508	ctx_       context.Context
47509	header_    http.Header
47510}
47511
47512// Insert: Inserts a new subaccount.
47513func (r *SubaccountsService) Insert(profileId int64, subaccount *Subaccount) *SubaccountsInsertCall {
47514	c := &SubaccountsInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47515	c.profileId = profileId
47516	c.subaccount = subaccount
47517	return c
47518}
47519
47520// Fields allows partial responses to be retrieved. See
47521// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47522// for more information.
47523func (c *SubaccountsInsertCall) Fields(s ...googleapi.Field) *SubaccountsInsertCall {
47524	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47525	return c
47526}
47527
47528// Context sets the context to be used in this call's Do method. Any
47529// pending HTTP request will be aborted if the provided context is
47530// canceled.
47531func (c *SubaccountsInsertCall) Context(ctx context.Context) *SubaccountsInsertCall {
47532	c.ctx_ = ctx
47533	return c
47534}
47535
47536// Header returns an http.Header that can be modified by the caller to
47537// add HTTP headers to the request.
47538func (c *SubaccountsInsertCall) Header() http.Header {
47539	if c.header_ == nil {
47540		c.header_ = make(http.Header)
47541	}
47542	return c.header_
47543}
47544
47545func (c *SubaccountsInsertCall) doRequest(alt string) (*http.Response, error) {
47546	reqHeaders := make(http.Header)
47547	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47548	for k, v := range c.header_ {
47549		reqHeaders[k] = v
47550	}
47551	reqHeaders.Set("User-Agent", c.s.userAgent())
47552	var body io.Reader = nil
47553	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47554	if err != nil {
47555		return nil, err
47556	}
47557	reqHeaders.Set("Content-Type", "application/json")
47558	c.urlParams_.Set("alt", alt)
47559	c.urlParams_.Set("prettyPrint", "false")
47560	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47561	urls += "?" + c.urlParams_.Encode()
47562	req, err := http.NewRequest("POST", urls, body)
47563	if err != nil {
47564		return nil, err
47565	}
47566	req.Header = reqHeaders
47567	googleapi.Expand(req.URL, map[string]string{
47568		"profileId": strconv.FormatInt(c.profileId, 10),
47569	})
47570	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47571}
47572
47573// Do executes the "dfareporting.subaccounts.insert" call.
47574// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47575// status code is an error. Response headers are in either
47576// *Subaccount.ServerResponse.Header or (if a response was returned at
47577// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47578// to check whether the returned error was because
47579// http.StatusNotModified was returned.
47580func (c *SubaccountsInsertCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
47581	gensupport.SetOptions(c.urlParams_, opts...)
47582	res, err := c.doRequest("json")
47583	if res != nil && res.StatusCode == http.StatusNotModified {
47584		if res.Body != nil {
47585			res.Body.Close()
47586		}
47587		return nil, &googleapi.Error{
47588			Code:   res.StatusCode,
47589			Header: res.Header,
47590		}
47591	}
47592	if err != nil {
47593		return nil, err
47594	}
47595	defer googleapi.CloseBody(res)
47596	if err := googleapi.CheckResponse(res); err != nil {
47597		return nil, err
47598	}
47599	ret := &Subaccount{
47600		ServerResponse: googleapi.ServerResponse{
47601			Header:         res.Header,
47602			HTTPStatusCode: res.StatusCode,
47603		},
47604	}
47605	target := &ret
47606	if err := gensupport.DecodeResponse(target, res); err != nil {
47607		return nil, err
47608	}
47609	return ret, nil
47610	// {
47611	//   "description": "Inserts a new subaccount.",
47612	//   "httpMethod": "POST",
47613	//   "id": "dfareporting.subaccounts.insert",
47614	//   "parameterOrder": [
47615	//     "profileId"
47616	//   ],
47617	//   "parameters": {
47618	//     "profileId": {
47619	//       "description": "User profile ID associated with this request.",
47620	//       "format": "int64",
47621	//       "location": "path",
47622	//       "required": true,
47623	//       "type": "string"
47624	//     }
47625	//   },
47626	//   "path": "userprofiles/{profileId}/subaccounts",
47627	//   "request": {
47628	//     "$ref": "Subaccount"
47629	//   },
47630	//   "response": {
47631	//     "$ref": "Subaccount"
47632	//   },
47633	//   "scopes": [
47634	//     "https://www.googleapis.com/auth/dfatrafficking"
47635	//   ]
47636	// }
47637
47638}
47639
47640// method id "dfareporting.subaccounts.list":
47641
47642type SubaccountsListCall struct {
47643	s            *Service
47644	profileId    int64
47645	urlParams_   gensupport.URLParams
47646	ifNoneMatch_ string
47647	ctx_         context.Context
47648	header_      http.Header
47649}
47650
47651// List: Gets a list of subaccounts, possibly filtered. This method
47652// supports paging.
47653func (r *SubaccountsService) List(profileId int64) *SubaccountsListCall {
47654	c := &SubaccountsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47655	c.profileId = profileId
47656	return c
47657}
47658
47659// Ids sets the optional parameter "ids": Select only subaccounts with
47660// these IDs.
47661func (c *SubaccountsListCall) Ids(ids ...int64) *SubaccountsListCall {
47662	var ids_ []string
47663	for _, v := range ids {
47664		ids_ = append(ids_, fmt.Sprint(v))
47665	}
47666	c.urlParams_.SetMulti("ids", ids_)
47667	return c
47668}
47669
47670// MaxResults sets the optional parameter "maxResults": Maximum number
47671// of results to return.
47672func (c *SubaccountsListCall) MaxResults(maxResults int64) *SubaccountsListCall {
47673	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
47674	return c
47675}
47676
47677// PageToken sets the optional parameter "pageToken": Value of the
47678// nextPageToken from the previous result page.
47679func (c *SubaccountsListCall) PageToken(pageToken string) *SubaccountsListCall {
47680	c.urlParams_.Set("pageToken", pageToken)
47681	return c
47682}
47683
47684// SearchString sets the optional parameter "searchString": Allows
47685// searching for objects by name or ID. Wildcards (*) are allowed. For
47686// example, "subaccount*2015" will return objects with names like
47687// "subaccount June 2015", "subaccount April 2015", or simply
47688// "subaccount 2015". Most of the searches also add wildcards implicitly
47689// at the start and the end of the search string. For example, a search
47690// string of "subaccount" will match objects with name "my subaccount",
47691// "subaccount 2015", or simply "subaccount".
47692func (c *SubaccountsListCall) SearchString(searchString string) *SubaccountsListCall {
47693	c.urlParams_.Set("searchString", searchString)
47694	return c
47695}
47696
47697// SortField sets the optional parameter "sortField": Field by which to
47698// sort the list.
47699//
47700// Possible values:
47701//   "ID" (default)
47702//   "NAME"
47703func (c *SubaccountsListCall) SortField(sortField string) *SubaccountsListCall {
47704	c.urlParams_.Set("sortField", sortField)
47705	return c
47706}
47707
47708// SortOrder sets the optional parameter "sortOrder": Order of sorted
47709// results.
47710//
47711// Possible values:
47712//   "ASCENDING" (default)
47713//   "DESCENDING"
47714func (c *SubaccountsListCall) SortOrder(sortOrder string) *SubaccountsListCall {
47715	c.urlParams_.Set("sortOrder", sortOrder)
47716	return c
47717}
47718
47719// Fields allows partial responses to be retrieved. See
47720// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47721// for more information.
47722func (c *SubaccountsListCall) Fields(s ...googleapi.Field) *SubaccountsListCall {
47723	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47724	return c
47725}
47726
47727// IfNoneMatch sets the optional parameter which makes the operation
47728// fail if the object's ETag matches the given value. This is useful for
47729// getting updates only after the object has changed since the last
47730// request. Use googleapi.IsNotModified to check whether the response
47731// error from Do is the result of In-None-Match.
47732func (c *SubaccountsListCall) IfNoneMatch(entityTag string) *SubaccountsListCall {
47733	c.ifNoneMatch_ = entityTag
47734	return c
47735}
47736
47737// Context sets the context to be used in this call's Do method. Any
47738// pending HTTP request will be aborted if the provided context is
47739// canceled.
47740func (c *SubaccountsListCall) Context(ctx context.Context) *SubaccountsListCall {
47741	c.ctx_ = ctx
47742	return c
47743}
47744
47745// Header returns an http.Header that can be modified by the caller to
47746// add HTTP headers to the request.
47747func (c *SubaccountsListCall) Header() http.Header {
47748	if c.header_ == nil {
47749		c.header_ = make(http.Header)
47750	}
47751	return c.header_
47752}
47753
47754func (c *SubaccountsListCall) doRequest(alt string) (*http.Response, error) {
47755	reqHeaders := make(http.Header)
47756	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47757	for k, v := range c.header_ {
47758		reqHeaders[k] = v
47759	}
47760	reqHeaders.Set("User-Agent", c.s.userAgent())
47761	if c.ifNoneMatch_ != "" {
47762		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
47763	}
47764	var body io.Reader = nil
47765	c.urlParams_.Set("alt", alt)
47766	c.urlParams_.Set("prettyPrint", "false")
47767	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47768	urls += "?" + c.urlParams_.Encode()
47769	req, err := http.NewRequest("GET", urls, body)
47770	if err != nil {
47771		return nil, err
47772	}
47773	req.Header = reqHeaders
47774	googleapi.Expand(req.URL, map[string]string{
47775		"profileId": strconv.FormatInt(c.profileId, 10),
47776	})
47777	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47778}
47779
47780// Do executes the "dfareporting.subaccounts.list" call.
47781// Exactly one of *SubaccountsListResponse or error will be non-nil. Any
47782// non-2xx status code is an error. Response headers are in either
47783// *SubaccountsListResponse.ServerResponse.Header or (if a response was
47784// returned at all) in error.(*googleapi.Error).Header. Use
47785// googleapi.IsNotModified to check whether the returned error was
47786// because http.StatusNotModified was returned.
47787func (c *SubaccountsListCall) Do(opts ...googleapi.CallOption) (*SubaccountsListResponse, error) {
47788	gensupport.SetOptions(c.urlParams_, opts...)
47789	res, err := c.doRequest("json")
47790	if res != nil && res.StatusCode == http.StatusNotModified {
47791		if res.Body != nil {
47792			res.Body.Close()
47793		}
47794		return nil, &googleapi.Error{
47795			Code:   res.StatusCode,
47796			Header: res.Header,
47797		}
47798	}
47799	if err != nil {
47800		return nil, err
47801	}
47802	defer googleapi.CloseBody(res)
47803	if err := googleapi.CheckResponse(res); err != nil {
47804		return nil, err
47805	}
47806	ret := &SubaccountsListResponse{
47807		ServerResponse: googleapi.ServerResponse{
47808			Header:         res.Header,
47809			HTTPStatusCode: res.StatusCode,
47810		},
47811	}
47812	target := &ret
47813	if err := gensupport.DecodeResponse(target, res); err != nil {
47814		return nil, err
47815	}
47816	return ret, nil
47817	// {
47818	//   "description": "Gets a list of subaccounts, possibly filtered. This method supports paging.",
47819	//   "httpMethod": "GET",
47820	//   "id": "dfareporting.subaccounts.list",
47821	//   "parameterOrder": [
47822	//     "profileId"
47823	//   ],
47824	//   "parameters": {
47825	//     "ids": {
47826	//       "description": "Select only subaccounts with these IDs.",
47827	//       "format": "int64",
47828	//       "location": "query",
47829	//       "repeated": true,
47830	//       "type": "string"
47831	//     },
47832	//     "maxResults": {
47833	//       "default": "1000",
47834	//       "description": "Maximum number of results to return.",
47835	//       "format": "int32",
47836	//       "location": "query",
47837	//       "maximum": "1000",
47838	//       "minimum": "0",
47839	//       "type": "integer"
47840	//     },
47841	//     "pageToken": {
47842	//       "description": "Value of the nextPageToken from the previous result page.",
47843	//       "location": "query",
47844	//       "type": "string"
47845	//     },
47846	//     "profileId": {
47847	//       "description": "User profile ID associated with this request.",
47848	//       "format": "int64",
47849	//       "location": "path",
47850	//       "required": true,
47851	//       "type": "string"
47852	//     },
47853	//     "searchString": {
47854	//       "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\".",
47855	//       "location": "query",
47856	//       "type": "string"
47857	//     },
47858	//     "sortField": {
47859	//       "default": "ID",
47860	//       "description": "Field by which to sort the list.",
47861	//       "enum": [
47862	//         "ID",
47863	//         "NAME"
47864	//       ],
47865	//       "enumDescriptions": [
47866	//         "",
47867	//         ""
47868	//       ],
47869	//       "location": "query",
47870	//       "type": "string"
47871	//     },
47872	//     "sortOrder": {
47873	//       "default": "ASCENDING",
47874	//       "description": "Order of sorted results.",
47875	//       "enum": [
47876	//         "ASCENDING",
47877	//         "DESCENDING"
47878	//       ],
47879	//       "enumDescriptions": [
47880	//         "",
47881	//         ""
47882	//       ],
47883	//       "location": "query",
47884	//       "type": "string"
47885	//     }
47886	//   },
47887	//   "path": "userprofiles/{profileId}/subaccounts",
47888	//   "response": {
47889	//     "$ref": "SubaccountsListResponse"
47890	//   },
47891	//   "scopes": [
47892	//     "https://www.googleapis.com/auth/dfatrafficking"
47893	//   ]
47894	// }
47895
47896}
47897
47898// Pages invokes f for each page of results.
47899// A non-nil error returned from f will halt the iteration.
47900// The provided context supersedes any context provided to the Context method.
47901func (c *SubaccountsListCall) Pages(ctx context.Context, f func(*SubaccountsListResponse) error) error {
47902	c.ctx_ = ctx
47903	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
47904	for {
47905		x, err := c.Do()
47906		if err != nil {
47907			return err
47908		}
47909		if err := f(x); err != nil {
47910			return err
47911		}
47912		if x.NextPageToken == "" {
47913			return nil
47914		}
47915		c.PageToken(x.NextPageToken)
47916	}
47917}
47918
47919// method id "dfareporting.subaccounts.patch":
47920
47921type SubaccountsPatchCall struct {
47922	s          *Service
47923	profileId  int64
47924	subaccount *Subaccount
47925	urlParams_ gensupport.URLParams
47926	ctx_       context.Context
47927	header_    http.Header
47928}
47929
47930// Patch: Updates an existing subaccount. This method supports patch
47931// semantics.
47932func (r *SubaccountsService) Patch(profileId int64, id int64, subaccount *Subaccount) *SubaccountsPatchCall {
47933	c := &SubaccountsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
47934	c.profileId = profileId
47935	c.urlParams_.Set("id", fmt.Sprint(id))
47936	c.subaccount = subaccount
47937	return c
47938}
47939
47940// Fields allows partial responses to be retrieved. See
47941// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
47942// for more information.
47943func (c *SubaccountsPatchCall) Fields(s ...googleapi.Field) *SubaccountsPatchCall {
47944	c.urlParams_.Set("fields", googleapi.CombineFields(s))
47945	return c
47946}
47947
47948// Context sets the context to be used in this call's Do method. Any
47949// pending HTTP request will be aborted if the provided context is
47950// canceled.
47951func (c *SubaccountsPatchCall) Context(ctx context.Context) *SubaccountsPatchCall {
47952	c.ctx_ = ctx
47953	return c
47954}
47955
47956// Header returns an http.Header that can be modified by the caller to
47957// add HTTP headers to the request.
47958func (c *SubaccountsPatchCall) Header() http.Header {
47959	if c.header_ == nil {
47960		c.header_ = make(http.Header)
47961	}
47962	return c.header_
47963}
47964
47965func (c *SubaccountsPatchCall) doRequest(alt string) (*http.Response, error) {
47966	reqHeaders := make(http.Header)
47967	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
47968	for k, v := range c.header_ {
47969		reqHeaders[k] = v
47970	}
47971	reqHeaders.Set("User-Agent", c.s.userAgent())
47972	var body io.Reader = nil
47973	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
47974	if err != nil {
47975		return nil, err
47976	}
47977	reqHeaders.Set("Content-Type", "application/json")
47978	c.urlParams_.Set("alt", alt)
47979	c.urlParams_.Set("prettyPrint", "false")
47980	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
47981	urls += "?" + c.urlParams_.Encode()
47982	req, err := http.NewRequest("PATCH", urls, body)
47983	if err != nil {
47984		return nil, err
47985	}
47986	req.Header = reqHeaders
47987	googleapi.Expand(req.URL, map[string]string{
47988		"profileId": strconv.FormatInt(c.profileId, 10),
47989	})
47990	return gensupport.SendRequest(c.ctx_, c.s.client, req)
47991}
47992
47993// Do executes the "dfareporting.subaccounts.patch" call.
47994// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
47995// status code is an error. Response headers are in either
47996// *Subaccount.ServerResponse.Header or (if a response was returned at
47997// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
47998// to check whether the returned error was because
47999// http.StatusNotModified was returned.
48000func (c *SubaccountsPatchCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
48001	gensupport.SetOptions(c.urlParams_, opts...)
48002	res, err := c.doRequest("json")
48003	if res != nil && res.StatusCode == http.StatusNotModified {
48004		if res.Body != nil {
48005			res.Body.Close()
48006		}
48007		return nil, &googleapi.Error{
48008			Code:   res.StatusCode,
48009			Header: res.Header,
48010		}
48011	}
48012	if err != nil {
48013		return nil, err
48014	}
48015	defer googleapi.CloseBody(res)
48016	if err := googleapi.CheckResponse(res); err != nil {
48017		return nil, err
48018	}
48019	ret := &Subaccount{
48020		ServerResponse: googleapi.ServerResponse{
48021			Header:         res.Header,
48022			HTTPStatusCode: res.StatusCode,
48023		},
48024	}
48025	target := &ret
48026	if err := gensupport.DecodeResponse(target, res); err != nil {
48027		return nil, err
48028	}
48029	return ret, nil
48030	// {
48031	//   "description": "Updates an existing subaccount. This method supports patch semantics.",
48032	//   "httpMethod": "PATCH",
48033	//   "id": "dfareporting.subaccounts.patch",
48034	//   "parameterOrder": [
48035	//     "profileId",
48036	//     "id"
48037	//   ],
48038	//   "parameters": {
48039	//     "id": {
48040	//       "description": "Subaccount ID.",
48041	//       "format": "int64",
48042	//       "location": "query",
48043	//       "required": true,
48044	//       "type": "string"
48045	//     },
48046	//     "profileId": {
48047	//       "description": "User profile ID associated with this request.",
48048	//       "format": "int64",
48049	//       "location": "path",
48050	//       "required": true,
48051	//       "type": "string"
48052	//     }
48053	//   },
48054	//   "path": "userprofiles/{profileId}/subaccounts",
48055	//   "request": {
48056	//     "$ref": "Subaccount"
48057	//   },
48058	//   "response": {
48059	//     "$ref": "Subaccount"
48060	//   },
48061	//   "scopes": [
48062	//     "https://www.googleapis.com/auth/dfatrafficking"
48063	//   ]
48064	// }
48065
48066}
48067
48068// method id "dfareporting.subaccounts.update":
48069
48070type SubaccountsUpdateCall struct {
48071	s          *Service
48072	profileId  int64
48073	subaccount *Subaccount
48074	urlParams_ gensupport.URLParams
48075	ctx_       context.Context
48076	header_    http.Header
48077}
48078
48079// Update: Updates an existing subaccount.
48080func (r *SubaccountsService) Update(profileId int64, subaccount *Subaccount) *SubaccountsUpdateCall {
48081	c := &SubaccountsUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48082	c.profileId = profileId
48083	c.subaccount = subaccount
48084	return c
48085}
48086
48087// Fields allows partial responses to be retrieved. See
48088// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48089// for more information.
48090func (c *SubaccountsUpdateCall) Fields(s ...googleapi.Field) *SubaccountsUpdateCall {
48091	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48092	return c
48093}
48094
48095// Context sets the context to be used in this call's Do method. Any
48096// pending HTTP request will be aborted if the provided context is
48097// canceled.
48098func (c *SubaccountsUpdateCall) Context(ctx context.Context) *SubaccountsUpdateCall {
48099	c.ctx_ = ctx
48100	return c
48101}
48102
48103// Header returns an http.Header that can be modified by the caller to
48104// add HTTP headers to the request.
48105func (c *SubaccountsUpdateCall) Header() http.Header {
48106	if c.header_ == nil {
48107		c.header_ = make(http.Header)
48108	}
48109	return c.header_
48110}
48111
48112func (c *SubaccountsUpdateCall) doRequest(alt string) (*http.Response, error) {
48113	reqHeaders := make(http.Header)
48114	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48115	for k, v := range c.header_ {
48116		reqHeaders[k] = v
48117	}
48118	reqHeaders.Set("User-Agent", c.s.userAgent())
48119	var body io.Reader = nil
48120	body, err := googleapi.WithoutDataWrapper.JSONReader(c.subaccount)
48121	if err != nil {
48122		return nil, err
48123	}
48124	reqHeaders.Set("Content-Type", "application/json")
48125	c.urlParams_.Set("alt", alt)
48126	c.urlParams_.Set("prettyPrint", "false")
48127	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/subaccounts")
48128	urls += "?" + c.urlParams_.Encode()
48129	req, err := http.NewRequest("PUT", urls, body)
48130	if err != nil {
48131		return nil, err
48132	}
48133	req.Header = reqHeaders
48134	googleapi.Expand(req.URL, map[string]string{
48135		"profileId": strconv.FormatInt(c.profileId, 10),
48136	})
48137	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48138}
48139
48140// Do executes the "dfareporting.subaccounts.update" call.
48141// Exactly one of *Subaccount or error will be non-nil. Any non-2xx
48142// status code is an error. Response headers are in either
48143// *Subaccount.ServerResponse.Header or (if a response was returned at
48144// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
48145// to check whether the returned error was because
48146// http.StatusNotModified was returned.
48147func (c *SubaccountsUpdateCall) Do(opts ...googleapi.CallOption) (*Subaccount, error) {
48148	gensupport.SetOptions(c.urlParams_, opts...)
48149	res, err := c.doRequest("json")
48150	if res != nil && res.StatusCode == http.StatusNotModified {
48151		if res.Body != nil {
48152			res.Body.Close()
48153		}
48154		return nil, &googleapi.Error{
48155			Code:   res.StatusCode,
48156			Header: res.Header,
48157		}
48158	}
48159	if err != nil {
48160		return nil, err
48161	}
48162	defer googleapi.CloseBody(res)
48163	if err := googleapi.CheckResponse(res); err != nil {
48164		return nil, err
48165	}
48166	ret := &Subaccount{
48167		ServerResponse: googleapi.ServerResponse{
48168			Header:         res.Header,
48169			HTTPStatusCode: res.StatusCode,
48170		},
48171	}
48172	target := &ret
48173	if err := gensupport.DecodeResponse(target, res); err != nil {
48174		return nil, err
48175	}
48176	return ret, nil
48177	// {
48178	//   "description": "Updates an existing subaccount.",
48179	//   "httpMethod": "PUT",
48180	//   "id": "dfareporting.subaccounts.update",
48181	//   "parameterOrder": [
48182	//     "profileId"
48183	//   ],
48184	//   "parameters": {
48185	//     "profileId": {
48186	//       "description": "User profile ID associated with this request.",
48187	//       "format": "int64",
48188	//       "location": "path",
48189	//       "required": true,
48190	//       "type": "string"
48191	//     }
48192	//   },
48193	//   "path": "userprofiles/{profileId}/subaccounts",
48194	//   "request": {
48195	//     "$ref": "Subaccount"
48196	//   },
48197	//   "response": {
48198	//     "$ref": "Subaccount"
48199	//   },
48200	//   "scopes": [
48201	//     "https://www.googleapis.com/auth/dfatrafficking"
48202	//   ]
48203	// }
48204
48205}
48206
48207// method id "dfareporting.targetableRemarketingLists.get":
48208
48209type TargetableRemarketingListsGetCall struct {
48210	s            *Service
48211	profileId    int64
48212	id           int64
48213	urlParams_   gensupport.URLParams
48214	ifNoneMatch_ string
48215	ctx_         context.Context
48216	header_      http.Header
48217}
48218
48219// Get: Gets one remarketing list by ID.
48220func (r *TargetableRemarketingListsService) Get(profileId int64, id int64) *TargetableRemarketingListsGetCall {
48221	c := &TargetableRemarketingListsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48222	c.profileId = profileId
48223	c.id = id
48224	return c
48225}
48226
48227// Fields allows partial responses to be retrieved. See
48228// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48229// for more information.
48230func (c *TargetableRemarketingListsGetCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsGetCall {
48231	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48232	return c
48233}
48234
48235// IfNoneMatch sets the optional parameter which makes the operation
48236// fail if the object's ETag matches the given value. This is useful for
48237// getting updates only after the object has changed since the last
48238// request. Use googleapi.IsNotModified to check whether the response
48239// error from Do is the result of In-None-Match.
48240func (c *TargetableRemarketingListsGetCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsGetCall {
48241	c.ifNoneMatch_ = entityTag
48242	return c
48243}
48244
48245// Context sets the context to be used in this call's Do method. Any
48246// pending HTTP request will be aborted if the provided context is
48247// canceled.
48248func (c *TargetableRemarketingListsGetCall) Context(ctx context.Context) *TargetableRemarketingListsGetCall {
48249	c.ctx_ = ctx
48250	return c
48251}
48252
48253// Header returns an http.Header that can be modified by the caller to
48254// add HTTP headers to the request.
48255func (c *TargetableRemarketingListsGetCall) Header() http.Header {
48256	if c.header_ == nil {
48257		c.header_ = make(http.Header)
48258	}
48259	return c.header_
48260}
48261
48262func (c *TargetableRemarketingListsGetCall) doRequest(alt string) (*http.Response, error) {
48263	reqHeaders := make(http.Header)
48264	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48265	for k, v := range c.header_ {
48266		reqHeaders[k] = v
48267	}
48268	reqHeaders.Set("User-Agent", c.s.userAgent())
48269	if c.ifNoneMatch_ != "" {
48270		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48271	}
48272	var body io.Reader = nil
48273	c.urlParams_.Set("alt", alt)
48274	c.urlParams_.Set("prettyPrint", "false")
48275	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists/{id}")
48276	urls += "?" + c.urlParams_.Encode()
48277	req, err := http.NewRequest("GET", urls, body)
48278	if err != nil {
48279		return nil, err
48280	}
48281	req.Header = reqHeaders
48282	googleapi.Expand(req.URL, map[string]string{
48283		"profileId": strconv.FormatInt(c.profileId, 10),
48284		"id":        strconv.FormatInt(c.id, 10),
48285	})
48286	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48287}
48288
48289// Do executes the "dfareporting.targetableRemarketingLists.get" call.
48290// Exactly one of *TargetableRemarketingList or error will be non-nil.
48291// Any non-2xx status code is an error. Response headers are in either
48292// *TargetableRemarketingList.ServerResponse.Header or (if a response
48293// was returned at all) in error.(*googleapi.Error).Header. Use
48294// googleapi.IsNotModified to check whether the returned error was
48295// because http.StatusNotModified was returned.
48296func (c *TargetableRemarketingListsGetCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingList, error) {
48297	gensupport.SetOptions(c.urlParams_, opts...)
48298	res, err := c.doRequest("json")
48299	if res != nil && res.StatusCode == http.StatusNotModified {
48300		if res.Body != nil {
48301			res.Body.Close()
48302		}
48303		return nil, &googleapi.Error{
48304			Code:   res.StatusCode,
48305			Header: res.Header,
48306		}
48307	}
48308	if err != nil {
48309		return nil, err
48310	}
48311	defer googleapi.CloseBody(res)
48312	if err := googleapi.CheckResponse(res); err != nil {
48313		return nil, err
48314	}
48315	ret := &TargetableRemarketingList{
48316		ServerResponse: googleapi.ServerResponse{
48317			Header:         res.Header,
48318			HTTPStatusCode: res.StatusCode,
48319		},
48320	}
48321	target := &ret
48322	if err := gensupport.DecodeResponse(target, res); err != nil {
48323		return nil, err
48324	}
48325	return ret, nil
48326	// {
48327	//   "description": "Gets one remarketing list by ID.",
48328	//   "httpMethod": "GET",
48329	//   "id": "dfareporting.targetableRemarketingLists.get",
48330	//   "parameterOrder": [
48331	//     "profileId",
48332	//     "id"
48333	//   ],
48334	//   "parameters": {
48335	//     "id": {
48336	//       "description": "Remarketing list ID.",
48337	//       "format": "int64",
48338	//       "location": "path",
48339	//       "required": true,
48340	//       "type": "string"
48341	//     },
48342	//     "profileId": {
48343	//       "description": "User profile ID associated with this request.",
48344	//       "format": "int64",
48345	//       "location": "path",
48346	//       "required": true,
48347	//       "type": "string"
48348	//     }
48349	//   },
48350	//   "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}",
48351	//   "response": {
48352	//     "$ref": "TargetableRemarketingList"
48353	//   },
48354	//   "scopes": [
48355	//     "https://www.googleapis.com/auth/dfatrafficking"
48356	//   ]
48357	// }
48358
48359}
48360
48361// method id "dfareporting.targetableRemarketingLists.list":
48362
48363type TargetableRemarketingListsListCall struct {
48364	s            *Service
48365	profileId    int64
48366	urlParams_   gensupport.URLParams
48367	ifNoneMatch_ string
48368	ctx_         context.Context
48369	header_      http.Header
48370}
48371
48372// List: Retrieves a list of targetable remarketing lists, possibly
48373// filtered. This method supports paging.
48374func (r *TargetableRemarketingListsService) List(profileId int64, advertiserId int64) *TargetableRemarketingListsListCall {
48375	c := &TargetableRemarketingListsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48376	c.profileId = profileId
48377	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48378	return c
48379}
48380
48381// Active sets the optional parameter "active": Select only active or
48382// only inactive targetable remarketing lists.
48383func (c *TargetableRemarketingListsListCall) Active(active bool) *TargetableRemarketingListsListCall {
48384	c.urlParams_.Set("active", fmt.Sprint(active))
48385	return c
48386}
48387
48388// MaxResults sets the optional parameter "maxResults": Maximum number
48389// of results to return.
48390func (c *TargetableRemarketingListsListCall) MaxResults(maxResults int64) *TargetableRemarketingListsListCall {
48391	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48392	return c
48393}
48394
48395// Name sets the optional parameter "name": Allows searching for objects
48396// by name or ID. Wildcards (*) are allowed. For example, "remarketing
48397// list*2015" will return objects with names like "remarketing list June
48398// 2015", "remarketing list April 2015", or simply "remarketing list
48399// 2015". Most of the searches also add wildcards implicitly at the
48400// start and the end of the search string. For example, a search string
48401// of "remarketing list" will match objects with name "my remarketing
48402// list", "remarketing list 2015", or simply "remarketing list".
48403func (c *TargetableRemarketingListsListCall) Name(name string) *TargetableRemarketingListsListCall {
48404	c.urlParams_.Set("name", name)
48405	return c
48406}
48407
48408// PageToken sets the optional parameter "pageToken": Value of the
48409// nextPageToken from the previous result page.
48410func (c *TargetableRemarketingListsListCall) PageToken(pageToken string) *TargetableRemarketingListsListCall {
48411	c.urlParams_.Set("pageToken", pageToken)
48412	return c
48413}
48414
48415// SortField sets the optional parameter "sortField": Field by which to
48416// sort the list.
48417//
48418// Possible values:
48419//   "ID" (default)
48420//   "NAME"
48421func (c *TargetableRemarketingListsListCall) SortField(sortField string) *TargetableRemarketingListsListCall {
48422	c.urlParams_.Set("sortField", sortField)
48423	return c
48424}
48425
48426// SortOrder sets the optional parameter "sortOrder": Order of sorted
48427// results.
48428//
48429// Possible values:
48430//   "ASCENDING" (default)
48431//   "DESCENDING"
48432func (c *TargetableRemarketingListsListCall) SortOrder(sortOrder string) *TargetableRemarketingListsListCall {
48433	c.urlParams_.Set("sortOrder", sortOrder)
48434	return c
48435}
48436
48437// Fields allows partial responses to be retrieved. See
48438// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48439// for more information.
48440func (c *TargetableRemarketingListsListCall) Fields(s ...googleapi.Field) *TargetableRemarketingListsListCall {
48441	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48442	return c
48443}
48444
48445// IfNoneMatch sets the optional parameter which makes the operation
48446// fail if the object's ETag matches the given value. This is useful for
48447// getting updates only after the object has changed since the last
48448// request. Use googleapi.IsNotModified to check whether the response
48449// error from Do is the result of In-None-Match.
48450func (c *TargetableRemarketingListsListCall) IfNoneMatch(entityTag string) *TargetableRemarketingListsListCall {
48451	c.ifNoneMatch_ = entityTag
48452	return c
48453}
48454
48455// Context sets the context to be used in this call's Do method. Any
48456// pending HTTP request will be aborted if the provided context is
48457// canceled.
48458func (c *TargetableRemarketingListsListCall) Context(ctx context.Context) *TargetableRemarketingListsListCall {
48459	c.ctx_ = ctx
48460	return c
48461}
48462
48463// Header returns an http.Header that can be modified by the caller to
48464// add HTTP headers to the request.
48465func (c *TargetableRemarketingListsListCall) Header() http.Header {
48466	if c.header_ == nil {
48467		c.header_ = make(http.Header)
48468	}
48469	return c.header_
48470}
48471
48472func (c *TargetableRemarketingListsListCall) doRequest(alt string) (*http.Response, error) {
48473	reqHeaders := make(http.Header)
48474	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48475	for k, v := range c.header_ {
48476		reqHeaders[k] = v
48477	}
48478	reqHeaders.Set("User-Agent", c.s.userAgent())
48479	if c.ifNoneMatch_ != "" {
48480		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48481	}
48482	var body io.Reader = nil
48483	c.urlParams_.Set("alt", alt)
48484	c.urlParams_.Set("prettyPrint", "false")
48485	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetableRemarketingLists")
48486	urls += "?" + c.urlParams_.Encode()
48487	req, err := http.NewRequest("GET", urls, body)
48488	if err != nil {
48489		return nil, err
48490	}
48491	req.Header = reqHeaders
48492	googleapi.Expand(req.URL, map[string]string{
48493		"profileId": strconv.FormatInt(c.profileId, 10),
48494	})
48495	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48496}
48497
48498// Do executes the "dfareporting.targetableRemarketingLists.list" call.
48499// Exactly one of *TargetableRemarketingListsListResponse or error will
48500// be non-nil. Any non-2xx status code is an error. Response headers are
48501// in either
48502// *TargetableRemarketingListsListResponse.ServerResponse.Header or (if
48503// a response was returned at all) in error.(*googleapi.Error).Header.
48504// Use googleapi.IsNotModified to check whether the returned error was
48505// because http.StatusNotModified was returned.
48506func (c *TargetableRemarketingListsListCall) Do(opts ...googleapi.CallOption) (*TargetableRemarketingListsListResponse, error) {
48507	gensupport.SetOptions(c.urlParams_, opts...)
48508	res, err := c.doRequest("json")
48509	if res != nil && res.StatusCode == http.StatusNotModified {
48510		if res.Body != nil {
48511			res.Body.Close()
48512		}
48513		return nil, &googleapi.Error{
48514			Code:   res.StatusCode,
48515			Header: res.Header,
48516		}
48517	}
48518	if err != nil {
48519		return nil, err
48520	}
48521	defer googleapi.CloseBody(res)
48522	if err := googleapi.CheckResponse(res); err != nil {
48523		return nil, err
48524	}
48525	ret := &TargetableRemarketingListsListResponse{
48526		ServerResponse: googleapi.ServerResponse{
48527			Header:         res.Header,
48528			HTTPStatusCode: res.StatusCode,
48529		},
48530	}
48531	target := &ret
48532	if err := gensupport.DecodeResponse(target, res); err != nil {
48533		return nil, err
48534	}
48535	return ret, nil
48536	// {
48537	//   "description": "Retrieves a list of targetable remarketing lists, possibly filtered. This method supports paging.",
48538	//   "httpMethod": "GET",
48539	//   "id": "dfareporting.targetableRemarketingLists.list",
48540	//   "parameterOrder": [
48541	//     "profileId",
48542	//     "advertiserId"
48543	//   ],
48544	//   "parameters": {
48545	//     "active": {
48546	//       "description": "Select only active or only inactive targetable remarketing lists.",
48547	//       "location": "query",
48548	//       "type": "boolean"
48549	//     },
48550	//     "advertiserId": {
48551	//       "description": "Select only targetable remarketing lists targetable by these advertisers.",
48552	//       "format": "int64",
48553	//       "location": "query",
48554	//       "required": true,
48555	//       "type": "string"
48556	//     },
48557	//     "maxResults": {
48558	//       "default": "1000",
48559	//       "description": "Maximum number of results to return.",
48560	//       "format": "int32",
48561	//       "location": "query",
48562	//       "maximum": "1000",
48563	//       "minimum": "0",
48564	//       "type": "integer"
48565	//     },
48566	//     "name": {
48567	//       "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\".",
48568	//       "location": "query",
48569	//       "type": "string"
48570	//     },
48571	//     "pageToken": {
48572	//       "description": "Value of the nextPageToken from the previous result page.",
48573	//       "location": "query",
48574	//       "type": "string"
48575	//     },
48576	//     "profileId": {
48577	//       "description": "User profile ID associated with this request.",
48578	//       "format": "int64",
48579	//       "location": "path",
48580	//       "required": true,
48581	//       "type": "string"
48582	//     },
48583	//     "sortField": {
48584	//       "default": "ID",
48585	//       "description": "Field by which to sort the list.",
48586	//       "enum": [
48587	//         "ID",
48588	//         "NAME"
48589	//       ],
48590	//       "enumDescriptions": [
48591	//         "",
48592	//         ""
48593	//       ],
48594	//       "location": "query",
48595	//       "type": "string"
48596	//     },
48597	//     "sortOrder": {
48598	//       "default": "ASCENDING",
48599	//       "description": "Order of sorted results.",
48600	//       "enum": [
48601	//         "ASCENDING",
48602	//         "DESCENDING"
48603	//       ],
48604	//       "enumDescriptions": [
48605	//         "",
48606	//         ""
48607	//       ],
48608	//       "location": "query",
48609	//       "type": "string"
48610	//     }
48611	//   },
48612	//   "path": "userprofiles/{profileId}/targetableRemarketingLists",
48613	//   "response": {
48614	//     "$ref": "TargetableRemarketingListsListResponse"
48615	//   },
48616	//   "scopes": [
48617	//     "https://www.googleapis.com/auth/dfatrafficking"
48618	//   ]
48619	// }
48620
48621}
48622
48623// Pages invokes f for each page of results.
48624// A non-nil error returned from f will halt the iteration.
48625// The provided context supersedes any context provided to the Context method.
48626func (c *TargetableRemarketingListsListCall) Pages(ctx context.Context, f func(*TargetableRemarketingListsListResponse) error) error {
48627	c.ctx_ = ctx
48628	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
48629	for {
48630		x, err := c.Do()
48631		if err != nil {
48632			return err
48633		}
48634		if err := f(x); err != nil {
48635			return err
48636		}
48637		if x.NextPageToken == "" {
48638			return nil
48639		}
48640		c.PageToken(x.NextPageToken)
48641	}
48642}
48643
48644// method id "dfareporting.targetingTemplates.get":
48645
48646type TargetingTemplatesGetCall struct {
48647	s            *Service
48648	profileId    int64
48649	id           int64
48650	urlParams_   gensupport.URLParams
48651	ifNoneMatch_ string
48652	ctx_         context.Context
48653	header_      http.Header
48654}
48655
48656// Get: Gets one targeting template by ID.
48657func (r *TargetingTemplatesService) Get(profileId int64, id int64) *TargetingTemplatesGetCall {
48658	c := &TargetingTemplatesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48659	c.profileId = profileId
48660	c.id = id
48661	return c
48662}
48663
48664// Fields allows partial responses to be retrieved. See
48665// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48666// for more information.
48667func (c *TargetingTemplatesGetCall) Fields(s ...googleapi.Field) *TargetingTemplatesGetCall {
48668	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48669	return c
48670}
48671
48672// IfNoneMatch sets the optional parameter which makes the operation
48673// fail if the object's ETag matches the given value. This is useful for
48674// getting updates only after the object has changed since the last
48675// request. Use googleapi.IsNotModified to check whether the response
48676// error from Do is the result of In-None-Match.
48677func (c *TargetingTemplatesGetCall) IfNoneMatch(entityTag string) *TargetingTemplatesGetCall {
48678	c.ifNoneMatch_ = entityTag
48679	return c
48680}
48681
48682// Context sets the context to be used in this call's Do method. Any
48683// pending HTTP request will be aborted if the provided context is
48684// canceled.
48685func (c *TargetingTemplatesGetCall) Context(ctx context.Context) *TargetingTemplatesGetCall {
48686	c.ctx_ = ctx
48687	return c
48688}
48689
48690// Header returns an http.Header that can be modified by the caller to
48691// add HTTP headers to the request.
48692func (c *TargetingTemplatesGetCall) Header() http.Header {
48693	if c.header_ == nil {
48694		c.header_ = make(http.Header)
48695	}
48696	return c.header_
48697}
48698
48699func (c *TargetingTemplatesGetCall) doRequest(alt string) (*http.Response, error) {
48700	reqHeaders := make(http.Header)
48701	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48702	for k, v := range c.header_ {
48703		reqHeaders[k] = v
48704	}
48705	reqHeaders.Set("User-Agent", c.s.userAgent())
48706	if c.ifNoneMatch_ != "" {
48707		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
48708	}
48709	var body io.Reader = nil
48710	c.urlParams_.Set("alt", alt)
48711	c.urlParams_.Set("prettyPrint", "false")
48712	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates/{id}")
48713	urls += "?" + c.urlParams_.Encode()
48714	req, err := http.NewRequest("GET", urls, body)
48715	if err != nil {
48716		return nil, err
48717	}
48718	req.Header = reqHeaders
48719	googleapi.Expand(req.URL, map[string]string{
48720		"profileId": strconv.FormatInt(c.profileId, 10),
48721		"id":        strconv.FormatInt(c.id, 10),
48722	})
48723	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48724}
48725
48726// Do executes the "dfareporting.targetingTemplates.get" call.
48727// Exactly one of *TargetingTemplate or error will be non-nil. Any
48728// non-2xx status code is an error. Response headers are in either
48729// *TargetingTemplate.ServerResponse.Header or (if a response was
48730// returned at all) in error.(*googleapi.Error).Header. Use
48731// googleapi.IsNotModified to check whether the returned error was
48732// because http.StatusNotModified was returned.
48733func (c *TargetingTemplatesGetCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48734	gensupport.SetOptions(c.urlParams_, opts...)
48735	res, err := c.doRequest("json")
48736	if res != nil && res.StatusCode == http.StatusNotModified {
48737		if res.Body != nil {
48738			res.Body.Close()
48739		}
48740		return nil, &googleapi.Error{
48741			Code:   res.StatusCode,
48742			Header: res.Header,
48743		}
48744	}
48745	if err != nil {
48746		return nil, err
48747	}
48748	defer googleapi.CloseBody(res)
48749	if err := googleapi.CheckResponse(res); err != nil {
48750		return nil, err
48751	}
48752	ret := &TargetingTemplate{
48753		ServerResponse: googleapi.ServerResponse{
48754			Header:         res.Header,
48755			HTTPStatusCode: res.StatusCode,
48756		},
48757	}
48758	target := &ret
48759	if err := gensupport.DecodeResponse(target, res); err != nil {
48760		return nil, err
48761	}
48762	return ret, nil
48763	// {
48764	//   "description": "Gets one targeting template by ID.",
48765	//   "httpMethod": "GET",
48766	//   "id": "dfareporting.targetingTemplates.get",
48767	//   "parameterOrder": [
48768	//     "profileId",
48769	//     "id"
48770	//   ],
48771	//   "parameters": {
48772	//     "id": {
48773	//       "description": "Targeting template ID.",
48774	//       "format": "int64",
48775	//       "location": "path",
48776	//       "required": true,
48777	//       "type": "string"
48778	//     },
48779	//     "profileId": {
48780	//       "description": "User profile ID associated with this request.",
48781	//       "format": "int64",
48782	//       "location": "path",
48783	//       "required": true,
48784	//       "type": "string"
48785	//     }
48786	//   },
48787	//   "path": "userprofiles/{profileId}/targetingTemplates/{id}",
48788	//   "response": {
48789	//     "$ref": "TargetingTemplate"
48790	//   },
48791	//   "scopes": [
48792	//     "https://www.googleapis.com/auth/dfatrafficking"
48793	//   ]
48794	// }
48795
48796}
48797
48798// method id "dfareporting.targetingTemplates.insert":
48799
48800type TargetingTemplatesInsertCall struct {
48801	s                 *Service
48802	profileId         int64
48803	targetingtemplate *TargetingTemplate
48804	urlParams_        gensupport.URLParams
48805	ctx_              context.Context
48806	header_           http.Header
48807}
48808
48809// Insert: Inserts a new targeting template.
48810func (r *TargetingTemplatesService) Insert(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesInsertCall {
48811	c := &TargetingTemplatesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48812	c.profileId = profileId
48813	c.targetingtemplate = targetingtemplate
48814	return c
48815}
48816
48817// Fields allows partial responses to be retrieved. See
48818// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
48819// for more information.
48820func (c *TargetingTemplatesInsertCall) Fields(s ...googleapi.Field) *TargetingTemplatesInsertCall {
48821	c.urlParams_.Set("fields", googleapi.CombineFields(s))
48822	return c
48823}
48824
48825// Context sets the context to be used in this call's Do method. Any
48826// pending HTTP request will be aborted if the provided context is
48827// canceled.
48828func (c *TargetingTemplatesInsertCall) Context(ctx context.Context) *TargetingTemplatesInsertCall {
48829	c.ctx_ = ctx
48830	return c
48831}
48832
48833// Header returns an http.Header that can be modified by the caller to
48834// add HTTP headers to the request.
48835func (c *TargetingTemplatesInsertCall) Header() http.Header {
48836	if c.header_ == nil {
48837		c.header_ = make(http.Header)
48838	}
48839	return c.header_
48840}
48841
48842func (c *TargetingTemplatesInsertCall) doRequest(alt string) (*http.Response, error) {
48843	reqHeaders := make(http.Header)
48844	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
48845	for k, v := range c.header_ {
48846		reqHeaders[k] = v
48847	}
48848	reqHeaders.Set("User-Agent", c.s.userAgent())
48849	var body io.Reader = nil
48850	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
48851	if err != nil {
48852		return nil, err
48853	}
48854	reqHeaders.Set("Content-Type", "application/json")
48855	c.urlParams_.Set("alt", alt)
48856	c.urlParams_.Set("prettyPrint", "false")
48857	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
48858	urls += "?" + c.urlParams_.Encode()
48859	req, err := http.NewRequest("POST", urls, body)
48860	if err != nil {
48861		return nil, err
48862	}
48863	req.Header = reqHeaders
48864	googleapi.Expand(req.URL, map[string]string{
48865		"profileId": strconv.FormatInt(c.profileId, 10),
48866	})
48867	return gensupport.SendRequest(c.ctx_, c.s.client, req)
48868}
48869
48870// Do executes the "dfareporting.targetingTemplates.insert" call.
48871// Exactly one of *TargetingTemplate or error will be non-nil. Any
48872// non-2xx status code is an error. Response headers are in either
48873// *TargetingTemplate.ServerResponse.Header or (if a response was
48874// returned at all) in error.(*googleapi.Error).Header. Use
48875// googleapi.IsNotModified to check whether the returned error was
48876// because http.StatusNotModified was returned.
48877func (c *TargetingTemplatesInsertCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
48878	gensupport.SetOptions(c.urlParams_, opts...)
48879	res, err := c.doRequest("json")
48880	if res != nil && res.StatusCode == http.StatusNotModified {
48881		if res.Body != nil {
48882			res.Body.Close()
48883		}
48884		return nil, &googleapi.Error{
48885			Code:   res.StatusCode,
48886			Header: res.Header,
48887		}
48888	}
48889	if err != nil {
48890		return nil, err
48891	}
48892	defer googleapi.CloseBody(res)
48893	if err := googleapi.CheckResponse(res); err != nil {
48894		return nil, err
48895	}
48896	ret := &TargetingTemplate{
48897		ServerResponse: googleapi.ServerResponse{
48898			Header:         res.Header,
48899			HTTPStatusCode: res.StatusCode,
48900		},
48901	}
48902	target := &ret
48903	if err := gensupport.DecodeResponse(target, res); err != nil {
48904		return nil, err
48905	}
48906	return ret, nil
48907	// {
48908	//   "description": "Inserts a new targeting template.",
48909	//   "httpMethod": "POST",
48910	//   "id": "dfareporting.targetingTemplates.insert",
48911	//   "parameterOrder": [
48912	//     "profileId"
48913	//   ],
48914	//   "parameters": {
48915	//     "profileId": {
48916	//       "description": "User profile ID associated with this request.",
48917	//       "format": "int64",
48918	//       "location": "path",
48919	//       "required": true,
48920	//       "type": "string"
48921	//     }
48922	//   },
48923	//   "path": "userprofiles/{profileId}/targetingTemplates",
48924	//   "request": {
48925	//     "$ref": "TargetingTemplate"
48926	//   },
48927	//   "response": {
48928	//     "$ref": "TargetingTemplate"
48929	//   },
48930	//   "scopes": [
48931	//     "https://www.googleapis.com/auth/dfatrafficking"
48932	//   ]
48933	// }
48934
48935}
48936
48937// method id "dfareporting.targetingTemplates.list":
48938
48939type TargetingTemplatesListCall struct {
48940	s            *Service
48941	profileId    int64
48942	urlParams_   gensupport.URLParams
48943	ifNoneMatch_ string
48944	ctx_         context.Context
48945	header_      http.Header
48946}
48947
48948// List: Retrieves a list of targeting templates, optionally filtered.
48949// This method supports paging.
48950func (r *TargetingTemplatesService) List(profileId int64) *TargetingTemplatesListCall {
48951	c := &TargetingTemplatesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
48952	c.profileId = profileId
48953	return c
48954}
48955
48956// AdvertiserId sets the optional parameter "advertiserId": Select only
48957// targeting templates with this advertiser ID.
48958func (c *TargetingTemplatesListCall) AdvertiserId(advertiserId int64) *TargetingTemplatesListCall {
48959	c.urlParams_.Set("advertiserId", fmt.Sprint(advertiserId))
48960	return c
48961}
48962
48963// Ids sets the optional parameter "ids": Select only targeting
48964// templates with these IDs.
48965func (c *TargetingTemplatesListCall) Ids(ids ...int64) *TargetingTemplatesListCall {
48966	var ids_ []string
48967	for _, v := range ids {
48968		ids_ = append(ids_, fmt.Sprint(v))
48969	}
48970	c.urlParams_.SetMulti("ids", ids_)
48971	return c
48972}
48973
48974// MaxResults sets the optional parameter "maxResults": Maximum number
48975// of results to return.
48976func (c *TargetingTemplatesListCall) MaxResults(maxResults int64) *TargetingTemplatesListCall {
48977	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
48978	return c
48979}
48980
48981// PageToken sets the optional parameter "pageToken": Value of the
48982// nextPageToken from the previous result page.
48983func (c *TargetingTemplatesListCall) PageToken(pageToken string) *TargetingTemplatesListCall {
48984	c.urlParams_.Set("pageToken", pageToken)
48985	return c
48986}
48987
48988// SearchString sets the optional parameter "searchString": Allows
48989// searching for objects by name or ID. Wildcards (*) are allowed. For
48990// example, "template*2015" will return objects with names like
48991// "template June 2015", "template April 2015", or simply "template
48992// 2015". Most of the searches also add wildcards implicitly at the
48993// start and the end of the search string. For example, a search string
48994// of "template" will match objects with name "my template", "template
48995// 2015", or simply "template".
48996func (c *TargetingTemplatesListCall) SearchString(searchString string) *TargetingTemplatesListCall {
48997	c.urlParams_.Set("searchString", searchString)
48998	return c
48999}
49000
49001// SortField sets the optional parameter "sortField": Field by which to
49002// sort the list.
49003//
49004// Possible values:
49005//   "ID" (default)
49006//   "NAME"
49007func (c *TargetingTemplatesListCall) SortField(sortField string) *TargetingTemplatesListCall {
49008	c.urlParams_.Set("sortField", sortField)
49009	return c
49010}
49011
49012// SortOrder sets the optional parameter "sortOrder": Order of sorted
49013// results.
49014//
49015// Possible values:
49016//   "ASCENDING" (default)
49017//   "DESCENDING"
49018func (c *TargetingTemplatesListCall) SortOrder(sortOrder string) *TargetingTemplatesListCall {
49019	c.urlParams_.Set("sortOrder", sortOrder)
49020	return c
49021}
49022
49023// Fields allows partial responses to be retrieved. See
49024// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49025// for more information.
49026func (c *TargetingTemplatesListCall) Fields(s ...googleapi.Field) *TargetingTemplatesListCall {
49027	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49028	return c
49029}
49030
49031// IfNoneMatch sets the optional parameter which makes the operation
49032// fail if the object's ETag matches the given value. This is useful for
49033// getting updates only after the object has changed since the last
49034// request. Use googleapi.IsNotModified to check whether the response
49035// error from Do is the result of In-None-Match.
49036func (c *TargetingTemplatesListCall) IfNoneMatch(entityTag string) *TargetingTemplatesListCall {
49037	c.ifNoneMatch_ = entityTag
49038	return c
49039}
49040
49041// Context sets the context to be used in this call's Do method. Any
49042// pending HTTP request will be aborted if the provided context is
49043// canceled.
49044func (c *TargetingTemplatesListCall) Context(ctx context.Context) *TargetingTemplatesListCall {
49045	c.ctx_ = ctx
49046	return c
49047}
49048
49049// Header returns an http.Header that can be modified by the caller to
49050// add HTTP headers to the request.
49051func (c *TargetingTemplatesListCall) Header() http.Header {
49052	if c.header_ == nil {
49053		c.header_ = make(http.Header)
49054	}
49055	return c.header_
49056}
49057
49058func (c *TargetingTemplatesListCall) doRequest(alt string) (*http.Response, error) {
49059	reqHeaders := make(http.Header)
49060	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49061	for k, v := range c.header_ {
49062		reqHeaders[k] = v
49063	}
49064	reqHeaders.Set("User-Agent", c.s.userAgent())
49065	if c.ifNoneMatch_ != "" {
49066		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49067	}
49068	var body io.Reader = nil
49069	c.urlParams_.Set("alt", alt)
49070	c.urlParams_.Set("prettyPrint", "false")
49071	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49072	urls += "?" + c.urlParams_.Encode()
49073	req, err := http.NewRequest("GET", urls, body)
49074	if err != nil {
49075		return nil, err
49076	}
49077	req.Header = reqHeaders
49078	googleapi.Expand(req.URL, map[string]string{
49079		"profileId": strconv.FormatInt(c.profileId, 10),
49080	})
49081	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49082}
49083
49084// Do executes the "dfareporting.targetingTemplates.list" call.
49085// Exactly one of *TargetingTemplatesListResponse or error will be
49086// non-nil. Any non-2xx status code is an error. Response headers are in
49087// either *TargetingTemplatesListResponse.ServerResponse.Header or (if a
49088// response was returned at all) in error.(*googleapi.Error).Header. Use
49089// googleapi.IsNotModified to check whether the returned error was
49090// because http.StatusNotModified was returned.
49091func (c *TargetingTemplatesListCall) Do(opts ...googleapi.CallOption) (*TargetingTemplatesListResponse, error) {
49092	gensupport.SetOptions(c.urlParams_, opts...)
49093	res, err := c.doRequest("json")
49094	if res != nil && res.StatusCode == http.StatusNotModified {
49095		if res.Body != nil {
49096			res.Body.Close()
49097		}
49098		return nil, &googleapi.Error{
49099			Code:   res.StatusCode,
49100			Header: res.Header,
49101		}
49102	}
49103	if err != nil {
49104		return nil, err
49105	}
49106	defer googleapi.CloseBody(res)
49107	if err := googleapi.CheckResponse(res); err != nil {
49108		return nil, err
49109	}
49110	ret := &TargetingTemplatesListResponse{
49111		ServerResponse: googleapi.ServerResponse{
49112			Header:         res.Header,
49113			HTTPStatusCode: res.StatusCode,
49114		},
49115	}
49116	target := &ret
49117	if err := gensupport.DecodeResponse(target, res); err != nil {
49118		return nil, err
49119	}
49120	return ret, nil
49121	// {
49122	//   "description": "Retrieves a list of targeting templates, optionally filtered. This method supports paging.",
49123	//   "httpMethod": "GET",
49124	//   "id": "dfareporting.targetingTemplates.list",
49125	//   "parameterOrder": [
49126	//     "profileId"
49127	//   ],
49128	//   "parameters": {
49129	//     "advertiserId": {
49130	//       "description": "Select only targeting templates with this advertiser ID.",
49131	//       "format": "int64",
49132	//       "location": "query",
49133	//       "type": "string"
49134	//     },
49135	//     "ids": {
49136	//       "description": "Select only targeting templates with these IDs.",
49137	//       "format": "int64",
49138	//       "location": "query",
49139	//       "repeated": true,
49140	//       "type": "string"
49141	//     },
49142	//     "maxResults": {
49143	//       "default": "1000",
49144	//       "description": "Maximum number of results to return.",
49145	//       "format": "int32",
49146	//       "location": "query",
49147	//       "maximum": "1000",
49148	//       "minimum": "0",
49149	//       "type": "integer"
49150	//     },
49151	//     "pageToken": {
49152	//       "description": "Value of the nextPageToken from the previous result page.",
49153	//       "location": "query",
49154	//       "type": "string"
49155	//     },
49156	//     "profileId": {
49157	//       "description": "User profile ID associated with this request.",
49158	//       "format": "int64",
49159	//       "location": "path",
49160	//       "required": true,
49161	//       "type": "string"
49162	//     },
49163	//     "searchString": {
49164	//       "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\".",
49165	//       "location": "query",
49166	//       "type": "string"
49167	//     },
49168	//     "sortField": {
49169	//       "default": "ID",
49170	//       "description": "Field by which to sort the list.",
49171	//       "enum": [
49172	//         "ID",
49173	//         "NAME"
49174	//       ],
49175	//       "enumDescriptions": [
49176	//         "",
49177	//         ""
49178	//       ],
49179	//       "location": "query",
49180	//       "type": "string"
49181	//     },
49182	//     "sortOrder": {
49183	//       "default": "ASCENDING",
49184	//       "description": "Order of sorted results.",
49185	//       "enum": [
49186	//         "ASCENDING",
49187	//         "DESCENDING"
49188	//       ],
49189	//       "enumDescriptions": [
49190	//         "",
49191	//         ""
49192	//       ],
49193	//       "location": "query",
49194	//       "type": "string"
49195	//     }
49196	//   },
49197	//   "path": "userprofiles/{profileId}/targetingTemplates",
49198	//   "response": {
49199	//     "$ref": "TargetingTemplatesListResponse"
49200	//   },
49201	//   "scopes": [
49202	//     "https://www.googleapis.com/auth/dfatrafficking"
49203	//   ]
49204	// }
49205
49206}
49207
49208// Pages invokes f for each page of results.
49209// A non-nil error returned from f will halt the iteration.
49210// The provided context supersedes any context provided to the Context method.
49211func (c *TargetingTemplatesListCall) Pages(ctx context.Context, f func(*TargetingTemplatesListResponse) error) error {
49212	c.ctx_ = ctx
49213	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
49214	for {
49215		x, err := c.Do()
49216		if err != nil {
49217			return err
49218		}
49219		if err := f(x); err != nil {
49220			return err
49221		}
49222		if x.NextPageToken == "" {
49223			return nil
49224		}
49225		c.PageToken(x.NextPageToken)
49226	}
49227}
49228
49229// method id "dfareporting.targetingTemplates.patch":
49230
49231type TargetingTemplatesPatchCall struct {
49232	s                 *Service
49233	profileId         int64
49234	targetingtemplate *TargetingTemplate
49235	urlParams_        gensupport.URLParams
49236	ctx_              context.Context
49237	header_           http.Header
49238}
49239
49240// Patch: Updates an existing targeting template. This method supports
49241// patch semantics.
49242func (r *TargetingTemplatesService) Patch(profileId int64, id int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesPatchCall {
49243	c := &TargetingTemplatesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49244	c.profileId = profileId
49245	c.urlParams_.Set("id", fmt.Sprint(id))
49246	c.targetingtemplate = targetingtemplate
49247	return c
49248}
49249
49250// Fields allows partial responses to be retrieved. See
49251// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49252// for more information.
49253func (c *TargetingTemplatesPatchCall) Fields(s ...googleapi.Field) *TargetingTemplatesPatchCall {
49254	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49255	return c
49256}
49257
49258// Context sets the context to be used in this call's Do method. Any
49259// pending HTTP request will be aborted if the provided context is
49260// canceled.
49261func (c *TargetingTemplatesPatchCall) Context(ctx context.Context) *TargetingTemplatesPatchCall {
49262	c.ctx_ = ctx
49263	return c
49264}
49265
49266// Header returns an http.Header that can be modified by the caller to
49267// add HTTP headers to the request.
49268func (c *TargetingTemplatesPatchCall) Header() http.Header {
49269	if c.header_ == nil {
49270		c.header_ = make(http.Header)
49271	}
49272	return c.header_
49273}
49274
49275func (c *TargetingTemplatesPatchCall) doRequest(alt string) (*http.Response, error) {
49276	reqHeaders := make(http.Header)
49277	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49278	for k, v := range c.header_ {
49279		reqHeaders[k] = v
49280	}
49281	reqHeaders.Set("User-Agent", c.s.userAgent())
49282	var body io.Reader = nil
49283	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49284	if err != nil {
49285		return nil, err
49286	}
49287	reqHeaders.Set("Content-Type", "application/json")
49288	c.urlParams_.Set("alt", alt)
49289	c.urlParams_.Set("prettyPrint", "false")
49290	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49291	urls += "?" + c.urlParams_.Encode()
49292	req, err := http.NewRequest("PATCH", urls, body)
49293	if err != nil {
49294		return nil, err
49295	}
49296	req.Header = reqHeaders
49297	googleapi.Expand(req.URL, map[string]string{
49298		"profileId": strconv.FormatInt(c.profileId, 10),
49299	})
49300	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49301}
49302
49303// Do executes the "dfareporting.targetingTemplates.patch" call.
49304// Exactly one of *TargetingTemplate or error will be non-nil. Any
49305// non-2xx status code is an error. Response headers are in either
49306// *TargetingTemplate.ServerResponse.Header or (if a response was
49307// returned at all) in error.(*googleapi.Error).Header. Use
49308// googleapi.IsNotModified to check whether the returned error was
49309// because http.StatusNotModified was returned.
49310func (c *TargetingTemplatesPatchCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49311	gensupport.SetOptions(c.urlParams_, opts...)
49312	res, err := c.doRequest("json")
49313	if res != nil && res.StatusCode == http.StatusNotModified {
49314		if res.Body != nil {
49315			res.Body.Close()
49316		}
49317		return nil, &googleapi.Error{
49318			Code:   res.StatusCode,
49319			Header: res.Header,
49320		}
49321	}
49322	if err != nil {
49323		return nil, err
49324	}
49325	defer googleapi.CloseBody(res)
49326	if err := googleapi.CheckResponse(res); err != nil {
49327		return nil, err
49328	}
49329	ret := &TargetingTemplate{
49330		ServerResponse: googleapi.ServerResponse{
49331			Header:         res.Header,
49332			HTTPStatusCode: res.StatusCode,
49333		},
49334	}
49335	target := &ret
49336	if err := gensupport.DecodeResponse(target, res); err != nil {
49337		return nil, err
49338	}
49339	return ret, nil
49340	// {
49341	//   "description": "Updates an existing targeting template. This method supports patch semantics.",
49342	//   "httpMethod": "PATCH",
49343	//   "id": "dfareporting.targetingTemplates.patch",
49344	//   "parameterOrder": [
49345	//     "profileId",
49346	//     "id"
49347	//   ],
49348	//   "parameters": {
49349	//     "id": {
49350	//       "description": "Targeting template ID.",
49351	//       "format": "int64",
49352	//       "location": "query",
49353	//       "required": true,
49354	//       "type": "string"
49355	//     },
49356	//     "profileId": {
49357	//       "description": "User profile ID associated with this request.",
49358	//       "format": "int64",
49359	//       "location": "path",
49360	//       "required": true,
49361	//       "type": "string"
49362	//     }
49363	//   },
49364	//   "path": "userprofiles/{profileId}/targetingTemplates",
49365	//   "request": {
49366	//     "$ref": "TargetingTemplate"
49367	//   },
49368	//   "response": {
49369	//     "$ref": "TargetingTemplate"
49370	//   },
49371	//   "scopes": [
49372	//     "https://www.googleapis.com/auth/dfatrafficking"
49373	//   ]
49374	// }
49375
49376}
49377
49378// method id "dfareporting.targetingTemplates.update":
49379
49380type TargetingTemplatesUpdateCall struct {
49381	s                 *Service
49382	profileId         int64
49383	targetingtemplate *TargetingTemplate
49384	urlParams_        gensupport.URLParams
49385	ctx_              context.Context
49386	header_           http.Header
49387}
49388
49389// Update: Updates an existing targeting template.
49390func (r *TargetingTemplatesService) Update(profileId int64, targetingtemplate *TargetingTemplate) *TargetingTemplatesUpdateCall {
49391	c := &TargetingTemplatesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49392	c.profileId = profileId
49393	c.targetingtemplate = targetingtemplate
49394	return c
49395}
49396
49397// Fields allows partial responses to be retrieved. See
49398// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49399// for more information.
49400func (c *TargetingTemplatesUpdateCall) Fields(s ...googleapi.Field) *TargetingTemplatesUpdateCall {
49401	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49402	return c
49403}
49404
49405// Context sets the context to be used in this call's Do method. Any
49406// pending HTTP request will be aborted if the provided context is
49407// canceled.
49408func (c *TargetingTemplatesUpdateCall) Context(ctx context.Context) *TargetingTemplatesUpdateCall {
49409	c.ctx_ = ctx
49410	return c
49411}
49412
49413// Header returns an http.Header that can be modified by the caller to
49414// add HTTP headers to the request.
49415func (c *TargetingTemplatesUpdateCall) Header() http.Header {
49416	if c.header_ == nil {
49417		c.header_ = make(http.Header)
49418	}
49419	return c.header_
49420}
49421
49422func (c *TargetingTemplatesUpdateCall) doRequest(alt string) (*http.Response, error) {
49423	reqHeaders := make(http.Header)
49424	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49425	for k, v := range c.header_ {
49426		reqHeaders[k] = v
49427	}
49428	reqHeaders.Set("User-Agent", c.s.userAgent())
49429	var body io.Reader = nil
49430	body, err := googleapi.WithoutDataWrapper.JSONReader(c.targetingtemplate)
49431	if err != nil {
49432		return nil, err
49433	}
49434	reqHeaders.Set("Content-Type", "application/json")
49435	c.urlParams_.Set("alt", alt)
49436	c.urlParams_.Set("prettyPrint", "false")
49437	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/targetingTemplates")
49438	urls += "?" + c.urlParams_.Encode()
49439	req, err := http.NewRequest("PUT", urls, body)
49440	if err != nil {
49441		return nil, err
49442	}
49443	req.Header = reqHeaders
49444	googleapi.Expand(req.URL, map[string]string{
49445		"profileId": strconv.FormatInt(c.profileId, 10),
49446	})
49447	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49448}
49449
49450// Do executes the "dfareporting.targetingTemplates.update" call.
49451// Exactly one of *TargetingTemplate or error will be non-nil. Any
49452// non-2xx status code is an error. Response headers are in either
49453// *TargetingTemplate.ServerResponse.Header or (if a response was
49454// returned at all) in error.(*googleapi.Error).Header. Use
49455// googleapi.IsNotModified to check whether the returned error was
49456// because http.StatusNotModified was returned.
49457func (c *TargetingTemplatesUpdateCall) Do(opts ...googleapi.CallOption) (*TargetingTemplate, error) {
49458	gensupport.SetOptions(c.urlParams_, opts...)
49459	res, err := c.doRequest("json")
49460	if res != nil && res.StatusCode == http.StatusNotModified {
49461		if res.Body != nil {
49462			res.Body.Close()
49463		}
49464		return nil, &googleapi.Error{
49465			Code:   res.StatusCode,
49466			Header: res.Header,
49467		}
49468	}
49469	if err != nil {
49470		return nil, err
49471	}
49472	defer googleapi.CloseBody(res)
49473	if err := googleapi.CheckResponse(res); err != nil {
49474		return nil, err
49475	}
49476	ret := &TargetingTemplate{
49477		ServerResponse: googleapi.ServerResponse{
49478			Header:         res.Header,
49479			HTTPStatusCode: res.StatusCode,
49480		},
49481	}
49482	target := &ret
49483	if err := gensupport.DecodeResponse(target, res); err != nil {
49484		return nil, err
49485	}
49486	return ret, nil
49487	// {
49488	//   "description": "Updates an existing targeting template.",
49489	//   "httpMethod": "PUT",
49490	//   "id": "dfareporting.targetingTemplates.update",
49491	//   "parameterOrder": [
49492	//     "profileId"
49493	//   ],
49494	//   "parameters": {
49495	//     "profileId": {
49496	//       "description": "User profile ID associated with this request.",
49497	//       "format": "int64",
49498	//       "location": "path",
49499	//       "required": true,
49500	//       "type": "string"
49501	//     }
49502	//   },
49503	//   "path": "userprofiles/{profileId}/targetingTemplates",
49504	//   "request": {
49505	//     "$ref": "TargetingTemplate"
49506	//   },
49507	//   "response": {
49508	//     "$ref": "TargetingTemplate"
49509	//   },
49510	//   "scopes": [
49511	//     "https://www.googleapis.com/auth/dfatrafficking"
49512	//   ]
49513	// }
49514
49515}
49516
49517// method id "dfareporting.userProfiles.get":
49518
49519type UserProfilesGetCall struct {
49520	s            *Service
49521	profileId    int64
49522	urlParams_   gensupport.URLParams
49523	ifNoneMatch_ string
49524	ctx_         context.Context
49525	header_      http.Header
49526}
49527
49528// Get: Gets one user profile by ID.
49529func (r *UserProfilesService) Get(profileId int64) *UserProfilesGetCall {
49530	c := &UserProfilesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49531	c.profileId = profileId
49532	return c
49533}
49534
49535// Fields allows partial responses to be retrieved. See
49536// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49537// for more information.
49538func (c *UserProfilesGetCall) Fields(s ...googleapi.Field) *UserProfilesGetCall {
49539	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49540	return c
49541}
49542
49543// IfNoneMatch sets the optional parameter which makes the operation
49544// fail if the object's ETag matches the given value. This is useful for
49545// getting updates only after the object has changed since the last
49546// request. Use googleapi.IsNotModified to check whether the response
49547// error from Do is the result of In-None-Match.
49548func (c *UserProfilesGetCall) IfNoneMatch(entityTag string) *UserProfilesGetCall {
49549	c.ifNoneMatch_ = entityTag
49550	return c
49551}
49552
49553// Context sets the context to be used in this call's Do method. Any
49554// pending HTTP request will be aborted if the provided context is
49555// canceled.
49556func (c *UserProfilesGetCall) Context(ctx context.Context) *UserProfilesGetCall {
49557	c.ctx_ = ctx
49558	return c
49559}
49560
49561// Header returns an http.Header that can be modified by the caller to
49562// add HTTP headers to the request.
49563func (c *UserProfilesGetCall) Header() http.Header {
49564	if c.header_ == nil {
49565		c.header_ = make(http.Header)
49566	}
49567	return c.header_
49568}
49569
49570func (c *UserProfilesGetCall) doRequest(alt string) (*http.Response, error) {
49571	reqHeaders := make(http.Header)
49572	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49573	for k, v := range c.header_ {
49574		reqHeaders[k] = v
49575	}
49576	reqHeaders.Set("User-Agent", c.s.userAgent())
49577	if c.ifNoneMatch_ != "" {
49578		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49579	}
49580	var body io.Reader = nil
49581	c.urlParams_.Set("alt", alt)
49582	c.urlParams_.Set("prettyPrint", "false")
49583	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}")
49584	urls += "?" + c.urlParams_.Encode()
49585	req, err := http.NewRequest("GET", urls, body)
49586	if err != nil {
49587		return nil, err
49588	}
49589	req.Header = reqHeaders
49590	googleapi.Expand(req.URL, map[string]string{
49591		"profileId": strconv.FormatInt(c.profileId, 10),
49592	})
49593	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49594}
49595
49596// Do executes the "dfareporting.userProfiles.get" call.
49597// Exactly one of *UserProfile or error will be non-nil. Any non-2xx
49598// status code is an error. Response headers are in either
49599// *UserProfile.ServerResponse.Header or (if a response was returned at
49600// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
49601// to check whether the returned error was because
49602// http.StatusNotModified was returned.
49603func (c *UserProfilesGetCall) Do(opts ...googleapi.CallOption) (*UserProfile, error) {
49604	gensupport.SetOptions(c.urlParams_, opts...)
49605	res, err := c.doRequest("json")
49606	if res != nil && res.StatusCode == http.StatusNotModified {
49607		if res.Body != nil {
49608			res.Body.Close()
49609		}
49610		return nil, &googleapi.Error{
49611			Code:   res.StatusCode,
49612			Header: res.Header,
49613		}
49614	}
49615	if err != nil {
49616		return nil, err
49617	}
49618	defer googleapi.CloseBody(res)
49619	if err := googleapi.CheckResponse(res); err != nil {
49620		return nil, err
49621	}
49622	ret := &UserProfile{
49623		ServerResponse: googleapi.ServerResponse{
49624			Header:         res.Header,
49625			HTTPStatusCode: res.StatusCode,
49626		},
49627	}
49628	target := &ret
49629	if err := gensupport.DecodeResponse(target, res); err != nil {
49630		return nil, err
49631	}
49632	return ret, nil
49633	// {
49634	//   "description": "Gets one user profile by ID.",
49635	//   "httpMethod": "GET",
49636	//   "id": "dfareporting.userProfiles.get",
49637	//   "parameterOrder": [
49638	//     "profileId"
49639	//   ],
49640	//   "parameters": {
49641	//     "profileId": {
49642	//       "description": "The user profile ID.",
49643	//       "format": "int64",
49644	//       "location": "path",
49645	//       "required": true,
49646	//       "type": "string"
49647	//     }
49648	//   },
49649	//   "path": "userprofiles/{profileId}",
49650	//   "response": {
49651	//     "$ref": "UserProfile"
49652	//   },
49653	//   "scopes": [
49654	//     "https://www.googleapis.com/auth/dfareporting",
49655	//     "https://www.googleapis.com/auth/dfatrafficking"
49656	//   ]
49657	// }
49658
49659}
49660
49661// method id "dfareporting.userProfiles.list":
49662
49663type UserProfilesListCall struct {
49664	s            *Service
49665	urlParams_   gensupport.URLParams
49666	ifNoneMatch_ string
49667	ctx_         context.Context
49668	header_      http.Header
49669}
49670
49671// List: Retrieves list of user profiles for a user.
49672func (r *UserProfilesService) List() *UserProfilesListCall {
49673	c := &UserProfilesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49674	return c
49675}
49676
49677// Fields allows partial responses to be retrieved. See
49678// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49679// for more information.
49680func (c *UserProfilesListCall) Fields(s ...googleapi.Field) *UserProfilesListCall {
49681	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49682	return c
49683}
49684
49685// IfNoneMatch sets the optional parameter which makes the operation
49686// fail if the object's ETag matches the given value. This is useful for
49687// getting updates only after the object has changed since the last
49688// request. Use googleapi.IsNotModified to check whether the response
49689// error from Do is the result of In-None-Match.
49690func (c *UserProfilesListCall) IfNoneMatch(entityTag string) *UserProfilesListCall {
49691	c.ifNoneMatch_ = entityTag
49692	return c
49693}
49694
49695// Context sets the context to be used in this call's Do method. Any
49696// pending HTTP request will be aborted if the provided context is
49697// canceled.
49698func (c *UserProfilesListCall) Context(ctx context.Context) *UserProfilesListCall {
49699	c.ctx_ = ctx
49700	return c
49701}
49702
49703// Header returns an http.Header that can be modified by the caller to
49704// add HTTP headers to the request.
49705func (c *UserProfilesListCall) Header() http.Header {
49706	if c.header_ == nil {
49707		c.header_ = make(http.Header)
49708	}
49709	return c.header_
49710}
49711
49712func (c *UserProfilesListCall) doRequest(alt string) (*http.Response, error) {
49713	reqHeaders := make(http.Header)
49714	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49715	for k, v := range c.header_ {
49716		reqHeaders[k] = v
49717	}
49718	reqHeaders.Set("User-Agent", c.s.userAgent())
49719	if c.ifNoneMatch_ != "" {
49720		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49721	}
49722	var body io.Reader = nil
49723	c.urlParams_.Set("alt", alt)
49724	c.urlParams_.Set("prettyPrint", "false")
49725	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles")
49726	urls += "?" + c.urlParams_.Encode()
49727	req, err := http.NewRequest("GET", urls, body)
49728	if err != nil {
49729		return nil, err
49730	}
49731	req.Header = reqHeaders
49732	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49733}
49734
49735// Do executes the "dfareporting.userProfiles.list" call.
49736// Exactly one of *UserProfileList or error will be non-nil. Any non-2xx
49737// status code is an error. Response headers are in either
49738// *UserProfileList.ServerResponse.Header or (if a response was returned
49739// at all) in error.(*googleapi.Error).Header. Use
49740// googleapi.IsNotModified to check whether the returned error was
49741// because http.StatusNotModified was returned.
49742func (c *UserProfilesListCall) Do(opts ...googleapi.CallOption) (*UserProfileList, error) {
49743	gensupport.SetOptions(c.urlParams_, opts...)
49744	res, err := c.doRequest("json")
49745	if res != nil && res.StatusCode == http.StatusNotModified {
49746		if res.Body != nil {
49747			res.Body.Close()
49748		}
49749		return nil, &googleapi.Error{
49750			Code:   res.StatusCode,
49751			Header: res.Header,
49752		}
49753	}
49754	if err != nil {
49755		return nil, err
49756	}
49757	defer googleapi.CloseBody(res)
49758	if err := googleapi.CheckResponse(res); err != nil {
49759		return nil, err
49760	}
49761	ret := &UserProfileList{
49762		ServerResponse: googleapi.ServerResponse{
49763			Header:         res.Header,
49764			HTTPStatusCode: res.StatusCode,
49765		},
49766	}
49767	target := &ret
49768	if err := gensupport.DecodeResponse(target, res); err != nil {
49769		return nil, err
49770	}
49771	return ret, nil
49772	// {
49773	//   "description": "Retrieves list of user profiles for a user.",
49774	//   "httpMethod": "GET",
49775	//   "id": "dfareporting.userProfiles.list",
49776	//   "path": "userprofiles",
49777	//   "response": {
49778	//     "$ref": "UserProfileList"
49779	//   },
49780	//   "scopes": [
49781	//     "https://www.googleapis.com/auth/dfareporting",
49782	//     "https://www.googleapis.com/auth/dfatrafficking"
49783	//   ]
49784	// }
49785
49786}
49787
49788// method id "dfareporting.userRolePermissionGroups.get":
49789
49790type UserRolePermissionGroupsGetCall struct {
49791	s            *Service
49792	profileId    int64
49793	id           int64
49794	urlParams_   gensupport.URLParams
49795	ifNoneMatch_ string
49796	ctx_         context.Context
49797	header_      http.Header
49798}
49799
49800// Get: Gets one user role permission group by ID.
49801func (r *UserRolePermissionGroupsService) Get(profileId int64, id int64) *UserRolePermissionGroupsGetCall {
49802	c := &UserRolePermissionGroupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49803	c.profileId = profileId
49804	c.id = id
49805	return c
49806}
49807
49808// Fields allows partial responses to be retrieved. See
49809// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49810// for more information.
49811func (c *UserRolePermissionGroupsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsGetCall {
49812	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49813	return c
49814}
49815
49816// IfNoneMatch sets the optional parameter which makes the operation
49817// fail if the object's ETag matches the given value. This is useful for
49818// getting updates only after the object has changed since the last
49819// request. Use googleapi.IsNotModified to check whether the response
49820// error from Do is the result of In-None-Match.
49821func (c *UserRolePermissionGroupsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsGetCall {
49822	c.ifNoneMatch_ = entityTag
49823	return c
49824}
49825
49826// Context sets the context to be used in this call's Do method. Any
49827// pending HTTP request will be aborted if the provided context is
49828// canceled.
49829func (c *UserRolePermissionGroupsGetCall) Context(ctx context.Context) *UserRolePermissionGroupsGetCall {
49830	c.ctx_ = ctx
49831	return c
49832}
49833
49834// Header returns an http.Header that can be modified by the caller to
49835// add HTTP headers to the request.
49836func (c *UserRolePermissionGroupsGetCall) Header() http.Header {
49837	if c.header_ == nil {
49838		c.header_ = make(http.Header)
49839	}
49840	return c.header_
49841}
49842
49843func (c *UserRolePermissionGroupsGetCall) doRequest(alt string) (*http.Response, error) {
49844	reqHeaders := make(http.Header)
49845	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49846	for k, v := range c.header_ {
49847		reqHeaders[k] = v
49848	}
49849	reqHeaders.Set("User-Agent", c.s.userAgent())
49850	if c.ifNoneMatch_ != "" {
49851		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
49852	}
49853	var body io.Reader = nil
49854	c.urlParams_.Set("alt", alt)
49855	c.urlParams_.Set("prettyPrint", "false")
49856	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups/{id}")
49857	urls += "?" + c.urlParams_.Encode()
49858	req, err := http.NewRequest("GET", urls, body)
49859	if err != nil {
49860		return nil, err
49861	}
49862	req.Header = reqHeaders
49863	googleapi.Expand(req.URL, map[string]string{
49864		"profileId": strconv.FormatInt(c.profileId, 10),
49865		"id":        strconv.FormatInt(c.id, 10),
49866	})
49867	return gensupport.SendRequest(c.ctx_, c.s.client, req)
49868}
49869
49870// Do executes the "dfareporting.userRolePermissionGroups.get" call.
49871// Exactly one of *UserRolePermissionGroup or error will be non-nil. Any
49872// non-2xx status code is an error. Response headers are in either
49873// *UserRolePermissionGroup.ServerResponse.Header or (if a response was
49874// returned at all) in error.(*googleapi.Error).Header. Use
49875// googleapi.IsNotModified to check whether the returned error was
49876// because http.StatusNotModified was returned.
49877func (c *UserRolePermissionGroupsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroup, error) {
49878	gensupport.SetOptions(c.urlParams_, opts...)
49879	res, err := c.doRequest("json")
49880	if res != nil && res.StatusCode == http.StatusNotModified {
49881		if res.Body != nil {
49882			res.Body.Close()
49883		}
49884		return nil, &googleapi.Error{
49885			Code:   res.StatusCode,
49886			Header: res.Header,
49887		}
49888	}
49889	if err != nil {
49890		return nil, err
49891	}
49892	defer googleapi.CloseBody(res)
49893	if err := googleapi.CheckResponse(res); err != nil {
49894		return nil, err
49895	}
49896	ret := &UserRolePermissionGroup{
49897		ServerResponse: googleapi.ServerResponse{
49898			Header:         res.Header,
49899			HTTPStatusCode: res.StatusCode,
49900		},
49901	}
49902	target := &ret
49903	if err := gensupport.DecodeResponse(target, res); err != nil {
49904		return nil, err
49905	}
49906	return ret, nil
49907	// {
49908	//   "description": "Gets one user role permission group by ID.",
49909	//   "httpMethod": "GET",
49910	//   "id": "dfareporting.userRolePermissionGroups.get",
49911	//   "parameterOrder": [
49912	//     "profileId",
49913	//     "id"
49914	//   ],
49915	//   "parameters": {
49916	//     "id": {
49917	//       "description": "User role permission group ID.",
49918	//       "format": "int64",
49919	//       "location": "path",
49920	//       "required": true,
49921	//       "type": "string"
49922	//     },
49923	//     "profileId": {
49924	//       "description": "User profile ID associated with this request.",
49925	//       "format": "int64",
49926	//       "location": "path",
49927	//       "required": true,
49928	//       "type": "string"
49929	//     }
49930	//   },
49931	//   "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}",
49932	//   "response": {
49933	//     "$ref": "UserRolePermissionGroup"
49934	//   },
49935	//   "scopes": [
49936	//     "https://www.googleapis.com/auth/dfatrafficking"
49937	//   ]
49938	// }
49939
49940}
49941
49942// method id "dfareporting.userRolePermissionGroups.list":
49943
49944type UserRolePermissionGroupsListCall struct {
49945	s            *Service
49946	profileId    int64
49947	urlParams_   gensupport.URLParams
49948	ifNoneMatch_ string
49949	ctx_         context.Context
49950	header_      http.Header
49951}
49952
49953// List: Gets a list of all supported user role permission groups.
49954func (r *UserRolePermissionGroupsService) List(profileId int64) *UserRolePermissionGroupsListCall {
49955	c := &UserRolePermissionGroupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
49956	c.profileId = profileId
49957	return c
49958}
49959
49960// Fields allows partial responses to be retrieved. See
49961// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
49962// for more information.
49963func (c *UserRolePermissionGroupsListCall) Fields(s ...googleapi.Field) *UserRolePermissionGroupsListCall {
49964	c.urlParams_.Set("fields", googleapi.CombineFields(s))
49965	return c
49966}
49967
49968// IfNoneMatch sets the optional parameter which makes the operation
49969// fail if the object's ETag matches the given value. This is useful for
49970// getting updates only after the object has changed since the last
49971// request. Use googleapi.IsNotModified to check whether the response
49972// error from Do is the result of In-None-Match.
49973func (c *UserRolePermissionGroupsListCall) IfNoneMatch(entityTag string) *UserRolePermissionGroupsListCall {
49974	c.ifNoneMatch_ = entityTag
49975	return c
49976}
49977
49978// Context sets the context to be used in this call's Do method. Any
49979// pending HTTP request will be aborted if the provided context is
49980// canceled.
49981func (c *UserRolePermissionGroupsListCall) Context(ctx context.Context) *UserRolePermissionGroupsListCall {
49982	c.ctx_ = ctx
49983	return c
49984}
49985
49986// Header returns an http.Header that can be modified by the caller to
49987// add HTTP headers to the request.
49988func (c *UserRolePermissionGroupsListCall) Header() http.Header {
49989	if c.header_ == nil {
49990		c.header_ = make(http.Header)
49991	}
49992	return c.header_
49993}
49994
49995func (c *UserRolePermissionGroupsListCall) doRequest(alt string) (*http.Response, error) {
49996	reqHeaders := make(http.Header)
49997	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
49998	for k, v := range c.header_ {
49999		reqHeaders[k] = v
50000	}
50001	reqHeaders.Set("User-Agent", c.s.userAgent())
50002	if c.ifNoneMatch_ != "" {
50003		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50004	}
50005	var body io.Reader = nil
50006	c.urlParams_.Set("alt", alt)
50007	c.urlParams_.Set("prettyPrint", "false")
50008	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissionGroups")
50009	urls += "?" + c.urlParams_.Encode()
50010	req, err := http.NewRequest("GET", urls, body)
50011	if err != nil {
50012		return nil, err
50013	}
50014	req.Header = reqHeaders
50015	googleapi.Expand(req.URL, map[string]string{
50016		"profileId": strconv.FormatInt(c.profileId, 10),
50017	})
50018	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50019}
50020
50021// Do executes the "dfareporting.userRolePermissionGroups.list" call.
50022// Exactly one of *UserRolePermissionGroupsListResponse or error will be
50023// non-nil. Any non-2xx status code is an error. Response headers are in
50024// either *UserRolePermissionGroupsListResponse.ServerResponse.Header or
50025// (if a response was returned at all) in
50026// error.(*googleapi.Error).Header. Use googleapi.IsNotModified to check
50027// whether the returned error was because http.StatusNotModified was
50028// returned.
50029func (c *UserRolePermissionGroupsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionGroupsListResponse, error) {
50030	gensupport.SetOptions(c.urlParams_, opts...)
50031	res, err := c.doRequest("json")
50032	if res != nil && res.StatusCode == http.StatusNotModified {
50033		if res.Body != nil {
50034			res.Body.Close()
50035		}
50036		return nil, &googleapi.Error{
50037			Code:   res.StatusCode,
50038			Header: res.Header,
50039		}
50040	}
50041	if err != nil {
50042		return nil, err
50043	}
50044	defer googleapi.CloseBody(res)
50045	if err := googleapi.CheckResponse(res); err != nil {
50046		return nil, err
50047	}
50048	ret := &UserRolePermissionGroupsListResponse{
50049		ServerResponse: googleapi.ServerResponse{
50050			Header:         res.Header,
50051			HTTPStatusCode: res.StatusCode,
50052		},
50053	}
50054	target := &ret
50055	if err := gensupport.DecodeResponse(target, res); err != nil {
50056		return nil, err
50057	}
50058	return ret, nil
50059	// {
50060	//   "description": "Gets a list of all supported user role permission groups.",
50061	//   "httpMethod": "GET",
50062	//   "id": "dfareporting.userRolePermissionGroups.list",
50063	//   "parameterOrder": [
50064	//     "profileId"
50065	//   ],
50066	//   "parameters": {
50067	//     "profileId": {
50068	//       "description": "User profile ID associated with this request.",
50069	//       "format": "int64",
50070	//       "location": "path",
50071	//       "required": true,
50072	//       "type": "string"
50073	//     }
50074	//   },
50075	//   "path": "userprofiles/{profileId}/userRolePermissionGroups",
50076	//   "response": {
50077	//     "$ref": "UserRolePermissionGroupsListResponse"
50078	//   },
50079	//   "scopes": [
50080	//     "https://www.googleapis.com/auth/dfatrafficking"
50081	//   ]
50082	// }
50083
50084}
50085
50086// method id "dfareporting.userRolePermissions.get":
50087
50088type UserRolePermissionsGetCall struct {
50089	s            *Service
50090	profileId    int64
50091	id           int64
50092	urlParams_   gensupport.URLParams
50093	ifNoneMatch_ string
50094	ctx_         context.Context
50095	header_      http.Header
50096}
50097
50098// Get: Gets one user role permission by ID.
50099func (r *UserRolePermissionsService) Get(profileId int64, id int64) *UserRolePermissionsGetCall {
50100	c := &UserRolePermissionsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50101	c.profileId = profileId
50102	c.id = id
50103	return c
50104}
50105
50106// Fields allows partial responses to be retrieved. See
50107// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50108// for more information.
50109func (c *UserRolePermissionsGetCall) Fields(s ...googleapi.Field) *UserRolePermissionsGetCall {
50110	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50111	return c
50112}
50113
50114// IfNoneMatch sets the optional parameter which makes the operation
50115// fail if the object's ETag matches the given value. This is useful for
50116// getting updates only after the object has changed since the last
50117// request. Use googleapi.IsNotModified to check whether the response
50118// error from Do is the result of In-None-Match.
50119func (c *UserRolePermissionsGetCall) IfNoneMatch(entityTag string) *UserRolePermissionsGetCall {
50120	c.ifNoneMatch_ = entityTag
50121	return c
50122}
50123
50124// Context sets the context to be used in this call's Do method. Any
50125// pending HTTP request will be aborted if the provided context is
50126// canceled.
50127func (c *UserRolePermissionsGetCall) Context(ctx context.Context) *UserRolePermissionsGetCall {
50128	c.ctx_ = ctx
50129	return c
50130}
50131
50132// Header returns an http.Header that can be modified by the caller to
50133// add HTTP headers to the request.
50134func (c *UserRolePermissionsGetCall) Header() http.Header {
50135	if c.header_ == nil {
50136		c.header_ = make(http.Header)
50137	}
50138	return c.header_
50139}
50140
50141func (c *UserRolePermissionsGetCall) doRequest(alt string) (*http.Response, error) {
50142	reqHeaders := make(http.Header)
50143	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50144	for k, v := range c.header_ {
50145		reqHeaders[k] = v
50146	}
50147	reqHeaders.Set("User-Agent", c.s.userAgent())
50148	if c.ifNoneMatch_ != "" {
50149		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50150	}
50151	var body io.Reader = nil
50152	c.urlParams_.Set("alt", alt)
50153	c.urlParams_.Set("prettyPrint", "false")
50154	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions/{id}")
50155	urls += "?" + c.urlParams_.Encode()
50156	req, err := http.NewRequest("GET", urls, body)
50157	if err != nil {
50158		return nil, err
50159	}
50160	req.Header = reqHeaders
50161	googleapi.Expand(req.URL, map[string]string{
50162		"profileId": strconv.FormatInt(c.profileId, 10),
50163		"id":        strconv.FormatInt(c.id, 10),
50164	})
50165	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50166}
50167
50168// Do executes the "dfareporting.userRolePermissions.get" call.
50169// Exactly one of *UserRolePermission or error will be non-nil. Any
50170// non-2xx status code is an error. Response headers are in either
50171// *UserRolePermission.ServerResponse.Header or (if a response was
50172// returned at all) in error.(*googleapi.Error).Header. Use
50173// googleapi.IsNotModified to check whether the returned error was
50174// because http.StatusNotModified was returned.
50175func (c *UserRolePermissionsGetCall) Do(opts ...googleapi.CallOption) (*UserRolePermission, error) {
50176	gensupport.SetOptions(c.urlParams_, opts...)
50177	res, err := c.doRequest("json")
50178	if res != nil && res.StatusCode == http.StatusNotModified {
50179		if res.Body != nil {
50180			res.Body.Close()
50181		}
50182		return nil, &googleapi.Error{
50183			Code:   res.StatusCode,
50184			Header: res.Header,
50185		}
50186	}
50187	if err != nil {
50188		return nil, err
50189	}
50190	defer googleapi.CloseBody(res)
50191	if err := googleapi.CheckResponse(res); err != nil {
50192		return nil, err
50193	}
50194	ret := &UserRolePermission{
50195		ServerResponse: googleapi.ServerResponse{
50196			Header:         res.Header,
50197			HTTPStatusCode: res.StatusCode,
50198		},
50199	}
50200	target := &ret
50201	if err := gensupport.DecodeResponse(target, res); err != nil {
50202		return nil, err
50203	}
50204	return ret, nil
50205	// {
50206	//   "description": "Gets one user role permission by ID.",
50207	//   "httpMethod": "GET",
50208	//   "id": "dfareporting.userRolePermissions.get",
50209	//   "parameterOrder": [
50210	//     "profileId",
50211	//     "id"
50212	//   ],
50213	//   "parameters": {
50214	//     "id": {
50215	//       "description": "User role permission ID.",
50216	//       "format": "int64",
50217	//       "location": "path",
50218	//       "required": true,
50219	//       "type": "string"
50220	//     },
50221	//     "profileId": {
50222	//       "description": "User profile ID associated with this request.",
50223	//       "format": "int64",
50224	//       "location": "path",
50225	//       "required": true,
50226	//       "type": "string"
50227	//     }
50228	//   },
50229	//   "path": "userprofiles/{profileId}/userRolePermissions/{id}",
50230	//   "response": {
50231	//     "$ref": "UserRolePermission"
50232	//   },
50233	//   "scopes": [
50234	//     "https://www.googleapis.com/auth/dfatrafficking"
50235	//   ]
50236	// }
50237
50238}
50239
50240// method id "dfareporting.userRolePermissions.list":
50241
50242type UserRolePermissionsListCall struct {
50243	s            *Service
50244	profileId    int64
50245	urlParams_   gensupport.URLParams
50246	ifNoneMatch_ string
50247	ctx_         context.Context
50248	header_      http.Header
50249}
50250
50251// List: Gets a list of user role permissions, possibly filtered.
50252func (r *UserRolePermissionsService) List(profileId int64) *UserRolePermissionsListCall {
50253	c := &UserRolePermissionsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50254	c.profileId = profileId
50255	return c
50256}
50257
50258// Ids sets the optional parameter "ids": Select only user role
50259// permissions with these IDs.
50260func (c *UserRolePermissionsListCall) Ids(ids ...int64) *UserRolePermissionsListCall {
50261	var ids_ []string
50262	for _, v := range ids {
50263		ids_ = append(ids_, fmt.Sprint(v))
50264	}
50265	c.urlParams_.SetMulti("ids", ids_)
50266	return c
50267}
50268
50269// Fields allows partial responses to be retrieved. See
50270// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50271// for more information.
50272func (c *UserRolePermissionsListCall) Fields(s ...googleapi.Field) *UserRolePermissionsListCall {
50273	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50274	return c
50275}
50276
50277// IfNoneMatch sets the optional parameter which makes the operation
50278// fail if the object's ETag matches the given value. This is useful for
50279// getting updates only after the object has changed since the last
50280// request. Use googleapi.IsNotModified to check whether the response
50281// error from Do is the result of In-None-Match.
50282func (c *UserRolePermissionsListCall) IfNoneMatch(entityTag string) *UserRolePermissionsListCall {
50283	c.ifNoneMatch_ = entityTag
50284	return c
50285}
50286
50287// Context sets the context to be used in this call's Do method. Any
50288// pending HTTP request will be aborted if the provided context is
50289// canceled.
50290func (c *UserRolePermissionsListCall) Context(ctx context.Context) *UserRolePermissionsListCall {
50291	c.ctx_ = ctx
50292	return c
50293}
50294
50295// Header returns an http.Header that can be modified by the caller to
50296// add HTTP headers to the request.
50297func (c *UserRolePermissionsListCall) Header() http.Header {
50298	if c.header_ == nil {
50299		c.header_ = make(http.Header)
50300	}
50301	return c.header_
50302}
50303
50304func (c *UserRolePermissionsListCall) doRequest(alt string) (*http.Response, error) {
50305	reqHeaders := make(http.Header)
50306	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50307	for k, v := range c.header_ {
50308		reqHeaders[k] = v
50309	}
50310	reqHeaders.Set("User-Agent", c.s.userAgent())
50311	if c.ifNoneMatch_ != "" {
50312		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50313	}
50314	var body io.Reader = nil
50315	c.urlParams_.Set("alt", alt)
50316	c.urlParams_.Set("prettyPrint", "false")
50317	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRolePermissions")
50318	urls += "?" + c.urlParams_.Encode()
50319	req, err := http.NewRequest("GET", urls, body)
50320	if err != nil {
50321		return nil, err
50322	}
50323	req.Header = reqHeaders
50324	googleapi.Expand(req.URL, map[string]string{
50325		"profileId": strconv.FormatInt(c.profileId, 10),
50326	})
50327	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50328}
50329
50330// Do executes the "dfareporting.userRolePermissions.list" call.
50331// Exactly one of *UserRolePermissionsListResponse or error will be
50332// non-nil. Any non-2xx status code is an error. Response headers are in
50333// either *UserRolePermissionsListResponse.ServerResponse.Header or (if
50334// a response was returned at all) in error.(*googleapi.Error).Header.
50335// Use googleapi.IsNotModified to check whether the returned error was
50336// because http.StatusNotModified was returned.
50337func (c *UserRolePermissionsListCall) Do(opts ...googleapi.CallOption) (*UserRolePermissionsListResponse, error) {
50338	gensupport.SetOptions(c.urlParams_, opts...)
50339	res, err := c.doRequest("json")
50340	if res != nil && res.StatusCode == http.StatusNotModified {
50341		if res.Body != nil {
50342			res.Body.Close()
50343		}
50344		return nil, &googleapi.Error{
50345			Code:   res.StatusCode,
50346			Header: res.Header,
50347		}
50348	}
50349	if err != nil {
50350		return nil, err
50351	}
50352	defer googleapi.CloseBody(res)
50353	if err := googleapi.CheckResponse(res); err != nil {
50354		return nil, err
50355	}
50356	ret := &UserRolePermissionsListResponse{
50357		ServerResponse: googleapi.ServerResponse{
50358			Header:         res.Header,
50359			HTTPStatusCode: res.StatusCode,
50360		},
50361	}
50362	target := &ret
50363	if err := gensupport.DecodeResponse(target, res); err != nil {
50364		return nil, err
50365	}
50366	return ret, nil
50367	// {
50368	//   "description": "Gets a list of user role permissions, possibly filtered.",
50369	//   "httpMethod": "GET",
50370	//   "id": "dfareporting.userRolePermissions.list",
50371	//   "parameterOrder": [
50372	//     "profileId"
50373	//   ],
50374	//   "parameters": {
50375	//     "ids": {
50376	//       "description": "Select only user role permissions with these IDs.",
50377	//       "format": "int64",
50378	//       "location": "query",
50379	//       "repeated": true,
50380	//       "type": "string"
50381	//     },
50382	//     "profileId": {
50383	//       "description": "User profile ID associated with this request.",
50384	//       "format": "int64",
50385	//       "location": "path",
50386	//       "required": true,
50387	//       "type": "string"
50388	//     }
50389	//   },
50390	//   "path": "userprofiles/{profileId}/userRolePermissions",
50391	//   "response": {
50392	//     "$ref": "UserRolePermissionsListResponse"
50393	//   },
50394	//   "scopes": [
50395	//     "https://www.googleapis.com/auth/dfatrafficking"
50396	//   ]
50397	// }
50398
50399}
50400
50401// method id "dfareporting.userRoles.delete":
50402
50403type UserRolesDeleteCall struct {
50404	s          *Service
50405	profileId  int64
50406	id         int64
50407	urlParams_ gensupport.URLParams
50408	ctx_       context.Context
50409	header_    http.Header
50410}
50411
50412// Delete: Deletes an existing user role.
50413func (r *UserRolesService) Delete(profileId int64, id int64) *UserRolesDeleteCall {
50414	c := &UserRolesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50415	c.profileId = profileId
50416	c.id = id
50417	return c
50418}
50419
50420// Fields allows partial responses to be retrieved. See
50421// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50422// for more information.
50423func (c *UserRolesDeleteCall) Fields(s ...googleapi.Field) *UserRolesDeleteCall {
50424	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50425	return c
50426}
50427
50428// Context sets the context to be used in this call's Do method. Any
50429// pending HTTP request will be aborted if the provided context is
50430// canceled.
50431func (c *UserRolesDeleteCall) Context(ctx context.Context) *UserRolesDeleteCall {
50432	c.ctx_ = ctx
50433	return c
50434}
50435
50436// Header returns an http.Header that can be modified by the caller to
50437// add HTTP headers to the request.
50438func (c *UserRolesDeleteCall) Header() http.Header {
50439	if c.header_ == nil {
50440		c.header_ = make(http.Header)
50441	}
50442	return c.header_
50443}
50444
50445func (c *UserRolesDeleteCall) doRequest(alt string) (*http.Response, error) {
50446	reqHeaders := make(http.Header)
50447	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50448	for k, v := range c.header_ {
50449		reqHeaders[k] = v
50450	}
50451	reqHeaders.Set("User-Agent", c.s.userAgent())
50452	var body io.Reader = nil
50453	c.urlParams_.Set("alt", alt)
50454	c.urlParams_.Set("prettyPrint", "false")
50455	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50456	urls += "?" + c.urlParams_.Encode()
50457	req, err := http.NewRequest("DELETE", urls, body)
50458	if err != nil {
50459		return nil, err
50460	}
50461	req.Header = reqHeaders
50462	googleapi.Expand(req.URL, map[string]string{
50463		"profileId": strconv.FormatInt(c.profileId, 10),
50464		"id":        strconv.FormatInt(c.id, 10),
50465	})
50466	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50467}
50468
50469// Do executes the "dfareporting.userRoles.delete" call.
50470func (c *UserRolesDeleteCall) Do(opts ...googleapi.CallOption) error {
50471	gensupport.SetOptions(c.urlParams_, opts...)
50472	res, err := c.doRequest("json")
50473	if err != nil {
50474		return err
50475	}
50476	defer googleapi.CloseBody(res)
50477	if err := googleapi.CheckResponse(res); err != nil {
50478		return err
50479	}
50480	return nil
50481	// {
50482	//   "description": "Deletes an existing user role.",
50483	//   "httpMethod": "DELETE",
50484	//   "id": "dfareporting.userRoles.delete",
50485	//   "parameterOrder": [
50486	//     "profileId",
50487	//     "id"
50488	//   ],
50489	//   "parameters": {
50490	//     "id": {
50491	//       "description": "User role ID.",
50492	//       "format": "int64",
50493	//       "location": "path",
50494	//       "required": true,
50495	//       "type": "string"
50496	//     },
50497	//     "profileId": {
50498	//       "description": "User profile ID associated with this request.",
50499	//       "format": "int64",
50500	//       "location": "path",
50501	//       "required": true,
50502	//       "type": "string"
50503	//     }
50504	//   },
50505	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50506	//   "scopes": [
50507	//     "https://www.googleapis.com/auth/dfatrafficking"
50508	//   ]
50509	// }
50510
50511}
50512
50513// method id "dfareporting.userRoles.get":
50514
50515type UserRolesGetCall struct {
50516	s            *Service
50517	profileId    int64
50518	id           int64
50519	urlParams_   gensupport.URLParams
50520	ifNoneMatch_ string
50521	ctx_         context.Context
50522	header_      http.Header
50523}
50524
50525// Get: Gets one user role by ID.
50526func (r *UserRolesService) Get(profileId int64, id int64) *UserRolesGetCall {
50527	c := &UserRolesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50528	c.profileId = profileId
50529	c.id = id
50530	return c
50531}
50532
50533// Fields allows partial responses to be retrieved. See
50534// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50535// for more information.
50536func (c *UserRolesGetCall) Fields(s ...googleapi.Field) *UserRolesGetCall {
50537	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50538	return c
50539}
50540
50541// IfNoneMatch sets the optional parameter which makes the operation
50542// fail if the object's ETag matches the given value. This is useful for
50543// getting updates only after the object has changed since the last
50544// request. Use googleapi.IsNotModified to check whether the response
50545// error from Do is the result of In-None-Match.
50546func (c *UserRolesGetCall) IfNoneMatch(entityTag string) *UserRolesGetCall {
50547	c.ifNoneMatch_ = entityTag
50548	return c
50549}
50550
50551// Context sets the context to be used in this call's Do method. Any
50552// pending HTTP request will be aborted if the provided context is
50553// canceled.
50554func (c *UserRolesGetCall) Context(ctx context.Context) *UserRolesGetCall {
50555	c.ctx_ = ctx
50556	return c
50557}
50558
50559// Header returns an http.Header that can be modified by the caller to
50560// add HTTP headers to the request.
50561func (c *UserRolesGetCall) Header() http.Header {
50562	if c.header_ == nil {
50563		c.header_ = make(http.Header)
50564	}
50565	return c.header_
50566}
50567
50568func (c *UserRolesGetCall) doRequest(alt string) (*http.Response, error) {
50569	reqHeaders := make(http.Header)
50570	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50571	for k, v := range c.header_ {
50572		reqHeaders[k] = v
50573	}
50574	reqHeaders.Set("User-Agent", c.s.userAgent())
50575	if c.ifNoneMatch_ != "" {
50576		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50577	}
50578	var body io.Reader = nil
50579	c.urlParams_.Set("alt", alt)
50580	c.urlParams_.Set("prettyPrint", "false")
50581	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles/{id}")
50582	urls += "?" + c.urlParams_.Encode()
50583	req, err := http.NewRequest("GET", urls, body)
50584	if err != nil {
50585		return nil, err
50586	}
50587	req.Header = reqHeaders
50588	googleapi.Expand(req.URL, map[string]string{
50589		"profileId": strconv.FormatInt(c.profileId, 10),
50590		"id":        strconv.FormatInt(c.id, 10),
50591	})
50592	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50593}
50594
50595// Do executes the "dfareporting.userRoles.get" call.
50596// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50597// code is an error. Response headers are in either
50598// *UserRole.ServerResponse.Header or (if a response was returned at
50599// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50600// to check whether the returned error was because
50601// http.StatusNotModified was returned.
50602func (c *UserRolesGetCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50603	gensupport.SetOptions(c.urlParams_, opts...)
50604	res, err := c.doRequest("json")
50605	if res != nil && res.StatusCode == http.StatusNotModified {
50606		if res.Body != nil {
50607			res.Body.Close()
50608		}
50609		return nil, &googleapi.Error{
50610			Code:   res.StatusCode,
50611			Header: res.Header,
50612		}
50613	}
50614	if err != nil {
50615		return nil, err
50616	}
50617	defer googleapi.CloseBody(res)
50618	if err := googleapi.CheckResponse(res); err != nil {
50619		return nil, err
50620	}
50621	ret := &UserRole{
50622		ServerResponse: googleapi.ServerResponse{
50623			Header:         res.Header,
50624			HTTPStatusCode: res.StatusCode,
50625		},
50626	}
50627	target := &ret
50628	if err := gensupport.DecodeResponse(target, res); err != nil {
50629		return nil, err
50630	}
50631	return ret, nil
50632	// {
50633	//   "description": "Gets one user role by ID.",
50634	//   "httpMethod": "GET",
50635	//   "id": "dfareporting.userRoles.get",
50636	//   "parameterOrder": [
50637	//     "profileId",
50638	//     "id"
50639	//   ],
50640	//   "parameters": {
50641	//     "id": {
50642	//       "description": "User role ID.",
50643	//       "format": "int64",
50644	//       "location": "path",
50645	//       "required": true,
50646	//       "type": "string"
50647	//     },
50648	//     "profileId": {
50649	//       "description": "User profile ID associated with this request.",
50650	//       "format": "int64",
50651	//       "location": "path",
50652	//       "required": true,
50653	//       "type": "string"
50654	//     }
50655	//   },
50656	//   "path": "userprofiles/{profileId}/userRoles/{id}",
50657	//   "response": {
50658	//     "$ref": "UserRole"
50659	//   },
50660	//   "scopes": [
50661	//     "https://www.googleapis.com/auth/dfatrafficking"
50662	//   ]
50663	// }
50664
50665}
50666
50667// method id "dfareporting.userRoles.insert":
50668
50669type UserRolesInsertCall struct {
50670	s          *Service
50671	profileId  int64
50672	userrole   *UserRole
50673	urlParams_ gensupport.URLParams
50674	ctx_       context.Context
50675	header_    http.Header
50676}
50677
50678// Insert: Inserts a new user role.
50679func (r *UserRolesService) Insert(profileId int64, userrole *UserRole) *UserRolesInsertCall {
50680	c := &UserRolesInsertCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50681	c.profileId = profileId
50682	c.userrole = userrole
50683	return c
50684}
50685
50686// Fields allows partial responses to be retrieved. See
50687// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50688// for more information.
50689func (c *UserRolesInsertCall) Fields(s ...googleapi.Field) *UserRolesInsertCall {
50690	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50691	return c
50692}
50693
50694// Context sets the context to be used in this call's Do method. Any
50695// pending HTTP request will be aborted if the provided context is
50696// canceled.
50697func (c *UserRolesInsertCall) Context(ctx context.Context) *UserRolesInsertCall {
50698	c.ctx_ = ctx
50699	return c
50700}
50701
50702// Header returns an http.Header that can be modified by the caller to
50703// add HTTP headers to the request.
50704func (c *UserRolesInsertCall) Header() http.Header {
50705	if c.header_ == nil {
50706		c.header_ = make(http.Header)
50707	}
50708	return c.header_
50709}
50710
50711func (c *UserRolesInsertCall) doRequest(alt string) (*http.Response, error) {
50712	reqHeaders := make(http.Header)
50713	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50714	for k, v := range c.header_ {
50715		reqHeaders[k] = v
50716	}
50717	reqHeaders.Set("User-Agent", c.s.userAgent())
50718	var body io.Reader = nil
50719	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
50720	if err != nil {
50721		return nil, err
50722	}
50723	reqHeaders.Set("Content-Type", "application/json")
50724	c.urlParams_.Set("alt", alt)
50725	c.urlParams_.Set("prettyPrint", "false")
50726	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50727	urls += "?" + c.urlParams_.Encode()
50728	req, err := http.NewRequest("POST", urls, body)
50729	if err != nil {
50730		return nil, err
50731	}
50732	req.Header = reqHeaders
50733	googleapi.Expand(req.URL, map[string]string{
50734		"profileId": strconv.FormatInt(c.profileId, 10),
50735	})
50736	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50737}
50738
50739// Do executes the "dfareporting.userRoles.insert" call.
50740// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
50741// code is an error. Response headers are in either
50742// *UserRole.ServerResponse.Header or (if a response was returned at
50743// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
50744// to check whether the returned error was because
50745// http.StatusNotModified was returned.
50746func (c *UserRolesInsertCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
50747	gensupport.SetOptions(c.urlParams_, opts...)
50748	res, err := c.doRequest("json")
50749	if res != nil && res.StatusCode == http.StatusNotModified {
50750		if res.Body != nil {
50751			res.Body.Close()
50752		}
50753		return nil, &googleapi.Error{
50754			Code:   res.StatusCode,
50755			Header: res.Header,
50756		}
50757	}
50758	if err != nil {
50759		return nil, err
50760	}
50761	defer googleapi.CloseBody(res)
50762	if err := googleapi.CheckResponse(res); err != nil {
50763		return nil, err
50764	}
50765	ret := &UserRole{
50766		ServerResponse: googleapi.ServerResponse{
50767			Header:         res.Header,
50768			HTTPStatusCode: res.StatusCode,
50769		},
50770	}
50771	target := &ret
50772	if err := gensupport.DecodeResponse(target, res); err != nil {
50773		return nil, err
50774	}
50775	return ret, nil
50776	// {
50777	//   "description": "Inserts a new user role.",
50778	//   "httpMethod": "POST",
50779	//   "id": "dfareporting.userRoles.insert",
50780	//   "parameterOrder": [
50781	//     "profileId"
50782	//   ],
50783	//   "parameters": {
50784	//     "profileId": {
50785	//       "description": "User profile ID associated with this request.",
50786	//       "format": "int64",
50787	//       "location": "path",
50788	//       "required": true,
50789	//       "type": "string"
50790	//     }
50791	//   },
50792	//   "path": "userprofiles/{profileId}/userRoles",
50793	//   "request": {
50794	//     "$ref": "UserRole"
50795	//   },
50796	//   "response": {
50797	//     "$ref": "UserRole"
50798	//   },
50799	//   "scopes": [
50800	//     "https://www.googleapis.com/auth/dfatrafficking"
50801	//   ]
50802	// }
50803
50804}
50805
50806// method id "dfareporting.userRoles.list":
50807
50808type UserRolesListCall struct {
50809	s            *Service
50810	profileId    int64
50811	urlParams_   gensupport.URLParams
50812	ifNoneMatch_ string
50813	ctx_         context.Context
50814	header_      http.Header
50815}
50816
50817// List: Retrieves a list of user roles, possibly filtered. This method
50818// supports paging.
50819func (r *UserRolesService) List(profileId int64) *UserRolesListCall {
50820	c := &UserRolesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
50821	c.profileId = profileId
50822	return c
50823}
50824
50825// AccountUserRoleOnly sets the optional parameter
50826// "accountUserRoleOnly": Select only account level user roles not
50827// associated with any specific subaccount.
50828func (c *UserRolesListCall) AccountUserRoleOnly(accountUserRoleOnly bool) *UserRolesListCall {
50829	c.urlParams_.Set("accountUserRoleOnly", fmt.Sprint(accountUserRoleOnly))
50830	return c
50831}
50832
50833// Ids sets the optional parameter "ids": Select only user roles with
50834// the specified IDs.
50835func (c *UserRolesListCall) Ids(ids ...int64) *UserRolesListCall {
50836	var ids_ []string
50837	for _, v := range ids {
50838		ids_ = append(ids_, fmt.Sprint(v))
50839	}
50840	c.urlParams_.SetMulti("ids", ids_)
50841	return c
50842}
50843
50844// MaxResults sets the optional parameter "maxResults": Maximum number
50845// of results to return.
50846func (c *UserRolesListCall) MaxResults(maxResults int64) *UserRolesListCall {
50847	c.urlParams_.Set("maxResults", fmt.Sprint(maxResults))
50848	return c
50849}
50850
50851// PageToken sets the optional parameter "pageToken": Value of the
50852// nextPageToken from the previous result page.
50853func (c *UserRolesListCall) PageToken(pageToken string) *UserRolesListCall {
50854	c.urlParams_.Set("pageToken", pageToken)
50855	return c
50856}
50857
50858// SearchString sets the optional parameter "searchString": Allows
50859// searching for objects by name or ID. Wildcards (*) are allowed. For
50860// example, "userrole*2015" will return objects with names like
50861// "userrole June 2015", "userrole April 2015", or simply "userrole
50862// 2015". Most of the searches also add wildcards implicitly at the
50863// start and the end of the search string. For example, a search string
50864// of "userrole" will match objects with name "my userrole", "userrole
50865// 2015", or simply "userrole".
50866func (c *UserRolesListCall) SearchString(searchString string) *UserRolesListCall {
50867	c.urlParams_.Set("searchString", searchString)
50868	return c
50869}
50870
50871// SortField sets the optional parameter "sortField": Field by which to
50872// sort the list.
50873//
50874// Possible values:
50875//   "ID" (default)
50876//   "NAME"
50877func (c *UserRolesListCall) SortField(sortField string) *UserRolesListCall {
50878	c.urlParams_.Set("sortField", sortField)
50879	return c
50880}
50881
50882// SortOrder sets the optional parameter "sortOrder": Order of sorted
50883// results.
50884//
50885// Possible values:
50886//   "ASCENDING" (default)
50887//   "DESCENDING"
50888func (c *UserRolesListCall) SortOrder(sortOrder string) *UserRolesListCall {
50889	c.urlParams_.Set("sortOrder", sortOrder)
50890	return c
50891}
50892
50893// SubaccountId sets the optional parameter "subaccountId": Select only
50894// user roles that belong to this subaccount.
50895func (c *UserRolesListCall) SubaccountId(subaccountId int64) *UserRolesListCall {
50896	c.urlParams_.Set("subaccountId", fmt.Sprint(subaccountId))
50897	return c
50898}
50899
50900// Fields allows partial responses to be retrieved. See
50901// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
50902// for more information.
50903func (c *UserRolesListCall) Fields(s ...googleapi.Field) *UserRolesListCall {
50904	c.urlParams_.Set("fields", googleapi.CombineFields(s))
50905	return c
50906}
50907
50908// IfNoneMatch sets the optional parameter which makes the operation
50909// fail if the object's ETag matches the given value. This is useful for
50910// getting updates only after the object has changed since the last
50911// request. Use googleapi.IsNotModified to check whether the response
50912// error from Do is the result of In-None-Match.
50913func (c *UserRolesListCall) IfNoneMatch(entityTag string) *UserRolesListCall {
50914	c.ifNoneMatch_ = entityTag
50915	return c
50916}
50917
50918// Context sets the context to be used in this call's Do method. Any
50919// pending HTTP request will be aborted if the provided context is
50920// canceled.
50921func (c *UserRolesListCall) Context(ctx context.Context) *UserRolesListCall {
50922	c.ctx_ = ctx
50923	return c
50924}
50925
50926// Header returns an http.Header that can be modified by the caller to
50927// add HTTP headers to the request.
50928func (c *UserRolesListCall) Header() http.Header {
50929	if c.header_ == nil {
50930		c.header_ = make(http.Header)
50931	}
50932	return c.header_
50933}
50934
50935func (c *UserRolesListCall) doRequest(alt string) (*http.Response, error) {
50936	reqHeaders := make(http.Header)
50937	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
50938	for k, v := range c.header_ {
50939		reqHeaders[k] = v
50940	}
50941	reqHeaders.Set("User-Agent", c.s.userAgent())
50942	if c.ifNoneMatch_ != "" {
50943		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
50944	}
50945	var body io.Reader = nil
50946	c.urlParams_.Set("alt", alt)
50947	c.urlParams_.Set("prettyPrint", "false")
50948	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
50949	urls += "?" + c.urlParams_.Encode()
50950	req, err := http.NewRequest("GET", urls, body)
50951	if err != nil {
50952		return nil, err
50953	}
50954	req.Header = reqHeaders
50955	googleapi.Expand(req.URL, map[string]string{
50956		"profileId": strconv.FormatInt(c.profileId, 10),
50957	})
50958	return gensupport.SendRequest(c.ctx_, c.s.client, req)
50959}
50960
50961// Do executes the "dfareporting.userRoles.list" call.
50962// Exactly one of *UserRolesListResponse or error will be non-nil. Any
50963// non-2xx status code is an error. Response headers are in either
50964// *UserRolesListResponse.ServerResponse.Header or (if a response was
50965// returned at all) in error.(*googleapi.Error).Header. Use
50966// googleapi.IsNotModified to check whether the returned error was
50967// because http.StatusNotModified was returned.
50968func (c *UserRolesListCall) Do(opts ...googleapi.CallOption) (*UserRolesListResponse, error) {
50969	gensupport.SetOptions(c.urlParams_, opts...)
50970	res, err := c.doRequest("json")
50971	if res != nil && res.StatusCode == http.StatusNotModified {
50972		if res.Body != nil {
50973			res.Body.Close()
50974		}
50975		return nil, &googleapi.Error{
50976			Code:   res.StatusCode,
50977			Header: res.Header,
50978		}
50979	}
50980	if err != nil {
50981		return nil, err
50982	}
50983	defer googleapi.CloseBody(res)
50984	if err := googleapi.CheckResponse(res); err != nil {
50985		return nil, err
50986	}
50987	ret := &UserRolesListResponse{
50988		ServerResponse: googleapi.ServerResponse{
50989			Header:         res.Header,
50990			HTTPStatusCode: res.StatusCode,
50991		},
50992	}
50993	target := &ret
50994	if err := gensupport.DecodeResponse(target, res); err != nil {
50995		return nil, err
50996	}
50997	return ret, nil
50998	// {
50999	//   "description": "Retrieves a list of user roles, possibly filtered. This method supports paging.",
51000	//   "httpMethod": "GET",
51001	//   "id": "dfareporting.userRoles.list",
51002	//   "parameterOrder": [
51003	//     "profileId"
51004	//   ],
51005	//   "parameters": {
51006	//     "accountUserRoleOnly": {
51007	//       "description": "Select only account level user roles not associated with any specific subaccount.",
51008	//       "location": "query",
51009	//       "type": "boolean"
51010	//     },
51011	//     "ids": {
51012	//       "description": "Select only user roles with the specified IDs.",
51013	//       "format": "int64",
51014	//       "location": "query",
51015	//       "repeated": true,
51016	//       "type": "string"
51017	//     },
51018	//     "maxResults": {
51019	//       "default": "1000",
51020	//       "description": "Maximum number of results to return.",
51021	//       "format": "int32",
51022	//       "location": "query",
51023	//       "maximum": "1000",
51024	//       "minimum": "0",
51025	//       "type": "integer"
51026	//     },
51027	//     "pageToken": {
51028	//       "description": "Value of the nextPageToken from the previous result page.",
51029	//       "location": "query",
51030	//       "type": "string"
51031	//     },
51032	//     "profileId": {
51033	//       "description": "User profile ID associated with this request.",
51034	//       "format": "int64",
51035	//       "location": "path",
51036	//       "required": true,
51037	//       "type": "string"
51038	//     },
51039	//     "searchString": {
51040	//       "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\".",
51041	//       "location": "query",
51042	//       "type": "string"
51043	//     },
51044	//     "sortField": {
51045	//       "default": "ID",
51046	//       "description": "Field by which to sort the list.",
51047	//       "enum": [
51048	//         "ID",
51049	//         "NAME"
51050	//       ],
51051	//       "enumDescriptions": [
51052	//         "",
51053	//         ""
51054	//       ],
51055	//       "location": "query",
51056	//       "type": "string"
51057	//     },
51058	//     "sortOrder": {
51059	//       "default": "ASCENDING",
51060	//       "description": "Order of sorted results.",
51061	//       "enum": [
51062	//         "ASCENDING",
51063	//         "DESCENDING"
51064	//       ],
51065	//       "enumDescriptions": [
51066	//         "",
51067	//         ""
51068	//       ],
51069	//       "location": "query",
51070	//       "type": "string"
51071	//     },
51072	//     "subaccountId": {
51073	//       "description": "Select only user roles that belong to this subaccount.",
51074	//       "format": "int64",
51075	//       "location": "query",
51076	//       "type": "string"
51077	//     }
51078	//   },
51079	//   "path": "userprofiles/{profileId}/userRoles",
51080	//   "response": {
51081	//     "$ref": "UserRolesListResponse"
51082	//   },
51083	//   "scopes": [
51084	//     "https://www.googleapis.com/auth/dfatrafficking"
51085	//   ]
51086	// }
51087
51088}
51089
51090// Pages invokes f for each page of results.
51091// A non-nil error returned from f will halt the iteration.
51092// The provided context supersedes any context provided to the Context method.
51093func (c *UserRolesListCall) Pages(ctx context.Context, f func(*UserRolesListResponse) error) error {
51094	c.ctx_ = ctx
51095	defer c.PageToken(c.urlParams_.Get("pageToken")) // reset paging to original point
51096	for {
51097		x, err := c.Do()
51098		if err != nil {
51099			return err
51100		}
51101		if err := f(x); err != nil {
51102			return err
51103		}
51104		if x.NextPageToken == "" {
51105			return nil
51106		}
51107		c.PageToken(x.NextPageToken)
51108	}
51109}
51110
51111// method id "dfareporting.userRoles.patch":
51112
51113type UserRolesPatchCall struct {
51114	s          *Service
51115	profileId  int64
51116	userrole   *UserRole
51117	urlParams_ gensupport.URLParams
51118	ctx_       context.Context
51119	header_    http.Header
51120}
51121
51122// Patch: Updates an existing user role. This method supports patch
51123// semantics.
51124func (r *UserRolesService) Patch(profileId int64, id int64, userrole *UserRole) *UserRolesPatchCall {
51125	c := &UserRolesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51126	c.profileId = profileId
51127	c.urlParams_.Set("id", fmt.Sprint(id))
51128	c.userrole = userrole
51129	return c
51130}
51131
51132// Fields allows partial responses to be retrieved. See
51133// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51134// for more information.
51135func (c *UserRolesPatchCall) Fields(s ...googleapi.Field) *UserRolesPatchCall {
51136	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51137	return c
51138}
51139
51140// Context sets the context to be used in this call's Do method. Any
51141// pending HTTP request will be aborted if the provided context is
51142// canceled.
51143func (c *UserRolesPatchCall) Context(ctx context.Context) *UserRolesPatchCall {
51144	c.ctx_ = ctx
51145	return c
51146}
51147
51148// Header returns an http.Header that can be modified by the caller to
51149// add HTTP headers to the request.
51150func (c *UserRolesPatchCall) Header() http.Header {
51151	if c.header_ == nil {
51152		c.header_ = make(http.Header)
51153	}
51154	return c.header_
51155}
51156
51157func (c *UserRolesPatchCall) doRequest(alt string) (*http.Response, error) {
51158	reqHeaders := make(http.Header)
51159	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
51160	for k, v := range c.header_ {
51161		reqHeaders[k] = v
51162	}
51163	reqHeaders.Set("User-Agent", c.s.userAgent())
51164	var body io.Reader = nil
51165	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51166	if err != nil {
51167		return nil, err
51168	}
51169	reqHeaders.Set("Content-Type", "application/json")
51170	c.urlParams_.Set("alt", alt)
51171	c.urlParams_.Set("prettyPrint", "false")
51172	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51173	urls += "?" + c.urlParams_.Encode()
51174	req, err := http.NewRequest("PATCH", urls, body)
51175	if err != nil {
51176		return nil, err
51177	}
51178	req.Header = reqHeaders
51179	googleapi.Expand(req.URL, map[string]string{
51180		"profileId": strconv.FormatInt(c.profileId, 10),
51181	})
51182	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51183}
51184
51185// Do executes the "dfareporting.userRoles.patch" call.
51186// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51187// code is an error. Response headers are in either
51188// *UserRole.ServerResponse.Header or (if a response was returned at
51189// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51190// to check whether the returned error was because
51191// http.StatusNotModified was returned.
51192func (c *UserRolesPatchCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51193	gensupport.SetOptions(c.urlParams_, opts...)
51194	res, err := c.doRequest("json")
51195	if res != nil && res.StatusCode == http.StatusNotModified {
51196		if res.Body != nil {
51197			res.Body.Close()
51198		}
51199		return nil, &googleapi.Error{
51200			Code:   res.StatusCode,
51201			Header: res.Header,
51202		}
51203	}
51204	if err != nil {
51205		return nil, err
51206	}
51207	defer googleapi.CloseBody(res)
51208	if err := googleapi.CheckResponse(res); err != nil {
51209		return nil, err
51210	}
51211	ret := &UserRole{
51212		ServerResponse: googleapi.ServerResponse{
51213			Header:         res.Header,
51214			HTTPStatusCode: res.StatusCode,
51215		},
51216	}
51217	target := &ret
51218	if err := gensupport.DecodeResponse(target, res); err != nil {
51219		return nil, err
51220	}
51221	return ret, nil
51222	// {
51223	//   "description": "Updates an existing user role. This method supports patch semantics.",
51224	//   "httpMethod": "PATCH",
51225	//   "id": "dfareporting.userRoles.patch",
51226	//   "parameterOrder": [
51227	//     "profileId",
51228	//     "id"
51229	//   ],
51230	//   "parameters": {
51231	//     "id": {
51232	//       "description": "User role ID.",
51233	//       "format": "int64",
51234	//       "location": "query",
51235	//       "required": true,
51236	//       "type": "string"
51237	//     },
51238	//     "profileId": {
51239	//       "description": "User profile ID associated with this request.",
51240	//       "format": "int64",
51241	//       "location": "path",
51242	//       "required": true,
51243	//       "type": "string"
51244	//     }
51245	//   },
51246	//   "path": "userprofiles/{profileId}/userRoles",
51247	//   "request": {
51248	//     "$ref": "UserRole"
51249	//   },
51250	//   "response": {
51251	//     "$ref": "UserRole"
51252	//   },
51253	//   "scopes": [
51254	//     "https://www.googleapis.com/auth/dfatrafficking"
51255	//   ]
51256	// }
51257
51258}
51259
51260// method id "dfareporting.userRoles.update":
51261
51262type UserRolesUpdateCall struct {
51263	s          *Service
51264	profileId  int64
51265	userrole   *UserRole
51266	urlParams_ gensupport.URLParams
51267	ctx_       context.Context
51268	header_    http.Header
51269}
51270
51271// Update: Updates an existing user role.
51272func (r *UserRolesService) Update(profileId int64, userrole *UserRole) *UserRolesUpdateCall {
51273	c := &UserRolesUpdateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51274	c.profileId = profileId
51275	c.userrole = userrole
51276	return c
51277}
51278
51279// Fields allows partial responses to be retrieved. See
51280// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51281// for more information.
51282func (c *UserRolesUpdateCall) Fields(s ...googleapi.Field) *UserRolesUpdateCall {
51283	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51284	return c
51285}
51286
51287// Context sets the context to be used in this call's Do method. Any
51288// pending HTTP request will be aborted if the provided context is
51289// canceled.
51290func (c *UserRolesUpdateCall) Context(ctx context.Context) *UserRolesUpdateCall {
51291	c.ctx_ = ctx
51292	return c
51293}
51294
51295// Header returns an http.Header that can be modified by the caller to
51296// add HTTP headers to the request.
51297func (c *UserRolesUpdateCall) Header() http.Header {
51298	if c.header_ == nil {
51299		c.header_ = make(http.Header)
51300	}
51301	return c.header_
51302}
51303
51304func (c *UserRolesUpdateCall) doRequest(alt string) (*http.Response, error) {
51305	reqHeaders := make(http.Header)
51306	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
51307	for k, v := range c.header_ {
51308		reqHeaders[k] = v
51309	}
51310	reqHeaders.Set("User-Agent", c.s.userAgent())
51311	var body io.Reader = nil
51312	body, err := googleapi.WithoutDataWrapper.JSONReader(c.userrole)
51313	if err != nil {
51314		return nil, err
51315	}
51316	reqHeaders.Set("Content-Type", "application/json")
51317	c.urlParams_.Set("alt", alt)
51318	c.urlParams_.Set("prettyPrint", "false")
51319	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/userRoles")
51320	urls += "?" + c.urlParams_.Encode()
51321	req, err := http.NewRequest("PUT", urls, body)
51322	if err != nil {
51323		return nil, err
51324	}
51325	req.Header = reqHeaders
51326	googleapi.Expand(req.URL, map[string]string{
51327		"profileId": strconv.FormatInt(c.profileId, 10),
51328	})
51329	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51330}
51331
51332// Do executes the "dfareporting.userRoles.update" call.
51333// Exactly one of *UserRole or error will be non-nil. Any non-2xx status
51334// code is an error. Response headers are in either
51335// *UserRole.ServerResponse.Header or (if a response was returned at
51336// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51337// to check whether the returned error was because
51338// http.StatusNotModified was returned.
51339func (c *UserRolesUpdateCall) Do(opts ...googleapi.CallOption) (*UserRole, error) {
51340	gensupport.SetOptions(c.urlParams_, opts...)
51341	res, err := c.doRequest("json")
51342	if res != nil && res.StatusCode == http.StatusNotModified {
51343		if res.Body != nil {
51344			res.Body.Close()
51345		}
51346		return nil, &googleapi.Error{
51347			Code:   res.StatusCode,
51348			Header: res.Header,
51349		}
51350	}
51351	if err != nil {
51352		return nil, err
51353	}
51354	defer googleapi.CloseBody(res)
51355	if err := googleapi.CheckResponse(res); err != nil {
51356		return nil, err
51357	}
51358	ret := &UserRole{
51359		ServerResponse: googleapi.ServerResponse{
51360			Header:         res.Header,
51361			HTTPStatusCode: res.StatusCode,
51362		},
51363	}
51364	target := &ret
51365	if err := gensupport.DecodeResponse(target, res); err != nil {
51366		return nil, err
51367	}
51368	return ret, nil
51369	// {
51370	//   "description": "Updates an existing user role.",
51371	//   "httpMethod": "PUT",
51372	//   "id": "dfareporting.userRoles.update",
51373	//   "parameterOrder": [
51374	//     "profileId"
51375	//   ],
51376	//   "parameters": {
51377	//     "profileId": {
51378	//       "description": "User profile ID associated with this request.",
51379	//       "format": "int64",
51380	//       "location": "path",
51381	//       "required": true,
51382	//       "type": "string"
51383	//     }
51384	//   },
51385	//   "path": "userprofiles/{profileId}/userRoles",
51386	//   "request": {
51387	//     "$ref": "UserRole"
51388	//   },
51389	//   "response": {
51390	//     "$ref": "UserRole"
51391	//   },
51392	//   "scopes": [
51393	//     "https://www.googleapis.com/auth/dfatrafficking"
51394	//   ]
51395	// }
51396
51397}
51398
51399// method id "dfareporting.videoFormats.get":
51400
51401type VideoFormatsGetCall struct {
51402	s            *Service
51403	profileId    int64
51404	id           int64
51405	urlParams_   gensupport.URLParams
51406	ifNoneMatch_ string
51407	ctx_         context.Context
51408	header_      http.Header
51409}
51410
51411// Get: Gets one video format by ID.
51412func (r *VideoFormatsService) Get(profileId int64, id int64) *VideoFormatsGetCall {
51413	c := &VideoFormatsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51414	c.profileId = profileId
51415	c.id = id
51416	return c
51417}
51418
51419// Fields allows partial responses to be retrieved. See
51420// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51421// for more information.
51422func (c *VideoFormatsGetCall) Fields(s ...googleapi.Field) *VideoFormatsGetCall {
51423	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51424	return c
51425}
51426
51427// IfNoneMatch sets the optional parameter which makes the operation
51428// fail if the object's ETag matches the given value. This is useful for
51429// getting updates only after the object has changed since the last
51430// request. Use googleapi.IsNotModified to check whether the response
51431// error from Do is the result of In-None-Match.
51432func (c *VideoFormatsGetCall) IfNoneMatch(entityTag string) *VideoFormatsGetCall {
51433	c.ifNoneMatch_ = entityTag
51434	return c
51435}
51436
51437// Context sets the context to be used in this call's Do method. Any
51438// pending HTTP request will be aborted if the provided context is
51439// canceled.
51440func (c *VideoFormatsGetCall) Context(ctx context.Context) *VideoFormatsGetCall {
51441	c.ctx_ = ctx
51442	return c
51443}
51444
51445// Header returns an http.Header that can be modified by the caller to
51446// add HTTP headers to the request.
51447func (c *VideoFormatsGetCall) Header() http.Header {
51448	if c.header_ == nil {
51449		c.header_ = make(http.Header)
51450	}
51451	return c.header_
51452}
51453
51454func (c *VideoFormatsGetCall) doRequest(alt string) (*http.Response, error) {
51455	reqHeaders := make(http.Header)
51456	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
51457	for k, v := range c.header_ {
51458		reqHeaders[k] = v
51459	}
51460	reqHeaders.Set("User-Agent", c.s.userAgent())
51461	if c.ifNoneMatch_ != "" {
51462		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51463	}
51464	var body io.Reader = nil
51465	c.urlParams_.Set("alt", alt)
51466	c.urlParams_.Set("prettyPrint", "false")
51467	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats/{id}")
51468	urls += "?" + c.urlParams_.Encode()
51469	req, err := http.NewRequest("GET", urls, body)
51470	if err != nil {
51471		return nil, err
51472	}
51473	req.Header = reqHeaders
51474	googleapi.Expand(req.URL, map[string]string{
51475		"profileId": strconv.FormatInt(c.profileId, 10),
51476		"id":        strconv.FormatInt(c.id, 10),
51477	})
51478	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51479}
51480
51481// Do executes the "dfareporting.videoFormats.get" call.
51482// Exactly one of *VideoFormat or error will be non-nil. Any non-2xx
51483// status code is an error. Response headers are in either
51484// *VideoFormat.ServerResponse.Header or (if a response was returned at
51485// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified
51486// to check whether the returned error was because
51487// http.StatusNotModified was returned.
51488func (c *VideoFormatsGetCall) Do(opts ...googleapi.CallOption) (*VideoFormat, error) {
51489	gensupport.SetOptions(c.urlParams_, opts...)
51490	res, err := c.doRequest("json")
51491	if res != nil && res.StatusCode == http.StatusNotModified {
51492		if res.Body != nil {
51493			res.Body.Close()
51494		}
51495		return nil, &googleapi.Error{
51496			Code:   res.StatusCode,
51497			Header: res.Header,
51498		}
51499	}
51500	if err != nil {
51501		return nil, err
51502	}
51503	defer googleapi.CloseBody(res)
51504	if err := googleapi.CheckResponse(res); err != nil {
51505		return nil, err
51506	}
51507	ret := &VideoFormat{
51508		ServerResponse: googleapi.ServerResponse{
51509			Header:         res.Header,
51510			HTTPStatusCode: res.StatusCode,
51511		},
51512	}
51513	target := &ret
51514	if err := gensupport.DecodeResponse(target, res); err != nil {
51515		return nil, err
51516	}
51517	return ret, nil
51518	// {
51519	//   "description": "Gets one video format by ID.",
51520	//   "httpMethod": "GET",
51521	//   "id": "dfareporting.videoFormats.get",
51522	//   "parameterOrder": [
51523	//     "profileId",
51524	//     "id"
51525	//   ],
51526	//   "parameters": {
51527	//     "id": {
51528	//       "description": "Video format ID.",
51529	//       "format": "int32",
51530	//       "location": "path",
51531	//       "required": true,
51532	//       "type": "integer"
51533	//     },
51534	//     "profileId": {
51535	//       "description": "User profile ID associated with this request.",
51536	//       "format": "int64",
51537	//       "location": "path",
51538	//       "required": true,
51539	//       "type": "string"
51540	//     }
51541	//   },
51542	//   "path": "userprofiles/{profileId}/videoFormats/{id}",
51543	//   "response": {
51544	//     "$ref": "VideoFormat"
51545	//   },
51546	//   "scopes": [
51547	//     "https://www.googleapis.com/auth/dfatrafficking"
51548	//   ]
51549	// }
51550
51551}
51552
51553// method id "dfareporting.videoFormats.list":
51554
51555type VideoFormatsListCall struct {
51556	s            *Service
51557	profileId    int64
51558	urlParams_   gensupport.URLParams
51559	ifNoneMatch_ string
51560	ctx_         context.Context
51561	header_      http.Header
51562}
51563
51564// List: Lists available video formats.
51565func (r *VideoFormatsService) List(profileId int64) *VideoFormatsListCall {
51566	c := &VideoFormatsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
51567	c.profileId = profileId
51568	return c
51569}
51570
51571// Fields allows partial responses to be retrieved. See
51572// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
51573// for more information.
51574func (c *VideoFormatsListCall) Fields(s ...googleapi.Field) *VideoFormatsListCall {
51575	c.urlParams_.Set("fields", googleapi.CombineFields(s))
51576	return c
51577}
51578
51579// IfNoneMatch sets the optional parameter which makes the operation
51580// fail if the object's ETag matches the given value. This is useful for
51581// getting updates only after the object has changed since the last
51582// request. Use googleapi.IsNotModified to check whether the response
51583// error from Do is the result of In-None-Match.
51584func (c *VideoFormatsListCall) IfNoneMatch(entityTag string) *VideoFormatsListCall {
51585	c.ifNoneMatch_ = entityTag
51586	return c
51587}
51588
51589// Context sets the context to be used in this call's Do method. Any
51590// pending HTTP request will be aborted if the provided context is
51591// canceled.
51592func (c *VideoFormatsListCall) Context(ctx context.Context) *VideoFormatsListCall {
51593	c.ctx_ = ctx
51594	return c
51595}
51596
51597// Header returns an http.Header that can be modified by the caller to
51598// add HTTP headers to the request.
51599func (c *VideoFormatsListCall) Header() http.Header {
51600	if c.header_ == nil {
51601		c.header_ = make(http.Header)
51602	}
51603	return c.header_
51604}
51605
51606func (c *VideoFormatsListCall) doRequest(alt string) (*http.Response, error) {
51607	reqHeaders := make(http.Header)
51608	reqHeaders.Set("x-goog-api-client", "gl-go/1.13.7 gdcl/20200203")
51609	for k, v := range c.header_ {
51610		reqHeaders[k] = v
51611	}
51612	reqHeaders.Set("User-Agent", c.s.userAgent())
51613	if c.ifNoneMatch_ != "" {
51614		reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
51615	}
51616	var body io.Reader = nil
51617	c.urlParams_.Set("alt", alt)
51618	c.urlParams_.Set("prettyPrint", "false")
51619	urls := googleapi.ResolveRelative(c.s.BasePath, "userprofiles/{profileId}/videoFormats")
51620	urls += "?" + c.urlParams_.Encode()
51621	req, err := http.NewRequest("GET", urls, body)
51622	if err != nil {
51623		return nil, err
51624	}
51625	req.Header = reqHeaders
51626	googleapi.Expand(req.URL, map[string]string{
51627		"profileId": strconv.FormatInt(c.profileId, 10),
51628	})
51629	return gensupport.SendRequest(c.ctx_, c.s.client, req)
51630}
51631
51632// Do executes the "dfareporting.videoFormats.list" call.
51633// Exactly one of *VideoFormatsListResponse or error will be non-nil.
51634// Any non-2xx status code is an error. Response headers are in either
51635// *VideoFormatsListResponse.ServerResponse.Header or (if a response was
51636// returned at all) in error.(*googleapi.Error).Header. Use
51637// googleapi.IsNotModified to check whether the returned error was
51638// because http.StatusNotModified was returned.
51639func (c *VideoFormatsListCall) Do(opts ...googleapi.CallOption) (*VideoFormatsListResponse, error) {
51640	gensupport.SetOptions(c.urlParams_, opts...)
51641	res, err := c.doRequest("json")
51642	if res != nil && res.StatusCode == http.StatusNotModified {
51643		if res.Body != nil {
51644			res.Body.Close()
51645		}
51646		return nil, &googleapi.Error{
51647			Code:   res.StatusCode,
51648			Header: res.Header,
51649		}
51650	}
51651	if err != nil {
51652		return nil, err
51653	}
51654	defer googleapi.CloseBody(res)
51655	if err := googleapi.CheckResponse(res); err != nil {
51656		return nil, err
51657	}
51658	ret := &VideoFormatsListResponse{
51659		ServerResponse: googleapi.ServerResponse{
51660			Header:         res.Header,
51661			HTTPStatusCode: res.StatusCode,
51662		},
51663	}
51664	target := &ret
51665	if err := gensupport.DecodeResponse(target, res); err != nil {
51666		return nil, err
51667	}
51668	return ret, nil
51669	// {
51670	//   "description": "Lists available video formats.",
51671	//   "httpMethod": "GET",
51672	//   "id": "dfareporting.videoFormats.list",
51673	//   "parameterOrder": [
51674	//     "profileId"
51675	//   ],
51676	//   "parameters": {
51677	//     "profileId": {
51678	//       "description": "User profile ID associated with this request.",
51679	//       "format": "int64",
51680	//       "location": "path",
51681	//       "required": true,
51682	//       "type": "string"
51683	//     }
51684	//   },
51685	//   "path": "userprofiles/{profileId}/videoFormats",
51686	//   "response": {
51687	//     "$ref": "VideoFormatsListResponse"
51688	//   },
51689	//   "scopes": [
51690	//     "https://www.googleapis.com/auth/dfatrafficking"
51691	//   ]
51692	// }
51693
51694}
51695